/** * Converts choices. */ @SuppressWarnings({ "rawtypes" }) private static List<Choice<String>> convertChoicesString(final Object choices) { if (!(choices instanceof List)) { return null; } List<Choice<String>> result = new ArrayList<Choice<String>>(); for (Object obj : (List) choices) { Map<String, Object> choiceMap = getMap(obj); if (choiceMap != null) { ChoiceImpl<String> choice = new ChoiceImpl<String>(); choice.setDisplayName(getString(choiceMap, JSON_PROPERTY_TYPE_CHOICE_DISPLAYNAME)); Object choiceValue = choiceMap.get(JSON_PROPERTY_TYPE_CHOICE_VALUE); List<String> values = new ArrayList<String>(); if (choiceValue instanceof List) { for (Object value : (List) choiceValue) { values.add((String) getCMISValue(value, PropertyType.STRING)); } } else { values.add((String) getCMISValue(choiceValue, PropertyType.STRING)); } choice.setValue(values); choice.setChoice(convertChoicesString(choiceMap.get(JSON_PROPERTY_TYPE_CHOICE_CHOICE))); result.add(choice); } } return result; }
/** * Converts choices. */ @SuppressWarnings({ "rawtypes" }) private static List<Choice<String>> convertChoicesString(final Object choices) { if (!(choices instanceof List)) { return null; } List<Choice<String>> result = new ArrayList<Choice<String>>(); for (Object obj : (List) choices) { Map<String, Object> choiceMap = getMap(obj); if (choiceMap != null) { ChoiceImpl<String> choice = new ChoiceImpl<String>(); choice.setDisplayName(getString(choiceMap, JSON_PROPERTY_TYPE_CHOICE_DISPLAYNAME)); Object choiceValue = choiceMap.get(JSON_PROPERTY_TYPE_CHOICE_VALUE); List<String> values = new ArrayList<String>(); if (choiceValue instanceof List) { for (Object value : (List) choiceValue) { values.add((String) getCMISValue(value, PropertyType.STRING)); } } else { values.add((String) getCMISValue(choiceValue, PropertyType.STRING)); } choice.setValue(values); choice.setChoice(convertChoicesString(choiceMap.get(JSON_PROPERTY_TYPE_CHOICE_CHOICE))); result.add(choice); } } return result; }
((PropertyStringDefinitionImpl) result).setMaxLength(getInteger(json, JSON_PROPERTY_TYPE_MAX_LENGTH)); ((PropertyStringDefinitionImpl) result) .setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; case ID: result = new PropertyIdDefinitionImpl(); ((PropertyIdDefinitionImpl) result).setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; case BOOLEAN: case HTML: result = new PropertyHtmlDefinitionImpl(); ((PropertyHtmlDefinitionImpl) result).setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; case URI: result = new PropertyUriDefinitionImpl(); ((PropertyUriDefinitionImpl) result).setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; default:
((PropertyStringDefinitionImpl) result).setMaxLength(getInteger(json, JSON_PROPERTY_TYPE_MAX_LENGTH)); ((PropertyStringDefinitionImpl) result) .setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; case ID: result = new PropertyIdDefinitionImpl(); ((PropertyIdDefinitionImpl) result).setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; case BOOLEAN: case HTML: result = new PropertyHtmlDefinitionImpl(); ((PropertyHtmlDefinitionImpl) result).setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; case URI: result = new PropertyUriDefinitionImpl(); ((PropertyUriDefinitionImpl) result).setChoices(convertChoicesString(json.get(JSON_PROPERTY_TYPE_CHOICE))); break; default: