summaryrefslogtreecommitdiffstats
path: root/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL
diff options
context:
space:
mode:
Diffstat (limited to 'appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL')
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ListenerImpl.java128
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ProviderOperations.java296
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/WorkerImpl.java79
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Action.java55
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/CommonMessage.java181
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/IncomingMessage.java140
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/OutgoingMessage.java150
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Status.java74
8 files changed, 0 insertions, 1103 deletions
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ListenerImpl.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ListenerImpl.java
deleted file mode 100644
index 3f0f8a112..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ListenerImpl.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.impl;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.TimeZone;
-import java.util.concurrent.RejectedExecutionException;
-
-import org.openecomp.appc.listener.AbstractListener;
-import org.openecomp.appc.listener.ListenerProperties;
-import org.openecomp.appc.listener.CL.model.IncomingMessage;
-import org.openecomp.appc.listener.CL.model.Status;
-
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.att.eelf.i18n.EELFResourceManager;
-
-public class ListenerImpl extends AbstractListener {
-
- private final EELFLogger LOG = EELFManager.getInstance().getLogger(ListenerImpl.class);
-
- private long startTime = 0;
-
- public ListenerImpl(ListenerProperties props) {
- super(props);
- String url = props.getProperty("provider.url");
- LOG.info("DMaaP Provider Endpoint: " + url);
- ProviderOperations.setUrl(url);
-
- // Set Basic Auth
- String user = props.getProperty("provider.user");
- String pass = props.getProperty("provider.pass");
- ProviderOperations.setAuthentication(user, pass);
- }
-
- @Override
- public void run() {
- // Some vars for benchmarking
- startTime = System.currentTimeMillis();
-
- LOG.info("Running DMaaP Listener");
-
- while (run.get()) {
- // Only update if the queue is low. otherwise we read in more
- // messages than we need
- try {
- if (executor.getQueue().size() <= QUEUED_MIN) {
- LOG.debug("DMaaP queue running low. Querying for more jobs");
- List<IncomingMessage> messages = dmaap.getIncomingEvents(IncomingMessage.class, QUEUED_MAX);
- LOG.debug(String.format("Read %d messages from dmaap", messages.size()));
- for (IncomingMessage incoming : messages) {
- // Acknowledge that we read the event
- LOG.info("Acknowledging Message: " + incoming.getId());
- dmaap.postStatus(incoming.toOutgoing(Status.PENDING, null).toString());
- }
- for (IncomingMessage incoming : messages) {
- // Add to pool if still running
- if (run.get()) {
- LOG.info(String.format("Adding DMaaP message to pool queue [%s]", incoming.getId()));
- if (incoming.isValid()) {
- try {
- executor.execute(new WorkerImpl(incoming, dmaap));
- } catch (RejectedExecutionException rejectEx) {
- LOG.error("Task Rejected: ", rejectEx);
- }
- } else {
- // Badly formed message
- LOG.error("Message was not valid. Rejecting");
- }
- } else {
- LOG.info("Run stopped. Orphaning Message: " + incoming.getId());
- }
- }
- }
- } catch (Exception e) {
- LOG.error("Exception " + e.getClass().getSimpleName() + " caught in DMaaP listener");
- LOG.error(EELFResourceManager.format(e));
- LOG.error("DMaaP Listener logging and ignoring the exception, continue...");
- }
- }
-
- LOG.info("Stopping DMaaP Listener thread");
-
- // We've told the listener to stop
- // TODO - Should we:
- // 1) Put a message back on the queue indicating that APP-C never got to
- // the message
- // or
- // 2) Let downstream figure it out after timeout between PENDING and
- // ACTIVE messages
- }
-
- @Override
- public String getBenchmark() {
- long time = System.currentTimeMillis();
- DateFormat df = new SimpleDateFormat("HH:mm:ss");
- df.setTimeZone(TimeZone.getTimeZone("UTC"));
- String runningTime = df.format(new Date(time - startTime));
-
- String out = String.format("Running for %s and completed %d jobs using %d threads.", runningTime,
- executor.getCompletedTaskCount(), executor.getPoolSize());
- LOG.info("***BENCHMARK*** " + out);
- return out;
- }
-
-}
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ProviderOperations.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ProviderOperations.java
deleted file mode 100644
index 7a53bcdd9..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/ProviderOperations.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.impl;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.Socket;
-import java.net.URL;
-import java.net.UnknownHostException;
-import java.security.KeyManagementException;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpVersion;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.conn.scheme.PlainSocketFactory;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.scheme.SchemeRegistry;
-import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.params.HttpParams;
-import org.apache.http.params.HttpProtocolParams;
-import org.apache.http.protocol.HTTP;
-import org.json.JSONObject;
-import org.openecomp.appc.exceptions.APPCException;
-import org.openecomp.appc.listener.CL.model.IncomingMessage;
-import org.openecomp.appc.listener.util.Mapper;
-
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ProviderOperations {
-
- private static final EELFLogger LOG = EELFManager.getInstance().getLogger(ProviderOperations.class);
-
- private static URL url;
-
- private static String basic_auth;
-
- //@formatter:off
- @SuppressWarnings("nls")
- private final static String TEMPLATE = "{\"input\": {\"common-request-header\": {\"service-request-id\": \"%s\"},\"vnf-resource\": {\"vm-id\": \"%s\"%s}}}";
- //@formatter:on
-
- /**
- * Calls the AppcProvider to run a topology directed graph
- *
- * @param msg
- * The incoming message to be run
- * @return True if the result is success. Never returns false and throws an exception instead.
- * @throws UnsupportedEncodingException
- * @throws Exception
- * if there was a failure processing the request. The exception message is the failure reason.
- */
- @SuppressWarnings("nls")
- public static boolean topologyDG(IncomingMessage msg) throws APPCException {
- if (msg == null) {
- throw new APPCException("Provided message was null");
- }
-
- HttpPost post = null;
- try {
- // Concatenate the "action" on the end of the URL
- String path = url.getPath() + ":" + msg.getAction().getValue().toLowerCase();
- URL serviceUrl = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
-
- post = new HttpPost(serviceUrl.toExternalForm());
- post.setHeader("Content-Type", "application/json");
- post.setHeader("Accept", "application/json");
-
- // Set Auth
- if (basic_auth != null) {
- post.setHeader("Authorization", "Basic " + basic_auth);
- }
-
- String body = buildReqest(msg.getId(), msg.getUrl(), msg.getIdentityUrl());
-
-
- LOG.info(String.format("DMaaP ACTION PATH : %s", path));
- LOG.info(String.format("DMaaP ACTION BODY : %s", body));
-
- StringEntity entity = new StringEntity(body);
- entity.setContentType("application/json");
- post.setEntity(new StringEntity(body));
- } catch (UnsupportedEncodingException | MalformedURLException e) {
- throw new APPCException(e);
- }
-
- HttpClient client = getHttpClient();
-
- int httpCode = 0;
- String respBody = null;
- try {
- HttpResponse response = client.execute(post);
- httpCode = response.getStatusLine().getStatusCode();
- respBody = IOUtils.toString(response.getEntity().getContent());
- } catch (IOException e) {
- throw new APPCException(e);
- }
-
- if (httpCode >= 200 && httpCode < 300 && respBody != null) {
- JSONObject json;
- try {
- json = Mapper.toJsonObject(respBody);
- } catch (Exception e) {
- LOG.error("Error processing response from provider. Could not map response to json", e);
- throw new APPCException("APPC has an unknown RPC error");
- }
- boolean success;
- String reason;
- try {
- JSONObject header = json.getJSONObject("output").getJSONObject("common-response-header");
- success = header.getBoolean("success");
- reason = header.getString("reason");
- } catch (Exception e) {
- LOG.error("Unknown error prcoessing failed response from provider. Json not in expected format", e);
- throw new APPCException("APPC has an unknown RPC error");
- }
- if (success) {
- return true;
- }
- String reasonStr = reason == null ? "Unknown" : reason;
- LOG.warn(String.format("Topology Operation [%s] failed. Reason: %s", msg.getId(), reasonStr));
- throw new APPCException(reasonStr);
-
- }
- throw new APPCException(String.format("Unexpected response from endpoint: [%d] - %s ", httpCode, respBody));
- }
-
- /**
- * Updates the static var URL and returns the value;
- *
- * @return The new value of URL
- */
- public static String getUrl() {
- return url.toExternalForm();
- }
-
- public static void setUrl(String newUrl) {
- try {
- url = new URL(newUrl);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Sets the basic authentication header for the given user and password. If either entry is null then set basic auth
- * to null
- *
- * @param user
- * The user with optional domain name
- * @param password
- * The password for the user
- * @return The new value of the basic auth string that will be used in the request headers
- */
- public static String setAuthentication(String user, String password) {
- if (user != null && password != null) {
- String authStr = user + ":" + password;
- basic_auth = new String(Base64.encodeBase64(authStr.getBytes()));
- } else {
- basic_auth = null;
- }
- return basic_auth;
- }
-
- /**
- * Builds the request body for a topology operation
- *
- * @param id
- * The request id
- * @param action
- * The action in lowercase
- * @param url
- * The vm's url
- * @return A String containing the request body
- */
- private static String buildReqest(String id, String url, String ident) {
- String extraVmResource = "";
- if (ident != null) {
- extraVmResource = String.format(", \"identity-url\": \"%s\"", ident);
- }
- return String.format(TEMPLATE, id, url, extraVmResource);
- }
-
- @SuppressWarnings("deprecation")
- private static HttpClient getHttpClient() throws APPCException {
- HttpClient client;
- if (url.getProtocol().equals("https")) {
- try {
- KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
- trustStore.load(null, null);
- MySSLSocketFactory sf = new MySSLSocketFactory(trustStore);
- sf.setHostnameVerifier(MySSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
-
- HttpParams params = new BasicHttpParams();
- HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
- HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
-
- SchemeRegistry registry = new SchemeRegistry();
- registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
- registry.register(new Scheme("https", sf, 443));
- registry.register(new Scheme("https", sf, 8443));
- registry.register(new Scheme("http", sf, 8181));
-
- ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
- client = new DefaultHttpClient(ccm, params);
- } catch (Exception e) {
- client = new DefaultHttpClient();
- }
- } else if (url.getProtocol().equals("http")) {
- client = new DefaultHttpClient();
- } else {
- throw new APPCException(
- "The provider.topology.url property is invalid. The url did not start with http[s]");
- }
- return client;
- }
-
- @SuppressWarnings("deprecation")
- public static class MySSLSocketFactory extends SSLSocketFactory {
- private SSLContext sslContext = SSLContext.getInstance("TLS");
-
- public MySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException,
- KeyStoreException, UnrecoverableKeyException {
- super(truststore);
-
- TrustManager tm = new X509TrustManager() {
- @Override
- public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- }
-
- @Override
- public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- }
-
- @Override
- public X509Certificate[] getAcceptedIssuers() {
- return null;
- }
- };
-
- sslContext.init(null, new TrustManager[] {
- tm
- }, null);
- }
-
- @Override
- public Socket createSocket(Socket socket, String host, int port, boolean autoClose)
- throws IOException, UnknownHostException {
- return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
- }
-
- @Override
- public Socket createSocket() throws IOException {
- return sslContext.getSocketFactory().createSocket();
- }
- }
-
-}
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/WorkerImpl.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/WorkerImpl.java
deleted file mode 100644
index 1eb13f736..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/impl/WorkerImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.impl;
-
-import org.openecomp.appc.exceptions.APPCException;
-import org.openecomp.appc.listener.EventHandler;
-import org.openecomp.appc.listener.CL.model.IncomingMessage;
-import org.openecomp.appc.listener.CL.model.Status;
-
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class WorkerImpl implements Runnable {
-
- private final EELFLogger LOG = EELFManager.getInstance().getLogger(WorkerImpl.class);
-
- // Should have all of the data we need for processing
- private IncomingMessage event;
-
- // So we can post messages from inside the worker.
- private EventHandler dmaap;
-
- public WorkerImpl(IncomingMessage message, EventHandler dmaap) {
- this.event = message;
- this.dmaap = dmaap;
- }
-
- @Override
- public void run() {
- LOG.debug(String.format("Started working on %s", event.getId()));
- dmaap.postStatus(event.toOutgoing(Status.ACTIVE, null));
- // Run the dg in a try catch to handle all exceptions and update the
- // message at the end
- try {
- if (doDG(event)) {
- dmaap.postStatus(event.toOutgoing(Status.SUCCESS, null));
- LOG.debug(String.format("Event %s finished successfully", event.getId()));
- } else {
- // Should never happen. Exception with message should be thrown instead.
- LOG.error(String.format(
- "We somehow returned false from doDG() instead of throwing exception. Incoming event [%s]",
- event.toJson().toString()));
- dmaap.postStatus(event.toOutgoing(Status.FAILURE));
- }
-
- } catch (Exception e) {
- // Unknown exception from DG method. Fail and pass the exception
- // along
- String msg = "Exception: " + e.getMessage();
- LOG.warn(String.format("Event %s finished with failure. %s", event.getId(), msg));
- dmaap.postStatus(event.toOutgoing(Status.FAILURE, msg));
- }
-
- LOG.debug("Done working on " + event.getId());
- }
-
- private boolean doDG(IncomingMessage msg) throws APPCException {
- return ProviderOperations.topologyDG(msg);
- }
-}
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Action.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Action.java
deleted file mode 100644
index a8fe8035b..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Action.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.model;
-
-public enum Action {
- Restart("Restart"), Rebuild("Rebuild"), Migrate("Migrate"), Evacuate("Evacuate");
-
- /**
- * Converts the string to an Action
- *
- * @param value
- * The string to try and convert. Is case insensitive
- * @return The action matching the string or null if no match was found.
- */
- public static Action toAction(String value) {
- if (value != null) {
- for (Action e : values()) {
- if (e.getValue().toUpperCase().equals(value.toUpperCase())) {
- return e;
- }
- }
- }
-
- return null;
- }
-
- private String value;
-
- private Action(String valueToUse) {
- value = valueToUse;
- }
-
- public final String getValue() {
- return value;
- }
-}
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/CommonMessage.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/CommonMessage.java
deleted file mode 100644
index 76a112618..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/CommonMessage.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.model;
-
-import java.io.Serializable;
-
-import org.json.JSONObject;
-import org.openecomp.appc.listener.util.Mapper;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
-
-/**
- * This class holds attributes that are common to DMaaP messages both coming in from DCAE and being sent out by APPC
- *
- */
-@JsonSerialize(include = Inclusion.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class CommonMessage implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /*
- * The unique id of the event as of 1602
- */
- @JsonProperty("eventID")
- private String id;
-
- /*
- * The time that the request was sent out.
- */
- @JsonProperty("requestTime")
- private String requestTime;
-
- /*
- * The originator of the event
- */
- @JsonProperty("requestClient")
- private String requestClient;
-
- /*
- * The system that sent the message
- */
- @JsonProperty("from")
- private String fromSystem;
-
- /*
- * The actual trap message
- */
- @JsonProperty("message")
- private String message;
-
- /*
- * The vm name associated with the event
- */
- @JsonProperty("VMName")
- private String vmName;
-
- /*
- * The policy name on the incoming event
- */
- @JsonProperty("policyName")
- private String policyName;
-
- /*
- * The policy version on the incoming event
- */
- @JsonProperty("policyVersion")
- private String policyVersion;
-
- @JsonIgnore
- private long startTime = System.currentTimeMillis();
-
- /*
- * Getters and Setters
- */
-
- public String getId() {
- return id;
- }
-
- public String getRequestTime() {
- return requestTime;
- }
-
- public String getRequestClient() {
- return requestClient;
- }
-
- public String getFromSystem() {
- return fromSystem;
- }
-
- public String getMessage() {
- return message;
- }
-
- public String getPolicyName() {
- return policyName;
- }
-
- public String getPolicyVersion() {
- return policyVersion;
- }
-
- public String getVmName() {
- return vmName;
- }
-
- public long getStartTime() {
- return startTime;
- }
-
- public void setId(String eventId) {
- id = eventId;
- }
-
- public void setRequestTime(String requestTime) {
- this.requestTime = requestTime;
- }
-
- public void setRequestClient(String requestClient) {
- this.requestClient = requestClient;
- }
-
- public void setFromSystem(String fromSystem) {
- this.fromSystem = fromSystem;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public void setPolicyName(String name) {
- policyName = name;
- }
-
- public void setPolicyVersion(String version) {
- policyVersion = version;
- }
-
- public void setVmName(String vmName) {
- this.vmName = vmName;
- }
-
- public void setStartTime(long startTime) {
- this.startTime = startTime;
- }
-
- /**
- * Convenience method to return a json representation of this object.
- *
- * @return The json representation of this object
- */
- public JSONObject toJson() {
- return Mapper.toJsonObject(this);
- }
-
-}
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/IncomingMessage.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/IncomingMessage.java
deleted file mode 100644
index 60d1d004b..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/IncomingMessage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.model;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
-
-/**
- * This class reperesnts a message coming in from DCAE.
- *
- */
-@JsonSerialize(include = Inclusion.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class IncomingMessage extends CommonMessage {
-
- private static final long serialVersionUID = 1L;
-
- /*
- * The action being requested. Its presence signals that it is an incoming message and it is not present on outgoing
- * messages
- */
- @JsonProperty("request")
- private String request;
-
- /*
- * The url for the server used for auth. http://<compute>:<port>/<tenentId>/server/<serverID>
- */
- @JsonProperty("VServerSelfLink")
- private String Url;
-
- /*
- * The tenant Id in OpenStack that the server belongs to
- */
- @JsonProperty("TenantID")
- private String TenantId;
-
- /*
- * The VM's UUID in
- */
- @JsonProperty("VMID")
- private String VmId;
-
- @JsonProperty("Identity")
- private String identityUrl;
-
- public String getRequest() {
- return request;
- }
-
- @JsonIgnore
- public Action getAction() {
- return Action.toAction(request);
- }
-
- public String getUrl() {
- return Url;
- }
-
- public String getTenantId() {
- return TenantId;
- }
-
- public String getVmId() {
- return VmId;
- }
-
- public String getIdentityUrl() {
- return identityUrl;
- }
-
- public void setUrl(String Url) {
- this.Url = Url;
- }
-
- public void setTenantId(String TenantId) {
- this.TenantId = TenantId;
- }
-
- public void setVmId(String VmId) {
- this.VmId = VmId;
- }
-
- public void setRequest(String request) {
- this.request = request;
- }
-
- public void setIdentityUrl(String identityUrl) {
- this.identityUrl = identityUrl;
- }
-
- @Override
- public String toString() {
- String time = getRequestTime() != null ? getRequestTime() : "N/A";
- // String req = request != null ? request : "N/A";
- return String.format("[%s - %s]", time, getId());
- }
-
- public String toOutgoing(Status status) {
- return toOutgoing(status, getMessage());
- }
-
- public String toOutgoing(Status status, String msg) {
- OutgoingMessage out = new OutgoingMessage(this);
- out.setResponse(status);
- out.setMessage(msg);
- return out.toResponse().toString();
- }
-
- /**
- * Determines if this message should be parsed parsed. Will eventually check that the message is well formed, has
- * all required fields, and had not exceeded any timing restrictions.
- *
- * @return True if the message should be parsed. False otherwise
- */
- public boolean isValid() {
- return true;
- }
-}
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/OutgoingMessage.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/OutgoingMessage.java
deleted file mode 100644
index fa8560ed2..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/OutgoingMessage.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.model;
-
-import java.net.InetAddress;
-import java.security.SecureRandom;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
-
-import org.json.JSONObject;
-import org.openecomp.appc.listener.util.Mapper;
-import org.openecomp.appc.util.Time;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
-
-/**
- * This class represents a message being sent out to DMaaP by APPC to update listeners on the status of a request
- *
- */
-@JsonSerialize(include = Inclusion.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class OutgoingMessage extends CommonMessage {
-
- private static final long serialVersionUID = -5447940920271469613L;
-
- @JsonProperty("response")
- private Status response;
-
- @JsonProperty("responseTime")
- private String responseTime;
-
- @JsonProperty("originalRequest")
- private String originalRequest;
-
- public OutgoingMessage() {
-
- }
-
- public OutgoingMessage(IncomingMessage msg) {
- setId(msg.getId());
- setOriginalRequest(msg.getRequest());
- setRequestClient(msg.getRequestClient());
- setRequestTime(msg.getRequestTime());
- setVmName(msg.getVmName());
- setFromSystem(generateFrom());
- setResponse(Status.PENDING);
- setPolicyName(msg.getPolicyName());
- setPolicyVersion(msg.getPolicyVersion());
- setStartTime(msg.getStartTime());
- }
-
- @JsonProperty("duration")
- public long getDuration() {
- return System.currentTimeMillis() - getStartTime();
- }
-
- public Status getResponse() {
- return response;
- }
-
- public String getResponseTime() {
- return responseTime;
- }
-
- public String getOriginalRequest() {
- return originalRequest;
- }
-
- @JsonIgnore
- public void setResponse(Status response) {
- this.response = response;
- }
-
- public void setResponse(String responseString) {
- this.response = Status.valueOf(responseString);
- }
-
- public void setResponseTime(String responseTime) {
- this.responseTime = responseTime;
- }
-
- public void setOriginalRequest(String originalRequest) {
- this.originalRequest = originalRequest;
- }
-
- public void updateResponseTime() {
- SecureRandom rand = new SecureRandom();
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS");
- df.setTimeZone(TimeZone.getTimeZone("UTC"));
- String date = df.format(new Date(Time.utcTime()));
- this.responseTime = String.format("%s%03d", date, rand.nextInt(1000));
- }
-
- public String generateFrom() {
- String name;
- try {
- InetAddress iAddress = InetAddress.getLocalHost();
- name = iAddress.getCanonicalHostName();
- } catch (Exception e) {
- // Could not get anything from the InetAddress
- name = "UnknownHost";
- }
- return "appc@" + name;
- }
-
- public JSONObject toResponse() {
- updateResponseTime();
- JSONObject json = Mapper.toJsonObject(this);
-
- if (!json.has("message")) {
- // If there is no message, parrot the status (response field)
- // TODO - Can this be removed for 1602 making message truely optional?
- json.put("message", this.getResponse().toString());
- }
-
- // Removed duplication of status from message for 1602
- // json.put("message", String.format("%s: %s", request, json.get("message")));
-
- return json;
- }
-
- @Override
- public String toString() {
- return String.format("%s - %s", getId(), getResponse());
- }
-}
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Status.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Status.java
deleted file mode 100644
index d8e8b5c64..000000000
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/CL/model/Status.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : APP-C
- * ================================================================================
- * 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.appc.listener.CL.model;
-
-public enum Status {
- /*
- * APP-C acknowledges that it has read the event off of the wire. This is the initial status of an OutgoingEvent
- */
- PENDING("PENDING"),
-
- /*
- * APP-C has started processing the event
- */
- ACTIVE("ACTIVE"),
-
- /*
- * APP-C has finished processing the event without errors
- */
- SUCCESS("SUCCESS"),
-
- /*
- * APP-C has finished processing the event with errors
- */
- FAILURE("FAILURE");
-
- /**
- * Converts the string to an Status
- *
- * @param value
- * The string to try and convert. Is case insensitive
- * @return The status matching the string or null if no match was found.
- */
- public static Status toStatus(String value) {
- if (value != null) {
- for (Status e : values()) {
- if (e.getValue().toUpperCase().equals(value.toUpperCase())) {
- return e;
- }
- }
- }
-
- return null;
- }
-
- private String value;
-
- private Status(String valueToUse) {
- value = valueToUse;
- }
-
- public final String getValue() {
- return value;
- }
-
-}