Skip to content
Snippets Groups Projects
Commit 33580242 authored by Rustam Lotsmanenko (EPAM)'s avatar Rustam Lotsmanenko (EPAM)
Browse files

Change hint structure

parent bad80ef7
No related branches found
No related tags found
1 merge request!142Array of Objects support by Indexer (GONRG-2028)
Pipeline #36845 failed
......@@ -40,6 +40,7 @@ public class PropertiesProcessor {
private JaxRsDpsLog log;
private SchemaConverterConfig schemaConverterConfig;
private static final String TYPE_KEY = "type";
private static final String DEF_PREFIX = "#/definitions/";
private static final String LINK_PREFIX = "^srn";
private static final String LINK_TYPE = "link";
......@@ -174,7 +175,10 @@ public class PropertiesProcessor {
Items items = entry.getValue().getItems();
if(Objects.nonNull(items.getProperties()) && !items.getProperties().isEmpty()){
String indexingType = getFromIndexingType(entry.getValue().getIndexingType());
Map<String, String> type = entry.getValue().getIndexingType();
String indexingType = Objects.isNull(type) ?
schemaConverterConfig.getDefaultObjectArraysType() :
type.getOrDefault(TYPE_KEY,schemaConverterConfig.getDefaultObjectArraysType());
/*Schema item inner properties will be processed if they are present & indexingType in schema configured for processing
result ex:
{
......@@ -331,8 +335,4 @@ public class PropertiesProcessor {
};
}
private String getFromIndexingType(String indexingType) {
return schemaConverterConfig.getArraysTypesMap().getOrDefault(indexingType, "[]object");
}
}
......@@ -11,6 +11,6 @@ public interface SchemaConverterConfig {
Set<String> getSupportedArrayTypes();
Map<String, String> getSpecialDefinitionsMap();
Map<String, String> getPrimitiveTypesMap();
Map<String, String> getArraysTypesMap();
Set<String> getProcessedArraysTypes();
String getDefaultObjectArraysType();
}
......@@ -20,14 +20,13 @@ public class SchemaConverterPropertiesConfig implements SchemaConverterConfig {
private Set<String> supportedArrayTypes = getDefaultSupportedArrayTypes();
private Map<String, String> specialDefinitionsMap = getDefaultSpecialDefinitionsMap();
private Map<String, String> primitiveTypesMap = getDefaultPrimitiveTypesMap();
private Map<String, String> arraysTypesMap = getDefaultArraysTypesMap();
private Set<String> processedArraysTypes = getDefaultArraysTypesForProcessing();
private String defaultObjectArraysType = getObjectArraysDefaultType();
private Set<String> getDefaultSkippedDefinitions() {
return new HashSet<>(Arrays.asList("AbstractAnyCrsFeatureCollection",
"anyCrsGeoJsonFeatureCollection"));
"anyCrsGeoJsonFeatureCollection"));
}
private Set<String> getDefaultSupportedArrayTypes() {
......@@ -59,14 +58,11 @@ public class SchemaConverterPropertiesConfig implements SchemaConverterConfig {
return defaultPrimitiveTypesMap;
}
private Map<String, String> getDefaultArraysTypesMap() {
Map<String, String> defaultArrayTypesMap = new HashMap<>();
defaultArrayTypesMap.put("x-type-flattened","flattened");
defaultArrayTypesMap.put("x-type-nested","nested");
return defaultArrayTypesMap;
private Set<String> getDefaultArraysTypesForProcessing() {
return new HashSet<>(Arrays.asList("nested"));
}
private Set<String> getDefaultArraysTypesForProcessing(){
return new HashSet<>(Arrays.asList("nested"));
private String getObjectArraysDefaultType() {
return "[]object";
}
}
......@@ -22,7 +22,7 @@ import lombok.Data;
@Data
public class TypeProperty {
@JsonProperty("x-osdu-indexing")
private String indexingType;
private Map<String, String> indexingType;
private String type;
private String pattern;
private String format;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment