Checkstyle improvements 42/82442/3
authorChrisC <christophe.closset@intl.att.com>
Fri, 15 Mar 2019 09:23:50 +0000 (10:23 +0100)
committerChristophe Closset <christophe.closset@intl.att.com>
Tue, 19 Mar 2019 09:04:26 +0000 (09:04 +0000)
Aligning couple of files with dublin checkstyle rules

Issue-ID: CLAMP-328
Change-Id: Id6d97adefaeb9ddd7f8dc3253de61aeda13d27bf
Signed-off-by: ChrisC <christophe.closset@intl.att.com>
src/main/java/org/onap/clamp/clds/dao/CldsDao.java
src/main/java/org/onap/clamp/clds/model/CldsEvent.java
src/main/java/org/onap/clamp/clds/model/CldsModel.java
src/main/java/org/onap/clamp/clds/model/actions/ActionsHandler.java
src/main/java/org/onap/clamp/clds/sdc/controller/SdcSingleController.java
src/main/java/org/onap/clamp/clds/service/CldsService.java
src/main/java/org/onap/clamp/clds/tosca/JsonEditorSchemaConstants.java
src/main/java/org/onap/clamp/clds/util/drawing/AwtUtils.java
src/test/java/org/onap/clamp/clds/it/CldsDaoItCase.java

index eef6353..5da26b1 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP CLAMP
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -84,7 +84,7 @@ public class CldsDao {
     private static final String DATE_FORMAT = "MM-dd-yyyy HH:mm:ss";
 
     /**
-     * Log message when instantiating
+     * Log message when instantiating.
      */
     public CldsDao() {
         logger.info("CldsDao instantiating...");
@@ -92,6 +92,8 @@ public class CldsDao {
 
     /**
      * When dataSource is provided, instantiate spring jdbc objects.
+     *
+     * @param dataSource the data source
      */
     public void setDataSource(DataSource dataSource) {
         this.jdbcTemplateObject = new JdbcTemplate(dataSource);
@@ -114,18 +116,14 @@ public class CldsDao {
 
     /**
      * Get a model from the database given the model name.
+     *
+     * @param modelName the model name
+     * @return the model
      */
     public CldsModel getModel(String modelName) {
         return getModel(modelName, null);
     }
 
-    /**
-     * Get a model from the database given the controlNameUuid.
-     */
-    public CldsModel getModelByUuid(String controlNameUuid) {
-        return getModel(null, controlNameUuid);
-    }
-
     // Get a model from the database given the model name or a controlNameUuid.
     private CldsModel getModel(String modelName, String controlNameUuid) {
         CldsModel model = new CldsModel();
@@ -137,12 +135,22 @@ public class CldsDao {
         return model;
     }
 
+    /**
+     * Get a model from the database given the controlNameUuid.
+     *
+     * @param controlNameUuid the control name uuid
+     * @return the model by uuid
+     */
+    public CldsModel getModelByUuid(String controlNameUuid) {
+        return getModel(null, controlNameUuid);
+    }
     /**
      * Get a model and template information from the database given the model name.
      *
-     * @param modelName
-     * @return model
+     * @param modelName the model name
+     * @return model model template
      */
+
     public CldsModel getModelTemplate(String modelName) {
         CldsModel model = new CldsModel();
         model.setName(modelName);
@@ -171,9 +179,9 @@ public class CldsDao {
      * Update model in the database using parameter values and return updated model
      * object.
      *
-     * @param model
-     * @param userid
-     * @return
+     * @param model  the model
+     * @param userid the userid
+     * @return model
      */
     public CldsModel setModel(CldsModel model, String userid) {
         SqlParameterSource in = new MapSqlParameterSource().addValue("v_model_name", model.getName())
@@ -200,9 +208,8 @@ public class CldsDao {
      * Inserts new modelInstance in the database using parameter values and return
      * updated model object.
      *
-     * @param model
-     * @param modelInstancesList
-     * @return
+     * @param model              the model
+     * @param modelInstancesList the model instances list
      */
     public void insModelInstance(CldsModel model, List<CldsModelInstance> modelInstancesList) {
         // Delete all existing model instances for given controlNameUUID
@@ -234,11 +241,11 @@ public class CldsDao {
      * Insert an event in the database - require either modelName or
      * controlNamePrefix/controlNameUuid.
      *
-     * @param modelName
-     * @param controlNamePrefix
-     * @param controlNameUuid
-     * @param cldsEvent
-     * @return
+     * @param modelName         the model name
+     * @param controlNamePrefix the control name prefix
+     * @param controlNameUuid   the control name uuid
+     * @param cldsEvent         the clds event
+     * @return clds event
      */
     public CldsEvent insEvent(String modelName, String controlNamePrefix, String controlNameUuid, CldsEvent cldsEvent) {
         CldsEvent event = new CldsEvent();
@@ -261,8 +268,8 @@ public class CldsDao {
     /**
      * Update event with process instance id.
      *
-     * @param eventId
-     * @param processInstanceId
+     * @param eventId           the event id
+     * @param processInstanceId the process instance id
      */
     public void updEvent(String eventId, String processInstanceId) {
         SqlParameterSource in = new MapSqlParameterSource().addValue("v_event_id", eventId)
@@ -271,7 +278,7 @@ public class CldsDao {
     }
 
     /**
-     * Return list of model names
+     * Return list of model names.
      *
      * @return model names
      */
@@ -284,8 +291,8 @@ public class CldsDao {
      * Update template in the database using parameter values and return updated
      * template object.
      *
-     * @param template
-     * @param userid
+     * @param template the template
+     * @param userid   the userid
      */
     public void setTemplate(CldsTemplate template, String userid) {
         SqlParameterSource in = new MapSqlParameterSource().addValue("v_template_name", template.getName())
@@ -303,7 +310,7 @@ public class CldsDao {
     }
 
     /**
-     * Return list of template names
+     * Return list of template names.
      *
      * @return template names
      */
@@ -315,8 +322,8 @@ public class CldsDao {
     /**
      * Get a template from the database given the model name.
      *
-     * @param templateName
-     * @return model
+     * @param templateName the template name
+     * @return model template
      */
     public CldsTemplate getTemplate(String templateName) {
         CldsTemplate template = new CldsTemplate();
@@ -345,6 +352,9 @@ public class CldsDao {
         }
     }
 
+    /**
+     * Do health check.
+     */
     public void doHealthCheck() {
         jdbcTemplateObject.execute(HEALTHCHECK);
     }
@@ -356,7 +366,8 @@ public class CldsDao {
      */
     public List<CldsModelProp> getDeployedModelProperties() {
         List<CldsModelProp> cldsModelPropList = new ArrayList<>();
-        String modelsSql = "select m.model_id, m.model_name, mp.model_prop_id, mp.model_prop_text FROM model m, model_properties mp, event e "
+        String modelsSql = "select m.model_id, m.model_name, mp.model_prop_id, mp.model_prop_text FROM model m, "
+                + "model_properties mp, event e "
             + "WHERE m.model_prop_id = mp.model_prop_id and m.event_id = e.event_id and e.action_cd = 'DEPLOY'";
         List<Map<String, Object>> rows = jdbcTemplateObject.queryForList(modelsSql);
         CldsModelProp cldsModelProp = null;
@@ -383,10 +394,11 @@ public class CldsDao {
      *         TEMPLATE_NAME | Template used to generate the ClosedLoop model.
      *         ACTION_CD | Current state of the ClosedLoop in CLDS application.
      */
-    public List<CldsMonitoringDetails> getCLDSMonitoringDetails() {
+    public List<CldsMonitoringDetails> getCldsMonitoringDetails() {
         SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
         List<CldsMonitoringDetails> cldsMonitoringDetailsList = new ArrayList<>();
-        String modelsSql = "SELECT CONCAT(M.CONTROL_NAME_PREFIX, M.CONTROL_NAME_UUID) AS CLOSELOOP_NAME , M.MODEL_NAME, M.SERVICE_TYPE_ID, M.DEPLOYMENT_ID, T.TEMPLATE_NAME, E.ACTION_CD, E.USER_ID, E.TIMESTAMP "
+        String modelsSql = "SELECT CONCAT(M.CONTROL_NAME_PREFIX, M.CONTROL_NAME_UUID) AS CLOSELOOP_NAME , "
+            + "M.MODEL_NAME, M.SERVICE_TYPE_ID, M.DEPLOYMENT_ID, T.TEMPLATE_NAME, E.ACTION_CD, E.USER_ID, E.TIMESTAMP "
             + "FROM MODEL M, TEMPLATE T, EVENT E " + "WHERE M.TEMPLATE_ID = T.TEMPLATE_ID AND M.EVENT_ID = E.EVENT_ID "
             + "ORDER BY ACTION_CD";
         List<Map<String, Object>> rows = jdbcTemplateObject.queryForList(modelsSql);
@@ -409,7 +421,7 @@ public class CldsDao {
     /**
      * Method to delete model from database.
      *
-     * @param modelName
+     * @param modelName the model name
      */
     public void deleteModel(String modelName) {
         SqlParameterSource in = new MapSqlParameterSource().addValue("v_model_name", modelName);
@@ -440,7 +452,6 @@ public class CldsDao {
     /**
      * Method to retrieve a tosca models by Policy Type from database.
      *
-     * @param policyType
      * @return List of CldsToscaModel
      */
     public List<CldsToscaModel> getAllToscaModels() {
@@ -450,7 +461,7 @@ public class CldsDao {
     /**
      * Method to retrieve a tosca models by Policy Type from database.
      *
-     * @param policyType
+     * @param policyType the policy type
      * @return List of CldsToscaModel
      */
     public List<CldsToscaModel> getToscaModelByPolicyType(String policyType) {
@@ -460,7 +471,7 @@ public class CldsDao {
     /**
      * Method to retrieve a tosca models by toscaModelName, version from database.
      *
-     * @param policyType
+     * @param toscaModelName the tosca model name
      * @return List of CldsToscaModel
      */
     public List<CldsToscaModel> getToscaModelByName(String toscaModelName) {
@@ -473,12 +484,15 @@ public class CldsDao {
         SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
         List<CldsToscaModel> cldsToscaModels = new ArrayList<>();
 
-        String toscaModelSql = "SELECT tm.tosca_model_name, tm.tosca_model_id, tm.policy_type, tmr.tosca_model_revision_id, tmr.tosca_model_json, tmr.version, tmr.user_id, tmr.createdTimestamp, tmr.lastUpdatedTimestamp "
+        String toscaModelSql = "SELECT tm.tosca_model_name, tm.tosca_model_id, tm.policy_type, "
+            + "tmr.tosca_model_revision_id, tmr.tosca_model_json, tmr.version, tmr.user_id, tmr.createdTimestamp, "
+            + "tmr.lastUpdatedTimestamp "
             + ((toscaModelName != null) ? (", tmr.tosca_model_yaml ") : " ")
             + "FROM tosca_model tm, tosca_model_revision tmr WHERE tm.tosca_model_id = tmr.tosca_model_id "
             + ((toscaModelName != null) ? (" AND tm.tosca_model_name = '" + toscaModelName + "'") : " ")
             + ((policyType != null) ? (" AND tm.policy_type = '" + policyType + "'") : " ")
-            + "AND tmr.version = (select max(version) from tosca_model_revision st where tmr.tosca_model_id=st.tosca_model_id)";
+            + "AND tmr.version = (select max(version) from tosca_model_revision st "
+            + "where tmr.tosca_model_id=st.tosca_model_id)";
 
         List<Map<String, Object>> rows = jdbcTemplateObject.queryForList(toscaModelSql);
 
@@ -504,12 +518,11 @@ public class CldsDao {
     }
 
     /**
-     * Method to upload a new version of Tosca Model Yaml in Database
-     *
-     * @param cldsToscaModel
-     * @param userId
-     * @return CldsToscaModel
+     * Method to upload a new version of Tosca Model Yaml in Database.
      *
+     * @param cldsToscaModel the clds tosca model
+     * @param userId         the user id
+     * @return CldsToscaModel clds tosca model
      */
     public CldsToscaModel updateToscaModelWithNewVersion(CldsToscaModel cldsToscaModel, String userId) {
         SqlParameterSource in = new MapSqlParameterSource().addValue("v_tosca_model_id", cldsToscaModel.getId())
@@ -524,9 +537,9 @@ public class CldsDao {
     /**
      * Method to upload a new Tosca model Yaml in DB. Default version is 1.0
      *
-     * @param cldsToscaModel
-     * @param userId
-     * @return CldsToscaModel
+     * @param cldsToscaModel the clds tosca model
+     * @param userId         the user id
+     * @return CldsToscaModel clds tosca model
      */
     public CldsToscaModel insToscaModel(CldsToscaModel cldsToscaModel, String userId) {
         SqlParameterSource in = new MapSqlParameterSource()
@@ -543,9 +556,9 @@ public class CldsDao {
     }
 
     /**
-     * Method to insert a new Dictionary in Database
+     * Method to insert a new Dictionary in Database.
      *
-     * @param cldsDictionary
+     * @param cldsDictionary the clds dictionary
      */
     public void insDictionary(CldsDictionary cldsDictionary) {
         SqlParameterSource in = new MapSqlParameterSource()
@@ -556,11 +569,11 @@ public class CldsDao {
     }
 
     /**
-     * Method to update Dictionary with new info in Database
+     * Method to update Dictionary with new info in Database.
      *
-     * @param dictionaryId
-     * @param cldsDictionary
-     * @param userId
+     * @param dictionaryId   the dictionary id
+     * @param cldsDictionary the clds dictionary
+     * @param userId         the user id
      */
     public void updateDictionary(String dictionaryId, CldsDictionary cldsDictionary, String userId) {
 
@@ -571,16 +584,17 @@ public class CldsDao {
     }
 
     /**
-     * Method to get list of Dictionaries from the Database
+     * Method to get list of Dictionaries from the Database.
      *
-     * @param dictionaryId
-     * @param dictionaryName
-     * @return
+     * @param dictionaryId   the dictionary id
+     * @param dictionaryName the dictionary name
+     * @return dictionary
      */
     public List<CldsDictionary> getDictionary(String dictionaryId, String dictionaryName) {
         SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
         List<CldsDictionary> dictionaries = new ArrayList<>();
-        String dictionarySql = "SELECT dictionary_id, dictionary_name, created_by, modified_by, timestamp FROM dictionary"
+        String dictionarySql = "SELECT dictionary_id, dictionary_name, created_by, modified_by, "
+            + "timestamp FROM dictionary"
             + ((dictionaryId != null || dictionaryName != null)
                 ? (" WHERE " + ((dictionaryName != null) ? ("dictionary_name = '" + dictionaryName + "'") : "")
                     + ((dictionaryId != null && dictionaryName != null) ? (" AND ") : "")
@@ -604,10 +618,10 @@ public class CldsDao {
     }
 
     /**
-     * Method to insert a new Dictionary Element for given dictionary in Database
+     * Method to insert a new Dictionary Element for given dictionary in Database.
      *
-     * @param cldsDictionaryItem
-     * @param userId
+     * @param cldsDictionaryItem the clds dictionary item
+     * @param userId             the user id
      */
     public void insDictionarElements(CldsDictionaryItem cldsDictionaryItem, String userId) {
         SqlParameterSource in = new MapSqlParameterSource()
@@ -622,11 +636,11 @@ public class CldsDao {
 
     /**
      * Method to update Dictionary Elements with new info for a given dictionary in
-     * Database
+     * Database.
      *
-     * @param dictionaryElementId
-     * @param cldsDictionaryItem
-     * @param userId
+     * @param dictionaryElementId the dictionary element id
+     * @param cldsDictionaryItem  the clds dictionary item
+     * @param userId              the user id
      */
     public void updateDictionaryElements(String dictionaryElementId, CldsDictionaryItem cldsDictionaryItem,
         String userId) {
@@ -643,18 +657,20 @@ public class CldsDao {
 
     /**
      * Method to get list of all dictionary elements for a given dictionary in the
-     * Database
+     * Database.
      *
-     * @param dictionaryName
-     * @param dictionaryId
-     * @param dictElementShortName
-     * @return
+     * @param dictionaryName       the dictionary name
+     * @param dictionaryId         the dictionary id
+     * @param dictElementShortName the dict element short name
+     * @return dictionary elements
      */
     public List<CldsDictionaryItem> getDictionaryElements(String dictionaryName, String dictionaryId,
         String dictElementShortName) {
         SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
         List<CldsDictionaryItem> dictionaryItems = new ArrayList<>();
-        String dictionarySql = "SELECT de.dict_element_id, de.dictionary_id, de.dict_element_name, de.dict_element_short_name, de.dict_element_description, de.dict_element_type, de.created_by, de.modified_by, de.timestamp  "
+        String dictionarySql = "SELECT de.dict_element_id, de.dictionary_id, de.dict_element_name, "
+            + "de.dict_element_short_name, de.dict_element_description, de.dict_element_type, de.created_by, "
+            + "de.modified_by, de.timestamp  "
             + "FROM dictionary_elements de, dictionary d WHERE de.dictionary_id = d.dictionary_id "
             + ((dictionaryId != null) ? (" AND d.dictionary_id = '" + dictionaryId + "'") : "")
             + ((dictElementShortName != null) ? (" AND de.dict_element_short_name = '" + dictElementShortName + "'")
@@ -683,9 +699,9 @@ public class CldsDao {
 
     /**
      * Method to get Map of all dictionary elements with key as dictionary short
-     * name and value as the full name
+     * name and value as the full name.
      *
-     * @param dictionaryElementType
+     * @param dictionaryElementType the dictionary element type
      * @return Map of dictionary elements as key value pair
      */
     public Map<String, String> getDictionaryElementsByType(String dictionaryElementType) {
index b993c63..cc57f9e 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP CLAMP
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -29,31 +29,91 @@ import org.onap.clamp.clds.dao.CldsDao;
  * Represent a CLDS Event.
  */
 public class CldsEvent {
+    /**
+     * The constant ACTION_TEST.
+     */
     public static final String ACTION_TEST = "TEST";
+    /**
+     * The constant ACTION_CREATE.
+     */
     public static final String ACTION_CREATE = "CREATE";
+    /**
+     * The constant ACTION_MODIFY.
+     */
     public static final String ACTION_MODIFY = "MODIFY";
+    /**
+     * The constant ACTION_SUBMIT.
+     */
     public static final String ACTION_SUBMIT = "SUBMIT";
+    /**
+     * The constant ACTION_RESUBMIT.
+     */
     // an update before model is active
     public static final String ACTION_RESUBMIT = "RESUBMIT";
+    /**
+     * The constant ACTION_SUBMITDCAE.
+     */
     // For simplified models
     public static final String ACTION_SUBMITDCAE = "SUBMITDCAE";
+    /**
+     * The constant ACTION_SUBMITPOLICY.
+     */
     public static final String ACTION_SUBMITPOLICY = "SUBMITPOLICY";
+    /**
+     * The constant ACTION_DISTRIBUTE.
+     */
     // only from dcae
     public static final String ACTION_DISTRIBUTE = "DISTRIBUTE";
+    /**
+     * The constant ACTION_DEPLOY.
+     */
     // only from dcae
     public static final String ACTION_DEPLOY = "DEPLOY";
+    /**
+     * The constant ACTION_UNDEPLOY.
+     */
     // only from dcae
     public static final String ACTION_UNDEPLOY = "UNDEPLOY";
+    /**
+     * The constant ACTION_UPDATE.
+     */
     public static final String ACTION_UPDATE = "UPDATE";
+    /**
+     * The constant ACTION_DELETE.
+     */
     public static final String ACTION_DELETE = "DELETE";
+    /**
+     * The constant ACTION_STOP.
+     */
     public static final String ACTION_STOP = "STOP";
+    /**
+     * The constant ACTION_RESTART.
+     */
     public static final String ACTION_RESTART = "RESTART";
 
+    /**
+     * The constant ACTION_STATE_INITIATED.
+     */
     public static final String ACTION_STATE_INITIATED = "INITIATED";
+    /**
+     * The constant ACTION_STATE_SENT.
+     */
     public static final String ACTION_STATE_SENT = "SENT";
+    /**
+     * The constant ACTION_STATE_COMPLETED.
+     */
     public static final String ACTION_STATE_COMPLETED = "COMPLETED";
+    /**
+     * The constant ACTION_STATE_RECEIVED.
+     */
     public static final String ACTION_STATE_RECEIVED = "RECEIVED";
+    /**
+     * The constant ACTION_STATE_ERROR.
+     */
     public static final String ACTION_STATE_ERROR = "ERROR";
+    /**
+     * The constant ACTION_STATE_ANY.
+     */
     public static final String ACTION_STATE_ANY = null;
 
     private String id;
@@ -62,22 +122,34 @@ public class CldsEvent {
     private String processInstanceId;
     private String userid;
 
+    /**
+     * Gets id.
+     *
+     * @return the id
+     */
     public String getId() {
         return id;
     }
 
+    /**
+     * Sets id.
+     *
+     * @param id the id
+     */
     public void setId(String id) {
         this.id = id;
     }
 
     /**
-     * @param cldsDao
-     * @param controlName
-     * @param userid
-     * @param actionCd
-     * @param actionStateCd
-     * @param processInstanceId
-     * @return
+     * Ins event clds event.
+     *
+     * @param cldsDao           the clds dao
+     * @param controlName       the control name
+     * @param userid            the userid
+     * @param actionCd          the action cd
+     * @param actionStateCd     the action state cd
+     * @param processInstanceId the process instance id
+     * @return clds event
      */
     public static CldsEvent insEvent(CldsDao cldsDao, String controlName, String userid, String actionCd,
         String actionStateCd, String processInstanceId) {
@@ -89,13 +161,13 @@ public class CldsEvent {
      * Insert event using controlNameUuid to find the model. This method meant for
      * processing events from dcae.
      *
-     * @param cldsDao
-     * @param model
-     * @param userId
-     * @param actionCd
-     * @param actionStateCd
-     * @param processInstanceId
-     * @return
+     * @param cldsDao           the clds dao
+     * @param model             the model
+     * @param userId            the user id
+     * @param actionCd          the action cd
+     * @param actionStateCd     the action state cd
+     * @param processInstanceId the process instance id
+     * @return clds event
      */
     public static CldsEvent insEvent(CldsDao cldsDao, CldsModel model, String userId, String actionCd,
         String actionStateCd, String processInstanceId) {
@@ -112,8 +184,8 @@ public class CldsEvent {
      * Check if actionCd is equal to the supplied checkActionCd checkActionCd should
      * not be null.
      *
-     * @param checkActionCd
-     * @return
+     * @param checkActionCd the check action cd
+     * @return boolean
      */
     public boolean isActionCd(String checkActionCd) {
         if (actionCd == null) {
@@ -127,9 +199,9 @@ public class CldsEvent {
      * and checkActionStateCd. Treat checkActionStateCd == null as a wildcard
      * checkActionCd should not be null.
      *
-     * @param checkActionCd
-     * @param checkActionStateCd
-     * @return
+     * @param checkActionCd      the check action cd
+     * @param checkActionStateCd the check action state cd
+     * @return boolean
      */
     public boolean isActionAndStateCd(String checkActionCd, String checkActionStateCd) {
         if (actionCd == null) {
@@ -147,14 +219,16 @@ public class CldsEvent {
      * Check if actionStateCd is equal to the supplied checkActionStateCd.
      * checkActionCd should not be null.
      *
-     * @param checkActionStateCd
-     * @return
+     * @param checkActionStateCd the check action state cd
+     * @return boolean
      */
     public boolean isActionStateCd(String checkActionStateCd) {
         return !(checkActionStateCd == null || actionStateCd == null) && actionStateCd.equals(checkActionStateCd);
     }
 
     /**
+     * Gets action cd.
+     *
      * @return the actionCd
      */
     public String getActionCd() {
@@ -162,14 +236,17 @@ public class CldsEvent {
     }
 
     /**
-     * @param actionCd
-     *        the actionCd to set
+     * Sets action cd.
+     *
+     * @param actionCd the actionCd to set
      */
     public void setActionCd(String actionCd) {
         this.actionCd = actionCd;
     }
 
     /**
+     * Gets action state cd.
+     *
      * @return the actionStateCd
      */
     public String getActionStateCd() {
@@ -177,14 +254,17 @@ public class CldsEvent {
     }
 
     /**
-     * @param actionStateCd
-     *        the actionStateCd to set
+     * Sets action state cd.
+     *
+     * @param actionStateCd the actionStateCd to set
      */
     public void setActionStateCd(String actionStateCd) {
         this.actionStateCd = actionStateCd;
     }
 
     /**
+     * Gets process instance id.
+     *
      * @return the processInstanceId
      */
     public String getProcessInstanceId() {
@@ -192,14 +272,17 @@ public class CldsEvent {
     }
 
     /**
-     * @param processInstanceId
-     *        the processInstanceId to set
+     * Sets process instance id.
+     *
+     * @param processInstanceId the processInstanceId to set
      */
     public void setProcessInstanceId(String processInstanceId) {
         this.processInstanceId = processInstanceId;
     }
 
     /**
+     * Gets userid.
+     *
      * @return the userid
      */
     public String getUserid() {
@@ -207,8 +290,9 @@ public class CldsEvent {
     }
 
     /**
-     * @param userid
-     *        the userid to set
+     * Sets userid.
+     *
+     * @param userid the userid to set
      */
     public void setUserid(String userid) {
         this.userid = userid;
index 2c178eb..223d389 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP CLAMP
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -45,12 +45,33 @@ public class CldsModel {
 
     private static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsModel.class);
     private static final int UUID_LENGTH = 36;
+    /**
+     * The constant STATUS_DESIGN.
+     */
     public static final String STATUS_DESIGN = "DESIGN";
+    /**
+     * The constant STATUS_DISTRIBUTED.
+     */
     public static final String STATUS_DISTRIBUTED = "DISTRIBUTED";
+    /**
+     * The constant STATUS_ACTIVE.
+     */
     public static final String STATUS_ACTIVE = "ACTIVE";
+    /**
+     * The constant STATUS_STOPPED.
+     */
     public static final String STATUS_STOPPED = "STOPPED";
+    /**
+     * The constant STATUS_DELETING.
+     */
     public static final String STATUS_DELETING = "DELETING";
+    /**
+     * The constant STATUS_ERROR.
+     */
     public static final String STATUS_ERROR = "ERROR";
+    /**
+     * The constant STATUS_UNKNOWN.
+     */
     public static final String STATUS_UNKNOWN = "UNKNOWN";
     private String id;
     private String templateId;
@@ -70,7 +91,7 @@ public class CldsModel {
     // This is a transient value used to return the failure message to UI
     private String errorMessageForUi;
     /**
-     * The service type Id received from DCAE by querying it
+     * The service type Id received from DCAE by querying it.
      */
     private String typeId;
     private String typeName;
@@ -81,10 +102,20 @@ public class CldsModel {
     private static StatusHandler statusHandler = new StatusHandlerImpl();
     private static ActionsHandler actionsHandler = new ActionsHandlerImpl();
 
+    /**
+     * Sets status handler.
+     *
+     * @param statHandler the stat handler
+     */
     public static synchronized void setStatusHandler(StatusHandler statHandler) {
         statusHandler = statHandler;
     }
 
+    /**
+     * Sets actions handler.
+     *
+     * @param cdHandler the cd handler
+     */
     public static synchronized void setActionsHandler(ActionsHandler cdHandler) {
         actionsHandler = cdHandler;
     }
@@ -98,6 +129,11 @@ public class CldsModel {
 
     /**
      * Retrieve from DB.
+     *
+     * @param cldsDao      the clds dao
+     * @param name         the name
+     * @param okIfNotFound the ok if not found
+     * @return the clds model
      */
     public static CldsModel retrieve(CldsDao cldsDao, String name, boolean okIfNotFound) {
         // get from db
@@ -110,6 +146,11 @@ public class CldsModel {
         return model;
     }
 
+    /**
+     * Can dcae inventory call boolean.
+     *
+     * @return the boolean
+     */
     public boolean canDcaeInventoryCall() {
         boolean canCall = false;
         /* Below checks the clds event is submit/resubmit/distribute */
@@ -122,6 +163,10 @@ public class CldsModel {
 
     /**
      * Save model to DB.
+     *
+     * @param cldsDao the clds dao
+     * @param userid  the userid
+     * @return the clds model
      */
     public CldsModel save(CldsDao cldsDao, String userid) {
         CldsModel cldsModel = cldsDao.setModel(this, userid);
@@ -131,7 +176,7 @@ public class CldsModel {
     }
 
     /**
-     * set the status in the model
+     * set the status in the model.
      */
     public void determineStatus() {
         status = statusHandler.determineStatusOnLastEvent(event);
@@ -151,6 +196,8 @@ public class CldsModel {
      * Validate requestedActionCd - determine permittedActionCd and then check if
      * contained in permittedActionCd Throw IllegalArgumentException if requested
      * actionCd is not permitted.
+     *
+     * @param requestedActionCd the requested action cd
      */
     public void validateAction(String requestedActionCd) {
         determinePermittedActionCd();
@@ -166,6 +213,9 @@ public class CldsModel {
      * controlNameUuid). No fields are populated other than controlNamePrefix and
      * controlNameUuid. Throws BadRequestException if length of given control name
      * is less than UUID_LENGTH.
+     *
+     * @param fullControlName the full control name
+     * @return the clds model
      */
     public static CldsModel createUsingControlName(String fullControlName) {
         if (fullControlName == null || fullControlName.length() < UUID_LENGTH) {
@@ -180,6 +230,8 @@ public class CldsModel {
     }
 
     /**
+     * Gets control name.
+     *
      * @return the controlName (controlNamePrefix + controlNameUuid)
      */
     public String getControlName() {
@@ -187,7 +239,12 @@ public class CldsModel {
     }
 
     /**
-     * To insert modelInstance to the database
+     * To insert modelInstance to the database.
+     *
+     * @param cldsDao   the clds dao
+     * @param dcaeEvent the dcae event
+     * @param userid    the userid
+     * @return the clds model
      */
     public static CldsModel insertModelInstance(CldsDao cldsDao, DcaeEvent dcaeEvent, String userid) {
         String controlName = dcaeEvent.getControlName();
@@ -205,6 +262,8 @@ public class CldsModel {
     }
 
     /**
+     * Gets name.
+     *
      * @return the name
      */
     public String getName() {
@@ -212,33 +271,53 @@ public class CldsModel {
     }
 
     /**
-     * @param name
-     *        the name to set
+     * Sets name.
+     *
+     * @param name the name to set
      */
     public void setName(String name) {
         this.name = name;
     }
 
     /**
+     * Gets type name.
+     *
      * @return the typeName
      */
     public String getTypeName() {
         return typeName;
     }
 
+    /**
+     * Sets type name.
+     *
+     * @param typeName the type name
+     */
     public void setTypeName(String typeName) {
         this.typeName = typeName;
     }
 
+    /**
+     * Gets template id.
+     *
+     * @return the template id
+     */
     public String getTemplateId() {
         return templateId;
     }
 
+    /**
+     * Sets template id.
+     *
+     * @param templateId the template id
+     */
     public void setTemplateId(String templateId) {
         this.templateId = templateId;
     }
 
     /**
+     * Gets control name prefix.
+     *
      * @return the controlNamePrefix
      */
     public String getControlNamePrefix() {
@@ -246,14 +325,17 @@ public class CldsModel {
     }
 
     /**
-     * @param controlNamePrefix
-     *        the controlNamePrefix to set
+     * Sets control name prefix.
+     *
+     * @param controlNamePrefix the controlNamePrefix to set
      */
     public void setControlNamePrefix(String controlNamePrefix) {
         this.controlNamePrefix = controlNamePrefix;
     }
 
     /**
+     * Gets control name uuid.
+     *
      * @return the controlNameUuid
      */
     public String getControlNameUuid() {
@@ -261,14 +343,17 @@ public class CldsModel {
     }
 
     /**
-     * @param controlNameUuid
-     *        the controlNameUuid to set
+     * Sets control name uuid.
+     *
+     * @param controlNameUuid the controlNameUuid to set
      */
     public void setControlNameUuid(String controlNameUuid) {
         this.controlNameUuid = controlNameUuid;
     }
 
     /**
+     * Gets prop text.
+     *
      * @return the propText
      */
     public String getPropText() {
@@ -276,45 +361,71 @@ public class CldsModel {
     }
 
     /**
-     * @param propText
-     *        the propText to set
+     * Sets prop text.
+     *
+     * @param propText the propText to set
      */
     public void setPropText(String propText) {
         this.propText = propText;
     }
 
     /**
+     * Gets event.
+     *
      * @return the event
      */
     public CldsEvent getEvent() {
         return event;
     }
 
+    /**
+     * Gets id.
+     *
+     * @return the id
+     */
     public String getId() {
         return id;
     }
 
+    /**
+     * Sets id.
+     *
+     * @param id the id
+     */
     public void setId(String id) {
         this.id = id;
     }
 
+    /**
+     * Gets template name.
+     *
+     * @return the template name
+     */
     public String getTemplateName() {
         return templateName;
     }
 
+    /**
+     * Sets template name.
+     *
+     * @param templateName the template name
+     */
     public void setTemplateName(String templateName) {
         this.templateName = templateName;
     }
 
     /**
-     * @param event
-     *        the event to set
+     * Sets event.
+     *
+     * @param event the event to set
      */
     public void setEvent(CldsEvent event) {
         this.event = event;
     }
 
     /**
+     * Gets status.
+     *
      * @return the status
      */
     public String getStatus() {
@@ -322,53 +433,109 @@ public class CldsModel {
     }
 
     /**
-     * @param status
-     *        the status to set
+     * Sets status.
+     *
+     * @param status the status to set
      */
     public void setStatus(String status) {
         this.status = status;
     }
 
+    /**
+     * Gets blueprint text.
+     *
+     * @return the blueprint text
+     */
     public String getBlueprintText() {
         return blueprintText;
     }
 
+    /**
+     * Sets blueprint text.
+     *
+     * @param blueprintText the blueprint text
+     */
     public void setBlueprintText(String blueprintText) {
         this.blueprintText = blueprintText;
     }
 
+    /**
+     * Gets bpmn text.
+     *
+     * @return the bpmn text
+     */
     public String getBpmnText() {
         return bpmnText;
     }
 
+    /**
+     * Sets bpmn text.
+     *
+     * @param bpmnText the bpmn text
+     */
     public void setBpmnText(String bpmnText) {
         this.bpmnText = bpmnText;
     }
 
+    /**
+     * Gets image text.
+     *
+     * @return the image text
+     */
     public String getImageText() {
         return imageText;
     }
 
+    /**
+     * Sets image text.
+     *
+     * @param imageText the image text
+     */
     public void setImageText(String imageText) {
         this.imageText = imageText;
     }
 
+    /**
+     * Gets doc text.
+     *
+     * @return the doc text
+     */
     public String getDocText() {
         return docText;
     }
 
+    /**
+     * Sets doc text.
+     *
+     * @param docText the doc text
+     */
     public void setDocText(String docText) {
         this.docText = docText;
     }
 
+    /**
+     * Gets type id.
+     *
+     * @return the type id
+     */
     public String getTypeId() {
         return typeId;
     }
 
+    /**
+     * Sets type id.
+     *
+     * @param typeId the type id
+     */
     public void setTypeId(String typeId) {
         this.typeId = typeId;
     }
 
+    /**
+     * Gets clds model instance list.
+     *
+     * @return the clds model instance list
+     */
     public List<CldsModelInstance> getCldsModelInstanceList() {
         if (cldsModelInstanceList == null) {
             cldsModelInstanceList = new ArrayList<>();
@@ -376,30 +543,65 @@ public class CldsModel {
         return cldsModelInstanceList;
     }
 
+    /**
+     * Gets deployment id.
+     *
+     * @return the deployment id
+     */
     public String getDeploymentId() {
         return deploymentId;
     }
 
+    /**
+     * Sets deployment id.
+     *
+     * @param deploymentId the deployment id
+     */
     public void setDeploymentId(String deploymentId) {
         this.deploymentId = deploymentId;
     }
 
+    /**
+     * Gets permitted action cd.
+     *
+     * @return the permitted action cd
+     */
     public List<String> getPermittedActionCd() {
         return permittedActionCd;
     }
 
+    /**
+     * Gets error message for ui.
+     *
+     * @return the error message for ui
+     */
     public String getErrorMessageForUi() {
         return errorMessageForUi;
     }
 
+    /**
+     * Sets error message for ui.
+     *
+     * @param errorMessageForUi the error message for ui
+     */
     public void setErrorMessageForUi(String errorMessageForUi) {
         this.errorMessageForUi = errorMessageForUi;
     }
 
+    /**
+     * Gets deployment status url.
+     *
+     * @return the deployment status url
+     */
     public String getDeploymentStatusUrl() {
         return deploymentStatusUrl;
     }
 
+    /**
+     * Sets deployment status url.
+     *
+     * @param deploymentStatusUrl the deployment status url
+     */
     public void setDeploymentStatusUrl(String deploymentStatusUrl) {
         this.deploymentStatusUrl = deploymentStatusUrl;
     }
index bafe48d..9aed447 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP CLAMP
  * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights
+ * Copyright (C) 2018-2019 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -68,68 +68,69 @@ public interface ActionsHandler {
         List<String> permittedActions;
         String actionCd = getCurrentActionCd(event);
         switch (actionCd) {
-        case CldsEvent.ACTION_CREATE:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_SUBMIT, CldsEvent.ACTION_TEST, CldsEvent.ACTION_DELETE);
-            if (isTypeModel(propText, ModelType.SIMPLE_MODEL)) {
-                permittedActions = Arrays.asList(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_SUBMITPOLICY,
-                    CldsEvent.ACTION_TEST, CldsEvent.ACTION_DELETE);
-            }
-            break;
-        case CldsEvent.ACTION_SUBMIT:
-        case CldsEvent.ACTION_RESUBMIT:
-        case CldsEvent.ACTION_DISTRIBUTE:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_RESUBMIT,
-                CldsEvent.ACTION_DELETE);
-            if (isTypeModel(propText, ModelType.SIMPLE_MODEL)) {
-                permittedActions = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_SUBMITDCAE,
-                    CldsEvent.ACTION_DELETE);
-            }
-            break;
-        case CldsEvent.ACTION_SUBMITDCAE:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_DELETE);
-            break;
-        case CldsEvent.ACTION_SUBMITPOLICY:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP);
-            break;
-        case CldsEvent.ACTION_UNDEPLOY:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_DEPLOY,
-                CldsEvent.ACTION_RESUBMIT, CldsEvent.ACTION_DELETE);
-            if (isTypeModel(propText, ModelType.SIMPLE_MODEL)) {
-                permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_DEPLOY,
-                    CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_DELETE);
-            }
-            break;
-        case CldsEvent.ACTION_DEPLOY:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_UNDEPLOY, CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP);
-            break;
-        case CldsEvent.ACTION_RESTART:
-        case CldsEvent.ACTION_UPDATE:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP,
-                CldsEvent.ACTION_UNDEPLOY);
-            if (isTypeModel(propText, ModelType.POLICY_MODEL)) {
+            case CldsEvent.ACTION_CREATE:
+                permittedActions = Arrays.asList(CldsEvent.ACTION_SUBMIT, CldsEvent.ACTION_TEST,
+                        CldsEvent.ACTION_DELETE);
+                if (isTypeModel(propText, ModelType.SIMPLE_MODEL)) {
+                    permittedActions = Arrays.asList(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_SUBMITPOLICY,
+                            CldsEvent.ACTION_TEST, CldsEvent.ACTION_DELETE);
+                }
+                break;
+            case CldsEvent.ACTION_SUBMIT:
+            case CldsEvent.ACTION_RESUBMIT:
+            case CldsEvent.ACTION_DISTRIBUTE:
+                permittedActions = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_RESUBMIT,
+                        CldsEvent.ACTION_DELETE);
+                if (isTypeModel(propText, ModelType.SIMPLE_MODEL)) {
+                    permittedActions = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_SUBMITDCAE,
+                            CldsEvent.ACTION_DELETE);
+                }
+                break;
+            case CldsEvent.ACTION_SUBMITDCAE:
+                permittedActions = Arrays.asList(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_DELETE);
+                break;
+            case CldsEvent.ACTION_SUBMITPOLICY:
                 permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP);
-            }
-            break;
-        case CldsEvent.ACTION_STOP:
-            permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_RESTART,
-                CldsEvent.ACTION_UNDEPLOY);
-            if (isTypeModel(propText, ModelType.POLICY_MODEL)) {
+                break;
+            case CldsEvent.ACTION_UNDEPLOY:
+                permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_DEPLOY,
+                        CldsEvent.ACTION_RESUBMIT, CldsEvent.ACTION_DELETE);
+                if (isTypeModel(propText, ModelType.SIMPLE_MODEL)) {
+                    permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_DEPLOY,
+                            CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_DELETE);
+                }
+                break;
+            case CldsEvent.ACTION_DEPLOY:
+                permittedActions = Arrays.asList(CldsEvent.ACTION_UNDEPLOY, CldsEvent.ACTION_UPDATE,
+                        CldsEvent.ACTION_STOP);
+                break;
+            case CldsEvent.ACTION_RESTART:
+            case CldsEvent.ACTION_UPDATE:
+                permittedActions = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_UPDATE,
+                        CldsEvent.ACTION_STOP, CldsEvent.ACTION_UNDEPLOY);
+                if (isTypeModel(propText, ModelType.POLICY_MODEL)) {
+                    permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP);
+                }
+                break;
+            case CldsEvent.ACTION_STOP:
                 permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_RESTART,
-                    CldsEvent.ACTION_DELETE);
-            }
-            break;
-        default:
-            getLogger().warn("Invalid current actionCd: " + actionCd);
-            permittedActions = Arrays.asList();
+                        CldsEvent.ACTION_UNDEPLOY);
+                if (isTypeModel(propText, ModelType.POLICY_MODEL)) {
+                    permittedActions = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_RESTART,
+                            CldsEvent.ACTION_DELETE);
+                }
+                break;
+            default:
+                getLogger().warn("Invalid current actionCd: " + actionCd);
+                permittedActions = Arrays.asList();
         }
         return permittedActions;
     }
 
     /**
-     * This method returns the action of the event or a default one if not found.
+     * This returns the action of the event or a default one if not found.
      *
-     * @param event
-     *        The last event
+     * @param event The last event
      * @return The action
      */
     default String getCurrentActionCd(CldsEvent event) {
@@ -157,8 +158,8 @@ public interface ActionsHandler {
                 JsonObject modelJson = JsonUtils.GSON.fromJson(propText, JsonObject.class);
                 JsonElement modelJsonOfType = modelJson.get(key.getType());
                 if (modelJsonOfType != null
-                    && modelJsonOfType.isJsonPrimitive()
-                    && modelJsonOfType.getAsJsonPrimitive().getAsBoolean()) {
+                        && modelJsonOfType.isJsonPrimitive()
+                        && modelJsonOfType.getAsJsonPrimitive().getAsBoolean()) {
                     result = true;
                 }
             }
index c9405d2..729ef49 100644 (file)
-/*-\r
- * ============LICENSE_START=======================================================\r
- * ONAP CLAMP\r
- * ================================================================================\r
- * Copyright (C) 2018 AT&T Intellectual Property. All rights\r
- *                             reserved.\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END============================================\r
- * Modifications copyright (c) 2018 Nokia\r
- * ===================================================================\r
- *\r
- */\r
-\r
-package org.onap.clamp.clds.sdc.controller;\r
-\r
-import com.att.eelf.configuration.EELFLogger;\r
-import com.att.eelf.configuration.EELFManager;\r
-\r
-import java.util.Date;\r
-import java.util.Map.Entry;\r
-import java.util.concurrent.ThreadLocalRandom;\r
-\r
-import org.onap.clamp.clds.config.ClampProperties;\r
-import org.onap.clamp.clds.config.sdc.SdcSingleControllerConfiguration;\r
-import org.onap.clamp.clds.exception.policy.PolicyModelException;\r
-import org.onap.clamp.clds.exception.sdc.controller.CsarHandlerException;\r
-import org.onap.clamp.clds.exception.sdc.controller.SdcArtifactInstallerException;\r
-import org.onap.clamp.clds.exception.sdc.controller.SdcControllerException;\r
-import org.onap.clamp.clds.exception.sdc.controller.SdcDownloadException;\r
-import org.onap.clamp.clds.exception.sdc.controller.SdcParametersException;\r
-import org.onap.clamp.clds.sdc.controller.installer.BlueprintArtifact;\r
-import org.onap.clamp.clds.sdc.controller.installer.CsarHandler;\r
-import org.onap.clamp.clds.sdc.controller.installer.CsarInstaller;\r
-import org.onap.clamp.clds.util.LoggingUtils;\r
-import org.onap.sdc.api.IDistributionClient;\r
-import org.onap.sdc.api.consumer.IDistributionStatusMessage;\r
-import org.onap.sdc.api.consumer.INotificationCallback;\r
-import org.onap.sdc.api.notification.IArtifactInfo;\r
-import org.onap.sdc.api.notification.INotificationData;\r
-import org.onap.sdc.api.results.IDistributionClientDownloadResult;\r
-import org.onap.sdc.api.results.IDistributionClientResult;\r
-import org.onap.sdc.impl.DistributionClientFactory;\r
-import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;\r
-import org.onap.sdc.utils.DistributionActionResultEnum;\r
-import org.onap.sdc.utils.DistributionStatusEnum;\r
-\r
-/**\r
- * This class handles one sdc controller defined in the config.\r
- */\r
-public class SdcSingleController {\r
-\r
-    private static final EELFLogger logger = EELFManager.getInstance().getLogger(SdcSingleController.class);\r
-    private boolean isSdcClientAutoManaged = false;\r
-    private CsarInstaller csarInstaller;\r
-    private ClampProperties refProp;\r
-    public static final String CONFIG_SDC_FOLDER = "sdc.csarFolder";\r
-    private int nbOfNotificationsOngoing = 0;\r
-    private SdcSingleControllerStatus controllerStatus = SdcSingleControllerStatus.STOPPED;\r
-    private SdcSingleControllerConfiguration sdcConfig;\r
-    private IDistributionClient distributionClient;\r
-\r
-    /**\r
-     * Inner class for Notification callback\r
-     */\r
-    private final class SdcNotificationCallBack implements INotificationCallback {\r
-\r
-        private SdcSingleController sdcController;\r
-\r
-        SdcNotificationCallBack(SdcSingleController controller) {\r
-            sdcController = controller;\r
-        }\r
-\r
-        /**\r
-         * This method can be called multiple times at the same moment. The controller\r
-         * must be thread safe !\r
-         */\r
-        @Override\r
-        public void activateCallback(INotificationData iNotif) {\r
-            Date startTime = new Date();\r
-            logger.info("Receive a callback notification in SDC, nb of resources: " + iNotif.getResources().size());\r
-            sdcController.treatNotification(iNotif);\r
-            LoggingUtils.setTimeContext(startTime, new Date());\r
-            LoggingUtils.setResponseContext("0", "SDC Notification received and processed successfully",\r
-                this.getClass().getName());\r
-        }\r
-    }\r
-\r
-    public int getNbOfNotificationsOngoing() {\r
-        return nbOfNotificationsOngoing;\r
-    }\r
-\r
-    private void changeControllerStatusIdle() {\r
-        if (this.nbOfNotificationsOngoing > 1) {\r
-            --this.nbOfNotificationsOngoing;\r
-        } else {\r
-            this.nbOfNotificationsOngoing = 0;\r
-            this.controllerStatus = SdcSingleControllerStatus.IDLE;\r
-        }\r
-    }\r
-\r
-    protected final synchronized void changeControllerStatus(SdcSingleControllerStatus newControllerStatus) {\r
-        switch (newControllerStatus) {\r
-        case BUSY:\r
-            ++this.nbOfNotificationsOngoing;\r
-            this.controllerStatus = newControllerStatus;\r
-            break;\r
-        case IDLE:\r
-            this.changeControllerStatusIdle();\r
-            break;\r
-        default:\r
-            this.controllerStatus = newControllerStatus;\r
-            break;\r
-        }\r
-    }\r
-\r
-    public final synchronized SdcSingleControllerStatus getControllerStatus() {\r
-        return this.controllerStatus;\r
-    }\r
-\r
-    public SdcSingleController(ClampProperties clampProp, CsarInstaller csarInstaller,\r
-        SdcSingleControllerConfiguration sdcSingleConfig, IDistributionClient distributionClient) {\r
-        this.distributionClient = distributionClient;\r
-        isSdcClientAutoManaged = (distributionClient == null);\r
-        this.sdcConfig = sdcSingleConfig;\r
-        this.refProp = clampProp;\r
-        this.csarInstaller = csarInstaller;\r
-    }\r
-\r
-    /**\r
-     * This method initializes the SDC Controller and the SDC Client.\r
-     *\r
-     * @throws SdcControllerException\r
-     *         It throws an exception if the SDC Client cannot be instantiated or if\r
-     *         an init attempt is done when already initialized\r
-     * @throws SdcParametersException\r
-     *         If there is an issue with the parameters provided\r
-     */\r
-    public void initSdc() throws SdcControllerException {\r
-        logger.info("Attempt to initialize the SDC Controller: " + sdcConfig.getSdcControllerName());\r
-        if (this.getControllerStatus() != SdcSingleControllerStatus.STOPPED) {\r
-            throw new SdcControllerException("The controller is already initialized, call the closeSDC method first");\r
-        }\r
-        if (distributionClient == null) {\r
-            distributionClient = DistributionClientFactory.createDistributionClient();\r
-        }\r
-        IDistributionClientResult result = distributionClient.init(sdcConfig, new SdcNotificationCallBack(this));\r
-        if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) {\r
-            logger.error("SDC distribution client init failed with reason:" + result.getDistributionMessageResult());\r
-            this.changeControllerStatus(SdcSingleControllerStatus.STOPPED);\r
-            throw new SdcControllerException(\r
-                "Initialization of the SDC Controller failed with reason: " + result.getDistributionMessageResult());\r
-        }\r
-        logger.info("SDC Controller successfully initialized: " + sdcConfig.getSdcControllerName());\r
-        logger.info("Attempt to start the SDC Controller: " + sdcConfig.getSdcControllerName());\r
-        result = this.distributionClient.start();\r
-        if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) {\r
-            logger.error("SDC distribution client start failed with reason:" + result.getDistributionMessageResult());\r
-            this.changeControllerStatus(SdcSingleControllerStatus.STOPPED);\r
-            throw new SdcControllerException(\r
-                "Startup of the SDC Controller failed with reason: " + result.getDistributionMessageResult());\r
-        }\r
-        logger.info("SDC Controller successfully started: " + sdcConfig.getSdcControllerName());\r
-        this.changeControllerStatus(SdcSingleControllerStatus.IDLE);\r
-    }\r
-\r
-    /**\r
-     * This method closes the SDC Controller and the SDC Client.\r
-     *\r
-     * @throws SdcControllerException\r
-     *         It throws an exception if the SDC Client cannot be closed because\r
-     *         it's currently BUSY in processing notifications.\r
-     */\r
-    public void closeSdc() throws SdcControllerException {\r
-        if (this.getControllerStatus() == SdcSingleControllerStatus.BUSY) {\r
-            throw new SdcControllerException("Cannot close the SDC controller as it's currently in BUSY state");\r
-        }\r
-        if (this.distributionClient != null) {\r
-            this.distributionClient.stop();\r
-            // If auto managed we can set it to Null, SdcController controls it.\r
-            // In the other case the client of this class has specified it, so\r
-            // we can't reset it\r
-            if (isSdcClientAutoManaged) {\r
-                // Next init will initialize it with a new SDC Client\r
-                this.distributionClient = null;\r
-            }\r
-        }\r
-        this.changeControllerStatus(SdcSingleControllerStatus.STOPPED);\r
-    }\r
-\r
-    private void sendAllNotificationForCsarHandler(INotificationData iNotif, CsarHandler csar,\r
-        NotificationType notificationType, DistributionStatusEnum distributionStatus, String errorMessage) {\r
-        if (csar != null) {\r
-            // Notify for the CSAR\r
-            this.sendSdcNotification(notificationType, csar.getArtifactElement().getArtifactURL(),\r
-                sdcConfig.getConsumerID(), iNotif.getDistributionID(), distributionStatus, errorMessage,\r
-                System.currentTimeMillis());\r
-            // Notify for all VF resources found\r
-            for (Entry<String, BlueprintArtifact> blueprint : csar.getMapOfBlueprints().entrySet()) {\r
-                // Normally always 1 artifact in resource for Clamp as we\r
-                // specified\r
-                // only VF_METADATA type\r
-                this.sendSdcNotification(notificationType,\r
-                    blueprint.getValue().getResourceAttached().getArtifacts().get(0).getArtifactURL(),\r
-                    sdcConfig.getConsumerID(), iNotif.getDistributionID(), distributionStatus, errorMessage,\r
-                    System.currentTimeMillis());\r
-            }\r
-        } else {\r
-            this.sendSdcNotification(notificationType, null, sdcConfig.getConsumerID(), iNotif.getDistributionID(),\r
-                distributionStatus, errorMessage, System.currentTimeMillis());\r
-        }\r
-    }\r
-\r
-    /**\r
-     * This method processes the notification received from Sdc.\r
-     *\r
-     * @param iNotif\r
-     *        The INotificationData\r
-     */\r
-    public void treatNotification(INotificationData iNotif) {\r
-        CsarHandler csar = null;\r
-        try {\r
-            // wait for a random time, so that 2 running Clamp will not treat\r
-            // the same Notification at the same time\r
-            Thread.sleep(ThreadLocalRandom.current().nextInt(1, 10) * 1000L);\r
-            logger.info("Notification received for service UUID:" + iNotif.getServiceUUID());\r
-            this.changeControllerStatus(SdcSingleControllerStatus.BUSY);\r
-            csar = new CsarHandler(iNotif, this.sdcConfig.getSdcControllerName(),\r
-                refProp.getStringValue(CONFIG_SDC_FOLDER));\r
-            csar.save(downloadTheArtifact(csar.getArtifactElement()));\r
-            if (csarInstaller.isCsarAlreadyDeployed(csar)) {\r
-                sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DOWNLOAD,\r
-                    DistributionStatusEnum.ALREADY_DOWNLOADED, null);\r
-                sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DEPLOY,\r
-                    DistributionStatusEnum.ALREADY_DEPLOYED, null);\r
-            } else {\r
-                sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DOWNLOAD,\r
-                    DistributionStatusEnum.DOWNLOAD_OK, null);\r
-                csarInstaller.installTheCsar(csar);\r
-                sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DEPLOY,\r
-                    DistributionStatusEnum.DEPLOY_OK, null);\r
-            }\r
-        } catch (SdcArtifactInstallerException | SdcToscaParserException e) {\r
-            logger.error("SdcArtifactInstallerException exception caught during the notification processing", e);\r
-            sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DEPLOY,\r
-                DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());\r
-        } catch (SdcDownloadException | CsarHandlerException e) {\r
-            logger.error("SdcDownloadException exception caught during the notification processing", e);\r
-            sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DOWNLOAD,\r
-                DistributionStatusEnum.DOWNLOAD_ERROR, e.getMessage());\r
-        } catch (PolicyModelException e) {\r
-            logger.error("PolicyModelException exception caught during the notification processing", e);\r
-            sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DEPLOY,\r
-                DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());\r
-        } catch (InterruptedException e) {\r
-            logger.error("Interrupt exception caught during the notification processing", e);\r
-            sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DEPLOY,\r
-                DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());\r
-            Thread.currentThread().interrupt();\r
-        } catch (RuntimeException e) {\r
-            logger.error("Unexpected exception caught during the notification processing", e);\r
-            sendAllNotificationForCsarHandler(iNotif, csar, NotificationType.DEPLOY,\r
-                DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());\r
-        }  finally {\r
-            this.changeControllerStatus(SdcSingleControllerStatus.IDLE);\r
-        }\r
-    }\r
-\r
-    private enum NotificationType {\r
-        DOWNLOAD, DEPLOY\r
-    }\r
-\r
-    private IDistributionClientDownloadResult downloadTheArtifact(IArtifactInfo artifact) throws SdcDownloadException {\r
-        logger.info(\r
-            "Trying to download the artifact : " + artifact.getArtifactURL() + " UUID: " + artifact.getArtifactUUID());\r
-        IDistributionClientDownloadResult downloadResult;\r
-        try {\r
-            downloadResult = distributionClient.download(artifact);\r
-            if (null == downloadResult) {\r
-                logger.info("downloadResult is Null for: " + artifact.getArtifactUUID());\r
-                return null;\r
-            }\r
-        } catch (RuntimeException e) {\r
-            throw new SdcDownloadException("Exception caught when downloading the artifact", e);\r
-        }\r
-        if (DistributionActionResultEnum.SUCCESS.equals(downloadResult.getDistributionActionResult())) {\r
-            logger.info("Successfully downloaded the artifact " + artifact.getArtifactURL() + " UUID "\r
-                + artifact.getArtifactUUID() + "Size of payload " + downloadResult.getArtifactPayload().length);\r
-        } else {\r
-            throw new SdcDownloadException(\r
-                "Artifact " + artifact.getArtifactName() + " could not be downloaded from SDC URL "\r
-                    + artifact.getArtifactURL() + " UUID " + artifact.getArtifactUUID() + ")" + System.lineSeparator()\r
-                    + "Error message is " + downloadResult.getDistributionMessageResult() + System.lineSeparator());\r
-        }\r
-        return downloadResult;\r
-    }\r
-\r
-    private void sendSdcNotification(NotificationType notificationType, String artifactURL, String consumerID,\r
-        String distributionID, DistributionStatusEnum status, String errorReason, long timestamp) {\r
-        String event = "Sending " + notificationType.name() + "(" + status.name() + ")"\r
-            + " notification to SDC for artifact:" + artifactURL;\r
-        if (errorReason != null) {\r
-            event = event + "(" + errorReason + ")";\r
-        }\r
-        logger.info(event);\r
-        String action = "";\r
-        try {\r
-            IDistributionStatusMessage message = new DistributionStatusMessage(artifactURL, consumerID, distributionID,\r
-                status, timestamp);\r
-            switch (notificationType) {\r
-            case DOWNLOAD:\r
-                this.sendDownloadStatus(message, errorReason);\r
-                action = "sendDownloadStatus";\r
-                break;\r
-            case DEPLOY:\r
-                this.sendDeploymentStatus(message, errorReason);\r
-                action = "sendDeploymentdStatus";\r
-                break;\r
-            default:\r
-                break;\r
-            }\r
-        } catch (RuntimeException e) {\r
-            logger.warn("Unable to send the SDC Notification (" + action + ") due to an exception", e);\r
-        }\r
-        logger.info("SDC Notification sent successfully(" + action + ")");\r
-    }\r
-\r
-    private void sendDownloadStatus(IDistributionStatusMessage message, String errorReason) {\r
-        if (errorReason != null) {\r
-            this.distributionClient.sendDownloadStatus(message, errorReason);\r
-        } else {\r
-            this.distributionClient.sendDownloadStatus(message);\r
-        }\r
-    }\r
-\r
-    private void sendDeploymentStatus(IDistributionStatusMessage message, String errorReason) {\r
-        if (errorReason != null) {\r
-            this.distributionClient.sendDeploymentStatus(message, errorReason);\r
-        } else {\r
-            this.distributionClient.sendDeploymentStatus(message);\r
-        }\r
-    }\r
-}\r
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2018-2019 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============================================
+ * Modifications copyright (c) 2018 Nokia
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.clds.sdc.controller;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+import java.util.Date;
+import java.util.Map.Entry;
+import java.util.concurrent.ThreadLocalRandom;
+
+import org.onap.clamp.clds.config.ClampProperties;
+import org.onap.clamp.clds.config.sdc.SdcSingleControllerConfiguration;
+import org.onap.clamp.clds.exception.policy.PolicyModelException;
+import org.onap.clamp.clds.exception.sdc.controller.CsarHandlerException;
+import org.onap.clamp.clds.exception.sdc.controller.SdcArtifactInstallerException;
+import org.onap.clamp.clds.exception.sdc.controller.SdcControllerException;
+import org.onap.clamp.clds.exception.sdc.controller.SdcDownloadException;
+import org.onap.clamp.clds.exception.sdc.controller.SdcParametersException;
+import org.onap.clamp.clds.sdc.controller.installer.BlueprintArtifact;
+import org.onap.clamp.clds.sdc.controller.installer.CsarHandler;
+import org.onap.clamp.clds.sdc.controller.installer.CsarInstaller;
+import org.onap.clamp.clds.util.LoggingUtils;
+import org.onap.sdc.api.IDistributionClient;
+import org.onap.sdc.api.consumer.IDistributionStatusMessage;
+import org.onap.sdc.api.consumer.INotificationCallback;
+import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.sdc.api.notification.INotificationData;
+import org.onap.sdc.api.results.IDistributionClientDownloadResult;
+import org.onap.sdc.api.results.IDistributionClientResult;
+import org.onap.sdc.impl.DistributionClientFactory;
+import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;
+import org.onap.sdc.utils.DistributionActionResultEnum;
+import org.onap.sdc.utils.DistributionStatusEnum;
+
+/**
+ * This class handles one sdc controller defined in the config.
+ */
+public class SdcSingleController {
+
+    private static final EELFLogger logger = EELFManager.getInstance().getLogger(SdcSingleController.class);
+    private boolean isSdcClientAutoManaged = false;
+    private CsarInstaller csarInstaller;
+    private ClampProperties refProp;
+    /**
+     * The constant CONFIG_SDC_FOLDER.
+     */
+    public static final String CONFIG_SDC_FOLDER = "sdc.csarFolder";
+    private int nbOfNotificationsOngoing = 0;
+    private SdcSingleControllerStatus controllerStatus = SdcSingleControllerStatus.STOPPED;
+    private SdcSingleControllerConfiguration sdcConfig;
+    private IDistributionClient distributionClient;
+
+    /**
+     * Inner class for Notification callback.
+     */
+    private final class SdcNotificationCallBack implements INotificationCallback {
+
+        private SdcSingleController sdcController;
+
+        /**
+         * Instantiates a new Sdc notification call back.
+         *
+         * @param controller the controller
+         */
+        SdcNotificationCallBack(SdcSingleController controller) {
+            sdcController = controller;
+        }
+
+        /**
+         * This method can be called multiple times at the same moment. The controller
+         * must be thread safe !
+         */
+        @Override
+        public void activateCallback(INotificationData notificationData) {
+            Date startTime = new Date();
+            logger.info("Receive a callback notification in SDC, nb of resources: "
+                    + notificationData.getResources().size());
+            sdcController.treatNotification(notificationData);
+            LoggingUtils.setTimeContext(startTime, new Date());
+            LoggingUtils.setResponseContext("0", "SDC Notification received and processed successfully",
+                    this.getClass().getName());
+        }
+    }
+
+    /**
+     * Gets nb of notifications ongoing.
+     *
+     * @return the nb of notifications ongoing
+     */
+    public int getNbOfNotificationsOngoing() {
+        return nbOfNotificationsOngoing;
+    }
+
+    private void changeControllerStatusIdle() {
+        if (this.nbOfNotificationsOngoing > 1) {
+            --this.nbOfNotificationsOngoing;
+        } else {
+            this.nbOfNotificationsOngoing = 0;
+            this.controllerStatus = SdcSingleControllerStatus.IDLE;
+        }
+    }
+
+    /**
+     * Change controller status.
+     *
+     * @param newControllerStatus the new controller status
+     */
+    protected final synchronized void changeControllerStatus(SdcSingleControllerStatus newControllerStatus) {
+        switch (newControllerStatus) {
+            case BUSY:
+                ++this.nbOfNotificationsOngoing;
+                this.controllerStatus = newControllerStatus;
+                break;
+            case IDLE:
+                this.changeControllerStatusIdle();
+                break;
+            default:
+                this.controllerStatus = newControllerStatus;
+                break;
+        }
+    }
+
+    /**
+     * Gets controller status.
+     *
+     * @return the controller status
+     */
+    public final synchronized SdcSingleControllerStatus getControllerStatus() {
+        return this.controllerStatus;
+    }
+
+    /**
+     * Instantiates a new Sdc single controller.
+     *
+     * @param clampProp          the clamp prop
+     * @param csarInstaller      the csar installer
+     * @param sdcSingleConfig    the sdc single config
+     * @param distributionClient the distribution client
+     */
+    public SdcSingleController(ClampProperties clampProp, CsarInstaller csarInstaller,
+                               SdcSingleControllerConfiguration sdcSingleConfig,
+                               IDistributionClient distributionClient) {
+        this.distributionClient = distributionClient;
+        isSdcClientAutoManaged = (distributionClient == null);
+        this.sdcConfig = sdcSingleConfig;
+        this.refProp = clampProp;
+        this.csarInstaller = csarInstaller;
+    }
+
+    /**
+     * This method initializes the SDC Controller and the SDC Client.
+     *
+     * @throws SdcControllerException It throws an exception if the SDC Client cannot be instantiated or if
+     *                                an init attempt is done when already initialized
+     */
+    public void initSdc() throws SdcControllerException {
+        logger.info("Attempt to initialize the SDC Controller: " + sdcConfig.getSdcControllerName());
+        if (this.getControllerStatus() != SdcSingleControllerStatus.STOPPED) {
+            throw new SdcControllerException("The controller is already initialized, call the closeSDC method first");
+        }
+        if (distributionClient == null) {
+            distributionClient = DistributionClientFactory.createDistributionClient();
+        }
+        IDistributionClientResult result = distributionClient.init(sdcConfig,
+                new SdcNotificationCallBack(this));
+        if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) {
+            logger.error("SDC distribution client init failed with reason:" + result.getDistributionMessageResult());
+            this.changeControllerStatus(SdcSingleControllerStatus.STOPPED);
+            throw new SdcControllerException(
+                    "Initialization of the SDC Controller failed with reason: "
+                            + result.getDistributionMessageResult());
+        }
+        logger.info("SDC Controller successfully initialized: " + sdcConfig.getSdcControllerName());
+        logger.info("Attempt to start the SDC Controller: " + sdcConfig.getSdcControllerName());
+        result = this.distributionClient.start();
+        if (!result.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) {
+            logger.error("SDC distribution client start failed with reason:" + result.getDistributionMessageResult());
+            this.changeControllerStatus(SdcSingleControllerStatus.STOPPED);
+            throw new SdcControllerException(
+                    "Startup of the SDC Controller failed with reason: " + result.getDistributionMessageResult());
+        }
+        logger.info("SDC Controller successfully started: " + sdcConfig.getSdcControllerName());
+        this.changeControllerStatus(SdcSingleControllerStatus.IDLE);
+    }
+
+    /**
+    * This method closes the SDC Controller and the SDC Client.
+    *
+    * @throws SdcControllerException It throws an exception if the SDC Client cannot be closed because
+    *                                it's currently BUSY in processing notifications.
+    */
+    public void closeSdc() throws SdcControllerException {
+        if (this.getControllerStatus() == SdcSingleControllerStatus.BUSY) {
+            throw new SdcControllerException("Cannot close the SDC controller as it's currently in BUSY state");
+        }
+        if (this.distributionClient != null) {
+            this.distributionClient.stop();
+            // If auto managed we can set it to Null, SdcController controls it.
+            // In the other case the client of this class has specified it, so
+            // we can't reset it
+            if (isSdcClientAutoManaged) {
+                // Next init will initialize it with a new SDC Client
+                this.distributionClient = null;
+            }
+        }
+        this.changeControllerStatus(SdcSingleControllerStatus.STOPPED);
+    }
+
+    private void sendAllNotificationForCsarHandler(INotificationData notificationData, CsarHandler csar,
+                                                   NotificationType notificationType,
+                                                   DistributionStatusEnum distributionStatus, String errorMessage) {
+        if (csar != null) {
+            // Notify for the CSAR
+            this.sendSdcNotification(notificationType, csar.getArtifactElement().getArtifactURL(),
+                    sdcConfig.getConsumerID(), notificationData.getDistributionID(), distributionStatus, errorMessage,
+                    System.currentTimeMillis());
+            // Notify for all VF resources found
+            for (Entry<String, BlueprintArtifact> blueprint : csar.getMapOfBlueprints().entrySet()) {
+                // Normally always 1 artifact in resource for Clamp as we
+                // specified
+                // only VF_METADATA type
+                this.sendSdcNotification(notificationType,
+                        blueprint.getValue().getResourceAttached().getArtifacts().get(0).getArtifactURL(),
+                        sdcConfig.getConsumerID(), notificationData.getDistributionID(), distributionStatus,
+                        errorMessage,
+                        System.currentTimeMillis());
+            }
+        } else {
+            this.sendSdcNotification(notificationType, null, sdcConfig.getConsumerID(),
+                    notificationData.getDistributionID(),
+                    distributionStatus, errorMessage, System.currentTimeMillis());
+        }
+    }
+
+    /**
+     * This method processes the notification received from Sdc.
+     *
+     * @param notificationData The INotificationData
+     */
+    public void treatNotification(INotificationData notificationData) {
+        CsarHandler csar = null;
+        try {
+            // wait for a random time, so that 2 running Clamp will not treat
+            // the same Notification at the same time
+            Thread.sleep(ThreadLocalRandom.current().nextInt(1, 10) * 1000L);
+            logger.info("Notification received for service UUID:" + notificationData.getServiceUUID());
+            this.changeControllerStatus(SdcSingleControllerStatus.BUSY);
+            csar = new CsarHandler(notificationData, this.sdcConfig.getSdcControllerName(),
+                    refProp.getStringValue(CONFIG_SDC_FOLDER));
+            csar.save(downloadTheArtifact(csar.getArtifactElement()));
+            if (csarInstaller.isCsarAlreadyDeployed(csar)) {
+                sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DOWNLOAD,
+                        DistributionStatusEnum.ALREADY_DOWNLOADED, null);
+                sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DEPLOY,
+                        DistributionStatusEnum.ALREADY_DEPLOYED, null);
+            } else {
+                sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DOWNLOAD,
+                        DistributionStatusEnum.DOWNLOAD_OK, null);
+                csarInstaller.installTheCsar(csar);
+                sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DEPLOY,
+                        DistributionStatusEnum.DEPLOY_OK, null);
+            }
+        } catch (SdcArtifactInstallerException | SdcToscaParserException e) {
+            logger.error("SdcArtifactInstallerException exception caught during the notification processing", e);
+            sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DEPLOY,
+                    DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());
+        } catch (SdcDownloadException | CsarHandlerException e) {
+            logger.error("SdcDownloadException exception caught during the notification processing", e);
+            sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DOWNLOAD,
+                    DistributionStatusEnum.DOWNLOAD_ERROR, e.getMessage());
+        } catch (PolicyModelException e) {
+            logger.error("PolicyModelException exception caught during the notification processing", e);
+            sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DEPLOY,
+                    DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());
+        } catch (InterruptedException e) {
+            logger.error("Interrupt exception caught during the notification processing", e);
+            sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DEPLOY,
+                    DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());
+            Thread.currentThread().interrupt();
+        } catch (RuntimeException e) {
+            logger.error("Unexpected exception caught during the notification processing", e);
+            sendAllNotificationForCsarHandler(notificationData, csar, NotificationType.DEPLOY,
+                    DistributionStatusEnum.DEPLOY_ERROR, e.getMessage());
+        }  finally {
+            this.changeControllerStatus(SdcSingleControllerStatus.IDLE);
+        }
+    }
+
+    private enum NotificationType {
+        /**
+         * Download notification type.
+         */
+        DOWNLOAD,
+        /**
+         * Deploy notification type.
+         */
+        DEPLOY
+    }
+
+    private IDistributionClientDownloadResult downloadTheArtifact(IArtifactInfo artifact) throws SdcDownloadException {
+        logger.info(
+                "Trying to download the artifact : " + artifact.getArtifactURL() + " UUID: "
+                        + artifact.getArtifactUUID());
+        IDistributionClientDownloadResult downloadResult;
+        try {
+            downloadResult = distributionClient.download(artifact);
+            if (null == downloadResult) {
+                logger.info("downloadResult is Null for: " + artifact.getArtifactUUID());
+                return null;
+            }
+        } catch (RuntimeException e) {
+            throw new SdcDownloadException("Exception caught when downloading the artifact", e);
+        }
+        if (DistributionActionResultEnum.SUCCESS.equals(downloadResult.getDistributionActionResult())) {
+            logger.info("Successfully downloaded the artifact " + artifact.getArtifactURL() + " UUID "
+                    + artifact.getArtifactUUID() + "Size of payload " + downloadResult.getArtifactPayload().length);
+        } else {
+            throw new SdcDownloadException(
+                    "Artifact " + artifact.getArtifactName() + " could not be downloaded from SDC URL "
+                            + artifact.getArtifactURL() + " UUID " + artifact.getArtifactUUID() + ")"
+                            + System.lineSeparator()
+                            + "Error message is " + downloadResult.getDistributionMessageResult()
+                            + System.lineSeparator());
+        }
+        return downloadResult;
+    }
+
+    private void sendSdcNotification(NotificationType notificationType, String artifactUrl, String consumerID,
+                                     String distributionID, DistributionStatusEnum status, String errorReason,
+                                     long timestamp) {
+        String event = "Sending " + notificationType.name() + "(" + status.name() + ")"
+                + " notification to SDC for artifact:" + artifactUrl;
+        if (errorReason != null) {
+            event = event + "(" + errorReason + ")";
+        }
+        logger.info(event);
+        String action = "";
+        try {
+            IDistributionStatusMessage message = new DistributionStatusMessage(artifactUrl, consumerID, distributionID,
+                    status, timestamp);
+            switch (notificationType) {
+                case DOWNLOAD:
+                    this.sendDownloadStatus(message, errorReason);
+                    action = "sendDownloadStatus";
+                    break;
+                case DEPLOY:
+                    this.sendDeploymentStatus(message, errorReason);
+                    action = "sendDeploymentdStatus";
+                    break;
+                default:
+                    break;
+            }
+        } catch (RuntimeException e) {
+            logger.warn("Unable to send the SDC Notification (" + action + ") due to an exception", e);
+        }
+        logger.info("SDC Notification sent successfully(" + action + ")");
+    }
+
+    private void sendDownloadStatus(IDistributionStatusMessage message, String errorReason) {
+        if (errorReason != null) {
+            this.distributionClient.sendDownloadStatus(message, errorReason);
+        } else {
+            this.distributionClient.sendDownloadStatus(message);
+        }
+    }
+
+    private void sendDeploymentStatus(IDistributionStatusMessage message, String errorReason) {
+        if (errorReason != null) {
+            this.distributionClient.sendDeploymentStatus(message, errorReason);
+        } else {
+            this.distributionClient.sendDeploymentStatus(message);
+        }
+    }
+}
index e3a379b..b9cce08 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP CLAMP
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -81,23 +81,53 @@ import org.springframework.web.client.HttpClientErrorException;
 @Component
 public class CldsService extends SecureServiceBase {
 
+    /**
+     * The constant LIST_OF_SDC_SERVICE_INFO_TYPE.
+     */
     public static final Type LIST_OF_SDC_SERVICE_INFO_TYPE = new TypeToken<List<SdcServiceInfo>>() {
     }.getType();
     @Produce(uri = "direct:processSubmit")
     private CamelProxy camelProxy;
+    /**
+     * The constant securityLogger.
+     */
     protected static final EELFLogger securityLogger = EELFManager.getInstance().getSecurityLogger();
+    /**
+     * The constant logger.
+     */
     protected static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsService.class);
 
+    /**
+     * The constant GLOBAL_PROPERTIES_KEY.
+     */
     public static final String GLOBAL_PROPERTIES_KEY = "files.globalProperties";
     private final String cldsPermissionTypeClManage;
     private final String cldsPermissionTypeClEvent;
     private final String cldsPermissionTypeFilterVf;
     private final String cldsPermissionInstance;
+    /**
+     * The Permission read cl.
+     */
     final SecureServicePermission permissionReadCl;
+    /**
+     * The Permission update cl.
+     */
     final SecureServicePermission permissionUpdateCl;
+    /**
+     * The Permission read template.
+     */
     final SecureServicePermission permissionReadTemplate;
+    /**
+     * The Permission update template.
+     */
     final SecureServicePermission permissionUpdateTemplate;
+    /**
+     * The Permission read tosca.
+     */
     final SecureServicePermission permissionReadTosca;
+    /**
+     * The Permission update tosca.
+     */
     final SecureServicePermission permissionUpdateTosca;
 
     private final CldsDao cldsDao;
@@ -110,17 +140,40 @@ public class CldsService extends SecureServiceBase {
     @Autowired
     private HttpServletRequest request;
 
+    /**
+     * Instantiates a new Clds service.
+     *
+     * @param cldsDao                    the clds dao
+     * @param cldsBpmnTransformer        the clds bpmn transformer
+     * @param refProp                    the ref prop
+     * @param dcaeDispatcherServices     the dcae dispatcher services
+     * @param dcaeInventoryServices      the dcae inventory services
+     * @param cldsPersmissionTypeCl      the clds persmission type cl
+     * @param cldsPermissionTypeClManage the clds permission type cl manage
+     * @param cldsPermissionTypeClEvent  the clds permission type cl event
+     * @param cldsPermissionTypeFilterVf the clds permission type filter vf
+     * @param cldsPermissionTypeTemplate the clds permission type template
+     * @param cldsPermissionTypeTosca    the clds permission type tosca
+     * @param cldsPermissionInstance     the clds permission instance
+     */
     @Autowired
     public CldsService(CldsDao cldsDao, XslTransformer cldsBpmnTransformer, ClampProperties refProp,
         DcaeDispatcherServices dcaeDispatcherServices,
         DcaeInventoryServices dcaeInventoryServices,
-        @Value("${clamp.config.security.permission.type.cl:permission-type-cl}") String cldsPersmissionTypeCl,
-        @Value("${clamp.config.security.permission.type.cl.manage:permission-type-cl-manage}") String cldsPermissionTypeClManage,
-        @Value("${clamp.config.security.permission.type.cl.event:permission-type-cl-event}") String cldsPermissionTypeClEvent,
-        @Value("${clamp.config.security.permission.type.filter.vf:permission-type-filter-vf}") String cldsPermissionTypeFilterVf,
-        @Value("${clamp.config.security.permission.type.template:permission-type-template}") String cldsPermissionTypeTemplate,
-        @Value("${clamp.config.security.permission.type.tosca:permission-type-tosca}") String cldsPermissionTypeTosca,
-        @Value("${clamp.config.security.permission.instance:dev}") String cldsPermissionInstance) {
+        @Value("${clamp.config.security.permission.type.cl:permission-type-cl}")
+                                   String cldsPersmissionTypeCl,
+        @Value("${clamp.config.security.permission.type.cl.manage:permission-type-cl-manage}")
+                                   String cldsPermissionTypeClManage,
+        @Value("${clamp.config.security.permission.type.cl.event:permission-type-cl-event}")
+                                   String cldsPermissionTypeClEvent,
+        @Value("${clamp.config.security.permission.type.filter.vf:permission-type-filter-vf}")
+                                   String cldsPermissionTypeFilterVf,
+        @Value("${clamp.config.security.permission.type.template:permission-type-template}")
+                                   String cldsPermissionTypeTemplate,
+        @Value("${clamp.config.security.permission.type.tosca:permission-type-tosca}")
+                                   String cldsPermissionTypeTosca,
+        @Value("${clamp.config.security.permission.instance:dev}")
+                                   String cldsPermissionInstance) {
         this.cldsDao = cldsDao;
         this.cldsBpmnTransformer = cldsBpmnTransformer;
         this.refProp = refProp;
@@ -141,8 +194,9 @@ public class CldsService extends SecureServiceBase {
             "update");
     }
 
-    /*
-     * @return list of CLDS-Monitoring-Details: CLOSELOOP_NAME | Close loop name
+    /**
+     * Gets clds details.
+     * list of CLDS-Monitoring-Details: CLOSELOOP_NAME | Close loop name
      * used in the CLDS application (prefix: ClosedLoop- + unique ClosedLoop ID)
      * MODEL_NAME | Model Name in CLDS application SERVICE_TYPE_ID | TypeId returned
      * from the DCAE application when the ClosedLoop is submitted
@@ -150,11 +204,12 @@ public class CldsService extends SecureServiceBase {
      * generated when the ClosedLoop is deployed in DCAE. TEMPLATE_NAME | Template
      * used to generate the ClosedLoop model. ACTION_CD | Current state of the
      * ClosedLoop in CLDS application.
+     * @return the clds details
      */
     public List<CldsMonitoringDetails> getCldsDetails() {
         util.entering(request, "CldsService: GET model details");
         Date startTime = new Date();
-        List<CldsMonitoringDetails> cldsMonitoringDetailsList = cldsDao.getCLDSMonitoringDetails();
+        List<CldsMonitoringDetails> cldsMonitoringDetailsList = cldsDao.getCldsMonitoringDetails();
         // audit log
         LoggingUtils.setTimeContext(startTime, new Date());
         auditLogger.info("GET cldsDetails completed");
@@ -162,9 +217,11 @@ public class CldsService extends SecureServiceBase {
         return cldsMonitoringDetailsList;
     }
 
-    /*
+    /**
+     * Gets clds info.
      * CLDS IFO service will return 3 things 1. User Name 2. CLDS code version that
      * is currently installed from pom.xml file 3. User permissions
+     * @return the clds info
      */
     public CldsInfo getCldsInfo() {
         util.entering(request, "CldsService: GET cldsInfo");
@@ -186,7 +243,7 @@ public class CldsService extends SecureServiceBase {
      * This is subset of the json getModel. This is only expected to be used for
      * testing purposes, not by the UI.
      *
-     * @param modelName
+     * @param modelName the model name
      * @return bpmn xml text - content of bpmn given name
      */
     public String getBpmnXml(String modelName) {
@@ -207,7 +264,7 @@ public class CldsService extends SecureServiceBase {
      * This is subset of the json getModel. This is only expected to be used for
      * testing purposes, not by the UI.
      *
-     * @param modelName
+     * @param modelName the model name
      * @return image xml text - content of image given name
      */
     public String getImageXml(String modelName) {
@@ -226,7 +283,7 @@ public class CldsService extends SecureServiceBase {
     /**
      * REST service that retrieves a CLDS model by name from the database.
      *
-     * @param modelName
+     * @param modelName the model name
      * @return clds model - clds model for the given model name
      */
     public CldsModel getModel(String modelName) {
@@ -266,7 +323,9 @@ public class CldsService extends SecureServiceBase {
     /**
      * REST service that saves a CLDS model by name in the database.
      *
-     * @param modelName
+     * @param modelName the model name
+     * @param cldsModel the clds model
+     * @return the clds model
      */
     public CldsModel putModel(String modelName, CldsModel cldsModel) {
         util.entering(request, "CldsService: PUT model");
@@ -322,19 +381,13 @@ public class CldsService extends SecureServiceBase {
     /**
      * REST service that saves and processes an action for a CLDS model by name.
      *
-     * @param action
-     * @param modelName
-     * @param test
-     * @param model
-     * @return
-     * @throws TransformerException
-     *         In case of issues when doing the XSLT of the BPMN flow
-     * @throws ParseException
-     *         In case of issues when parsing the JSON
-     * @throws GeneralSecurityException
-     *         In case of issues when decrypting the password
-     * @throws DecoderException
-     *         In case of issues with the Hex String decoding
+     * @param action    the action
+     * @param modelName the model name
+     * @param test      the test
+     * @param model     the model
+     * @return response entity
+     * @throws TransformerException In case of issues when doing the XSLT of the BPMN flow
+     * @throws ParseException       In case of issues when parsing the JSON
      */
     public ResponseEntity<?> putModelAndProcessAction(String action, String modelName, String test, CldsModel model)
         throws TransformerException, ParseException {
@@ -418,8 +471,9 @@ public class CldsService extends SecureServiceBase {
     /**
      * REST service that accepts events for a model.
      *
-     * @param test
-     * @param dcaeEvent
+     * @param test      the test
+     * @param dcaeEvent the dcae event
+     * @return the string
      */
     public String postDcaeEvent(String test, DcaeEvent dcaeEvent) {
         util.entering(request, "CldsService: Post dcae event");
@@ -462,10 +516,10 @@ public class CldsService extends SecureServiceBase {
     }
 
     /**
-     * REST service that retrieves total properties required by UI
+     * REST service that retrieves total properties required by UI.
      *
-     * @throws IOException
-     *         In case of issues
+     * @return the sdc properties
+     * @throws IOException In case of issues
      */
     public String getSdcProperties() throws IOException {
         return refProp.getJsonTemplate(GLOBAL_PROPERTIES_KEY).toString();
@@ -476,9 +530,8 @@ public class CldsService extends SecureServiceBase {
      * Determine if the user is authorized for a particular VF by its invariant
      * UUID.
      *
-     * @param vfInvariantUuid
-     * @throws NotAuthorizedException
-     * @return
+     * @param vfInvariantUuid the vf invariant uuid
+     * @return boolean or throws NotAuthorizedException
      */
     public boolean isAuthorizedForVf(String vfInvariantUuid) {
         if (cldsPermissionTypeFilterVf != null && !cldsPermissionTypeFilterVf.isEmpty()) {
@@ -497,7 +550,7 @@ public class CldsService extends SecureServiceBase {
      * Determine if the user is authorized for a particular VF by its invariant
      * UUID. If not authorized, then NotAuthorizedException is thrown.
      *
-     * @param model
+     * @param model The clds model
      * @return
      */
     private boolean isAuthorizedForVf(CldsModel model) {
@@ -510,6 +563,13 @@ public class CldsService extends SecureServiceBase {
         }
     }
 
+    /**
+     * Deploy model response entity.
+     *
+     * @param modelName the model name
+     * @param model     the model
+     * @return the response entity
+     */
     public ResponseEntity<CldsModel> deployModel(String modelName, CldsModel model) {
         util.entering(request, "CldsService: Deploy model");
         Date startTime = new Date();
@@ -559,6 +619,13 @@ public class CldsService extends SecureServiceBase {
         }
     }
 
+    /**
+     * Un deploy model response entity.
+     *
+     * @param modelName the model name
+     * @param model     the model
+     * @return the response entity
+     */
     public ResponseEntity<CldsModel> unDeployModel(String modelName, CldsModel model) {
         util.entering(request, "CldsService: Undeploy model");
         Date startTime = new Date();
@@ -642,6 +709,11 @@ public class CldsService extends SecureServiceBase {
         }
     }
 
+    /**
+     * Sets logging util.
+     *
+     * @param utilP the util p
+     */
     // Created for the integration test
     public void setLoggingUtil(LoggingUtils utilP) {
         util = utilP;
index 58a2f6f..fdc9423 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP CLAMP
  * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights
+ * Copyright (C) 2018-2019 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * limitations under the License.
  * ============LICENSE_END============================================
  * ===================================================================
- * 
+ *
  */
 
 package org.onap.clamp.clds.tosca;
 
 public class JsonEditorSchemaConstants {
-       
-       //Data types in JSON Schema
-       public static final String TYPE_OBJECT = "object";
-       public static final String TYPE_ARRAY = "array";
-       public static final String TYPE_STRING = "string";
-       public static final String TYPE_INTEGER = "integer";
-       
-       //Key elements in JSON Schema
-       public static final String TYPE = "type";
-       public static final String TITLE = "title";
-       public static final String REQUIRED = "required";
-       public static final String DEFAULT = "default";
-       public static final String ENUM = "enum";
-       public static final String ENUM_TITLES = "enum_titles";
-       public static final String OPTIONS = "options";
-       public static final String FORMAT = "format";
-       public static final String ITEMS = "items";
-       public static final String PROPERTIES = "properties";
-       public static final String PROPERTY_ORDER = "propertyOrder";
-       
-       public static final String MINIMUM = "minimum";
-       public static final String MAXIMUM = "maximum";
-       public static final String MIN_LENGTH = "minLength";
-       public static final String MAX_LENGTH = "maxLength";
-       public static final String EXCLUSIVE_MINIMUM = "exclusiveMinimum";
-       public static final String EXCLUSIVE_MAXIMUM = "exclusiveMaximum";
-       
-       public static final String CUSTOM_KEY_FORMAT = "format";
-       public static final String CUSTOM_KEY_FORMAT_TABS_TOP = "tabs-top";
-       public static final String FORMAT_SELECT = "select";
-       public static final String UNIQUE_ITEMS = "uniqueItems";
-       public static final String TRUE = "true";
-       public static final String QSSCHEMA = "qschema";
-       public static final String TYPE_QBLDR = "qbldr";
-       
-       public static final String ID = "id";
-       public static final String LABEL = "label";
-       public static final String OPERATORS = "operators";
-       public static final String FILTERS = "filters";
-       
-       public static final String SCHEMA = "schema";
-       public static final String CURRENT_VALUES = "currentValues";
-       
-       
-       
-       
-       
-       
-       
-       
-       
+
+    //Data types in JSON Schema
+    public static final String TYPE_OBJECT = "object";
+    public static final String TYPE_ARRAY = "array";
+    public static final String TYPE_STRING = "string";
+    public static final String TYPE_INTEGER = "integer";
+
+    //Key elements in JSON Schema
+    public static final String TYPE = "type";
+    public static final String TITLE = "title";
+    public static final String REQUIRED = "required";
+    public static final String DEFAULT = "default";
+    public static final String ENUM = "enum";
+    public static final String ENUM_TITLES = "enum_titles";
+    public static final String OPTIONS = "options";
+    public static final String FORMAT = "format";
+    public static final String ITEMS = "items";
+    public static final String PROPERTIES = "properties";
+    public static final String PROPERTY_ORDER = "propertyOrder";
+
+    public static final String MINIMUM = "minimum";
+    public static final String MAXIMUM = "maximum";
+    public static final String MIN_LENGTH = "minLength";
+    public static final String MAX_LENGTH = "maxLength";
+    public static final String EXCLUSIVE_MINIMUM = "exclusiveMinimum";
+    public static final String EXCLUSIVE_MAXIMUM = "exclusiveMaximum";
+
+    public static final String CUSTOM_KEY_FORMAT = "format";
+    public static final String CUSTOM_KEY_FORMAT_TABS_TOP = "tabs-top";
+    public static final String FORMAT_SELECT = "select";
+    public static final String UNIQUE_ITEMS = "uniqueItems";
+    public static final String TRUE = "true";
+    public static final String QSSCHEMA = "qschema";
+    public static final String TYPE_QBLDR = "qbldr";
+
+    public static final String ID = "id";
+    public static final String LABEL = "label";
+    public static final String OPERATORS = "operators";
+    public static final String FILTERS = "filters";
+
+    public static final String SCHEMA = "schema";
+    public static final String CURRENT_VALUES = "currentValues";
+
+
 }
index f746ab1..e9e589e 100755 (executable)
@@ -17,6 +17,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ============LICENSE_END============================================
+ * Modifications copyright (c) 2019 AT&T.
  * ===================================================================
  *
  */
@@ -33,39 +34,39 @@ import java.awt.Rectangle;
 public class AwtUtils {
     private static final int ARROW_W = 4;
     private static final int ARROW_H = 2;
-    private static final  int FONT_SIZE = 12;
-    private static final  int FONT_STYLE = Font.PLAIN;
+    private static final int FONT_SIZE = 12;
+    private static final int FONT_STYLE = Font.PLAIN;
     private static final String FONT_FACE = "SansSerif";
-    private static final Color TRANSPARENT = new Color(0.0f, 0.0f,0.0f,0.0f);
+    private static final Color TRANSPARENT = new Color(0.0f, 0.0f, 0.0f, 0.0f);
 
-    static void rectWithText(Graphics2D g2d, String text, Point p, int w, int h) {
-        Rectangle rect = new Rectangle(p.x, p.y, w, h);
+    static void rectWithText(Graphics2D g2d, String text, Point point, int width, int height) {
+        Rectangle rect = new Rectangle(point.x, point.y, width, height);
         g2d.draw(rect);
         Color oldColor = g2d.getColor();
         g2d.setColor(TRANSPARENT);
         g2d.fill(rect);
         g2d.setColor(oldColor);
-        addText(g2d, text, p.x+w/2, p.y+h/2);
+        addText(g2d, text, point.x + width / 2, point.y + height / 2);
     }
 
     static void drawArrow(Graphics2D g2d, Point from, Point to, int lineThickness) {
         int x2 = to.x - lineThickness;
-        g2d.drawLine(from.x, from.y, x2-lineThickness, to.y);
-        g2d.drawPolygon(new int[] {x2-ARROW_W, x2-ARROW_W, x2},new int[] {to.y- ARROW_H, to.y+ ARROW_H, to.y},3);
-        g2d.fillPolygon(new int[] {x2-ARROW_W, x2-ARROW_W, x2},new int[] {to.y- ARROW_H, to.y+ ARROW_H, to.y},3);
+        g2d.drawLine(from.x, from.y, x2 - lineThickness, to.y);
+        g2d.drawPolygon(new int[]{x2 - ARROW_W, x2 - ARROW_W, x2}, new int[]{to.y - ARROW_H, to.y + ARROW_H, to.y}, 3);
+        g2d.fillPolygon(new int[]{x2 - ARROW_W, x2 - ARROW_W, x2}, new int[]{to.y - ARROW_H, to.y + ARROW_H, to.y}, 3);
     }
 
-    private static void addText(Graphics2D g2d, String text, int x, int y) {
-        Font f = new Font(FONT_FACE, FONT_STYLE, FONT_SIZE);
-        g2d.setFont(f);
+    private static void addText(Graphics2D g2d, String text, int abs, int ord) {
+        Font font = new Font(FONT_FACE, FONT_STYLE, FONT_SIZE);
+        g2d.setFont(font);
 
         FontMetrics fm1 = g2d.getFontMetrics();
         int w1 = fm1.stringWidth(text);
-        int x1 = x - (w1 / 2);
+        int x1 = abs - (w1 / 2);
 
-        g2d.setFont(f);
+        g2d.setFont(font);
         g2d.setColor(Color.BLACK);
-        g2d.drawString(text, x1, y);
+        g2d.drawString(text, x1, ord);
     }
 
 }
index 50858f7..97b33e1 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP CLAMP
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -150,7 +150,7 @@ public class CldsDaoItCase {
     @Test
     public void testGetCldsMonitoringDetails() {
         List<CldsMonitoringDetails> cldsMonitoringDetailsList = new ArrayList<CldsMonitoringDetails>();
-        cldsMonitoringDetailsList = cldsDao.getCLDSMonitoringDetails();
+        cldsMonitoringDetailsList = cldsDao.getCldsMonitoringDetails();
         cldsMonitoringDetailsList.forEach(clName -> {
             logger.info(clName.getCloseloopName());
             assertNotNull(clName.getCloseloopName());