@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(); }