Commit d1ffe8cb by everdarkgreen

JsonNode: fixed searching date value

parent b73f03e2
......@@ -96,15 +96,8 @@ public class Main implements MessageListener {
String t26b1, t24b1, t22b1;
String t32b1, t30b1, t28b1;
b2b1 = getDateKeyByFieldName2(sourceFormDataString, "b2-b1");
LOGGER.info("******* B2B1: " + b2b1);
// 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");
b2b1 = getDateKeyByFieldName(sourceFormDataString, "t10-b1-b1");
LOGGER.info("*** t10-b1-b1 (2017-01-31 00:00:00) *** " + b2b1);
// Получение данных целевой карточки
......@@ -121,21 +114,23 @@ public class Main implements MessageListener {
}
private static String getDateKeyByFieldName2(final String formJson, final String fieldName) {
private static String getDateKeyByFieldName(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();
ArrayNode rootDN = (ArrayNode) rootNode.get("data");
Iterator<JsonNode> rootDNIterator = rootDN.getElements();
while (rootDNIterator.hasNext()) {
ArrayNode childNode = (ArrayNode) rootDNIterator.next().get("data");
Iterator<JsonNode> childDNIterator = childNode.getElements();
while (childDNIterator.hasNext()) {
JsonNode n = childDNIterator.next();
if (n.has("id") && n.has("value")) {
if (fieldName.equals(n.get("id").asText())) {
result = n.get("value").asText();
}
}
}
}
......@@ -145,39 +140,7 @@ public class Main implements MessageListener {
}
return result;
}
private static String getDateKeyByFieldName(final JsonParser formJson, final String fieldName, fieldType fieldT) {
String value = new String();
try {
while (!formJson.isClosed()) {
if (JsonToken.FIELD_NAME.equals(formJson.nextToken())) {
if ("id".equals(formJson.getCurrentName()) && fieldName.equals(formJson.nextTextValue())) {
switch (fieldT) {
case DATE:
formJson.nextToken();
formJson.nextToken();
formJson.nextToken();
formJson.nextToken();
formJson.nextToken();
value = formJson.nextTextValue();
break;
case TEXTBOX:
formJson.nextToken();
formJson.nextToken();
formJson.nextToken();
value = formJson.nextTextValue();
break;
}
}
}
}
} catch (Exception exc) {
LOGGER.error(exc.getMessage(), exc);
}
return value;
}
private static JsonParser synergyApiGet(final URL requestURL) {
String login = "Ипатьев";
String password = "1";
......
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