Skip to content

Commit 138fc47

Browse files
Added support for httpurlconnection
1 parent 464e5eb commit 138fc47

3 files changed

Lines changed: 298 additions & 249 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.nexttimespace.utilities</groupId>
66
<artifactId>json-diff-report</artifactId>
7-
<version>0.0.3</version>
7+
<version>0.0.4</version>
88
<description>Provides JSON differences in HTML format</description>
99

1010
<build>

src/main/java/com/nexttimespace/utilities/diffbox/Executor.java

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public static void main(String... s) throws IOException, KeyManagementException,
5757
list.put("index", index + "");
5858
list.put("sourceURL", request.getUrlSource());
5959
list.put("compareURL", request.getUrlCompare());
60-
60+
6161
Map<String, Object> httpRequest = new LinkedHashMap<>();
6262
httpRequest.put(HTTPClientManager.Const.METHOD, StringUtils.isNotBlank(request.getMethod()) ? request.getMethod() : "GET");
6363

@@ -67,8 +67,14 @@ public static void main(String... s) throws IOException, KeyManagementException,
6767
if (StringUtils.isNotBlank(request.getRequestSource())) {
6868
httpRequest.put(HTTPClientManager.Const.REQUEST, request.getRequestSource());
6969
}
70-
Map<String, Object> response = httpClient.getResponseV2(httpRequest);
7170

71+
Map<String, Object> response = null;
72+
73+
if (Boolean.valueOf(UtilityFunction.appProperties.get("useURLConnection") + "")) {
74+
response = httpClient.getResponseV3(httpRequest);
75+
} else {
76+
response = httpClient.getResponseV2(httpRequest);
77+
}
7278
httpRequest = new LinkedHashMap<>();
7379
httpRequest.put(HTTPClientManager.Const.METHOD, StringUtils.isNotBlank(request.getMethod()) ? request.getMethod() : "GET");
7480

@@ -78,65 +84,72 @@ public static void main(String... s) throws IOException, KeyManagementException,
7884
if (StringUtils.isNotBlank(request.getRequestCompare())) {
7985
httpRequest.put(HTTPClientManager.Const.REQUEST, request.getRequestCompare());
8086
}
81-
Map<String, Object> responseCompare = httpClient.getResponseV2(httpRequest);
87+
Map<String, Object> responseCompare = null;
88+
89+
if (Boolean.valueOf(UtilityFunction.appProperties.get("useURLConnection") + "")) {
90+
responseCompare = httpClient.getResponseV3(httpRequest);
91+
} else {
92+
responseCompare = httpClient.getResponseV2(httpRequest);
93+
}
94+
8295
String status = "Failed";
8396
try {
8497
status = appendCompareReport(response, responseCompare, reportFile, "" + index, request.getUrlSource(), request.getUrlCompare());
8598
} catch (Exception e) {
8699
e.printStackTrace();
87100
System.err.println("ERROR: Error Processing " + request.getUrlSource());
88101
}
89-
if(status == null) {
102+
if (status == null) {
90103
list.put("overAllStatus", "Error");
91104
} else {
92105
list.put("overAllStatus", status);
93106
}
94-
107+
95108
finalList.add(list);
96-
int percentOfClassPassed = (int) ((double)index * 100 / inputRequest.getInputs().size());
97-
98-
if(lastPercent != percentOfClassPassed) {
109+
int percentOfClassPassed = (int) ((double) index * 100 / inputRequest.getInputs().size());
110+
111+
if (lastPercent != percentOfClassPassed) {
99112
System.out.println(percentOfClassPassed + "% Completed");
100113
}
101114
lastPercent = percentOfClassPassed;
102115
}
103116
addListReport(finalList, reportFile);
104-
117+
105118
System.out.println("INFO: Compare process completed. Check report at " + reportFile);
106119
}
107-
120+
108121
private static void addListReport(List<Map<String, String>> listReport, String filename) throws IOException {
109122
MustacheFactory mf = new DefaultMustacheFactory();
110123
Mustache mustache = mf.compile("final-list.html");
111124
StringWriter writer = new StringWriter();
112125
Map<String, Object> objectToTemplate = new LinkedHashMap<>();
113126
objectToTemplate.put("listReport", listReport);
114127
mustache.execute(writer, objectToTemplate).flush();
115-
if(writer != null) {
116-
String listReportHTML = writer.toString();
117-
if (listReportHTML !=null && !listReportHTML.isEmpty()) {
128+
if (writer != null) {
129+
String listReportHTML = writer.toString();
130+
if (listReportHTML != null && !listReportHTML.isEmpty()) {
118131
try (FileWriter fw = new FileWriter(filename, true); BufferedWriter bw = new BufferedWriter(fw); PrintWriter out = new PrintWriter(bw)) {
119132
out.println(listReportHTML);
120133
} catch (Exception e) {
121134
System.err.println(e.getMessage());
122135
}
123136
}
124137
}
125-
138+
126139
}
127140

128141
private static String appendCompareReport(Map<String, Object> responseSource, Map<String, Object> responseCompare, String filename, String index, String sourceURL, String compareURL) throws JSONException, IOException {
129142
String sourceResponse = (String) responseSource.get(HTTPClientManager.Const.RESPONSE);
130143
String compareResponse = (String) responseCompare.get(HTTPClientManager.Const.RESPONSE);
131144
Map<String, String> compareReport = null;
132145
String returnStatus = null;
133-
146+
134147
if (sourceResponse.startsWith("{") && compareResponse.startsWith("{")) {
135148
compareReport = jsonDiff.createCompareHTML(sourceResponse, compareResponse, index, sourceURL, compareURL);
136149
} else {
137150
System.err.println("WARN: Received Non JSON for " + sourceURL);
138151
}
139-
if (compareReport !=null && !compareReport.isEmpty()) {
152+
if (compareReport != null && !compareReport.isEmpty()) {
140153
try (FileWriter fw = new FileWriter(filename, true); BufferedWriter bw = new BufferedWriter(fw); PrintWriter out = new PrintWriter(bw)) {
141154
out.println(compareReport.get("compareReport"));
142155
} catch (Exception e) {
@@ -153,7 +166,7 @@ private static String getReportFileName() {
153166

154167
private static String prepareReport() throws IOException {
155168
File reportFolder = new File("Report");
156-
if(!reportFolder.exists()) {
169+
if (!reportFolder.exists()) {
157170
reportFolder.mkdirs();
158171
}
159172
String reportFileName = getReportFileName();

0 commit comments

Comments
 (0)