Example #1
0
 @Override
 protected void onResume() {
   super.onResume();
   subscription =
       dataRepository
           .getRandomNumber(10)
           .observeOn(AndroidSchedulers.mainThread())
           .subscribe(new IntegerObserver());
 }
  private String processPostQuery(HttpServletRequest request) {
    StringBuilder msg = new StringBuilder();
    String sessionHandle = request.getParameter("sessionHandle");
    String action = request.getParameter("action");
    String userID = request.getParameter("userID");
    String password = request.getParameter("password");

    try {
      if (action != null) { // connect
        if ("connect".equals(action)) {
          int interval = request.getSession().getMaxInactiveInterval();
          msg.append(DataRepository.get().connect(userID, password, interval));
        } else if ("checkConnection".equals(action)) { // checkConnection
          msg.append(DataRepository.get().checkConnection(sessionHandle));
        } else if ("setElement".equals(action)) { // exclusive for yawl
          String paramName = request.getParameter("paramName");
          String elementInXML = request.getParameter("element");

          ActiveCase activeCase = getCaseFromParam(paramName);

          if (activeCase == null) {
            msg.append("<failure>There is no case with the given parameter</failure>");
          } else {
            msg.append(
                DataRepository.get()
                    .setElement(
                        activeCase.yawlCaseURI, activeCase.yawlCaseInstanceID, elementInXML));
          }
        } else if ("getElementInfo".equals(action)) { // exclusive for yawl
          String yawlCaseURI = request.getParameter("yawlCaseURI");
          String elementURI = request.getParameter("elemURI");
          String yawlCaseInstanceID = request.getParameter("instanceID");
          String elementInfo =
              DataRepository.get().getElementInfo(yawlCaseURI, yawlCaseInstanceID, elementURI);
          msg.append(elementInfo);

        } else if ("registerYAWLActiveCase".equals(action)) {
          String caseInstanceID = request.getParameter("caseInstanceID");
          String caseURI = request.getParameter("caseURI");
          String caseUUID = request.getParameter("caseUUID");
          ArrayList<String> varList = xmlToArrayList(request.getParameter("varList"));

          // create a buffer here
          ActiveCase activeCase = new ActiveCase();
          activeCase.yawlCaseInstanceID = caseInstanceID;
          activeCase.yawlCaseURI = caseURI;
          activeCase.yawlCaseUUID = caseUUID;
          activeCase.parameters = varList;
          this.activeCases.add(activeCase);
          msg.append("<success/>");
        } else if ("unregisterYAWLActiveCase".equals(action)) {
          String caseInstanceID = request.getParameter("caseInstanceID");
          String caseUUID = request.getParameter("caseUUID");

          ActiveCase activeCase = null;
          for (ActiveCase actCase : this.activeCases) {
            if (actCase.yawlCaseInstanceID.equals(caseInstanceID)
                && actCase.yawlCaseUUID.equals(caseUUID)) {
              activeCase = actCase;
            }
          }
          if (activeCase == null) {
            msg.append("<failure>There is no case with the given parameter</failure>");
          } else {
            this.activeCases.remove(activeCase);
            msg.append("<success/>");
          }
        } else {
          msg.append("<failure>Invalid action</failure>");
        }
      }

    } catch (Exception e) {
      _log.error("Exception in Interface B with action: " + action, e);
    }
    if (msg.length() == 0) {
      msg.append(
          "<failure><reason>Invalid action or exception was thrown." + "</reason></failure>");
    }
    return msg.toString();
  }