1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.common.util.property.processor;
17
18 import java.util.List;
19 import java.util.Properties;
20
21 import org.jasypt.util.text.TextEncryptor;
22 import org.kuali.common.util.PropertyUtils;
23 import org.springframework.util.Assert;
24
25 public class DecryptProcessor implements PropertyProcessor {
26
27 TextEncryptor encryptor;
28
29 public DecryptProcessor() {
30 this(null);
31 }
32
33 public DecryptProcessor(TextEncryptor encryptor) {
34 super();
35 this.encryptor = encryptor;
36 }
37
38 @Override
39 public void process(Properties properties) {
40 Assert.notNull(encryptor, "encryptor is null");
41 List<String> keys = PropertyUtils.getSortedKeys(properties);
42 for (String key : keys) {
43 String encryptedValue = properties.getProperty(key);
44 String decryptedValue = encryptor.decrypt(encryptedValue);
45 properties.setProperty(key, decryptedValue);
46 }
47 }
48
49 public TextEncryptor getEncryptor() {
50 return encryptor;
51 }
52
53 public void setEncryptor(TextEncryptor encryptor) {
54 this.encryptor = encryptor;
55 }
56
57 }