private List<FieldType> getFieldTypes(SchemaRepresentation schemaRepresentation) { List<FieldType> fieldTypes = new LinkedList<>(); for (FieldTypeDefinition fd : schemaRepresentation.getFieldTypes()) { FieldType ft = new FieldType(); ft.setName((String) fd.getAttributes().get("name")); ft.setClazz((String) fd.getAttributes().get("class")); Object multiValued = fd.getAttributes().get("multiValued"); if (multiValued != null) { ft.setMultiValued((Boolean) multiValued); } fieldTypes.add(ft); } return fieldTypes; }
private static NamedList<Object> createAddFieldTypeNamedList(FieldTypeDefinition fieldTypeDefinition) { final NamedList<Object> addFieldTypeNamedList = new NamedList<>(); addFieldTypeNamedList.addAll(fieldTypeDefinition.getAttributes()); AnalyzerDefinition analyzerDefinition = fieldTypeDefinition.getAnalyzer(); if (analyzerDefinition != null) { NamedList<Object> analyzerNamedList = createAnalyzerNamedList(analyzerDefinition); addFieldTypeNamedList.add("analyzer", analyzerNamedList); } AnalyzerDefinition indexAnalyzerDefinition = fieldTypeDefinition.getIndexAnalyzer(); if (indexAnalyzerDefinition != null) { NamedList<Object> indexAnalyzerNamedList = createAnalyzerNamedList(indexAnalyzerDefinition); addFieldTypeNamedList.add("indexAnalyzer", indexAnalyzerNamedList); } AnalyzerDefinition queryAnalyzerDefinition = fieldTypeDefinition.getQueryAnalyzer(); if (queryAnalyzerDefinition != null) { NamedList<Object> queryAnalyzerNamedList = createAnalyzerNamedList(queryAnalyzerDefinition); addFieldTypeNamedList.add("queryAnalyzer", queryAnalyzerNamedList); } AnalyzerDefinition multiTermAnalyzerDefinition = fieldTypeDefinition.getMultiTermAnalyzer(); if (multiTermAnalyzerDefinition != null) { NamedList<Object> multiTermAnalyzerNamedList = createAnalyzerNamedList(multiTermAnalyzerDefinition); addFieldTypeNamedList.add("multiTermAnalyzer", multiTermAnalyzerNamedList); } Map<String, Object> similarityAttributes = fieldTypeDefinition.getSimilarity(); if (similarityAttributes != null && !similarityAttributes.isEmpty()) { addFieldTypeNamedList.add("similarity", new NamedList<>(similarityAttributes)); } return addFieldTypeNamedList; }
private static NamedList<Object> createAddFieldTypeNamedList(FieldTypeDefinition fieldTypeDefinition) { final NamedList<Object> addFieldTypeNamedList = new NamedList<>(); addFieldTypeNamedList.addAll(fieldTypeDefinition.getAttributes()); AnalyzerDefinition analyzerDefinition = fieldTypeDefinition.getAnalyzer(); if (analyzerDefinition != null) { NamedList<Object> analyzerNamedList = createAnalyzerNamedList(analyzerDefinition); addFieldTypeNamedList.add("analyzer", analyzerNamedList); } AnalyzerDefinition indexAnalyzerDefinition = fieldTypeDefinition.getIndexAnalyzer(); if (indexAnalyzerDefinition != null) { NamedList<Object> indexAnalyzerNamedList = createAnalyzerNamedList(indexAnalyzerDefinition); addFieldTypeNamedList.add("indexAnalyzer", indexAnalyzerNamedList); } AnalyzerDefinition queryAnalyzerDefinition = fieldTypeDefinition.getQueryAnalyzer(); if (queryAnalyzerDefinition != null) { NamedList<Object> queryAnalyzerNamedList = createAnalyzerNamedList(queryAnalyzerDefinition); addFieldTypeNamedList.add("queryAnalyzer", queryAnalyzerNamedList); } AnalyzerDefinition multiTermAnalyzerDefinition = fieldTypeDefinition.getMultiTermAnalyzer(); if (multiTermAnalyzerDefinition != null) { NamedList<Object> multiTermAnalyzerNamedList = createAnalyzerNamedList(multiTermAnalyzerDefinition); addFieldTypeNamedList.add("multiTermAnalyzer", multiTermAnalyzerNamedList); } Map<String, Object> similarityAttributes = fieldTypeDefinition.getSimilarity(); if (similarityAttributes != null && !similarityAttributes.isEmpty()) { addFieldTypeNamedList.add("similarity", new NamedList<>(similarityAttributes)); } return addFieldTypeNamedList; }