This search index was not being populated when the DR processed events
from Spike.
Change-Id: Icc61ec8695801cc310bb106cf69ca5cc8b81613e
Issue-ID: AAI-1625
Signed-off-by: sblimkie <steven.blimkie@amdocs.com>
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+ protected List<String> extractSuggestableAttr(VersionedOxmEntities oxmEntities, String entityType) {
+ // Extract suggestable attributeshandleTopographicalData
+ Map<String, OxmEntityDescriptor> rootDescriptor = oxmEntities.getSuggestableEntityDescriptors();
+
+ if (rootDescriptor == null) {
+ return Collections.emptyList();
+ }
+
+ OxmEntityDescriptor desc = rootDescriptor.get(entityType);
+
+ if (desc == null) {
+ return Collections.emptyList();
+ }
+
+ return desc.getSuggestableAttributes();
+ }
+
package org.onap.aai.datarouter.policy;
import java.io.FileNotFoundException;
package org.onap.aai.datarouter.policy;
import java.io.FileNotFoundException;
+import java.util.ArrayList;
import java.util.List;
import org.apache.camel.Exchange;
import org.onap.aai.datarouter.entity.SpikeAggregationEntity;
import org.onap.aai.datarouter.entity.SpikeEventMeta;
import org.onap.aai.datarouter.logging.EntityEventPolicyMsgs;
import java.util.List;
import org.apache.camel.Exchange;
import org.onap.aai.datarouter.entity.SpikeAggregationEntity;
import org.onap.aai.datarouter.entity.SpikeEventMeta;
import org.onap.aai.datarouter.logging.EntityEventPolicyMsgs;
+import org.onap.aai.util.EntityOxmReferenceHelper;
+import org.onap.aai.util.Version;
+import org.onap.aai.util.VersionedOxmEntities;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.JsonNode;
// Create the indexes in the search service if they do not already exist.
searchAgent.createSearchIndex(searchIndexName, searchIndexSchema, createIndexUrl);
logger.info(EntityEventPolicyMsgs.ENTITY_EVENT_POLICY_REGISTERED);
// Create the indexes in the search service if they do not already exist.
searchAgent.createSearchIndex(searchIndexName, searchIndexSchema, createIndexUrl);
logger.info(EntityEventPolicyMsgs.ENTITY_EVENT_POLICY_REGISTERED);
@Override
public void process(Exchange exchange) throws Exception {
long startTime = System.currentTimeMillis();
SpikeEventMeta meta = processSpikeEvent(exchange);
@Override
public void process(Exchange exchange) throws Exception {
long startTime = System.currentTimeMillis();
SpikeEventMeta meta = processSpikeEvent(exchange);
if (meta == null) {
return;
}
String oxmEntityType = getOxmEntityType(meta.getSpikeEventVertex().getType());
if (meta == null) {
return;
}
String oxmEntityType = getOxmEntityType(meta.getSpikeEventVertex().getType());
+
+ VersionedOxmEntities oxmEntities =
+ EntityOxmReferenceHelper.getInstance().getVersionedOxmEntities(Version.valueOf(oxmVersion.toLowerCase()));
+
+ List<String> suggestibleAttrInPayload = new ArrayList<>();
+ List<String> suggestibleAttrInOxm = extractSuggestableAttr(oxmEntities, meta.getSpikeEventVertex().getType());
+ if (suggestibleAttrInOxm != null) {
+ for (String attr: suggestibleAttrInOxm){
+ if (meta.getVertexProperties().has(attr)) {
+ suggestibleAttrInPayload.add(attr);
+ }
+ }
+ }
- List<String> searchableAttr = getSearchableAttibutes(meta.getOxmJaxbContext(), oxmEntityType,
- meta.getSpikeEventVertex().getType(), meta.getEventEntity().toString(), exchange);
-
- if (searchableAttr == null) {
+ if (suggestibleAttrInPayload.isEmpty()) {
- public List<String> extractSuggestableAttr(VersionedOxmEntities oxmEntities, String entityType) {
- // Extract suggestable attributeshandleTopographicalData
- Map<String, OxmEntityDescriptor> rootDescriptor = oxmEntities.getSuggestableEntityDescriptors();
-
- if (rootDescriptor == null) {
- return Collections.emptyList();
- }
-
- OxmEntityDescriptor desc = rootDescriptor.get(entityType);
-
- if (desc == null) {
- return Collections.emptyList();
- }
-
- return desc.getSuggestableAttributes();
- }
-
public List<String> extractAliasForSuggestableEntity(VersionedOxmEntities oxmEntities,
String entityType) {
public List<String> extractAliasForSuggestableEntity(VersionedOxmEntities oxmEntities,
String entityType) {