Commit b73f03e2 by everdarkgreen

JsonNode: buggy

parent fc316010
......@@ -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.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import org.codehaus.jackson.JsonNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -20,8 +21,11 @@ import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Iterator;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.node.ArrayNode;
@MessageDriven(name = "CustomBP", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
......@@ -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);
JsonParser sourceFormData = synergyApiGet(getFormDataURL);
// JsonParser sourceFormData = synergyApiGet(getFormDataURL);
String sourceFormDataString = synergyApiGetString(getFormDataURL);
// Получение значений текущих дат исходной формы
String b2b1, b4b1, b5b1;
......@@ -91,11 +96,15 @@ public class Main implements MessageListener {
String t26b1, t24b1, t22b1;
String t32b1, t30b1, t28b1;
b2b1 = getDateKeyByFieldName(sourceFormData, "b2-b1", fieldType.DATE);
b4b1 = getDateKeyByFieldName(sourceFormData, "b4-b1", fieldType.DATE);
b5b1 = getDateKeyByFieldName(sourceFormData, "b5-b1", fieldType.TEXTBOX);
b2b1 = getDateKeyByFieldName2(sourceFormDataString, "b2-b1");
LOGGER.info("******* B2B1: " + b2b1);
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 {
}
}
/**
* */
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) {
String value = new String();
try {
......@@ -132,7 +165,6 @@ public class Main implements MessageListener {
formJson.nextToken();
formJson.nextToken();
formJson.nextToken();
formJson.nextToken();
value = formJson.nextTextValue();
break;
}
......@@ -176,4 +208,35 @@ public class Main implements MessageListener {
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