Class ChangeDeploy

java.lang.Object
com.broadleafcommerce.sandbox.domain.ChangeDeploy
All Implemented Interfaces:
Serializable

public class ChangeDeploy extends Object implements Serializable
Domain describing the changes that are pushed to production together. A ChangeDeploy can be scheduled for a particular time in the future, tracked by dateScheduled.
Author:
Nathan Moore (nathandmoore)
See Also:
  • Constructor Details

    • ChangeDeploy

      public ChangeDeploy()
  • Method Details

    • getId

      public String getId()
      Unique identifier for this change deployment.
      Returns:
      Unique identifier for this change deployment
    • getDisplayName

      public String getDisplayName()
      The name to display to the user that represents this deployment. This should be provided as part of a schedule request, along with optional deployMessage.
      Returns:
      The name to display to the user that represents this deployment
    • getDeployMessage

      public String getDeployMessage()
      The message given to this deployment during scheduling.
      Returns:
      The message given to this deployment during scheduling.
    • getAuthor

      public String getAuthor()
      The user (as defined by the Spring security principal) responsible for creating this group. See ContextInfo.getAuthor()
      Returns:
      The user that was responsible for creating this group
    • getSandbox

      public String getSandbox()
      The sandbox ID with which to filter change groups.
      Returns:
      The sandbox ID with which to filter change groups.
    • getApplication

      public String getApplication()
      The application to which the deployment belongs. Will be null for a tenant-only context.
      Returns:
      The application to which the deployment belongs
    • getDateCreated

      public Instant getDateCreated()
      The time when the deployment was created (not when it is scheduled to happen).
      Returns:
      The time when the deployment was created (not when it is scheduled to happen).
    • getDateScheduled

      public Instant getDateScheduled()
      The time when the deployment is scheduled to occur.
      Returns:
      The time when the deployment is scheduled to occur.
    • getState

      public String getState()
      The current state of this deployment. This will change only when the status changes to a completed type, i.e., ChangeStatusType.FINISHED or an error status.
      Returns:
      The current state of this deployment
    • getStatus

      public String getStatus()
      The current status of this deployment
      Returns:
      The current status of this deployment
    • getStatusChangeTime

      public Instant getStatusChangeTime()
      The time that the status last changed.
      Returns:
      The time that the status last changed
    • getChangeGroupIds

      public List<String> getChangeGroupIds()
      List of ChangeSummaryGroups that are pushed to production together.
      Returns:
      List of ChangeSummaryGroups that are pushed to production together.
    • getException

      public String getException()
      Any exceptions that result from a workflow related request on this deployment
      Returns:
      Any exceptions that result from this deployment
    • getArchived

      public Boolean getArchived()
      The archival state. Archived records are generally filtered from fetch results.
      Returns:
      The archival state
    • getLevel

      public int getLevel()
      The TrackingLevel from which change summaries within this deployment are configured to executed. For instance if changes need to go straight from the User level (to skip the promotion sandbox), you would use TrackingLevel.USER.
      Returns:
      The TrackingLevel from which this deployment is configured to execute
    • getAffectedVendorRefs

      public Set<String> getAffectedVendorRefs()
      Contains all of the vendor-refs that are affected by change summary groups within this deployment.

      If vendor processing is enabled, this enables queries to quickly filter out change deployments which a vendor-restricted user cannot access.

      Note that if the member groups within this deployment change, this set should also be updated accordingly.

      See Also:
    • isAffectsNonVendorData

      public boolean isAffectsNonVendorData()
      If this deployment contains getChangeGroupIds() which affect non-vendor data, then this field should be true.

      If vendor processing is enabled, this enables queries to quickly filter out change deployments which a vendor-restricted user cannot access.

      Note that if the member groups within this deployment change, this value should also be updated accordingly.

      See Also:
    • setId

      public void setId(String id)
      Unique identifier for this change deployment.
      Parameters:
      id - Unique identifier for this change deployment
    • setDisplayName

      public void setDisplayName(String displayName)
      The name to display to the user that represents this deployment. This should be provided as part of a schedule request, along with optional deployMessage.
      Parameters:
      displayName - The name to display to the user that represents this deployment
    • setDeployMessage

      public void setDeployMessage(String deployMessage)
      The message given to this deployment during scheduling.
      Parameters:
      deployMessage - The message given to this deployment during scheduling.
    • setAuthor

      public void setAuthor(String author)
      The user (as defined by the Spring security principal) responsible for creating this group. See ContextInfo.getAuthor()
      Parameters:
      author - The user that was responsible for creating this group
    • setSandbox

      public void setSandbox(String sandbox)
      The sandbox ID with which to filter change groups.
      Parameters:
      sandbox - The sandbox ID with which to filter change groups.
    • setApplication

      public void setApplication(String application)
      The application to which the deployment belongs. Will be null for a tenant-only context.
      Parameters:
      application - The application to which the deployment belongs
    • setDateCreated

      public void setDateCreated(Instant dateCreated)
      The time when the deployment was created (not when it is scheduled to happen).
      Parameters:
      statusChangeTime - The time when the deployment was created (not when it is scheduled to happen).
    • setDateScheduled

      public void setDateScheduled(Instant dateScheduled)
      The time when the deployment is scheduled to occur.
      Parameters:
      statusChangeTime - The time when the deployment is scheduled to occur.
    • setState

      public void setState(String state)
      The current state of this deployment. This will change only when the status changes to a completed type, i.e., ChangeStatusType.FINISHED or an error status.
      Parameters:
      state - The current state of this deployment
    • setStatus

      public void setStatus(String status)
      The current status of this deployment
      Parameters:
      state - The current status of this deployment
    • setStatusChangeTime

      public void setStatusChangeTime(Instant statusChangeTime)
      The time that the status last changed.
      Parameters:
      statusChangeTime - The time that the status last changed.
    • setChangeGroupIds

      public void setChangeGroupIds(List<String> changeGroupIds)
      List of ChangeSummaryGroups that are pushed to production together.
      Parameters:
      changeGroupIds - List of ChangeSummaryGroups that are pushed to production together.
    • setException

      public void setException(String exception)
      Any exceptions that result from a workflow related request on this deployment
      Parameters:
      exception - Any exceptions that result from this deployment
    • setArchived

      public void setArchived(Boolean archived)
      The archival state. Archived records are generally filtered from fetch results.
      Parameters:
      archived - Whether this deployment should be filtered from fetch results
    • setLevel

      public void setLevel(int level)
      The TrackingLevel from which change summaries within this deployment are configured to executed. For instance if changes need to go straight from the User level (to skip the promotion sandbox), you would use TrackingLevel.USER.
      Parameters:
      level - The TrackingLevel from which this deployment is configured to execute
    • setAffectedVendorRefs

      public void setAffectedVendorRefs(Set<String> affectedVendorRefs)
      Contains all of the vendor-refs that are affected by change summary groups within this deployment.

      If vendor processing is enabled, this enables queries to quickly filter out change deployments which a vendor-restricted user cannot access.

      Note that if the member groups within this deployment change, this set should also be updated accordingly.

      See Also:
    • setAffectsNonVendorData

      public void setAffectsNonVendorData(boolean affectsNonVendorData)
      If this deployment contains getChangeGroupIds() which affect non-vendor data, then this field should be true.

      If vendor processing is enabled, this enables queries to quickly filter out change deployments which a vendor-restricted user cannot access.

      Note that if the member groups within this deployment change, this value should also be updated accordingly.

      See Also:
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object