Commit ae930ecb by everdarkgreen

JsonNode: added getting card data

parent ce41fc8a
...@@ -22,10 +22,12 @@ import java.io.InputStreamReader; ...@@ -22,10 +22,12 @@ 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 java.util.Iterator;
import java.util.List;
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.map.ObjectMapper;
import org.codehaus.jackson.node.ArrayNode; import org.codehaus.jackson.node.ArrayNode;
import org.codehaus.jackson.type.TypeReference;
@MessageDriven(name = "CustomBP", activationConfig = { @MessageDriven(name = "CustomBP", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
...@@ -36,21 +38,18 @@ import org.codehaus.jackson.node.ArrayNode; ...@@ -36,21 +38,18 @@ import org.codehaus.jackson.node.ArrayNode;
public class Main implements MessageListener { public class Main implements MessageListener {
private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);
private static enum fieldType { private static enum fieldType {
DATE, TEXTBOX, USER DATE, TEXTBOX, USER
} }
private static final Logger LOGGER = LoggerFactory.getLogger(Main.class); private String dataUUID = null; // идентификатор данных по форме записи реестра
private String executionID = null; // идентификатор блокирующего процесса
private String documentID = null; // идентификатор документа реестра
@Override @Override
public void onMessage(Message message) { public void onMessage(Message message) {
LOGGER.error("CWM work starts");
String dataUUID = null; // идентификатор данных по форме записи реестра
String executionID = null; // идентификатор блокирующего процесса
String documentID = null; // идентификатор документа реестра
if (!(message instanceof TextMessage)) { if (!(message instanceof TextMessage)) {
return; return;
} }
...@@ -81,17 +80,20 @@ public class Main implements MessageListener { ...@@ -81,17 +80,20 @@ public class Main implements MessageListener {
} }
} }
// Получение ID пользователя
// Получение данных исходной формы // Получение данных исходной формы
URL sourceFormURL = new URL("http://127.0.0.1:8080/Synergy/rest/api/asforms/data/" + dataUUID); URL sourceFormURL = new URL("http://127.0.0.1:8080/Synergy/rest/api/asforms/data/" + dataUUID);
// JsonParser sourceFormData = synergyApiGet(sourceFormURL);
String sourceFormData = synergyApiGetString(sourceFormURL); String sourceFormData = synergyApiGetString(sourceFormURL);
// Получение ID пользователя // Получение ID пользователя
String userID = getComponentValueByID(sourceFormData, "user1", fieldType.USER); String userID = getComponentValueByID(sourceFormData, "user1", fieldType.USER);
// По ID пользователя DataUUID целевой карточки
String userCardDataUUID = findDataUuidByUserID(userID, "04f7809d-f44c-4a2d-950d-6aa8e6c3fea1");
// Получение данных целевой карточки по dataUUID
URL targetFormURL = new URL("http://127.0.0.1:8080/Synergy/rest/api/asforms/data/" + userCardDataUUID);
String targetFormData = synergyApiGetString(sourceFormURL);
// Получение значений текущих дат исходной формы // Получение значений текущих дат исходной формы
String b2b1, b4b1, b5b1; String b2b1, b4b1, b5b1;
...@@ -108,22 +110,44 @@ public class Main implements MessageListener { ...@@ -108,22 +110,44 @@ public class Main implements MessageListener {
t4b1 = getComponentValueByID(sourceFormData, "b2-b1", fieldType.DATE); t4b1 = getComponentValueByID(sourceFormData, "b2-b1", fieldType.DATE);
// Разблокировка маршрута
unlockRoute();
// Получение данных целевой карточки } catch (Exception exc) {
LOGGER.error(exc.getMessage(), exc);
// URL targetFormURL = new URL("http://127.0.0.1:8080/Synergy/rest/api/asforms/data/") }
// String targetFormData = synergyApiGetString(sourceFormURL) }
// private void postDataToCard()
// Разблокировка маршрута"" private void unlockRoute() {
try {
String address = "http://127.0.0.1:8080/Synergy"; String address = "http://127.0.0.1:8080/Synergy";
String signal = "got_agree"; String signal = "got_agree";
URL url = new URL(address + "/rest/api/processes/signal?signal=" + signal + "&executionID=" + executionID + "&param1=resolution&value1=signal_is_" + signal); URL url = new URL(address + "/rest/api/processes/signal?signal=" + signal + "&executionID=" + this.executionID + "&param1=resolution&value1=signal_is_" + signal);
synergyApiGet(url); synergyApiGet(url);
} catch (Exception exc) {
LOGGER.error(exc.getMessage(), exc);
}
}
private static String findDataUuidByUserID(String userID, String formUUID) {
ObjectMapper mapper = new ObjectMapper();
try {
URL url = new URL("http://127.0.0.1:8080/Synergy/rest/api/personalrecord/forms/" + userID);
String res = synergyApiGetString(url);
List<Card> cardsList = mapper.readValue(res, new TypeReference<List<Card>>(){});
for (Card c : cardsList) {
if (formUUID.equals(c.getFormUUID())) {
return c.getDataUUID();
}
}
} catch (Exception exc) { } catch (Exception exc) {
LOGGER.error(exc.getMessage(), exc); LOGGER.error(exc.getMessage(), exc);
} }
return new String();
} }
private static String searchInNode(Iterator<JsonNode> iter, String fieldName, fieldType ft) { private static String searchInNode(Iterator<JsonNode> iter, String fieldName, fieldType ft) {
......
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