Remove checkstyle issues
[clamp.git] / src / main / java / org / onap / clamp / clds / model / CldsModel.java
index 55f4dfd..4d2ca89 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");
  * limitations under the License.
  * ============LICENSE_END============================================
  * ===================================================================
- * 
+ *
  */
 
 package org.onap.clamp.clds.model;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.databind.JsonNode;
+import com.google.gson.annotations.Expose;
 
-import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 import javax.ws.rs.BadRequestException;
 import javax.ws.rs.NotFoundException;
 
 import org.onap.clamp.clds.dao.CldsDao;
-import org.onap.clamp.clds.util.JacksonUtils;
+import org.onap.clamp.clds.model.actions.ActionsHandler;
+import org.onap.clamp.clds.model.actions.ActionsHandlerImpl;
+import org.onap.clamp.clds.model.status.StatusHandler;
+import org.onap.clamp.clds.model.status.StatusHandlerImpl;
 
 /**
  * Represent a CLDS Model.
  */
 public class CldsModel {
 
-    private static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsModel.class);
     private static final int UUID_LENGTH = 36;
-    private static final String STATUS_DESIGN = "DESIGN";
-    private static final String STATUS_DISTRIBUTED = "DISTRIBUTED";
-    private static final String STATUS_ACTIVE = "ACTIVE";
-    private static final String STATUS_STOPPED = "STOPPED";
-    private static final String STATUS_DELETING = "DELETING";
-    private static final String STATUS_ERROR = "ERROR";
-    private static final String STATUS_UNKNOWN = "UNKNOWN";
+    /**
+     * 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";
+
+    @Expose
     private String id;
+    @Expose
     private String templateId;
+    @Expose
     private String templateName;
+    @Expose
     private String name;
+    @Expose
     private String controlNamePrefix;
+    @Expose
     private String controlNameUuid;
+    @Expose
     private String bpmnText;
+    @Expose
     private String propText;
+    @Expose
     private String imageText;
+    @Expose
     private String docText;
+    @Expose
     private String blueprintText;
+    @Expose
     private CldsEvent event;
+    @Expose
     private String status;
+    @Expose
     private List<String> permittedActionCd;
+    @Expose
     private List<CldsModelInstance> cldsModelInstanceList;
+    // This is a transient value used to return the failure message to UI
+    @Expose
+    private String errorMessageForUi;
     /**
-     * The service type Id received from DCAE by querying it
+     * The service type Id received from DCAE by querying it.
      */
+    @Expose
     private String typeId;
+    @Expose
     private String typeName;
+    @Expose
     private String deploymentId;
+    @Expose
+    private String deploymentStatusUrl;
+
+    // Set default handlers but this can be changed if needed.
+    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;
+    }
 
     /**
      * Construct empty model.
@@ -83,6 +148,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
@@ -95,7 +165,12 @@ public class CldsModel {
         return model;
     }
 
-    public boolean canInventoryCall() {
+    /**
+     * Can dcae inventory call boolean.
+     *
+     * @return the boolean
+     */
+    public boolean canDcaeInventoryCall() {
         boolean canCall = false;
         /* Below checks the clds event is submit/resubmit/distribute */
         if (event.isActionCd(CldsEvent.ACTION_SUBMIT) || event.isActionCd(CldsEvent.ACTION_RESUBMIT)
@@ -107,6 +182,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);
@@ -116,189 +195,46 @@ public class CldsModel {
     }
 
     /**
-     * set the status in the model
-     */
-    private void determineStatus() {
-        status = STATUS_UNKNOWN;
-        if (event == null || event.getActionCd() == null) {
-            status = STATUS_DESIGN;
-        } else if (event.isActionStateCd(CldsEvent.ACTION_STATE_ERROR)) {
-            status = STATUS_ERROR;
-        } else if (event.isActionAndStateCd(CldsEvent.ACTION_CREATE, CldsEvent.ACTION_STATE_ANY)
-                || event.isActionAndStateCd(CldsEvent.ACTION_SUBMIT, CldsEvent.ACTION_STATE_ANY)
-                || event.isActionAndStateCd(CldsEvent.ACTION_RESUBMIT, CldsEvent.ACTION_STATE_ANY)
-                || event.isActionAndStateCd(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_STATE_ANY)
-                || event.isActionAndStateCd(CldsEvent.ACTION_DELETE, CldsEvent.ACTION_STATE_RECEIVED)
-                || event.isActionAndStateCd(CldsEvent.ACTION_MODIFY, CldsEvent.ACTION_STATE_ANY)) {
-            status = STATUS_DESIGN;
-        } else if (event.isActionAndStateCd(CldsEvent.ACTION_DISTRIBUTE, CldsEvent.ACTION_STATE_RECEIVED)
-                || event.isActionAndStateCd(CldsEvent.ACTION_UNDEPLOY, CldsEvent.ACTION_STATE_RECEIVED)) {
-            status = STATUS_DISTRIBUTED;
-        } else if (event.isActionAndStateCd(CldsEvent.ACTION_DELETE, CldsEvent.ACTION_STATE_SENT)) {
-            status = STATUS_DELETING;
-        } else if (event.isActionAndStateCd(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_STATE_RECEIVED)
-                || event.isActionAndStateCd(CldsEvent.ACTION_RESTART, CldsEvent.ACTION_STATE_ANY)
-                || event.isActionAndStateCd(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STATE_ANY)
-                || event.isActionAndStateCd(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_STATE_ANY)
-                || event.isActionAndStateCd(CldsEvent.ACTION_SUBMITPOLICY, CldsEvent.ACTION_STATE_ANY)) {
-            status = STATUS_ACTIVE;
-        } else if (event.isActionAndStateCd(CldsEvent.ACTION_STOP, CldsEvent.ACTION_STATE_ANY)) {
-            status = STATUS_STOPPED;
-        }
-    }
-
-    /**
-     * Get the actionCd from current event. If none, default value is
-     * CldsEvent.ACTION_CREATE
+     * set the status in the model.
      */
-    private String getCurrentActionCd() {
-        // current default actionCd is CREATE
-        String actionCd = CldsEvent.ACTION_CREATE;
-        if (event != null && event.getActionCd() != null) {
-            actionCd = event.getActionCd();
-        }
-        return actionCd;
+    public void determineStatus() {
+        status = statusHandler.determineStatusOnLastEvent(event);
     }
 
     /**
-     * Get the actionStateCd from current event. If none, default value is
-     * CldsEvent.ACTION_STATE_COMPLETED
+     * Determine permittedActionCd list using the actionCd from the current event.
+     * It's a states graph, given the next action that can be executed from the one
+     * that has been executed (described in the event object). ACTION_CREATE being
+     * the first one.
      */
-    private String getCurrentActionStateCd() {
-        // current default actionStateCd is CREATE
-        String actionStateCd = CldsEvent.ACTION_STATE_COMPLETED;
-        if (event != null && event.getActionStateCd() != null) {
-            actionStateCd = event.getActionStateCd();
-        }
-        return actionStateCd;
-    }
-
-    /**
-     * Determine permittedActionCd list using the actionCd from the current
-     * event. It's a states graph, given the next action that can be executed
-     * from the one that has been executed (described in the event object).
-     * ACTION_CREATE being the first one.
-     */
-    private void determinePermittedActionCd() {
-        String actionCd = getCurrentActionCd();
-        switch (actionCd) {
-            case CldsEvent.ACTION_CREATE:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_SUBMIT, CldsEvent.ACTION_TEST,
-                        CldsEvent.ACTION_DELETE);
-                if (isSimplifiedModel()) {
-                    permittedActionCd = Arrays.asList(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_SUBMITPOLICY,
-                            CldsEvent.ACTION_TEST, CldsEvent.ACTION_DELETE);
-                }
-                break;
-            case CldsEvent.ACTION_MODIFY:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_RESUBMIT, CldsEvent.ACTION_DELETE);
-                if (isSimplifiedModel()) {
-                    permittedActionCd = Arrays.asList(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_SUBMITPOLICY,
-                            CldsEvent.ACTION_DELETE);
-                }
-                break;
-            case CldsEvent.ACTION_SUBMIT:
-            case CldsEvent.ACTION_RESUBMIT:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_RESUBMIT, CldsEvent.ACTION_DELETE);
-                break;
-            case CldsEvent.ACTION_SUBMITDCAE:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_DELETE);
-                break;
-            case CldsEvent.ACTION_SUBMITPOLICY:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP);
-                break;
-            case CldsEvent.ACTION_DISTRIBUTE:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_RESUBMIT,
-                        CldsEvent.ACTION_DELETE);
-                if (isSimplifiedModel()) {
-                    permittedActionCd = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_SUBMITDCAE,
-                            CldsEvent.ACTION_DELETE);
-                }
-                break;
-            case CldsEvent.ACTION_UNDEPLOY:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_DEPLOY,
-                        CldsEvent.ACTION_RESUBMIT, CldsEvent.ACTION_DELETE);
-                if (isSimplifiedModel()) {
-                    permittedActionCd = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_DEPLOY,
-                            CldsEvent.ACTION_SUBMITDCAE, CldsEvent.ACTION_DELETE);
-                }
-                break;
-            case CldsEvent.ACTION_DEPLOY:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_UNDEPLOY,
-                        CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP);
-                break;
-            case CldsEvent.ACTION_RESTART:
-            case CldsEvent.ACTION_UPDATE:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_DEPLOY, CldsEvent.ACTION_UPDATE,
-                        CldsEvent.ACTION_STOP, CldsEvent.ACTION_UNDEPLOY);
-                if (isPolicyOnly()) {
-                    permittedActionCd = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_STOP);
-                }
-                break;
-            case CldsEvent.ACTION_STOP:
-                permittedActionCd = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_RESTART,
-                        CldsEvent.ACTION_UNDEPLOY);
-                if (isPolicyOnly()) {
-                    permittedActionCd = Arrays.asList(CldsEvent.ACTION_UPDATE, CldsEvent.ACTION_RESTART,
-                            CldsEvent.ACTION_DELETE);
-                }
-                break;
-            default:
-                logger.warn("Invalid current actionCd: " + actionCd);
-        }
-    }
-
-    private boolean isSimplifiedModel() {
-        boolean result = false;
-        try {
-            if (propText != null) {
-                JsonNode modelJson = JacksonUtils.getObjectMapperInstance().readTree(propText);
-                JsonNode simpleModelJson = modelJson.get("simpleModel");
-                if (simpleModelJson != null && simpleModelJson.asBoolean()) {
-                    result = true;
-                }
-            }
-        } catch (IOException e) {
-            logger.error("Error while parsing propText json", e);
-        }
-        return result;
-    }
-
-    private boolean isPolicyOnly() {
-        boolean result = false;
-        try {
-            if (propText != null) {
-                JsonNode modelJson = JacksonUtils.getObjectMapperInstance().readTree(propText);
-                JsonNode policyOnlyJson = modelJson.get("policyOnly");
-                if (policyOnlyJson != null && policyOnlyJson.asBoolean()) {
-                    result = true;
-                }
-            }
-        } catch (IOException e) {
-            logger.error("Error while parsing propText json", e);
-        }
-        return result;
+    public void determinePermittedActionCd() {
+        permittedActionCd = actionsHandler.determinePermittedActionsOnLastEvent(event, propText);
     }
 
     /**
-     * Validate requestedActionCd - determine permittedActionCd and then check
-     * if contained in permittedActionCd Throw IllegalArgumentException if
-     * requested actionCd is not permitted.
+     * 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();
         if (!permittedActionCd.contains(requestedActionCd)) {
-            throw new IllegalArgumentException(
-                    "Invalid requestedActionCd: " + requestedActionCd + ".  Given current actionCd: "
-                            + getCurrentActionCd() + ", the permittedActionCd: " + permittedActionCd);
+            throw new IllegalArgumentException("Invalid requestedActionCd: " + requestedActionCd
+                    + ".  Given current actionCd: " + actionsHandler.getCurrentActionCd(event)
+                    + ", the permittedActionCd: " + permittedActionCd);
         }
     }
 
     /**
-     * Extract the UUID portion of a given full control name (controlNamePrefix
-     * + controlNameUuid). No fields are populated other than controlNamePrefix
-     * and controlNameUuid. Throws BadRequestException if length of given
-     * control name is less than UUID_LENGTH.
+     * Extract the UUID portion of a given full control name (controlNamePrefix +
+     * 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) {
@@ -313,6 +249,8 @@ public class CldsModel {
     }
 
     /**
+     * Gets control name.
+     *
      * @return the controlName (controlNamePrefix + controlNameUuid)
      */
     public String getControlName() {
@@ -320,7 +258,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();
@@ -338,6 +281,8 @@ public class CldsModel {
     }
 
     /**
+     * Gets name.
+     *
      * @return the name
      */
     public String getName() {
@@ -345,33 +290,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() {
@@ -379,14 +344,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() {
@@ -394,14 +362,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() {
@@ -409,45 +380,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() {
@@ -455,53 +452,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<>();
@@ -509,15 +562,66 @@ 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;
+    }
 }