@Override protected JSONObject renderContent() throws JSONException { JSONObject json = super.renderContent(); json.put(JSON_TEXT, selectedEntityValue); json.put(JSON_CODE, selectedEntityCode); json.put(JSON_ACTIVE, selectedEntityActive); json.put(JSON_BELONGS_TO_ENTITY_ID, belongsToEntityId); if (clearCurrentCodeCode) { json.put(JSON_CLEAR_CURRENT_CODE, clearCurrentCodeCode); } if (autocompleteMatches != null) { JSONArray matches = new JSONArray(); for (Entity entity : autocompleteMatches) { JSONObject matchEntity = new JSONObject(); matchEntity.put("id", entity.getId()); matchEntity.put("value", ExpressionUtils.getValue(entity, expression, getLocale())); matchEntity.put("code", String.valueOf(entity.getField(fieldCode))); matchEntity.put("active", entity.isActive()); matches.put(matchEntity); } json.put(JSON_AUTOCOMPLETE_MATCHES, matches); json.put(JSON_AUTOCOMPLETE_CODE, autocompleteCode); json.put(JSON_AUTOCOMPLETE_ENTITIES_NUMBER, autocompleteEntitiesNumber); } if (criteriaModifierParameter != null && !criteriaModifierParameter.isEmpty()) { json.put(JSON_CRITERIA_MODIFIER_PARAMETER, criteriaModifierParameter.toJSON()); } return json; }
@Override public void setFilterValue(FilterValueHolder value) { if (criteriaModifier == null) { throw new IllegalStateException(CRITERIA_MODIFIER_NOT_PRESENT); } criteriaModifierParameter.initialize(value.toJSON()); requestRender(); }
@Override protected void initializeContent(final JSONObject json) throws JSONException { super.initializeContent(json); if (json.has(JSON_TEXT) && !json.isNull(JSON_TEXT)) { selectedEntityValue = json.getString(JSON_TEXT); } if (json.has(JSON_CODE) && !json.isNull(JSON_CODE)) { selectedEntityCode = json.getString(JSON_CODE); } if (json.has(JSON_BELONGS_TO_ENTITY_ID) && !json.isNull(JSON_BELONGS_TO_ENTITY_ID)) { belongsToEntityId = json.getLong(JSON_BELONGS_TO_ENTITY_ID); } if (json.has(JSON_OLD_SELECTED_ENTITY_ID) && !json.isNull(JSON_OLD_SELECTED_ENTITY_ID)) { oldSelectedEntityId = json.getLong(JSON_OLD_SELECTED_ENTITY_ID); } if (json.has(JSON_CURRENT_CODE) && !json.isNull(JSON_CURRENT_CODE)) { currentCode = json.getString(JSON_CURRENT_CODE); } if (json.has(JSON_AUTOCOMPLETE_CODE) && !json.isNull(JSON_AUTOCOMPLETE_CODE)) { autocompleteCode = json.getString(JSON_AUTOCOMPLETE_CODE); } if (json.has(JSON_CRITERIA_MODIFIER_PARAMETER) && !json.isNull(JSON_CRITERIA_MODIFIER_PARAMETER)) { criteriaModifierParameter.initialize(json.getJSONObject(JSON_CRITERIA_MODIFIER_PARAMETER)); } if (belongsToFieldDefinition != null && belongsToEntityId == null) { setEnabled(false); } }