Exemplo n.º 1
0
  @Override
  protected void onInit(final JSONValue data) {

    try {
      final JSONArray criteria = data.isArray();
      this.criteria.clear();

      for (int i = 0; i < criteria.size(); i++) {
        final JSONObject searchTypeJSON = criteria.get(i).isObject();
        final Map<String, Criterion> searchType = new LinkedHashMap<String, Criterion>();

        for (int j = 0; j < searchTypeJSON.get("elements").isArray().size(); j++) {
          final Criterion criterion = Criterion.readMe(j, searchTypeJSON);
          if (j == 0
              && (selectedCriterion == null && i == 0
                  || selectedCriterion != null
                      && criterion.displaytype.equalsIgnoreCase(selectedCriterion.displaytype))) {
            selectedCriterion = criterion;
            selectedCriterionHistory.put(selectedCriterion.displaytype, selectedCriterion);
          }
          searchType.put(criterion.getName(), criterion);
        }
        this.criteria.put(
            searchTypeJSON.get("displaytype").isString().stringValue().trim(), searchType);
      }
    } catch (final Exception e) {
      getLogger().severe(getClass().getName().replace("Impl", "") + ".onInit() : " + e);
    }
  }
Exemplo n.º 2
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;
 }
Exemplo n.º 3
0
 public Criterion getParentCriterion(Criterion goal, String criterionName) {
   if (goal.getName().equals(criterionName)) return null;
   return goal.getParentCriterion(criterionName);
 }