Commit b73f03e2 by everdarkgreen

JsonNode: buggy

parent fc316010
...@@ -9,6 +9,7 @@ import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; ...@@ -9,6 +9,7 @@ import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.JsonToken;
import org.codehaus.jackson.JsonNode;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -20,8 +21,11 @@ import java.io.BufferedReader; ...@@ -20,8 +21,11 @@ import java.io.BufferedReader;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.Iterator;
import javax.ejb.ActivationConfigProperty; import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven; import javax.ejb.MessageDriven;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.node.ArrayNode;
@MessageDriven(name = "CustomBP", activationConfig = { @MessageDriven(name = "CustomBP", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
...@@ -79,7 +83,8 @@ public class Main implements MessageListener { ...@@ -79,7 +83,8 @@ public class Main implements MessageListener {
// Получение данных исходной формы // Получение данных исходной формы
URL getFormDataURL = new URL("http://127.0.0.1:8080/Synergy/rest/api/asforms/data/" + dataUUID); URL getFormDataURL = new URL("http://127.0.0.1:8080/Synergy/rest/api/asforms/data/" + dataUUID);
JsonParser sourceFormData = synergyApiGet(getFormDataURL); // JsonParser sourceFormData = synergyApiGet(getFormDataURL);
String sourceFormDataString = synergyApiGetString(getFormDataURL);
// Получение значений текущих дат исходной формы // Получение значений текущих дат исходной формы
String b2b1, b4b1, b5b1; String b2b1, b4b1, b5b1;
...@@ -91,11 +96,15 @@ public class Main implements MessageListener { ...@@ -91,11 +96,15 @@ public class Main implements MessageListener {
String t26b1, t24b1, t22b1; String t26b1, t24b1, t22b1;
String t32b1, t30b1, t28b1; String t32b1, t30b1, t28b1;
b2b1 = getDateKeyByFieldName(sourceFormData, "b2-b1", fieldType.DATE); b2b1 = getDateKeyByFieldName2(sourceFormDataString, "b2-b1");
b4b1 = getDateKeyByFieldName(sourceFormData, "b4-b1", fieldType.DATE); LOGGER.info("******* B2B1: " + b2b1);
b5b1 = getDateKeyByFieldName(sourceFormData, "b5-b1", fieldType.TEXTBOX);
LOGGER.info(b2b1 + " " + b4b1 + " " + b5b1); // b2b1 = getDateKeyByFieldName(sourceFormData, "b2-b1", fieldType.DATE);
// b4b1 = getDateKeyByFieldName(sourceFormData, "b4-b1", fieldType.DATE);
// b5b1 = getDateKeyByFieldName(sourceFormData, "b5-b1", fieldType.TEXTBOX);
// LOGGER.info("************ Fields valued: " + b2b1 + " " + b4b1 + " " + b5b1);
// LOGGER.info("************ Fields valued: " + b5b1 + b4b1 + "ASFASF");
// Получение данных целевой карточки // Получение данных целевой карточки
...@@ -111,8 +120,32 @@ public class Main implements MessageListener { ...@@ -111,8 +120,32 @@ public class Main implements MessageListener {
} }
} }
/**
* */ private static String getDateKeyByFieldName2(final String formJson, final String fieldName) {
ObjectMapper mapper = new ObjectMapper();
String result = new String();
try {
JsonNode rootNode = mapper.readTree(formJson);
ArrayNode data = (ArrayNode) rootNode.get("data");
Iterator<JsonNode> dataNodesIterator = data.getElements();
while (dataNodesIterator.hasNext()) {
JsonNode n = dataNodesIterator.next();
if (n.has("id") && n.has("value")){
if (n.get("id").toString() == "b2-b1") {
result = n.get("value").toString();
}
}
}
return result;
} catch (Exception exc) {
LOGGER.error(exc.getMessage(), exc);
}
return result;
}
private static String getDateKeyByFieldName(final JsonParser formJson, final String fieldName, fieldType fieldT) { private static String getDateKeyByFieldName(final JsonParser formJson, final String fieldName, fieldType fieldT) {
String value = new String(); String value = new String();
try { try {
...@@ -132,7 +165,6 @@ public class Main implements MessageListener { ...@@ -132,7 +165,6 @@ public class Main implements MessageListener {
formJson.nextToken(); formJson.nextToken();
formJson.nextToken(); formJson.nextToken();
formJson.nextToken(); formJson.nextToken();
formJson.nextToken();
value = formJson.nextTextValue(); value = formJson.nextTextValue();
break; break;
} }
...@@ -176,4 +208,35 @@ public class Main implements MessageListener { ...@@ -176,4 +208,35 @@ public class Main implements MessageListener {
return null; return null;
} }
private static String synergyApiGetString(final URL requestURL) {
String login = "Ипатьев";
String password = "1";
try {
String output;
HttpURLConnection conn = (HttpURLConnection) requestURL.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json; charset=utf-8");
String encoded = Base64.encode((login + ":" + password).getBytes());
conn.setRequestProperty("Authorization", "Basic " + encoded);
BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
StringBuilder result = new StringBuilder();
while ((output = br.readLine()) != null) {
result.append(output);
}
conn.disconnect();
JsonFactory factory = new JsonFactory();
return result.toString();
} catch (Exception exc) {
LOGGER.error(exc.getMessage(), exc);
}
return null;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment