Skip to content

Commit 915d01b

Browse files
committed
code clean up
1 parent 3911474 commit 915d01b

File tree

2 files changed

+12
-44
lines changed

2 files changed

+12
-44
lines changed

README.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ maven { url "https://devxchange.bintray.com/maven-repo/"}
1313
## Dependencies
1414

1515
```
16-
compile ("io.devxchange:obfuscator:1.0.0-SNAPSHOT")
16+
compile ("io.devxchange:obfuscator:0.0.2-SNAPSHOT")
1717

1818
```
1919

src/main/java/io/devxchange/obfuscator/JsonObfuscator.java renamed to src/main/java/io/devxchange/obfuscator/util/ObfuscatorUtil.java

Lines changed: 11 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,24 @@
1-
package io.devxchange.obfuscator;
1+
package io.devxchange.obfuscator.util;
22

3-
import com.fasterxml.jackson.core.type.TypeReference;
4-
import com.fasterxml.jackson.databind.ObjectMapper;
53
import org.apache.commons.codec.digest.DigestUtils;
64
import org.apache.commons.lang3.StringUtils;
75
import org.slf4j.Logger;
86
import org.slf4j.LoggerFactory;
97

10-
import java.io.IOException;
118
import java.nio.charset.StandardCharsets;
129
import java.util.*;
1310
import java.util.stream.Collectors;
1411

1512
/**
1613
* Created by io.devxchange on 5/2/17.
1714
*/
18-
public class JsonObfuscator {
19-
20-
private static final Logger LOG = LoggerFactory.getLogger(JsonObfuscator.class);
15+
public class ObfuscatorUtil {
2116

17+
private static final Logger LOG = LoggerFactory.getLogger(ObfuscatorUtil.class);
2218

2319
public static final String MASK_FIXED = "********";
2420

25-
private static final TypeReference defaultTypeRef = new TypeReference<Map<String, Object>>(){};
26-
private static final ObjectMapper jsonObjectMapper = new ObjectMapper();
21+
2722

2823
public static final String STRATEGY_MD5 = "md5";
2924
public static final String STRATEGY_SHA256 = "sha256";
@@ -56,12 +51,12 @@ public static String obfuscate(String strategy, String value) {
5651
return applyFixedMask(value);
5752
}
5853
} else {
59-
LOG.warn("Unknown obfuscation strategy: {}",strategy);
54+
LOG.warn("Unknown obfuscation strategy: {}",strategy);
6055
return applyFixedMask(value);
6156
}
6257
}
6358

64-
public static Map<String,String> createFieldStrategyMap(Map<String,Set<String>> strategyFieldMap) {
59+
public static Map<String,String> createFieldStrategyMap(Map<String, Set<String>> strategyFieldMap) {
6560
Map<String,String> obfuscateMap = new HashMap<>();
6661
strategyFieldMap.forEach((key,values) -> {
6762
values.forEach(value -> {
@@ -107,37 +102,7 @@ public static String applyHashSha256(String target) {
107102
}
108103
}
109104
}
110-
111-
public static String obfuscateJsonString(String payload, Map<String,Set<String>> strategyMap) {
112-
if(StringUtils.isBlank(payload) || strategyMap==null || strategyMap.isEmpty()) {
113-
return payload;
114-
} else {
115-
Map<String, Object> jsonMap;
116-
try {
117-
jsonMap = jsonObjectMapper.readValue(payload, defaultTypeRef);
118-
} catch(IOException ioEx) {
119-
LOG.error("Failed to parse json payload. Returning payload unaltered.",ioEx);
120-
return payload;
121-
}
122-
if(jsonMap!=null) {
123-
Map<String,String> fieldStrategyMap = createFieldStrategyMap(strategyMap);
124-
processJsonMap(jsonMap,fieldStrategyMap);
125-
// Convert back map to json
126-
String jsonResult = "";
127-
try {
128-
jsonResult = jsonObjectMapper.writeValueAsString(jsonMap);
129-
} catch (IOException e) {
130-
LOG.warn("cannot create json from Map" + e.getMessage());
131-
}
132-
return jsonResult;
133-
} else {
134-
LOG.error("JSON object mapping of payload returned null. Returning original payload.");
135-
return payload;
136-
}
137-
}
138-
}
139-
140-
private static void processJsonMap(Map<String, Object> jsonMap, Map<String,String> fieldStrategyMap) {
105+
public static void processJsonMap(Map<String, Object> jsonMap, Map<String,String> fieldStrategyMap) {
141106
jsonMap.forEach((fieldName,value) -> {
142107
if(fieldStrategyMap.containsKey(fieldName)) {
143108
jsonMap.put(fieldName,processJsonField(fieldName,value,fieldStrategyMap));
@@ -153,7 +118,7 @@ private static void processJsonMap(Map<String, Object> jsonMap, Map<String,Strin
153118
});
154119
}
155120

156-
private static Object processJsonField(String fieldName, Object value, Map<String,String> fieldStrategyMap) {
121+
public static Object processJsonField(String fieldName, Object value, Map<String,String> fieldStrategyMap) {
157122
if(value==null) {
158123
return value;
159124
} else if(value instanceof String) {
@@ -172,4 +137,7 @@ private static Object processJsonField(String fieldName, Object value, Map<Strin
172137
return value;
173138
}
174139
}
140+
public static String extractFieldRegex(Map<String,Set<String>> fieldMap) {
141+
return fieldMap.entrySet().stream().map(Map.Entry::getValue).distinct().map(value -> String.join("|",value)).collect(Collectors.joining("|"));
142+
}
175143
}

0 commit comments

Comments
 (0)