Пример #1
0
  public static List<MarshalledMessage> decodePayload(final String value) {
    if (value == null || value.trim().length() == 0) return Collections.emptyList();

    /**
     * We have to do a two-stage decoding of the message. We cannot fully decode the message here,
     * as we cannot be sure the destination endpoint exists within this Errai bundle. So we extract
     * the ToSubject field and send the unparsed JSON object onwards.
     */
    JSONValue val = null;

    try {
      val = JSONParser.parseStrict(value);
    } catch (ClassCastException e) {
      if (!GWT.isProdMode()) {
        System.out.println("*** working around devmode bug ***");
        val = JSONParser.parseStrict(value);
      }
    }

    if (val == null) {
      return Collections.emptyList();
    }
    final JSONArray arr = val.isArray();
    if (arr == null) {
      throw new RuntimeException("unrecognized payload" + val.toString());
    }
    final ArrayList<MarshalledMessage> list = new ArrayList<MarshalledMessage>();
    unwrap(list, arr);
    return list;
  }
 @Override
 public T decode(String value) throws DecodingException {
   try {
     return decode(JSONParser.parseStrict(value));
   } catch (JSONException e) {
     // that can happen for generic key types like Object and then a String key gets passed in
     return decode(JSONParser.parseStrict("\"" + value + "\""));
   }
 }
  /**
   * 入力されたメッセージを元に、宛先とコマンドを変更したものを返す
   *
   * @deprecated 0.7.4 親子関係を組み込むと、callの部分がmanualに成る為、使用不可とする。
   * @param receiverName
   * @param command
   * @param eventString
   * @return
   */
  public String copyOut(
      int messageCategoly, String newReceiverName, String newCommand, String eventString) {
    // 内容チェックを行い、receiverとcommandを書き換える
    debug.assertTrue(newReceiverName != null, "newReceiverName = null");
    debug.assertTrue(newCommand != null, "newCommand = null");
    debug.assertTrue(eventString != null, "eventString = null");

    JSONObject eventObj = JSONParser.parseStrict(eventString).isObject();
    debug.assertTrue(
        eventObj.containsKey(KEY_MESSAGE_CATEGOLY), "not contain KEY_MESSAGE_CATEGOLY");
    debug.assertTrue(eventObj.containsKey(KEY_MESSENGER_NAME), "not contain KEY_MESSENGER_NAME");
    debug.assertTrue(eventObj.containsKey(KEY_MESSENGER_ID), "not contain KEY_MESSENGER_ID");
    debug.assertTrue(eventObj.containsKey(KEY_MESSENGER_EXEC), "not contain KEY_MESSENGER_EXEC");
    debug.assertTrue(eventObj.containsKey(KEY_TO_NAME), "not contain KEY_TO_NAME");
    debug.assertTrue(eventObj.containsKey(KEY_TO_ID), "not contain KEY_TO_ID");
    debug.assertTrue(
        eventObj.containsKey(KEY_MESSENGER_TAGVALUE_GROUP),
        "not contain KEY_MESSENGER_TAGVALUE_GROUP");

    // categolyの書き換えを行う

    return replaceSenderInformation(
            messageCategoly, getName(), getID(), newReceiverName, newCommand, eventObj)
        .toString();
  }
Пример #4
0
    @Override
    public void onResponseReceived(Request request, Response response) {
      JSONValue j = JSONParser.parseStrict(response.getText());
      JSONObject obj = j.isObject();
      if (obj != null && obj.containsKey("error")) {
        Window.alert(obj.get("error").isString().stringValue());
        changeButtonSelection();
        setTextEnabled(false);
        clearTextBoxes();
        singleSelectionModel.clear();
      } else {
        List<OrganismInfo> organismInfoList =
            OrganismInfoConverter.convertJSONStringToOrganismInfoList(response.getText());
        dataGrid.setSelectionModel(singleSelectionModel);
        MainPanel.getInstance().getOrganismInfoList().clear();
        MainPanel.getInstance().getOrganismInfoList().addAll(organismInfoList);
        changeButtonSelection();
        OrganismChangeEvent organismChangeEvent = new OrganismChangeEvent(organismInfoList);
        organismChangeEvent.setAction(OrganismChangeEvent.Action.LOADED_ORGANISMS);
        Annotator.eventBus.fireEvent(organismChangeEvent);

        // in the case where we just add one . . .we should refresh the app state
        if (organismInfoList.size() == 1) {
          MainPanel.getInstance().getAppState();
        }
      }
      if (savingNewOrganism) {
        savingNewOrganism = false;
        setNoSelection();
        changeButtonSelection(false);
        loadingDialog.hide();
      }
    }
Пример #5
0
  private static ServerEvent parseJsonEvent(String msg) {
    try {
      JSONObject eventJ = JSONParser.parseStrict(msg).isObject();
      Name name = new Name(eventJ.get("name").isString().stringValue(), "");
      ServerEvent.Scope scope =
          ServerEvent.Scope.valueOf(eventJ.get("scope").isString().stringValue());
      ServerEvent.DataType dataType =
          eventJ.get("dataType") == null
              ? ServerEvent.DataType.STRING
              : ServerEvent.DataType.valueOf(eventJ.get("dataType").isString().stringValue());
      Serializable data;
      String from = eventJ.get("from") == null ? null : eventJ.get("from").toString();
      if (dataType == ServerEvent.DataType.BG_STATUS) {
        data = BackgroundStatus.parse(eventJ.get("data").isString().stringValue());
      } else if (dataType == ServerEvent.DataType.JSON) {
        data = eventJ.get("data").isObject().toString();
      } else {
        data = eventJ.get("data").isString().stringValue();
      }
      ServerEvent sEvent = new ServerEvent(name, scope, dataType, data);
      sEvent.setFrom(from);
      return sEvent;

    } catch (Exception e) {
      GwtUtil.getClientLogger()
          .log(Level.WARNING, "Unable to parse json message into ServerEvent: " + msg, e);
      return null;
    }
  }
 /**
  * メッセージから、メッセージコマンドを取得する
  *
  * @param message
  * @return
  */
 public String getCommand(String message) {
   return JSONParser.parseStrict(message)
       .isObject()
       .get(KEY_MESSENGER_EXEC)
       .isString()
       .stringValue();
 }
 /**
  * メッセージから、メッセージの送信者名を取得する
  *
  * @param message
  * @return
  */
 public String getSenderName(String message) {
   return JSONParser.parseStrict(message)
       .isObject()
       .get(KEY_MESSENGER_NAME)
       .isString()
       .stringValue();
 }
Пример #8
0
 @Override
 public final void onResponseReceived(Request request, Response response) {
   if (200 == response.getStatusCode()) {
     parseJSON(JSONParser.parseStrict(response.getText()));
   } else {
     Window.alert(response.getStatusCode() + " : " + response.getStatusText());
     System.err.println(response.getStatusCode() + " : " + response.getStatusText());
   }
 }
  /**
   * Creates a JSON object from a string. If the string parses, but doesn't contain a JSON object,
   * null is returned.
   *
   * @param json
   * @return
   */
  public static JSONObject getObject(final String json) {
    JSONValue val = JSONParser.parseStrict(json);

    if (val == null) {
      return null;
    } else {
      return val.isObject();
    }
  }
Пример #10
0
 private JSONValue toJson() {
   final JSONObject data = null == restoreddata ? new JSONObject() : restoreddata;
   try {
     data.put("historyversion", new JSONString(SearchPanelModel.historyversion));
     data.put("selectedtype", new JSONString(selectedCriterion.displaytype));
     final Iterator<String> iter = criteria.keySet().iterator();
     while (iter.hasNext()) {
       final String searchTypeKey = iter.next();
       if (!selectedCriterionHistory.containsKey(searchTypeKey)) {
         continue;
       }
       final JSONObject searchdata = new JSONObject();
       final JSONObject userdata = new JSONObject();
       searchdata.put(Context.get().getChallengeLogin().toLowerCase(), userdata);
       userdata.put(
           "selectedcriterion",
           new JSONString(selectedCriterionHistory.get(searchTypeKey).getName()));
       final JSONObject criteriadata = new JSONObject();
       for (final Criterion criterion : criteria.get(searchTypeKey).values()) {
         final String s = CriterionHistory.Writer.toJson(criterion.getHistory());
         criteriadata.put(criterion.getName(), JSONParser.parseStrict(s));
       }
       userdata.put("criteria", criteriadata);
       if (searchhistory.containsKey(searchTypeKey)) {
         userdata.put(
             "searchhistory",
             JSONParser.parseStrict(
                 SearchHistory.Writer.toJson(searchhistory.get(searchTypeKey))));
       }
       if (accesshistory.containsKey(searchTypeKey)) {
         userdata.put(
             "accesshistory",
             JSONParser.parseStrict(
                 AccessHistory.Writer.toJson(accesshistory.get(searchTypeKey))));
       }
       data.put(selectedCriterionHistory.get(searchTypeKey).getType().toLowerCase(), searchdata);
     }
   } catch (final Exception e) {
     getLogger().severe("SearchModel.toJson() : " + e);
   }
   return data;
 }
Пример #11
0
  private ResultMessage processResponse(Request request, Response response)
      throws ResultMessageException {
    JSONValue jsonValue = JSONParser.parseStrict(response.getText());

    ResultMessage result = new ResultMessage(BusinessObject.create(jsonValue.isObject()));

    if (result.getStatus() != 0) {
      handleResultError(result);
    }
    return result;
  }
Пример #12
0
 /**
  * Factory method.
  *
  * @param <J> type of {@link JavaScriptObject} returned by this method
  * @param pJson the JSON representation of a {@link com.tj.civ.client.model.jso.CbGameJSO}
  * @return a new instance, or <code>null</code> if the instance could not be created
  */
 @SuppressWarnings("unchecked")
 public static <J extends JavaScriptObject> J createFromJson(final String pJson) {
   J result = null;
   JSONValue v = JSONParser.parseStrict(pJson);
   if (v != null) {
     JSONObject obj = v.isObject();
     if (obj != null) {
       result = (J) obj.getJavaScriptObject().cast();
     }
   }
   return result;
 }
  /**
   * tagValueグループに含まれるtagをリストとして取得する
   *
   * @param message
   * @return
   */
  public ArrayList<String> getTags(String message) {
    JSONObject obj =
        JSONParser.parseStrict(message).isObject().get(KEY_MESSENGER_TAGVALUE_GROUP).isObject();

    ArrayList<String> tags = new ArrayList<String>();

    Set<String> currentSet = obj.keySet();

    for (Iterator<String> currentSetItel = currentSet.iterator(); currentSetItel.hasNext(); ) {
      tags.add(currentSetItel.next());
    }

    return tags;
  }
 @Override
 public UserDetails deserialize(String json) {
   JSONValue parsed = JSONParser.parseStrict(json);
   JSONObject jsonObj = parsed.isObject();
   UserDetailsDTO user = new UserDetailsDTO();
   if (jsonObj != null) {
     user.setUsername(jsonObj.get(UserDetailsDTO.USERNAME_FIELD).toString());
     JSONArray array = jsonObj.get(UserDetailsDTO.AUTHORITIES_FIELD).isArray();
     for (int i = 0; i < array.size(); i++) {
       JSONValue obj = array.get(i);
       user.getAuthorities().add(obj.toString());
     }
   }
   return user;
 }
  /**
   * tagValueグループに含まれるvalueをリストとして取得する
   *
   * @param message
   * @return
   */
  public ArrayList<JSONValue> getValues(String message) {
    JSONObject obj =
        JSONParser.parseStrict(message).isObject().get(KEY_MESSENGER_TAGVALUE_GROUP).isObject();

    ArrayList<JSONValue> values = new ArrayList<JSONValue>();

    Set<String> currentSet = obj.keySet();

    for (Iterator<String> currentSetItel = currentSet.iterator(); currentSetItel.hasNext(); ) {
      String currentKey = currentSetItel.next();
      values.add(obj.get(currentKey));
    }

    return values;
  }
  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);
  }
Пример #17
0
 private DataSource getRecentlyAccessed() {
   final DataSource datasource = new DataSource();
   datasource.setClientOnly(true);
   datasource.setCacheAllData(true);
   datasource.setAutoCacheAllData(true);
   int j = accesshistory.get(selectedCriterion.displaytype).getStack().size();
   final Record[] records = new Record[j];
   for (final AccessString access : accesshistory.get(selectedCriterion.displaytype).getStack()) {
     final Record record =
         new Record(JSONParser.parseStrict(access.asString()).isObject().getJavaScriptObject());
     record.setAttribute("row", j);
     record.setAttribute("lastmodified", record.getAttribute("lastmodified").substring(0, 10));
     records[--j] = record;
   }
   datasource.setTestData(records);
   return datasource;
 }
Пример #18
0
  private void printGitMessage(String messageText, GitOutputConsole console) {
    if (messageText == null || messageText.isEmpty()) {
      return;
    }
    JSONObject jsonObject = JSONParser.parseStrict(messageText).isObject();
    if (jsonObject == null) {
      return;
    }
    String message = "";
    if (jsonObject.containsKey("message")) {
      message = jsonObject.get("message").isString().stringValue();
    }

    console.print("");
    String[] lines = message.split("\n");
    for (String line : lines) {
      console.printError(line);
    }
  }
Пример #19
0
 private void showList(String json) {
   JSONValue v = JSONParser.parseStrict(json);
   System.out.println("BlackList showList , json = " + json);
   JSONObject jo = v.isObject();
   page = (int) jo.get("page").isNumber().doubleValue();
   size = (int) jo.get("size").isNumber().doubleValue();
   JSONArray array = jo.get("list").isArray();
   ListDataProvider<BlackListRowData> provider = new ListDataProvider<BlackListRowData>();
   provider.addDataDisplay(cellTable);
   List<BlackListRowData> list = provider.getList();
   for (int i = 0; i < array.size(); i++) {
     JSONObject obj = array.get(i).isObject();
     int monetId = (int) obj.get("monetId").isNumber().doubleValue();
     String reason = obj.get("reason").isString().stringValue();
     String expire = obj.get("expire").isString().stringValue();
     BlackListRowData data = new BlackListRowData();
     data.setMonetId(monetId);
     data.setReason(reason);
     data.setExpire(expire);
     list.add(data);
   }
 }
Пример #20
0
  public static void onMessage(String msg) {
    try {
      GwtUtil.getClientLogger().log(Level.INFO, "onMessage: " + msg);

      ServerEvent sEvent = parseJsonEvent(msg);
      Name name = sEvent == null ? null : sEvent.getName();
      Serializable data = sEvent.getData();

      if (name == null) {
        GwtUtil.getClientLogger().log(Level.INFO, "Failed to evaluate: " + msg);
      }
      if (name.equals(Name.EVT_CONN_EST)) {
        JSONObject dataJ = JSONParser.parseStrict(sEvent.getData().toString()).isObject();
        String sEventInfo =
            dataJ.get("connID").isString().stringValue()
                + "_"
                + dataJ.get("channel").isString().stringValue();
        Cookies.setCookie("seinfo", sEventInfo);
        GwtUtil.getClientLogger()
            .log(Level.INFO, "Websocket connection established: " + sEventInfo);
      } else if (data instanceof BackgroundStatus) {
        WebEvent<String> ev =
            new WebEvent<String>(
                ClientEventQueue.class, name, ((BackgroundStatus) data).serialize());
        WebEventManager.getAppEvManager().fireEvent(ev);
        GwtUtil.getClientLogger()
            .log(Level.INFO, "Event: Name:" + name.getName() + ", Data: " + ev.getData());
      } else {
        WebEvent<String> ev =
            new WebEvent<String>(ClientEventQueue.class, name, String.valueOf(data));
        WebEventManager.getAppEvManager().fireEvent(ev);
        GwtUtil.getClientLogger()
            .log(Level.INFO, "Event: Name:" + name.getName() + ", Data: " + sEvent.getData());
      }
    } catch (Exception e) {
      GwtUtil.getClientLogger()
          .log(Level.WARNING, "Exception interpreting incoming message: " + msg, e);
    }
  }
Пример #21
0
 @RequestReceiver("Search")
 @EventMultiplexer(SearchResult.class)
 void executeSearch(
     final Request<ClickEvent> request,
     final ResponseMultiplexer<JSONValue, SearchResult> responsemultiplexer) {
   if (cansearch) {
     if ("Recently accessed".equals(getSelectedCriterion().getName())) {
       final Response<JSONValue, SearchResult> response = responsemultiplexer.multiplex();
       final SearchResult event = response.event();
       event.url = null;
       event.alias = getSelectedCriterion().getAlias();
       event.recycle = recycle;
       event.delimiter = null;
       event.datasource = getRecentlyAccessed();
       event.datatype = getSelectedCriterion().getDataType();
       final String data =
           "{\"response\":{\"data\":[],\"startRow\":0,\"endRow\":0,\"totalRows\":0,\"status\":0}}";
       response.onSuccess(JSONParser.parseStrict(data));
     } else {
       if (0 == locations.selection.length) {
         Dialogs.error("You need to select at least one location to search in.");
       } else {
         for (final Location location : locations.selectedlocations) {
           final Response<JSONValue, SearchResult> response = responsemultiplexer.multiplex();
           final SearchResult event = response.event();
           event.url = location.url + getSelectedCriterion().getType() + "/?" + getQuery();
           event.alias = location.shortname + ": " + getAlias();
           event.delimiter = ":";
           event.recycle = recycle;
           event.datatype = DataType.valueOf(getSelectedCriterion().getType());
           final String queryurl = event.url + "&from=0&to=50";
           JsonResource.get(queryurl, response, "Searching...", "No result: " + queryurl, true);
         }
       }
     }
   }
 }
Пример #22
0
 public ViewJson(String jsonString) {
   this.jsonObject = JSONParser.parseStrict(jsonString).isObject();
 }
 public PrefixMetadata(String json) {
   JSONObject metaMap = JSONParser.parseStrict(json).isObject();
   prefix = metaMap.get("prefix").isString().stringValue();
   statDataItemCount = metaMap.get("statcount").isString().stringValue();
 }
  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);
    }
  }
 /**
  * messageから、TagValue部分をJSONObjectに変換して返す
  *
  * @param message
  * @return
  */
 public JSONObject getJSONObjetFromMessage(String message) {
   return JSONParser.parseStrict(message).isObject().get(KEY_MESSENGER_TAGVALUE_GROUP).isObject();
 }
  /**
   * 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;
    }
  }