[AAI-171 Amsterdam] Move rest.db to aai-common 35/7635/1
authorVenkata Harish K Kajur <vk250x@att.com>
Tue, 15 Aug 2017 19:11:47 +0000 (15:11 -0400)
committerVenkata Harish K Kajur <vk250x@att.com>
Tue, 15 Aug 2017 19:12:01 +0000 (15:12 -0400)
Change-Id: If03537cb04387cbaadb3aae6eac7a0a903527cd6
Signed-off-by: Venkata Harish K Kajur <vk250x@att.com>
aai-traversal/src/main/java/org/openecomp/aai/dmaap/AAIDmaapEventJMSConsumer.java [deleted file]
aai-traversal/src/main/java/org/openecomp/aai/dmaap/AAIDmaapEventJMSProducer.java [deleted file]
aai-traversal/src/main/java/org/openecomp/aai/rest/db/DBRequest.java [deleted file]
aai-traversal/src/main/java/org/openecomp/aai/rest/db/HttpEntry.java [deleted file]
aai-traversal/src/main/java/org/openecomp/aai/rest/ueb/NotificationEvent.java [deleted file]
aai-traversal/src/main/java/org/openecomp/aai/rest/ueb/UEBNotification.java [deleted file]
aai-traversal/src/main/java/org/openecomp/aai/util/StoreNotificationEvent.java [deleted file]

diff --git a/aai-traversal/src/main/java/org/openecomp/aai/dmaap/AAIDmaapEventJMSConsumer.java b/aai-traversal/src/main/java/org/openecomp/aai/dmaap/AAIDmaapEventJMSConsumer.java
deleted file mode 100644 (file)
index a30ebc0..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * org.openecomp.aai
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.aai.dmaap;
-
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.WebResource;
-import org.apache.log4j.MDC;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.openecomp.aai.logging.ErrorLogHelper;
-import org.openecomp.aai.util.AAIConstants;
-
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.TextMessage;
-import javax.ws.rs.core.MediaType;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.Properties;
-
-public class AAIDmaapEventJMSConsumer implements MessageListener {
-
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(AAIDmaapEventJMSConsumer.class);
-
-       private Client httpClient;
-
-       private Properties aaiEventProps;
-       private String aaiEventUrl = "";
-
-       public AAIDmaapEventJMSConsumer() throws org.apache.commons.configuration.ConfigurationException {
-               super();
-               try {
-
-                       if (this.httpClient == null) {
-                               FileReader reader = new FileReader(new File(AAIConstants.AAI_EVENT_DMAAP_PROPS));
-                               aaiEventProps = new Properties();
-                               aaiEventProps.load(reader);
-                               reader.close();
-
-                               String host = aaiEventProps.getProperty("host");
-                               String topic = aaiEventProps.getProperty("topic");
-                               String protocol = aaiEventProps.getProperty("Protocol");
-
-                               aaiEventUrl = protocol + "://" + host + "/events/" + topic;
-                               httpClient = Client.create();
-                       }
-
-               } catch (IOException e) {
-                       ErrorLogHelper.logError("AAI_4000", "Error updating dmaap config file for aai event.");
-               }
-
-       }
-
-       @Override
-       public void onMessage(Message message) {
-
-               String jsmMessageTxt = "";
-               String aaiEvent = "";
-               String eventName = "";
-
-               if (message instanceof TextMessage) {
-                       try {
-                               jsmMessageTxt = ((TextMessage) message).getText();
-                               JSONObject jo = new JSONObject(jsmMessageTxt);
-
-                               if (jo.has("aaiEventPayload")) {
-                                       aaiEvent = jo.getJSONObject("aaiEventPayload").toString();
-                               } else {
-                                       return;
-                               }
-                               if (jo.getString("transId") != null) {
-                                       MDC.put("requestId", jo.getString("transId"));
-                               }
-                               if (jo.getString("fromAppId") != null) {
-                                       MDC.put("partnerName", jo.getString("fromAppId"));
-                               }
-                               if (jo.getString("event-topic") != null) {
-                                       eventName = jo.getString("event-topic");
-                               }
-
-                               LOGGER.info(eventName + "|" + aaiEvent);
-                               if ("AAI-EVENT".equals(eventName)) {
-                                       this.sentWithHttp(this.httpClient, this.aaiEventUrl, aaiEvent);
-                               }
-                       } catch (java.net.SocketException e) {
-                               if (!e.getMessage().contains("Connection reset")) {
-                                       LOGGER.error("AAI_7304 Error reaching DMaaP to send event. " + aaiEvent, e);
-                               }
-                       } catch (IOException e) {
-                               LOGGER.error("AAI_7304 Error reaching DMaaP to send event. " + aaiEvent, e);
-                       } catch (JMSException | JSONException e) {
-                               LOGGER.error("AAI_7350 Error parsing aaievent jsm message for sending to dmaap. " + jsmMessageTxt, e);
-                       } catch (Exception e) {
-                               LOGGER.error("AAI_7350 Error sending message to dmaap. " + jsmMessageTxt, e);
-                       }
-               }
-
-       }
-
-       private boolean sentWithHttp(Client client, String url, String aaiEvent) throws IOException {
-
-               WebResource webResource = client.resource(url);
-
-               ClientResponse response = webResource
-                               .accept(MediaType.APPLICATION_JSON)
-                               .type(MediaType.APPLICATION_JSON)
-                               .post(ClientResponse.class, aaiEvent);
-
-               if (response.getStatus() != 200) {
-                       LOGGER.info("Failed : HTTP error code : " + response.getStatus());
-                       return false;
-               }
-               return true;
-       }
-}
diff --git a/aai-traversal/src/main/java/org/openecomp/aai/dmaap/AAIDmaapEventJMSProducer.java b/aai-traversal/src/main/java/org/openecomp/aai/dmaap/AAIDmaapEventJMSProducer.java
deleted file mode 100644 (file)
index 305e585..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * org.openecomp.aai
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.aai.dmaap;
-
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.command.ActiveMQQueue;
-import org.json.JSONObject;
-import org.springframework.jms.connection.CachingConnectionFactory;
-import org.springframework.jms.core.JmsTemplate;
-
-public class AAIDmaapEventJMSProducer {
-
-       private JmsTemplate jmsTemplate;
-
-       public AAIDmaapEventJMSProducer() {
-               this.jmsTemplate = new JmsTemplate();
-               this.jmsTemplate.setConnectionFactory(new CachingConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61446")));
-               this.jmsTemplate.setDefaultDestination(new ActiveMQQueue("IN_QUEUE"));
-       }
-
-       public void sendMessageToDefaultDestination(JSONObject finalJson) {
-               jmsTemplate.convertAndSend(finalJson.toString());
-               CachingConnectionFactory ccf = (CachingConnectionFactory)this.jmsTemplate.getConnectionFactory();
-               ccf.destroy();
-       }
-}
diff --git a/aai-traversal/src/main/java/org/openecomp/aai/rest/db/DBRequest.java b/aai-traversal/src/main/java/org/openecomp/aai/rest/db/DBRequest.java
deleted file mode 100644 (file)
index e7b6858..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * org.openecomp.aai
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.aai.rest.db;
-
-import java.net.URI;
-import java.util.Optional;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.UriInfo;
-
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.MarshallerProperties;
-import org.openecomp.aai.parsers.query.QueryParser;
-import org.openecomp.aai.restcore.HttpMethod;
-
-/**
- * The Class DBRequest.
- */
-public class DBRequest {
-
-       private final QueryParser parser;
-       
-       private final Introspector introspector;
-       
-       private final HttpHeaders headers;
-       
-       private final String transactionId;
-       
-       private final UriInfo info;
-       
-       private final HttpMethod method;
-       
-       private final URI uri;
-       
-       private final Optional<String> rawRequestContent;
-       
-       private final Optional<MarshallerProperties> marshallerProperties;
-
-       
-       /**
-        * Instantiates a new DB request.
-        *
-        * @param method the method
-        * @param uri the uri
-        * @param parser the parser
-        * @param obj the obj
-        * @param headers the headers
-        * @param info the info
-        * @param transactionId the transaction id
-        */
-       private DBRequest(Builder builder) {
-               this.method = builder.getMethod();
-               this.parser = builder.getParser();
-               this.introspector = builder.getIntrospector();
-               this.headers = builder.getHeaders();
-               this.transactionId = builder.getTransactionId();
-               this.info = builder.getInfo();
-               this.uri = builder.getUri();
-               this.marshallerProperties = builder.getMarshallerProperties();
-               this.rawRequestContent = builder.getRawRequestContent();
-       }
-       
-       /**
-        * Gets the headers.
-        *
-        * @return the headers
-        */
-       public HttpHeaders getHeaders() {
-               return headers;
-       }
-       
-       
-       /**
-        * Gets the transaction id.
-        *
-        * @return the transaction id
-        */
-       public String getTransactionId() {
-               return transactionId;
-       }
-       
-       /**
-        * Gets the info.
-        *
-        * @return the info
-        */
-       public UriInfo getInfo() {
-               return info;
-       }
-       
-       /**
-        * Gets the parser.
-        *
-        * @return the parser
-        */
-       public QueryParser getParser() {
-               return parser;
-       }
-
-       /**
-        * Gets the introspector.
-        *
-        * @return the introspector
-        */
-       public Introspector getIntrospector() {
-               return introspector;
-       }
-
-       /**
-        * Gets the method.
-        *
-        * @return the method
-        */
-       public HttpMethod getMethod() {
-               return method;
-       }
-
-       /**
-        * Gets the uri.
-        *
-        * @return the uri
-        */
-       public URI getUri() {
-               return uri;
-       }
-       
-       /**
-        * Gets the raw content.
-        *
-        * @return the raw content
-        */
-       public Optional<String> getRawRequestContent() {
-               return rawRequestContent;
-       }
-       
-       public Optional<MarshallerProperties> getMarshallerProperties() {
-               return marshallerProperties;
-       }
-
-
-
-       public static class Builder {
-
-               private QueryParser parser = null;
-               
-               private Introspector introspector = null;
-               
-               private HttpHeaders headers = null;
-               
-               private String transactionId = null;
-               
-               private UriInfo info = null;
-               
-               private HttpMethod method = null;
-               
-               private URI uri = null;
-                               
-               private Optional<MarshallerProperties> marshallerProperties = Optional.empty();
-               
-               private Optional<String> rawRequestContent = Optional.empty();
-               /**
-                * Instantiates a new DB request.
-                *
-                * @param method the method
-                * @param uri the uri
-                * @param parser the parser
-                * @param obj the obj
-                * @param headers the headers
-                * @param info the info
-                * @param transactionId the transaction id
-                */
-               public Builder(HttpMethod method, URI uri, QueryParser parser, Introspector obj, HttpHeaders headers, UriInfo info, String transactionId) {
-                       this.method = method;
-                       this.parser = parser;
-                       this.introspector = obj;
-                       this.headers = headers;
-                       this.transactionId = transactionId;
-                       this.info = info;
-                       this.uri = uri;
-                       
-               }
-
-               public QueryParser getParser() {
-                       return parser;
-               }
-
-               public Introspector getIntrospector() {
-                       return introspector;
-               }
-
-               public HttpHeaders getHeaders() {
-                       return headers;
-               }
-
-               public String getTransactionId() {
-                       return transactionId;
-               }
-
-               public UriInfo getInfo() {
-                       return info;
-               }
-
-               public HttpMethod getMethod() {
-                       return method;
-               }
-
-               public URI getUri() {
-                       return uri;
-               }
-               
-               public Builder customMarshaller(MarshallerProperties properties) {
-                       this.marshallerProperties = Optional.of(properties);
-                       return this;
-               }
-               
-               public Builder rawRequestContent(String content) {
-                       this.rawRequestContent = Optional.of(content);
-                       return this;
-               }
-               protected Optional<MarshallerProperties> getMarshallerProperties() {
-                       return marshallerProperties;
-               }
-               protected Optional<String> getRawRequestContent() {
-                       return rawRequestContent;
-               }
-               public DBRequest build() {
-                       
-                       return new DBRequest(this);
-               }
-               
-               
-       }
-}
diff --git a/aai-traversal/src/main/java/org/openecomp/aai/rest/db/HttpEntry.java b/aai-traversal/src/main/java/org/openecomp/aai/rest/db/HttpEntry.java
deleted file mode 100644 (file)
index 36b82b7..0000000
+++ /dev/null
@@ -1,672 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * org.openecomp.aai
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.aai.rest.db;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Set;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriBuilder;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.javatuples.Pair;
-
-import org.openecomp.aai.db.props.AAIProperties;
-import org.openecomp.aai.dbmap.DBConnectionType;
-import org.openecomp.aai.domain.responseMessage.AAIResponseMessage;
-import org.openecomp.aai.domain.responseMessage.AAIResponseMessageDatum;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.extensions.AAIExtensionMap;
-import org.openecomp.aai.extensions.ExtensionController;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.LoaderFactory;
-import org.openecomp.aai.introspection.MarshallerProperties;
-import org.openecomp.aai.introspection.ModelInjestor;
-import org.openecomp.aai.introspection.ModelType;
-import org.openecomp.aai.introspection.Version;
-import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
-import org.openecomp.aai.logging.ErrorLogHelper;
-import org.openecomp.aai.parsers.query.QueryParser;
-import org.openecomp.aai.parsers.uri.URIToExtensionInformation;
-import org.openecomp.aai.rest.ueb.UEBNotification;
-import org.openecomp.aai.restcore.HttpMethod;
-import org.openecomp.aai.schema.enums.ObjectMetadata;
-import org.openecomp.aai.serialization.db.DBSerializer;
-import org.openecomp.aai.serialization.engines.QueryStyle;
-import org.openecomp.aai.serialization.engines.TitanDBEngine;
-import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
-import org.openecomp.aai.serialization.engines.query.QueryEngine;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.github.fge.jsonpatch.JsonPatchException;
-import com.github.fge.jsonpatch.mergepatch.JsonMergePatch;
-import com.thinkaurelius.titan.core.TitanException;
-
-/**
- * The Class HttpEntry.
- */
-public class HttpEntry {
-
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(HttpEntry.class);
-
-       private final ModelType introspectorFactoryType;
-       
-       private final QueryStyle queryStyle;
-       
-       private final Version version;
-       
-       private final Loader loader;
-       
-       private final TransactionalGraphEngine dbEngine;
-               
-       private boolean processSingle = true;
-
-       /**
-        * Instantiates a new http entry.
-        *
-        * @param version the version
-        * @param modelType the model type
-        * @param queryStyle the query style
-        * @param llBuilder the ll builder
-        */
-       public HttpEntry(Version version, ModelType modelType, QueryStyle queryStyle, DBConnectionType connectionType) {
-               this.introspectorFactoryType = modelType;
-               this.queryStyle = queryStyle;
-               this.version = version;
-               this.loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
-               this.dbEngine = new TitanDBEngine(
-                               queryStyle,
-                               connectionType,
-                               loader);
-               //start transaction on creation
-               dbEngine.startTransaction();
-
-       }
-       
-       /**
-        * Gets the introspector factory type.
-        *
-        * @return the introspector factory type
-        */
-       public ModelType getIntrospectorFactoryType() {
-               return introspectorFactoryType;
-       }
-
-       /**
-        * Gets the query style.
-        *
-        * @return the query style
-        */
-       public QueryStyle getQueryStyle() {
-               return queryStyle;
-       }
-
-       /**
-        * Gets the version.
-        *
-        * @return the version
-        */
-       public Version getVersion() {
-               return version;
-       }
-
-       /**
-        * Gets the loader.
-        *
-        * @return the loader
-        */
-       public Loader getLoader() {
-               return loader;
-       }
-
-       /**
-        * Gets the db engine.
-        *
-        * @return the db engine
-        */
-       public TransactionalGraphEngine getDbEngine() {
-               return dbEngine;
-       }
-
-       public Pair<Boolean, List<Pair<URI, Response>>> process (List<DBRequest> requests, String sourceOfTruth) throws AAIException {
-               return this.process(requests, sourceOfTruth, true);
-       }
-       /**
-        * Process.
-        * @param requests the requests
-        * @param sourceOfTruth the source of truth
-        *
-        * @return the pair
-        * @throws AAIException the AAI exception
-        */
-       public Pair<Boolean, List<Pair<URI, Response>>> process (List<DBRequest> requests, String sourceOfTruth, boolean enableResourceVersion) throws AAIException {
-               DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, sourceOfTruth);
-               Response response = null;
-               Status status = Status.NOT_FOUND;
-               Introspector obj = null;
-               QueryParser query = null;
-               URI uri = null;
-               String transactionId = null;
-               UEBNotification notification = new UEBNotification(loader);
-               int depth = AAIProperties.MAXIMUM_DEPTH;
-               List<Pair<URI,Response>> responses = new ArrayList<>();
-               MultivaluedMap<String, String> params = null;
-               HttpMethod method = null;
-               String uriTemp = "";
-               Boolean success = true;
-               QueryEngine queryEngine = dbEngine.getQueryEngine();
-               int maxRetries = 10;
-               int retry = 0;
-               for (DBRequest request : requests) {
-                       try {
-                               for (retry = 0; retry < maxRetries; ++retry) {
-                                       try {
-                                               method = request.getMethod();
-                                               obj = request.getIntrospector();
-                                               query = request.getParser();
-                                               transactionId = request.getTransactionId();
-                                               uriTemp = request.getUri().getRawPath().replaceFirst("^v\\d+/", "");
-                                               uri = UriBuilder.fromPath(uriTemp).build();
-                                               List<Vertex> vertices = query.getQueryBuilder().toList();
-                                               boolean isNewVertex = false;
-                                               String outputMediaType = getMediaType(request.getHeaders().getAcceptableMediaTypes());
-                                               String result = null;
-                                               params = request.getInfo().getQueryParameters(false);
-                                               depth = setDepth(obj, params.getFirst("depth"));
-                                               String cleanUp = params.getFirst("cleanup");
-                                               String requestContext = "";
-                                               List<String> requestContextList = request.getHeaders().getRequestHeader("aai-request-context");
-                                               if (requestContextList != null) {
-                                                       requestContext = requestContextList.get(0);
-                                               }
-                                       
-                                               if (cleanUp == null) {
-                                                       cleanUp = "false";
-                                               }
-                                               if (vertices.size() > 1 && processSingle && !method.equals(HttpMethod.GET)) {
-                                                       if (method.equals(HttpMethod.DELETE)) {
-                                                               throw new AAIException("AAI_6138");
-                                                       } else {
-                                                               throw new AAIException("AAI_6137");
-                                                       }
-                                               }
-                                               if (method.equals(HttpMethod.PUT)) {
-                                                       String resourceVersion = (String)obj.getValue("resource-version");
-                                                       if (vertices.size() == 1) {
-                                                               if (enableResourceVersion) {
-                                                                       serializer.verifyResourceVersion("update", query.getResultType(), (String)vertices.get(0).<String>property("resource-version").orElse(null), resourceVersion, obj.getURI());
-                                                               }
-                                                               isNewVertex = false;
-                                                       } else {
-                                                               if (enableResourceVersion) {
-                                                                       serializer.verifyResourceVersion("create", query.getResultType(), "", resourceVersion, obj.getURI());
-                                                               }
-                                                               isNewVertex = true;
-                                                       }
-                                               } else {
-                                                       if (vertices.size() == 0) {
-                                                               String msg = createNotFoundMessage(query.getResultType(), request.getUri());
-                                                               throw new AAIException("AAI_6114", msg);
-                                                       } else {
-                                                               isNewVertex = false;
-                                                       }
-                                               }
-                                               Vertex v = null;
-                                               if (!isNewVertex) {
-                                                       v = vertices.get(0);
-                                               }
-                                               HashMap<String, Introspector> relatedObjects = new HashMap<>();
-                                               switch (method) {
-                                                       case GET:
-                                                               String nodeOnly = params.getFirst("nodes-only");
-                                                               boolean isNodeOnly = nodeOnly != null;
-                                                               
-                                                               obj = this.getObjectFromDb(vertices, serializer, query, obj, request.getUri(), depth, isNodeOnly, cleanUp);
-                                                               if (obj != null) {
-                                                                       status = Status.OK;
-                                                                       MarshallerProperties properties;
-                                                                       if (!request.getMarshallerProperties().isPresent()) {
-                                                                               properties = 
-                                                                                               new MarshallerProperties.Builder(org.openecomp.aai.restcore.MediaType.getEnum(outputMediaType)).build();
-                                                                       } else {
-                                                                               properties = request.getMarshallerProperties().get();
-                                                                       }
-                                                                       result = obj.marshal(properties);
-                                                               }
-                                                               
-                                                               break;
-                                                       case PUT: 
-                                                               response = this.invokeExtension(dbEngine, this.dbEngine.tx(), method, request, sourceOfTruth, version, loader, obj, uri, true);
-                                                               if (isNewVertex) {
-                                                                       v = serializer.createNewVertex(obj);
-                                                               } else {
-                                                                       serializer.touchStandardVertexProperties(v, false);
-                                                               }
-                                                               serializer.serializeToDb(obj, v, query, uri.getRawPath(), requestContext);
-                                                               this.invokeExtension(dbEngine, this.dbEngine.tx(), HttpMethod.PUT, request, sourceOfTruth, version, loader, obj, uri, false);
-                                                               status = Status.OK;
-                                                               if (isNewVertex) {
-                                                                       status = Status.CREATED;
-                                                               }
-                                                               obj = serializer.getLatestVersionView(v);
-                                                               if (query.isDependent()) {
-                                                                       relatedObjects = this.getRelatedObjects(serializer, queryEngine, v);
-                                                               }
-                                                               notification.createNotificationEvent(transactionId, sourceOfTruth, status, uri, obj, relatedObjects);
-                                                               
-                                                               break;
-                                                       case PUT_EDGE:
-                                                               serializer.touchStandardVertexProperties(v, false);
-                                                               serializer.createEdge(obj, v);
-                                                               status = Status.OK;
-                                                               break;
-                                                       case MERGE_PATCH:
-                                                               Introspector existingObj = (Introspector) obj.clone();
-                                                               existingObj = this.getObjectFromDb(vertices, serializer, query, existingObj, request.getUri(), 0, false, cleanUp);
-                                                               String existingJson = existingObj.marshal(false);
-                                                               String newJson;
-                                                               
-                                                               if (request.getRawRequestContent().isPresent()) {
-                                                                       newJson = request.getRawRequestContent().get();
-                                                               } else {
-                                                                       newJson = "";
-                                                               }
-                                                               Object relationshipList = request.getIntrospector().getValue("relationship-list");
-                                                               ObjectMapper mapper = new ObjectMapper();
-                                                               try {
-                                                                       JsonNode existingNode = mapper.readTree(existingJson);
-                                                                       JsonNode newNode = mapper.readTree(newJson);
-                                                                       JsonMergePatch patch = JsonMergePatch.fromJson(newNode);
-                                                                       JsonNode completed = patch.apply(existingNode);
-                                                                       String patched = mapper.writeValueAsString(completed);
-                                                                       Introspector patchedObj = loader.unmarshal(existingObj.getName(), patched);
-                                                                       if (relationshipList == null) {
-                                                                               //if the caller didn't touch the relationship-list, we shouldn't either
-                                                                               patchedObj.setValue("relationship-list", null);
-                                                                       }
-                                                                       serializer.touchStandardVertexProperties(v, false);
-                                                                       serializer.serializeToDb(patchedObj, v, query, uri.getRawPath(), requestContext);
-                                                                       status = Status.OK;
-                                                                       patchedObj = serializer.getLatestVersionView(v);
-                                                                       if (query.isDependent()) {
-                                                                               relatedObjects = this.getRelatedObjects(serializer, queryEngine, v);
-                                                                       }
-                                                                       notification.createNotificationEvent(transactionId, sourceOfTruth, status, uri, patchedObj, relatedObjects);
-                                                               } catch (IOException | JsonPatchException e) {
-                                                                       throw new AAIException("AAI_3000", "could not perform patch operation");
-                                                               }
-                                                               break;
-                                                       case DELETE:
-                                                               String resourceVersion = params.getFirst("resource-version");
-                                                               obj = serializer.getLatestVersionView(v);
-                                                               if (query.isDependent()) {
-                                                                       relatedObjects = this.getRelatedObjects(serializer, queryEngine, v);
-                                                               }
-                                                               this.invokeExtension(dbEngine, this.dbEngine.tx(), method, request, sourceOfTruth, version, loader, obj, uri, true);
-                                                               serializer.delete(v, resourceVersion, enableResourceVersion);
-                                                               this.invokeExtension(dbEngine, this.dbEngine.tx(), method, request, sourceOfTruth, version, loader, obj, uri, false);
-                                                               status = Status.NO_CONTENT;
-                                                               notification.createNotificationEvent(transactionId, sourceOfTruth, status, uri, obj, relatedObjects);
-                                                               break;
-                                                       case DELETE_EDGE:
-                                                               serializer.touchStandardVertexProperties(v, false);
-                                                               serializer.deleteEdge(obj, v);
-                                                               status = Status.NO_CONTENT;
-                                                               break;
-                                                       default:
-                                                               break;
-                                               }
-                                               
-                                               
-                                               /* temporarily adding vertex id to the headers
-                                                * to be able to use for testing the vertex id endpoint functionality
-                                                * since we presently have no other way of generating those id urls
-                                               */
-                                               if (response == null && v != null && (
-                                                       method.equals(HttpMethod.PUT)
-                                                       || method.equals(HttpMethod.GET)
-                                                       || method.equals(HttpMethod.MERGE_PATCH))
-                                               ) {
-                                                       String myvertid = v.id().toString();
-                                                       response = Response.status(status)
-                                                                       .header("vertex-id", myvertid)
-                                                                       .entity(result)
-                                                                       .type(outputMediaType).build();
-                                               } else if (response == null) {
-                                                       response = Response.status(status)
-                                                                       .type(outputMediaType).build();
-                                               } else {
-                                                       //response already set to something
-                                               }
-                                               Pair<URI,Response> pairedResp = Pair.with(request.getUri(), response);
-                                               responses.add(pairedResp);
-                                               //break out of retry loop
-                                               break;
-                                       } catch (TitanException e) {
-                                               this.dbEngine.rollback();
-                                               AAIException ex = new AAIException("AAI_6142", e);
-                                               ErrorLogHelper.logException(ex);
-                                               Thread.sleep((retry + 1) * 20);
-                                               this.dbEngine.startTransaction();
-                                               queryEngine = dbEngine.getQueryEngine();
-                                               serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, sourceOfTruth);
-                                       }
-                               
-                                       if (retry == maxRetries) {
-                                               throw new AAIException("AAI_6134");
-                                       }
-                               }
-                       } catch (AAIException e) {
-                               success = false;
-                               ArrayList<String> templateVars = new ArrayList<String>();
-                               templateVars.add(request.getMethod().toString()); //GET, PUT, etc
-                               templateVars.add(request.getUri().getPath().toString());
-                               templateVars.addAll(e.getTemplateVars());
-                               
-                               response = Response
-                                               .status(e.getErrorObject().getHTTPResponseCode())
-                                               .entity(ErrorLogHelper.getRESTAPIErrorResponse(request.getHeaders().getAcceptableMediaTypes(), e, templateVars))
-                                               .build();
-                               Pair<URI,Response> pairedResp = Pair.with(request.getUri(), response);
-                               responses.add(pairedResp);
-                               continue;
-                       } catch (Exception e) {
-                               success = false;
-                               e.printStackTrace();
-                               AAIException ex = new AAIException("AAI_4000", e);
-                               ArrayList<String> templateVars = new ArrayList<String>();
-                               templateVars.add(request.getMethod().toString()); //GET, PUT, etc
-                               templateVars.add(request.getUri().getPath().toString());
-
-                               response = Response
-                                               .status(ex.getErrorObject().getHTTPResponseCode())
-                                               .entity(ErrorLogHelper.getRESTAPIErrorResponse(request.getHeaders().getAcceptableMediaTypes(), ex, templateVars))
-                                               .build();
-                               Pair<URI, Response> pairedResp = Pair.with(request.getUri(), response);
-                               responses.add(pairedResp);
-                               continue;
-                       }
-               }
-               
-               notification.triggerEvents();
-               Pair<Boolean, List<Pair<URI, Response>>> tuple = Pair.with(success, responses);
-               return tuple;
-       }
-
-       /**
-        * Gets the media type.
-        *
-        * @param mediaTypeList the media type list
-        * @return the media type
-        */
-       private String getMediaType(List <MediaType> mediaTypeList) {
-               String mediaType = MediaType.APPLICATION_JSON;  // json is the default    
-               for (MediaType mt : mediaTypeList) {
-                       if (MediaType.APPLICATION_XML_TYPE.isCompatible(mt)) {
-                               mediaType = MediaType.APPLICATION_XML;
-                       } 
-               }
-               return mediaType;
-       }
-       
-       /**
-        * Gets the object from db.
-        *
-        * @param serializer the serializer
-        * @param g the g
-        * @param query the query
-        * @param obj the obj
-        * @param uri the uri
-        * @param depth the depth
-        * @param cleanUp the clean up
-        * @return the object from db
-        * @throws AAIException the AAI exception
-        * @throws IllegalAccessException the illegal access exception
-        * @throws IllegalArgumentException the illegal argument exception
-        * @throws InvocationTargetException the invocation target exception
-        * @throws SecurityException the security exception
-        * @throws InstantiationException the instantiation exception
-        * @throws NoSuchMethodException the no such method exception
-        * @throws UnsupportedEncodingException the unsupported encoding exception
-        * @throws MalformedURLException the malformed URL exception
-        * @throws AAIUnknownObjectException 
-        * @throws URISyntaxException 
-        */
-       private Introspector getObjectFromDb(List<Vertex> results, DBSerializer serializer, QueryParser query, Introspector obj, URI uri, int depth, boolean nodeOnly, String cleanUp) throws AAIException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, UnsupportedEncodingException, AAIUnknownObjectException, URISyntaxException {
-        
-        //nothing found
-        if (results.size() == 0) {
-               String msg = createNotFoundMessage(query.getResultType(), uri);
-                       throw new AAIException("AAI_6114", msg);
-        }
-
-        obj = serializer.dbToObject(results, obj, depth, nodeOnly, cleanUp);
-        
-        return obj;
-       }
-       
-       /**
-        * Invoke extension.
-        *
-        * @param dbEngine the db engine
-        * @param g the g
-        * @param httpMethod the http method
-        * @param transId the trans id
-        * @param fromAppId the from app id
-        * @param apiVersion the api version
-        * @param loader the loader
-        * @param obj the obj
-        * @param uri the uri
-        * @param headers the headers
-        * @param isPreprocess the is preprocess
-        * @return the response
-        * @throws IllegalArgumentException the illegal argument exception
-        * @throws UnsupportedEncodingException the unsupported encoding exception
-        * @throws AAIException the AAI exception
-        */
-       private Response invokeExtension(TransactionalGraphEngine dbEngine, Graph g, HttpMethod httpMethod, DBRequest request, String fromAppId, Version apiVersion, Loader loader, Introspector obj, URI uri, boolean isPreprocess) throws IllegalArgumentException, UnsupportedEncodingException, AAIException {
-               AAIExtensionMap aaiExtMap = new AAIExtensionMap();
-               ModelInjestor injestor = ModelInjestor.getInstance();
-               Response response = null;
-               URIToExtensionInformation extensionInformation = new URIToExtensionInformation(loader, uri);
-               aaiExtMap.setHttpEntry(this);
-               aaiExtMap.setDbRequest(request);
-               aaiExtMap.setTransId(request.getTransactionId());
-               aaiExtMap.setFromAppId(fromAppId);
-               aaiExtMap.setGraph(g);
-               aaiExtMap.setApiVersion(apiVersion.toString());
-               aaiExtMap.setObjectFromRequest(obj);
-               aaiExtMap.setObjectFromRequestType(obj.getJavaClassName());
-               aaiExtMap.setObjectFromResponse(obj);
-               aaiExtMap.setObjectFromResponseType(obj.getJavaClassName());
-               aaiExtMap.setJaxbContext(injestor.getContextForVersion(apiVersion));
-               aaiExtMap.setUri(uri.getRawPath());
-               aaiExtMap.setTransactionalGraphEngine(dbEngine);
-               aaiExtMap.setLoader(loader);
-               aaiExtMap.setNamespace(extensionInformation.getNamespace());
-               
-               ExtensionController ext = new ExtensionController();
-               ext.runExtension(aaiExtMap.getApiVersion(),
-                               extensionInformation.getNamespace(),
-                               extensionInformation.getTopObject(),
-                               extensionInformation.getMethodName(httpMethod, isPreprocess),
-                               aaiExtMap,
-                               isPreprocess);
-               
-               if (aaiExtMap.getPrecheckAddedList().size() > 0) {
-                       response = notifyOnSkeletonCreation(aaiExtMap, obj, request.getHeaders());
-               }
-               
-               return response;
-       }
-       
-       /**
-        * Notify on skeleton creation.
-        *
-        * @param aaiExtMap the aai ext map
-        * @param input the input
-        * @param headers the headers
-        * @return the response
-        */
-       //Legacy support
-       private Response notifyOnSkeletonCreation(AAIExtensionMap aaiExtMap, Introspector input, HttpHeaders headers) {
-               Response response = null;
-               HashMap<AAIException, ArrayList<String>> exceptionList = new HashMap<AAIException, ArrayList<String>>();
-
-               String keyString = "";
-
-               Set<String> resourceKeys = input.getKeys();
-               for (String key : resourceKeys) { 
-                       keyString += key + "=" + input.getValue(key) + " ";
-               }
-
-               for (AAIResponseMessage msg : aaiExtMap.getPrecheckResponseMessages().getAAIResponseMessage()) {
-                       ArrayList<String> templateVars = new ArrayList<String>();
-
-                       templateVars.add("PUT " + input.getDbName());
-                       templateVars.add(keyString);
-                       List<String> keys = new ArrayList<String>();
-                       templateVars.add(msg.getAaiResponseMessageResourceType());
-                       for (AAIResponseMessageDatum dat : msg.getAaiResponseMessageData().getAAIResponseMessageDatum()) {
-                               keys.add(dat.getAaiResponseMessageDatumKey() + "=" + dat.getAaiResponseMessageDatumValue());
-                       }
-                       templateVars.add(StringUtils.join(keys, ", "));
-                       exceptionList.put(new AAIException("AAI_0004", msg.getAaiResponseMessageResourceType()),
-                                       templateVars);
-               }
-               response = Response
-                               .status(Status.ACCEPTED).entity(ErrorLogHelper
-                                               .getRESTAPIInfoResponse(headers.getAcceptableMediaTypes(), exceptionList))
-                                               .build();
-               
-               return response;
-       }
-       
-       /**
-        * Creates the not found message.
-        *
-        * @param resultType the result type
-        * @param uri the uri
-        * @return the string
-        */
-       private String createNotFoundMessage(String resultType, URI uri) {
-               
-       String msg = "No Node of type " + resultType + " found at: " + uri.getPath();
-
-       return msg;
-       }
-       
-       /**
-        * Sets the depth.
-        *
-        * @param depthParam the depth param
-        * @return the int
-        * @throws AAIException the AAI exception
-        */
-       protected int setDepth(Introspector obj, String depthParam) throws AAIException {
-                       int depth = AAIProperties.MAXIMUM_DEPTH;
-
-        if(depthParam == null){
-                       if(this.version.compareTo(Version.v9) >= 0){
-                               depth = 0;
-                       } else {
-                depth = AAIProperties.MAXIMUM_DEPTH;
-                       }
-               } else {
-                       if (depthParam.length() > 0 && !depthParam.equals("all")){
-                               try {
-                                       depth = Integer.valueOf(depthParam);
-                               } catch (Exception e) {
-                                       throw new AAIException("AAI_4016");
-                               }
-
-                       }
-               }
-        String maxDepth = obj.getMetadata(ObjectMetadata.MAXIMUM_DEPTH);
-        
-               int maximumDepth = AAIProperties.MAXIMUM_DEPTH;
-
-               if(maxDepth != null){
-            try {
-                maximumDepth = Integer.parseInt(maxDepth);
-            } catch(Exception ex){
-                throw new AAIException("AAI_4018");
-            }
-               }
-
-               if(depth > maximumDepth){
-                       throw new AAIException("AAI_3303");
-               }
-
-               return depth;
-       }
-       
-       /**
-        * Checks if is modification method.
-        *
-        * @param method the method
-        * @return true, if is modification method
-        */
-       private boolean isModificationMethod(HttpMethod method) {
-               boolean result = false;
-               
-               if (method.equals(HttpMethod.PUT) || method.equals(HttpMethod.PUT_EDGE) || method.equals(HttpMethod.DELETE_EDGE) || method.equals(HttpMethod.MERGE_PATCH)) {
-                       result = true;
-               }
-               
-               return result;
-               
-       }
-       
-       private HashMap<String, Introspector> getRelatedObjects(DBSerializer serializer, QueryEngine queryEngine, Vertex v) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, UnsupportedEncodingException, AAIException, URISyntaxException {
-               HashMap<String, Introspector> relatedVertices = new HashMap<>();
-               List<Vertex> vertexChain = queryEngine.findParents(v);
-               for (Vertex vertex : vertexChain) {
-                       try {
-                               final Introspector vertexObj = serializer.getVertexProperties(vertex);
-                               relatedVertices.put(vertexObj.getObjectId(), vertexObj);
-                       } catch (AAIUnknownObjectException e) {
-                               LOGGER.warn("Unable to get vertex properties, partial list of related vertices returned");
-                       }
-                       
-               }
-               
-               return relatedVertices;
-       }
-       
-}
diff --git a/aai-traversal/src/main/java/org/openecomp/aai/rest/ueb/NotificationEvent.java b/aai-traversal/src/main/java/org/openecomp/aai/rest/ueb/NotificationEvent.java
deleted file mode 100644 (file)
index e473e9d..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * org.openecomp.aai
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.aai.rest.ueb;
-
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.Version;
-import org.openecomp.aai.util.StoreNotificationEvent;
-
-/**
- * The Class NotificationEvent.
- */
-public class NotificationEvent {
-
-       private final Loader loader;
-       
-       private final Introspector eventHeader;
-       
-       private final Introspector obj;
-       private final String transactionId;
-       private final String sourceOfTruth;
-       /**
-        * Instantiates a new notification event.
-        *
-        * @param version the version
-        * @param eventHeader the event header
-        * @param obj the obj
-        */
-       public NotificationEvent (Loader loader, Introspector eventHeader, Introspector obj, String transactionId, String sourceOfTruth) {
-               this.loader = loader;
-               this.eventHeader = eventHeader;
-               this.obj = obj;
-               this.transactionId = transactionId;
-               this.sourceOfTruth = sourceOfTruth;
-       }
-       
-       /**
-        * Trigger.
-        *
-        * @throws AAIException the AAI exception
-        */
-       public void trigger() throws AAIException {
-               
-               StoreNotificationEvent sne = new StoreNotificationEvent(transactionId, sourceOfTruth);
-               
-               sne.storeEvent(loader, eventHeader, obj);
-
-       }
-       
-       /**
-        * Gets the notification version.
-        *
-        * @return the notification version
-        */
-       public Version getNotificationVersion() {
-               return loader.getVersion();
-       }
-       
-       /**
-        * Gets the event header.
-        *
-        * @return the event header
-        */
-       public Introspector getEventHeader() {
-               return eventHeader;
-       }
-       
-       /**
-        * Gets the obj.
-        *
-        * @return the obj
-        */
-       public Introspector getObj() {
-               return obj;
-       }
-       
-       
-       
-       
-}
diff --git a/aai-traversal/src/main/java/org/openecomp/aai/rest/ueb/UEBNotification.java b/aai-traversal/src/main/java/org/openecomp/aai/rest/ueb/UEBNotification.java
deleted file mode 100644 (file)
index 1c73987..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * org.openecomp.aai
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.aai.rest.ueb;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import javax.ws.rs.core.Response.Status;
-
-import org.openecomp.aai.db.props.AAIProperties;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.LoaderFactory;
-import org.openecomp.aai.introspection.Version;
-import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
-import org.openecomp.aai.introspection.exceptions.AAIUnmarshallingException;
-import org.openecomp.aai.parsers.uri.URIToObject;
-import org.openecomp.aai.util.AAIConfig;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-/**
- * The Class UEBNotification.
- */
-public class UEBNotification {
-
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(UEBNotification.class);
-
-       private Loader currentVersionLoader = null;
-       protected List<NotificationEvent> events = null;
-       private Version notificationVersion = null;
-
-       /**
-        * Instantiates a new UEB notification.
-        *
-        * @param loader the loader
-        */
-       public UEBNotification(Loader loader) {
-               events = new ArrayList<>();
-               currentVersionLoader = LoaderFactory.createLoaderForVersion(loader.getModelType(), AAIProperties.LATEST);
-               notificationVersion = Version.valueOf(AAIConfig.get("aai.notification.current.version","v11"));
-       }
-       
-       
-       /**
-        * Creates the notification event.
-        *
-        * @param transactionId the X-TransactionId
-        * @param sourceOfTruth 
-        * @param status the status
-        * @param uri the uri
-        * @param obj the obj
-        * @throws AAIException the AAI exception
-        * @throws IllegalArgumentException the illegal argument exception
-        * @throws UnsupportedEncodingException the unsupported encoding exception
-        */
-       public void createNotificationEvent(String transactionId, String sourceOfTruth, Status status, URI uri, Introspector obj, HashMap<String, Introspector> relatedObjects) throws AAIException, UnsupportedEncodingException {
-               
-               String action = "UPDATE";
-               
-               if (status.equals(Status.CREATED)) {
-                       action = "CREATE";
-               } else if (status.equals(Status.OK)) {
-                       action = "UPDATE";
-               } else if (status.equals(Status.NO_CONTENT)) {
-                       action = "DELETE";
-               }
-
-               try {
-                       Introspector eventHeader = currentVersionLoader.introspectorFromName("notification-event-header");
-                       URIToObject parser = new URIToObject(currentVersionLoader, uri, relatedObjects);
-
-               String entityLink = "";
-               if (uri.toString().startsWith("/")) {
-                       entityLink = "/aai/" + notificationVersion + uri;
-               } else {
-                       entityLink = "/aai/" + notificationVersion + "/" + uri;
-               }
-               
-
-                       eventHeader.setValue("entity-link", entityLink);
-                       eventHeader.setValue("action", action);
-                       eventHeader.setValue("entity-type", obj.getDbName());
-                       eventHeader.setValue("top-entity-type", parser.getTopEntityName());
-                       eventHeader.setValue("source-name", sourceOfTruth);
-                       eventHeader.setValue("version", notificationVersion.toString());
-                       eventHeader.setValue("id", transactionId);
-
-                       List<Object> parentList = parser.getParentList();
-                       parentList.clear();
-
-                       if (!parser.getTopEntity().equals(parser.getEntity())) {
-                               Introspector child = obj;
-                               if (!parser.getLoader().getVersion().equals(obj.getVersion())) {
-                                       String json = obj.marshal(false);
-                                       child = parser.getLoader().unmarshal(parser.getEntity().getName(), json);
-                               }
-
-                               //wrap the child object in its parents
-                               parentList.add(child.getUnderlyingObject());
-                       }
-
-                       final Introspector eventObject;
-
-                       //convert to most resent version
-                       if (!parser.getLoader().getVersion().equals(currentVersionLoader.getVersion())) {
-                               String json = "";
-                               if (parser.getTopEntity().equals(parser.getEntity())) {
-                                       //convert the parent object passed in
-                                       json = obj.marshal(false);
-                                       eventObject = currentVersionLoader.unmarshal(obj.getName(), json);
-                               } else {
-                                       //convert the object created in the parser
-                                       json = parser.getTopEntity().marshal(false);
-                                       eventObject = currentVersionLoader.unmarshal(parser.getTopEntity().getName(), json);
-                               }
-                       } else {
-                               if (parser.getTopEntity().equals(parser.getEntity())) {
-                                       //take the top level parent object passed in
-                                       eventObject = obj;
-                               } else {
-                                       //take the wrapped child objects (ogres are like onions)
-                                       eventObject = parser.getTopEntity();
-                               }
-                       }
-
-                       final NotificationEvent event = new NotificationEvent(currentVersionLoader, eventHeader, eventObject, transactionId, sourceOfTruth);
-                       events.add(event);
-               } catch (AAIUnknownObjectException e) {
-                       throw new RuntimeException("Fatal error - notification-event-header object not found!");
-               } catch (AAIUnmarshallingException e) {
-                       LOGGER.error("Unmarshalling error occurred while generating UEBNotification", e);
-               }
-       }
-       
-       /**
-        * Trigger events.
-        *
-        * @throws AAIException the AAI exception
-        */
-       public void triggerEvents() throws AAIException {
-               for (NotificationEvent event : events) {
-                       event.trigger();
-               }
-               events.clear();
-       }
-       
-       public List<NotificationEvent> getEvents() {
-               return this.events;
-       }
-       
-       
-
-}
diff --git a/aai-traversal/src/main/java/org/openecomp/aai/util/StoreNotificationEvent.java b/aai-traversal/src/main/java/org/openecomp/aai/util/StoreNotificationEvent.java
deleted file mode 100644 (file)
index 623df0c..0000000
+++ /dev/null
@@ -1,337 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * org.openecomp.aai
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.aai.util;
-
-import java.io.StringWriter;
-import java.util.Iterator;
-import java.util.UUID;
-
-import javax.xml.bind.Marshaller;
-
-import org.eclipse.persistence.dynamic.DynamicEntity;
-import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.openecomp.aai.dmaap.AAIDmaapEventJMSProducer;
-import org.openecomp.aai.domain.notificationEvent.NotificationEvent;
-import org.openecomp.aai.domain.notificationEvent.ObjectFactory;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
-
-public class StoreNotificationEvent {
-
-       private AAIDmaapEventJMSProducer messageProducer;
-       private String fromAppId = "";
-       private String transId = "";
-       private final String transactionId;
-       private final String sourceOfTruth;
-       /**
-        * Instantiates a new store notification event.
-        */
-       public StoreNotificationEvent(String transactionId, String sourceOfTruth) {
-               this.messageProducer = new AAIDmaapEventJMSProducer();
-               this.transactionId = transactionId;
-               this.sourceOfTruth = sourceOfTruth;
-       }
-
-       /**
-        * Store event.
-        *
-        * @param eh
-        *            the eh
-        * @param obj
-        *            the obj
-        * @throws AAIException
-        *             the AAI exception
-        */
-       public void storeEvent(NotificationEvent.EventHeader eh, Object obj) throws AAIException {
-
-               if (obj == null) {
-                       throw new AAIException("AAI_7350");
-               }
-
-               ObjectFactory factory = new ObjectFactory();
-
-               NotificationEvent ne = factory.createNotificationEvent();
-
-               if (eh.getId() == null) {
-                       eh.setId(genDate2() + "-" + UUID.randomUUID().toString());
-               }
-               if (eh.getTimestamp() == null) {
-                       eh.setTimestamp(genDate());
-               }
-
-               // there's no default, but i think we want to put this in hbase?
-
-               if (eh.getEntityLink() == null) {
-                       eh.setEntityLink("UNK");
-               }
-
-               if (eh.getAction() == null) {
-                       eh.setAction("UNK");
-               }
-
-               if (eh.getEventType() == null) {
-                       eh.setEventType(AAIConfig.get("aai.notificationEvent.default.eventType", "UNK"));
-               }
-
-               if (eh.getDomain() == null) {
-                       eh.setDomain(AAIConfig.get("aai.notificationEvent.default.domain", "UNK"));
-               }
-
-               if (eh.getSourceName() == null) {
-                       eh.setSourceName(AAIConfig.get("aai.notificationEvent.default.sourceName", "UNK"));
-               }
-
-               if (eh.getSequenceNumber() == null) {
-                       eh.setSequenceNumber(AAIConfig.get("aai.notificationEvent.default.sequenceNumber", "UNK"));
-               }
-
-               if (eh.getSeverity() == null) {
-                       eh.setSeverity(AAIConfig.get("aai.notificationEvent.default.severity", "UNK"));
-               }
-
-               if (eh.getVersion() == null) {
-                       eh.setVersion(AAIConfig.get("aai.notificationEvent.default.version", "UNK"));
-               }
-
-               ne.setCambriaPartition(AAIConstants.UEB_PUB_PARTITION_AAI);
-               ne.setEventHeader(eh);
-               ne.setEntity(obj);
-
-               try {
-                       PojoUtils pu = new PojoUtils();
-                       String entityJson = pu.getJsonFromObject(ne);
-                       sendToDmaapJmsQueue(entityJson);
-               } catch (Exception e) {
-                       throw new AAIException("AAI_7350", e);
-               }
-       }
-
-       /**
-        * Store dynamic event.
-        *
-        * @param notificationJaxbContext
-        *            the notification jaxb context
-        * @param notificationVersion
-        *            the notification version
-        * @param eventHeader
-        *            the event header
-        * @param obj
-        *            the obj
-        * @throws AAIException
-        *             the AAI exception
-        */
-       public void storeDynamicEvent(DynamicJAXBContext notificationJaxbContext, String notificationVersion, DynamicEntity eventHeader, DynamicEntity obj) throws AAIException {
-
-               if (obj == null) {
-                       throw new AAIException("AAI_7350");
-               }
-
-               DynamicEntity notificationEvent = notificationJaxbContext.getDynamicType("inventory.aai.openecomp.org." + notificationVersion + ".NotificationEvent").newDynamicEntity();
-
-               if (eventHeader.get("id") == null) {
-                       eventHeader.set("id", genDate2() + "-" + UUID.randomUUID().toString());
-               }
-               
-               if (eventHeader.get("timestamp") == null) {
-                       eventHeader.set("timestamp", genDate());
-               }
-
-               if (eventHeader.get("entityLink") == null) {
-                       eventHeader.set("entityLink", "UNK");
-               }
-
-               if (eventHeader.get("action") == null) {
-                       eventHeader.set("action", "UNK");
-               }
-
-               if (eventHeader.get("eventType") == null) {
-                       eventHeader.set("eventType", AAIConfig.get("aai.notificationEvent.default.eventType", "UNK"));
-               }
-
-               if (eventHeader.get("domain") == null) {
-                       eventHeader.set("domain", AAIConfig.get("aai.notificationEvent.default.domain", "UNK"));
-               }
-
-               if (eventHeader.get("sourceName") == null) {
-                       eventHeader.set("sourceName", AAIConfig.get("aai.notificationEvent.default.sourceName", "UNK"));
-               }
-
-               if (eventHeader.get("sequenceNumber") == null) {
-                       eventHeader.set("sequenceNumber", AAIConfig.get("aai.notificationEvent.default.sequenceNumber", "UNK"));
-               }
-
-               if (eventHeader.get("severity") == null) {
-                       eventHeader.set("severity", AAIConfig.get("aai.notificationEvent.default.severity", "UNK"));
-               }
-
-               if (eventHeader.get("version") == null) {
-                       eventHeader.set("version", AAIConfig.get("aai.notificationEvent.default.version", "UNK"));
-               }
-
-               if (notificationEvent.get("cambriaPartition") == null) {
-                       notificationEvent.set("cambriaPartition", AAIConstants.UEB_PUB_PARTITION_AAI);
-               }
-
-               notificationEvent.set("eventHeader", eventHeader);
-               notificationEvent.set("entity", obj);
-
-               try {
-                       StringWriter result = new StringWriter();
-                       
-                       Marshaller marshaller = notificationJaxbContext.createMarshaller();
-                       marshaller.setProperty(org.eclipse.persistence.jaxb.MarshallerProperties.MEDIA_TYPE, "application/json");
-                       marshaller.setProperty(org.eclipse.persistence.jaxb.MarshallerProperties.JSON_INCLUDE_ROOT, false);
-                       marshaller.setProperty(org.eclipse.persistence.jaxb.MarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, false);
-                       marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, false);
-                       marshaller.marshal(notificationEvent, result);
-                       
-                       this.sendToDmaapJmsQueue(result.toString());
-
-               } catch (Exception e) {
-                       throw new AAIException("AAI_7350", e);
-               }
-       }
-
-       public void storeEvent(Loader loader, Introspector eventHeader, Introspector obj) throws AAIException {
-               if (obj == null) {
-                       throw new AAIException("AAI_7350");
-               }
-
-               try {
-                       final Introspector notificationEvent = loader.introspectorFromName("notification-event");
-
-                       if (eventHeader.getValue("id") == null) {
-                               eventHeader.setValue("id", genDate2() + "-" + UUID.randomUUID().toString());
-                       }
-
-                       if (eventHeader.getValue("timestamp") == null) {
-                               eventHeader.setValue("timestamp", genDate());
-                       }
-
-                       if (eventHeader.getValue("entity-link") == null) {
-                               eventHeader.setValue("entity-link", "UNK");
-                       }
-
-                       if (eventHeader.getValue("action") == null) {
-                               eventHeader.setValue("action", "UNK");
-                       }
-
-                       if (eventHeader.getValue("event-type") == null) {
-                               eventHeader.setValue("event-type", AAIConfig.get("aai.notificationEvent.default.eventType", "UNK"));
-                       }
-
-                       if (eventHeader.getValue("domain") == null) {
-                               eventHeader.setValue("domain", AAIConfig.get("aai.notificationEvent.default.domain", "UNK"));
-                       }
-
-                       if (eventHeader.getValue("source-name") == null) {
-                               eventHeader.setValue("source-name", AAIConfig.get("aai.notificationEvent.default.sourceName", "UNK"));
-                       }
-
-                       if (eventHeader.getValue("sequence-number") == null) {
-                               eventHeader.setValue("sequence-number", AAIConfig.get("aai.notificationEvent.default.sequenceNumber", "UNK"));
-                       }
-
-                       if (eventHeader.getValue("severity") == null) {
-                               eventHeader.setValue("severity", AAIConfig.get("aai.notificationEvent.default.severity", "UNK"));
-                       }
-
-                       if (eventHeader.getValue("version") == null) {
-                               eventHeader.setValue("version", AAIConfig.get("aai.notificationEvent.default.version", "UNK"));
-                       }
-
-                       if (notificationEvent.getValue("cambria-partition") == null) {
-                               notificationEvent.setValue("cambria-partition", AAIConstants.UEB_PUB_PARTITION_AAI);
-                       }
-
-                       notificationEvent.setValue("event-header", eventHeader.getUnderlyingObject());
-                       notificationEvent.setValue("entity", obj.getUnderlyingObject());
-
-                       String entityJson = notificationEvent.marshal(false);
-                       sendToDmaapJmsQueue(entityJson);
-               } catch (JSONException e) {
-                       throw new AAIException("AAI_7350", e);
-               } catch (AAIUnknownObjectException e) {
-                       throw new AAIException("AAI_7350", e);
-               }
-       }
-
-       private void sendToDmaapJmsQueue(String entityString) throws JSONException {
-               
-               JSONObject entityJsonObject = new JSONObject(entityString);
-               
-               JSONObject entityJsonObjectUpdated = new JSONObject();
-               JSONObject finalJson = new JSONObject();
-
-               JSONObject entityHeader = entityJsonObject.getJSONObject("event-header");
-               String cambriaPartition = entityJsonObject.getString("cambria.partition");
-
-               entityJsonObject.remove("event-header");
-               entityJsonObject.remove("cambria.partition");
-
-               entityJsonObjectUpdated.put("event-header", entityHeader);
-               entityJsonObjectUpdated.put("cambria.partition", cambriaPartition);
-               
-               String transId = entityHeader.getString("id");
-               String fromAppId = entityHeader.getString("source-name");
-               
-               Iterator<String> iter = entityJsonObject.keys();
-               JSONObject entity = new JSONObject();
-               if (iter.hasNext()) {
-                       entity = entityJsonObject.getJSONObject(iter.next());
-               }
-               
-               entityJsonObjectUpdated.put("entity", entity);
-
-               finalJson.put("event-topic", "AAI-EVENT");
-               finalJson.put("transId", transId);
-               finalJson.put("fromAppId", fromAppId);
-               finalJson.put("fullId", "");
-               finalJson.put("aaiEventPayload", entityJsonObjectUpdated);
-
-               messageProducer.sendMessageToDefaultDestination(finalJson);
-       }
-
-       /**
-        * Gen date.
-        *
-        * @return the string
-        */
-       public static String genDate() {
-               FormatDate fd = new FormatDate("YYYYMMdd-HH:mm:ss:SSS");
-               return fd.getDateTime();
-       }
-
-       /**
-        * Gen date 2.
-        *
-        * @return the string
-        */
-       public static String genDate2() {
-               FormatDate fd = new FormatDate("YYYYMMddHHmmss");
-               return fd.getDateTime();
-       }
-
-}