/** * Converts a type definition list. */ @SuppressWarnings({ "unchecked" }) public static List<TypeDefinitionContainer> convertTypeDescendants(final List<Object> json) { if (json == null) { return null; } if (json.isEmpty()) { return Collections.emptyList(); } List<TypeDefinitionContainer> result = new ArrayList<TypeDefinitionContainer>(); for (Object obj : json) { if (obj instanceof Map) { Map<String, Object> jsonContainer = (Map<String, Object>) obj; TypeDefinitionContainerImpl container = new TypeDefinitionContainerImpl(); container.setTypeDefinition(convertTypeDefinition(getMap(jsonContainer.get(JSON_TYPESCONTAINER_TYPE)))); Object children = jsonContainer.get(JSON_TYPESCONTAINER_CHILDREN); if (children instanceof List) { container.setChildren(convertTypeDescendants((List<Object>) children)); } else { container.setChildren(Collections.<TypeDefinitionContainer> emptyList()); } convertExtension(jsonContainer, container, TYPESCONTAINER_KEYS); result.add(container); } } return result; }
/** * Converts a type definition list. */ @SuppressWarnings({ "unchecked" }) public static List<TypeDefinitionContainer> convertTypeDescendants(final List<Object> json) { if (json == null) { return null; } if (json.isEmpty()) { return Collections.emptyList(); } List<TypeDefinitionContainer> result = new ArrayList<TypeDefinitionContainer>(); for (Object obj : json) { if (obj instanceof Map) { Map<String, Object> jsonContainer = (Map<String, Object>) obj; TypeDefinitionContainerImpl container = new TypeDefinitionContainerImpl(); container.setTypeDefinition(convertTypeDefinition(getMap(jsonContainer.get(JSON_TYPESCONTAINER_TYPE)))); Object children = jsonContainer.get(JSON_TYPESCONTAINER_CHILDREN); if (children instanceof List) { container.setChildren(convertTypeDescendants((List<Object>) children)); } else { container.setChildren(Collections.<TypeDefinitionContainer> emptyList()); } convertExtension(jsonContainer, container, TYPESCONTAINER_KEYS); result.add(container); } } return result; }
@Override public List<TypeDefinitionContainer> getTypeDescendants(String repositoryId, String typeId, BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension) { // build URL UrlBuilder url = getRepositoryUrl(repositoryId, Constants.SELECTOR_TYPE_DESCENDANTS); url.addParameter(Constants.PARAM_TYPE_ID, typeId); url.addParameter(Constants.PARAM_DEPTH, depth); url.addParameter(Constants.PARAM_PROPERTY_DEFINITIONS, includePropertyDefinitions); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); List<Object> json = parseArray(resp.getStream(), resp.getCharset()); return JSONConverter.convertTypeDescendants(json); }
@Override public List<TypeDefinitionContainer> getTypeDescendants(String repositoryId, String typeId, BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension) { // build URL UrlBuilder url = getRepositoryUrl(repositoryId, Constants.SELECTOR_TYPE_DESCENDANTS); url.addParameter(Constants.PARAM_TYPE_ID, typeId); url.addParameter(Constants.PARAM_DEPTH, depth); url.addParameter(Constants.PARAM_PROPERTY_DEFINITIONS, includePropertyDefinitions); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); List<Object> json = parseArray(resp.getStream(), resp.getCharset()); return JSONConverter.convertTypeDescendants(json); }