/** * 非同期メッセージ送信メソッド * * @param message */ public void sendAsyncMessage(JSONObject message) { String href = Window.Location.getHref(); postMessage(message.toString(), href); addSendLog(message); }
@Override public void deleteMessages(final JSONObject deleteIds, AsyncCallback<String> callback) { String address = deProperties.getMuleServiceBaseUrl() + "notifications/delete"; // $NON-NLS-1$ ServiceCallWrapper wrapper = new ServiceCallWrapper(POST, address, deleteIds.toString()); deServiceFacade.getServiceData(wrapper, callback); }
protected boolean addBlockoutPeriod( final JSONObject schedule, final JsJobTrigger trigger, String urlSuffix) { String url = GWT.getHostPageBaseURL() + "api/scheduler/blockout/" + urlSuffix; // $NON-NLS-1$ RequestBuilder addBlockoutPeriodRequest = new RequestBuilder(RequestBuilder.POST, url); addBlockoutPeriodRequest.setHeader("accept", "text/plain"); // $NON-NLS-1$ //$NON-NLS-2$ addBlockoutPeriodRequest.setHeader( "Content-Type", "application/json"); // $NON-NLS-1$ //$NON-NLS-2$ addBlockoutPeriodRequest.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); // Create a unique blockout period name final Long duration = trigger.getBlockDuration(); final String blockoutPeriodName = trigger.getScheduleType() + Random.nextInt() + ":" + //$NON-NLS-1$ /* PentahoSessionHolder.getSession().getName() */ "admin" + ":" + duration; //$NON-NLS-1$ //$NON-NLS-2$ // Add blockout specific parameters JSONObject addBlockoutParams = schedule; addBlockoutParams.put("jobName", new JSONString(blockoutPeriodName)); // $NON-NLS-1$ addBlockoutParams.put("duration", new JSONNumber(duration)); // $NON-NLS-1$ addBlockoutParams.put("timeZone", new JSONString(scheduleEditorWizardPanel.getTimeZone())); try { addBlockoutPeriodRequest.sendRequest( addBlockoutParams.toString(), new RequestCallback() { public void onError(Request request, Throwable exception) { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), exception.toString(), false, false, true); //$NON-NLS-1$ dialogBox.center(); setDone(false); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { if (null != callback) { callback.okPressed(); } } } }); } catch (RequestException e) { // ignored } return true; }
/** 同期メッセージング(試作) */ private void sendSyncMessage(JSONObject message) { debug.timeAssert("11/07/23 8:40:07", 0, "yieldが正式に全ブラウザに実装されるまでは使えない。"); String href = Window.Location.getHref(); postMessage(message.toString(), href); // この辺にyieldでメッセージ受信の受付を行えば良い addSendLog(message); }
/** * Before creating a new schedule, we want to check to see if the schedule that is being created * is going to conflict with any one of the blockout periods if one is provisioned. * * @param schedule * @param trigger */ protected void verifyBlockoutConflict(final JSONObject schedule, final JsJobTrigger trigger) { String url = GWT.getHostPageBaseURL() + "api/scheduler/blockout/blockstatus"; // $NON-NLS-1$ RequestBuilder blockoutConflictRequest = new RequestBuilder(RequestBuilder.POST, url); blockoutConflictRequest.setHeader("accept", "application/json"); // $NON-NLS-1$ //$NON-NLS-2$ blockoutConflictRequest.setHeader( "Content-Type", "application/json"); // $NON-NLS-1$ //$NON-NLS-2$ blockoutConflictRequest.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); final JSONObject verifyBlockoutParams = schedule; verifyBlockoutParams.put("jobName", new JSONString(scheduleName)); // $NON-NLS-1$ try { blockoutConflictRequest.sendRequest( verifyBlockoutParams.toString(), new RequestCallback() { public void onError(Request request, Throwable exception) { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), exception.toString(), false, false, true); //$NON-NLS-1$ dialogBox.center(); setDone(false); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { JsBlockStatus statusResponse = (JsBlockStatus) parseJson(JsonUtils.escapeJsonForEval(response.getText())); // Determine if this schedule conflicts all the time or some of the time boolean partiallyBlocked = Boolean.parseBoolean(statusResponse.getPartiallyBlocked()); boolean totallyBlocked = Boolean.parseBoolean(statusResponse.getTotallyBlocked()); if (partiallyBlocked || totallyBlocked) { promptDueToBlockoutConflicts(totallyBlocked, partiallyBlocked, schedule, trigger); } else { // Continue with other panels in the wizard (params, email) handleWizardPanels(schedule, trigger); } } else { handleWizardPanels(schedule, trigger); } } }); } catch (RequestException e) { // ignored } super.nextClicked(); }
/** * EventBus実装での同期メッセージング 同期メッセージを自分へと送信するメソッド 自分へのメッセージング * * @param command * @param tagValue */ public void sCallMyself(String command, JSONObject... tagValue) { JSONObject messageMap = getMessageStructure( MS_CATEGOLY_LOCAL, UUID.uuid(8, 16), getName(), getID(), getName(), getID(), command, tagValue); MessageMasterHub.getMaster().syncMessage(messageMap.toString()); addSendLog(messageMap); }
private void saveSecuritySettings(final AsyncCallback<Boolean> callback) { JSONObject jsNewRoleAssignments = new JSONObject(); JSONArray jsLogicalRoleAssignments = new JSONArray(); int x = 0; for (Map.Entry<String, List<String>> roleAssignment : newRoleAssignments.entrySet()) { JSONArray jsLogicalRoles = new JSONArray(); int y = 0; for (String logicalRoleName : roleAssignment.getValue()) { jsLogicalRoles.set(y++, new JSONString(logicalRoleName)); } JSONObject jsRoleAssignment = new JSONObject(); jsRoleAssignment.put("roleName", new JSONString(roleAssignment.getKey())); jsRoleAssignment.put("logicalRoles", jsLogicalRoles); jsLogicalRoleAssignments.set(x++, jsRoleAssignment); } jsNewRoleAssignments.put("logicalRoleAssignments", jsLogicalRoleAssignments); RequestBuilder saveSettingRequestBuilder = new RequestBuilder(RequestBuilder.PUT, contextURL + "api/userrole/roleAssignments"); saveSettingRequestBuilder.setHeader( "Content-Type", "application/json"); // $NON-NLS-1$//$NON-NLS-2$ WaitPopup.getInstance().setVisible(true); try { saveSettingRequestBuilder.sendRequest( jsNewRoleAssignments.toString(), new RequestCallback() { @Override public void onError(Request request, Throwable exception) { WaitPopup.getInstance().setVisible(false); callback.onFailure(exception); } @Override public void onResponseReceived(Request request, Response response) { WaitPopup.getInstance().setVisible(false); if (response.getStatusCode() == 200) { masterRoleMap.putAll(newRoleAssignments); newRoleAssignments.clear(); callback.onSuccess(true); } else { callback.onSuccess(false); } } }); } catch (RequestException e) { WaitPopup.getInstance().setVisible(false); callback.onFailure(e); } }
/** * 同期版 * * @param name */ public void sInputParent(String inputName) { debug.assertTrue(parentName.equals(""), "already have parentName すでに先約があるようです"); debug.assertTrue(parentID.equals(""), "already have parentID すでに先約があるようです"); debug.assertTrue(!inputName.equals(""), "空文字は親の名称として指定できません"); parentName = inputName; String messageID = UUID.uuid(8, 16); JSONObject messageMap = getMessageStructure( MS_CATEGOLY_PARENTSEARCH_S, messageID, getName(), getID(), inputName, "", ""); MessageMasterHub.getMaster().syncMessage(messageMap.toString()); addSendLog(messageMap); }
public String testbed(String inputName) { debug.assertTrue(parentName.equals(""), "already have parentName すでに先約があるようです"); debug.assertTrue(parentID.equals(""), "already have parentID すでに先約があるようです"); debug.assertTrue(!inputName.equals(""), "空文字は親の名称として指定できません"); parentName = inputName; String messageID = UUID.uuid(8, 16); JSONObject messageMap = getMessageStructure( MS_CATEGOLY_PARENTSEARCH, messageID, getName(), getID(), inputName, "", ""); sendAsyncMessage(messageMap); return messageMap.toString(); }
public void testToJson() { PropertyGroupContainer container1 = new PropertyGroupContainer("{}"); // $NON-NLS-1$ PropertyGroup group = new PropertyGroup(); Property property = new Property( JSONParser.parseStrict( "{\"id\":\"blah-test-1.304116363485E12\",\"name\":\"\",\"label\":\"my widget\",\"description\":\"\",\"type\":\"\",\"isVisible\":true,\"value\":\"\",\"order\":0}") //$NON-NLS-1$ .isObject()); group.add(property); container1.add(group); JSONObject json1 = container1.toJson(); PropertyGroupContainer container2 = new PropertyGroupContainer(json1.toString()); JSONObject json2 = container2.toJson(); UnitTestUtil.equalsIgnoreOrder(json1, json2); }
/** * Gets the value. * * @return the value. */ public Serializable getValue() { String value = streamOptions.getValue(streamOptions.getSelectedIndex()); JSONObject jsonObject = StreamJsonRequestFactory.getEmptyRequest(); if (value.equals(StreamJsonRequestFactory.FOLLOWED_BY_KEY)) { jsonObject = StreamJsonRequestFactory.setSourceAsFollowing(jsonObject); } else if (value.equals(StreamJsonRequestFactory.SAVED_KEY)) { jsonObject = StreamJsonRequestFactory.setSourceAsSaved(jsonObject); } else if (value.equals(StreamJsonRequestFactory.PARENT_ORG_KEY)) { jsonObject = StreamJsonRequestFactory.setSourceAsParentOrg(jsonObject); } else if (value.equals(StreamJsonRequestFactory.JOINED_GROUPS_KEY)) { jsonObject = StreamJsonRequestFactory.setSourceAsJoinedGroups(jsonObject); } else if (value.equals(StreamJsonRequestFactory.RECIPIENT_KEY)) { StreamJsonRequestFactory.initRecipient(jsonObject); for (StreamScope scope : (LinkedList<StreamScope>) scopes.getValue()) { jsonObject = StreamJsonRequestFactory.addRecipient( EntityType.valueOf(scope.getScopeType().toString()), scope.getUniqueKey(), jsonObject); } } else if (value.equals(StreamJsonRequestFactory.LIKER_KEY)) { StreamJsonRequestFactory.initLikers(jsonObject); for (StreamScope scope : (LinkedList<StreamScope>) scopes.getValue()) { jsonObject = StreamJsonRequestFactory.addLiker( EntityType.valueOf(scope.getScopeType().toString()), scope.getUniqueKey(), jsonObject); } } else if (value.equals(StreamJsonRequestFactory.AUTHOR_KEY)) { StreamJsonRequestFactory.initAuthors(jsonObject); for (StreamScope scope : (LinkedList<StreamScope>) scopes.getValue()) { jsonObject = StreamJsonRequestFactory.addAuthor( EntityType.valueOf(scope.getScopeType().toString()), scope.getUniqueKey(), jsonObject); } } return jsonObject.toString(); }
/** * EventBus実装での同期メッセージング 同期メッセージを親へと送信するメソッド 親へのメッセージング * * @param command * @param tagValue */ public void sCallParent(String command, JSONObject... tagValue) { debug.assertTrue(parentName != "", "SYNC parentName not applied yet"); debug.assertTrue(parentID != "", "SYNC parentID not applied yet"); JSONObject messageMap = getMessageStructure( MS_CATEGOLY_CALLPARENT, UUID.uuid(8, 16), getName(), getID(), getParentName(), getParentID(), command, tagValue); MessageMasterHub.getMaster().syncMessage(messageMap.toString()); addSendLog(messageMap); }
/** * 非同期メッセージを親へと送信するメソッド 親へのメッセージング * * @param command * @param tagValue */ public String callParent(String command, JSONObject... tagValue) { debug.assertTrue(parentName != "", "ASYNC parentName not applied yet"); debug.assertTrue(parentID != "", "ASYNC parentID not applied yet"); String messageID = UUID.uuid(8, 16); JSONObject messageMap = getMessageStructure( MS_CATEGOLY_CALLPARENT, messageID, getName(), getID(), getParentName(), getParentID(), command, tagValue); debug.trace("true messageMap " + messageMap.toString()); sendAsyncMessage(messageMap); return messageID; }
/** * EventBus実装での同期メッセージング イベントでの実装が、他と同レベルなコンテキストに書かれてしまう事が、どうしても欠点として映る。 * * @param toName * @param command * @param tagValue */ public void sCall(String toName, String command, JSONObject... tagValue) { for (JSONObject currentChild : childList) { if (currentChild.get(CHILDLIST_KEY_CHILD_NAME).isString().stringValue().equals(toName)) { String toID = currentChild.get(CHILDLIST_KEY_CHILD_ID).isString().stringValue(); JSONObject messageMap = getMessageStructure( MS_CATEGOLY_CALLCHILD, UUID.uuid(8, 16), getName(), getID(), toName, toID, command, tagValue); MessageMasterHub.getMaster().syncMessage(messageMap.toString()); addSendLog(messageMap); } } }
@SuppressWarnings("rawtypes") public void ajoutFormulaireDirect() { for (int i = 0; i < elements.size(); i++) { JSONObject elementAsJSONObject = BuildJsonObject.buildJSONObjectElementBis( "" + i, ((ArrayList) elements.get(i)).get(0).toString(), ((ArrayList) elements.get(i)).get(1).toString(), ((ArrayList) elements.get(i)).get(2).toString()); formAsJSONObjectBis.put("element" + i, elementAsJSONObject); ajouterParametre( i, ((ArrayList) elements.get(i)).get(3).toString(), ((ArrayList) elements.get(i)).get(4).toString()); } FormulaireController.allouerFormulaireBis(dualListBox, formAsJSONObjectBis); try { RequestBuilder builder = new RequestBuilder(RequestBuilder.PUT, FORMULAIRE_URL + "updateForm"); builder.setHeader("Content-Type", "application/json"); builder.sendRequest( formAsJSONObjectBis.toString(), new RequestCallback() { public void onError(Request request, Throwable exception) { Window.alert("Erreur d'ajout"); } public void onResponseReceived(Request request, Response response) { RootPanel.get("button_Enregistrer").remove(enregistrer); Window.alert("Formulaire: Ajout avec succès"); Window.Location.reload(); } }); } catch (RequestException e) { System.out.println("RequestException"); } }
private void handleWizardPanels(final JSONObject schedule, final JsJobTrigger trigger) { if (hasParams) { showScheduleParamsDialog(trigger, schedule); } else if (isEmailConfValid) { showScheduleEmailDialog(schedule); } else { // submit JSONObject scheduleRequest = (JSONObject) JSONParser.parseStrict(schedule.toString()); if (editJob != null) { JSONArray scheduleParams = new JSONArray(); for (int i = 0; i < editJob.getJobParams().length(); i++) { JsJobParam param = editJob.getJobParams().get(i); JsArrayString paramValue = (JsArrayString) JavaScriptObject.createArray().cast(); paramValue.push(param.getValue()); JsSchedulingParameter p = (JsSchedulingParameter) JavaScriptObject.createObject().cast(); p.setName(param.getName()); p.setType("string"); // $NON-NLS-1$ p.setStringValue(paramValue); scheduleParams.set(i, new JSONObject(p)); } scheduleRequest.put("jobParameters", scheduleParams); // $NON-NLS-1$ String actionClass = editJob.getJobParamValue("ActionAdapterQuartzJob-ActionClass"); // $NON-NLS-1$ if (!StringUtils.isEmpty(actionClass)) { scheduleRequest.put("actionClass", new JSONString(actionClass)); // $NON-NLS-1$ } } RequestBuilder scheduleFileRequestBuilder = new RequestBuilder(RequestBuilder.POST, contextURL + "api/scheduler/job"); // $NON-NLS-1$ scheduleFileRequestBuilder.setHeader( "Content-Type", "application/json"); // $NON-NLS-1$//$NON-NLS-2$ scheduleFileRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); try { scheduleFileRequestBuilder.sendRequest( scheduleRequest.toString(), new RequestCallback() { public void onError(Request request, Throwable exception) { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), exception.toString(), false, false, true); //$NON-NLS-1$ dialogBox.center(); setDone(false); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == 200) { setDone(true); ScheduleRecurrenceDialog.this.hide(); if (callback != null) { callback.okPressed(); } if (showSuccessDialog) { if (!PerspectiveManager.getInstance() .getActivePerspective() .getId() .equals(PerspectiveManager.SCHEDULES_PERSPECTIVE)) { ScheduleCreateStatusDialog successDialog = new ScheduleCreateStatusDialog(); successDialog.center(); } else { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("scheduleUpdatedTitle"), Messages.getString( "scheduleUpdatedMessage"), //$NON-NLS-1$ //$NON-NLS-2$ false, false, true); dialogBox.center(); } } } else { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), // $NON-NLS-1$ response.getText(), false, false, true); dialogBox.center(); setDone(false); } } }); } catch (RequestException e) { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), e.toString(), // $NON-NLS-1$ false, false, true); dialogBox.center(); setDone(false); } setDone(true); } }
/** * PostMessageAPI からダイレクトで複数のmessengerが各個に呼ばれる事を想定したメソッド * * @param rootMessage */ public void onMessagereceivedFromPostMessageAPI(String rootMessage) { JSONObject rootObject = null; // Window.alert("受け取った "+getName()); try { rootObject = JSONParser.parseStrict(rootMessage).isObject(); } catch (Exception e) { debug.trace("receiveMessage_parseError_" + e); return; } if (rootObject == null) { debug.trace("rootObject = null"); return; } String toName = null; { /* * 宛先チェック */ debug.assertTrue(rootObject.get(KEY_TO_NAME).isString() != null, "invalid KEY_TO_NAME"); toName = rootObject.get(KEY_TO_NAME).isString().stringValue(); if (!toName.equals(getName())) { // 送信者の指定した宛先が自分か // NSLog(@"MS_CATEGOLY_CALLPARENT_宛先ではないMessnegerが受け取った"); return; } } String fromName = null; String fromID = null; { /* * 送付元名前チェック */ fromName = rootObject.get(KEY_MESSENGER_NAME).isString().stringValue(); debug.assertTrue(fromName != null, "invalid KEY_MESSENGER_NAME"); /* * 送付元IDチェック */ fromID = rootObject.get(KEY_MESSENGER_ID).isString().stringValue(); debug.assertTrue(fromID != null, "invalid KEY_MESSENGER_ID"); } int categoly; { debug.assertTrue( rootObject.get(KEY_MESSAGE_CATEGOLY).isNumber() != null, "no KEY_MESSAGE_CATEGOLY"); categoly = (int) rootObject.get(KEY_MESSAGE_CATEGOLY).isNumber().doubleValue(); } /* * コマンドチェック */ { debug.assertTrue( rootObject.get(KEY_MESSENGER_EXEC).isString() != null, "KEY_MESSENGER_EXEC = null"); } /* * tag-valueチェック */ { debug.assertTrue( rootObject.get(KEY_MESSENGER_TAGVALUE_GROUP).isObject() != null, "KEY_MESSENGER_TAGVALUE_GROUP = null"); } /* * 宛先存在チェック */ String toID = null; { debug.assertTrue(rootObject.get(KEY_TO_ID).isString() != null, "no KEY_TO_ID"); toID = rootObject.get(KEY_TO_ID).isString().stringValue(); } // Window.alert("カテゴリチェックまで メッセージングを受け取りました"); switch (categoly) { case MS_CATEGOLY_LOCAL: { if (toID.equals(getID())) { addReceiveLog(rootObject); receiveCenter(rootMessage); } } return; case MS_CATEGOLY_CALLCHILD: if (toID.equals(getID())) { addReceiveLog(rootObject); receiveCenter(rootMessage); } return; case MS_CATEGOLY_CALLPARENT: // 宛先MIDが自分のIDと一致するか if (toID.equals(getID())) { // Window.alert("親として呼ばれた メッセージングを受け取りました "); addReceiveLog(rootObject); receiveCenter(rootMessage); // Window.alert("親として呼ばれた2 メッセージングを受け取りました"); } return; case MS_CATEGOLY_PARENTSEARCH: debug.assertTrue(rootObject.get(KEY_PARENT_NAME).isString() != null, "no KEY_PARENT_NAME"); String childSearchingName = rootObject.get(KEY_PARENT_NAME).isString().stringValue(); if (childSearchingName.equals(getName())) { JSONObject childInfo = new JSONObject(); childInfo.put(CHILDLIST_KEY_CHILD_ID, new JSONString(fromID)); childInfo.put(CHILDLIST_KEY_CHILD_NAME, new JSONString(fromName)); childList.add(childInfo); // Window.alert("子供っす "+childList+" で、名前が "+childInfo); JSONObject messageMap = getMessageStructure( MS_CATEGOLY_PARENTSEARCH_RET, UUID.uuid(8, 16), getName(), getID(), fromName, fromID, TRIGGER_PARENTCONNECTED); sendAsyncMessage(messageMap); addReceiveLog(rootObject); } return; case MS_CATEGOLY_PARENTSEARCH_S: debug.assertTrue(rootObject.get(KEY_PARENT_NAME).isString() != null, "no KEY_PARENT_NAME"); String childSearchingName2 = rootObject.get(KEY_PARENT_NAME).isString().stringValue(); if (childSearchingName2.equals(getName())) { addReceiveLog(rootObject); JSONObject childInfo = new JSONObject(); childInfo.put(CHILDLIST_KEY_CHILD_ID, new JSONString(fromID)); childInfo.put(CHILDLIST_KEY_CHILD_NAME, new JSONString(fromName)); childList.add(childInfo); JSONObject messageMap = getMessageStructure( MS_CATEGOLY_PARENTSEARCH_RET, UUID.uuid(8, 16), getName(), getID(), fromName, fromID, TRIGGER_PARENTCONNECTED); MessageMasterHub.getMaster().syncMessage(messageMap.toString()); addSendLog(messageMap); } break; case MS_CATEGOLY_PARENTSEARCH_RET: if (!parentName.equals(fromName)) { return; } if (toID.equals(getID())) { if (parentID.equals("")) { parentID = fromID; addReceiveLog(rootObject); } else { // debug.trace("もう別の親が居ます"+ "/fromID "+fromID); } } return; case MS_CATEGOLY_REMOVE_CHILD: case MS_CATEGOLY_REMOVE_PARENT: default: debug.assertTrue(false, "not ready yet or UNKNOWN CATEGOLY"); return; } }