@Override public ElementType convert(Class parameterType, String parameterName, String[] value) { return ElementType.valueOf(value[0].toUpperCase()); } }
public static ElementExtendedData fromJsonString(String str) { JSONObject json = new JSONObject(str); ElementType elementType = null; String elementTypeString = json.optString("elementType"); if (!Strings.isNullOrEmpty(elementTypeString)) { elementType = ElementType.valueOf(elementTypeString.toUpperCase()); } String elementId = json.optString("elementId", null); String tableName = json.optString("tableName", null); return new ElementExtendedData(elementType, elementId, tableName); }
private void applyExtendedDataFilters(QueryAndData queryAndData, SearchOptions searchOptions) { Query query = queryAndData.getQuery(); String[] filterStrings = searchOptions.getOptionalParameter("extendedDataFilters[]", String[].class); if (filterStrings == null || filterStrings.length == 0) { return; } List<HasExtendedDataFilter> filters = new ArrayList<>(); for (String filterString : filterStrings) { JSONObject filterJson = new JSONObject(filterString); String elementTypeString = filterJson.optString("elementType"); ElementType elementType = elementTypeString == null ? null : ElementType.valueOf(elementTypeString); String elementId = filterJson.optString("elementId"); String tableName = filterJson.optString("tableName"); filters.add(new HasExtendedDataFilter(elementType, elementId, tableName)); } query.hasExtendedData(filters); }
Matcher elementTypeMatcher = ELEMENT_TYPE_PATTERN.matcher(elementId); if (elementTypeMatcher.matches()) { elementType = ElementType.valueOf(elementTypeMatcher.group(1)); elementId = elementTypeMatcher.group(2); } else {