From 4e65a216655ac6d0267f8b6b31500348b771dac5 Mon Sep 17 00:00:00 2001 From: NThakur4 <nthakur4@slb.com> Date: Wed, 13 Apr 2022 14:04:51 -0500 Subject: [PATCH] fix type mapping --- .../indexer/service/IndexerMappingServiceImpl.java | 12 ++++++------ .../org/opengroup/osdu/indexer/util/TypeMapper.java | 12 +++++------- .../opengroup/osdu/indexer/util/TypeMapperTest.java | 8 +++++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java index 9717aa185..8df970bb7 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java @@ -143,11 +143,11 @@ public class IndexerMappingServiceImpl extends MappingServiceImpl implements IMa for (Map.Entry<String, Object> entry : schema.getMetaSchema().entrySet()) { if (entry.getKey() == RecordMetaAttribute.AUTHORITY.getValue()) { - metaMapping.put(entry.getKey(), TypeMapper.getConstantIndexerType(RecordMetaAttribute.AUTHORITY, authority)); + metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), authority)); } else if (entry.getKey() == RecordMetaAttribute.SOURCE.getValue()) { - metaMapping.put(entry.getKey(), TypeMapper.getConstantIndexerType(RecordMetaAttribute.SOURCE, source)); + metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), source)); } else { - metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey())); + metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), null)); } } return metaMapping; @@ -211,11 +211,11 @@ public class IndexerMappingServiceImpl extends MappingServiceImpl implements IMa String source = parts[1]; for (String attribute : missing) { if (attribute == RecordMetaAttribute.AUTHORITY.getValue()) { - properties.put(attribute, TypeMapper.getConstantIndexerType(RecordMetaAttribute.AUTHORITY, authority)); + properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, authority)); } else if (attribute == RecordMetaAttribute.SOURCE.getValue()) { - properties.put(attribute, TypeMapper.getConstantIndexerType(RecordMetaAttribute.SOURCE, source)); + properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, source)); } else { - properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute)); + properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, null)); } } diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java index 70b54304f..7ef011331 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java @@ -91,12 +91,8 @@ public class TypeMapper { return metaAttributeIndexerType.getOrDefault(attribute.getValue(), null); } - public static Object getConstantIndexerType(RecordMetaAttribute attribute, String value) { - if (RecordMetaAttribute.AUTHORITY != attribute && RecordMetaAttribute.SOURCE != attribute) { - return null; - } - - Map<String, Object> constantAttribute = (Map<String, Object>) metaAttributeIndexerType.get(attribute.getValue()); + private static Object getConstantIndexerType(String key, String value) { + Map<String, Object> constantAttribute = (Map<String, Object>) metaAttributeIndexerType.get(key); constantAttribute.put("value", value); return constantAttribute; } @@ -105,10 +101,12 @@ public class TypeMapper { return new ArrayList<>(metaAttributeIndexerType.keySet()); } - public static Object getMetaAttributeIndexerMapping(String key) { + public static Object getMetaAttributeIndexerMapping(String key, String value) { if (key.equals(RecordMetaAttribute.ACL.getValue()) || key.equals(RecordMetaAttribute.LEGAL.getValue()) || key.equals(RecordMetaAttribute.ANCESTRY.getValue()) || key.equals(RecordMetaAttribute.INDEX_STATUS.getValue())) { return metaAttributeIndexerType.get(key); + } else if (key.equals(RecordMetaAttribute.AUTHORITY.getValue()) || key.equals(RecordMetaAttribute.SOURCE.getValue())) { + return getConstantIndexerType(key, value); } return Records.Type.builder().type(metaAttributeIndexerType.get(key).toString()).build(); } diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java index 095098c70..2768f5c93 100644 --- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java +++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/TypeMapperTest.java @@ -2,6 +2,7 @@ package org.opengroup.osdu.indexer.util; import org.junit.Test; import org.opengroup.osdu.core.common.model.indexer.ElasticType; +import org.opengroup.osdu.core.common.model.indexer.Records; import org.opengroup.osdu.core.common.model.indexer.StorageType; import org.opengroup.osdu.core.common.model.search.RecordMetaAttribute; @@ -54,10 +55,11 @@ public class TypeMapperTest { @Test public void validate_constantAttribute_indexerMapping() { - Object value = TypeMapper.getConstantIndexerType(RecordMetaAttribute.ID, ""); - assertNull(value); + Object value = TypeMapper.getMetaAttributeIndexerMapping(RecordMetaAttribute.ID.getValue(), ""); + Records.Type recordsType = (Records.Type) value; + assertEquals("keyword", recordsType.getType()); - value = TypeMapper.getConstantIndexerType(RecordMetaAttribute.AUTHORITY, "opendes"); + value = TypeMapper.getMetaAttributeIndexerMapping(RecordMetaAttribute.AUTHORITY.getValue(), "opendes"); Map<String, Object> mapping = (Map<String, Object>) value; assertEquals("constant_keyword", mapping.get("type")); assertEquals("opendes", mapping.get("value")); -- GitLab