Class InitialDeploymentSetBuilderImpl

java.lang.Object
org.jboss.as.controller.client.helpers.domain.impl.InitialDeploymentSetBuilderImpl
All Implemented Interfaces:
DeploymentPlanBuilder, InitialDeploymentSetBuilder

public class InitialDeploymentSetBuilderImpl extends Object implements InitialDeploymentSetBuilder
Variant of a DeploymentPlanBuilderImpl that is meant to be used at the initial stages of the building process, when directives that pertain to the entire DeploymentSetPlan can be applied.
Author:
Brian Stansberry
  • Method Details

    • withGracefulShutdown

      public InitialDeploymentSetBuilder withGracefulShutdown(long timeout, TimeUnit timeUnit)
      Description copied from interface: InitialDeploymentSetBuilder
      Indicates actions specified subsequent to this call should be organized around a full graceful server shutdown and restart. The server will attempt to shut itself down gracefully, waiting for in-process work to complete before shutting down. See the full JBoss AS documentation for details on what "waiting for in-process work to complete" means.

      For any deploy or replace actions, the new content will not be deployed until the server is restarted. For any undeploy or replace actions, the old content will be undeployed as part of normal server shutdown processing.

      Specified by:
      withGracefulShutdown in interface InitialDeploymentSetBuilder
      Parameters:
      timeout - maximum amount of time the graceful shutdown should wait for existing work to complete before completing the shutdown
      timeUnit - TimeUnit in which timeout is expressed
      Returns:
      a builder that can continue building the overall deployment plan
    • withShutdown

      public InitialDeploymentSetBuilder withShutdown()
      Description copied from interface: InitialDeploymentSetBuilder
      Indicates actions specified subsequent to this call should be organized around a full server restart. For any deploy or replace actions, the new content will not be deployed until the server is restarted. For any undeploy or replace actions, the old content will be undeployed as part of normal server shutdown processing.
      Specified by:
      withShutdown in interface InitialDeploymentSetBuilder
      Returns:
      a builder that can continue building the overall deployment plan
    • withoutSingleServerRollback

      public InitialDeploymentSetBuilder withoutSingleServerRollback()
      Description copied from interface: InitialDeploymentSetBuilder
      Indicates that on a given server all deploy, undeploy or replace operations associated with the deployment set should not be rolled back in case of a failure in any of them.
      Specified by:
      withoutSingleServerRollback in interface InitialDeploymentSetBuilder
      Returns:
      a builder that can continue building the overall deployment plan
    • add

      Description copied from interface: DeploymentPlanBuilder
      Indicates the content of the specified file should be added to the default content repository. The name of the deployment will be the value returned by file.getName().

      Note that this operation does not indicate the content should be deployed into the runtime.

      Specified by:
      add in interface DeploymentPlanBuilder
      Parameters:
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Description copied from interface: DeploymentPlanBuilder
      Indicates the content at the specified URL should be added to the default content repository. The name of the deployment will be the last segment of the value returned by url.getPath().

      Note that this operation does not indicate the content should be deployed into the runtime.

      Specified by:
      add in interface DeploymentPlanBuilder
      Parameters:
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Description copied from interface: DeploymentPlanBuilder
      Indicates the content of the specified fileL should be added to the default content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Specified by:
      add in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Description copied from interface: DeploymentPlanBuilder
      Indicates the content at the specified URL should be added to the default content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Specified by:
      add in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Description copied from interface: DeploymentPlanBuilder
      Indicates the content readable from the specified InputStream should be added to the default content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Specified by:
      add in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      Description copied from interface: DeploymentPlanBuilder
      Indicates the content readable from the specified InputStream should be added to the content repository.

      Note that this operation does not indicate the content should be deployed into the runtime.

      Specified by:
      add in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content to uniquely identify it within the domain's management system. Must be different from the name given to an other deployment content presently available on the server
      commonName - name by which the deployment should be known within a server's runtime. This would be equivalent to the file name of a deployment file, and would form the basis for such things as default Java Enterprise Edition application and module names. This would typically be the same as name (in which case DeploymentPlanBuilder.add(String, InputStream) would normally be used, but in some cases users may wish to have two deployments with the same common name may (e.g. two versions of "foo.war" both available in the deployment content repository), in which case the deployments would need to have distinct name values but would have the same commonName
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      DuplicateDeploymentNameException - if the name of the deployment is the same as that of other deployment content already present in the domain
      IOException
    • add

      public AddDeploymentPlanBuilder add(String name) throws IOException
      Description copied from interface: DeploymentPlanBuilder
      Indicates a deployment that has already been added to the deployment content repository should be added to the server groups associated with the current DeploymentSetPlan. Typically this is used to add content that was added as part of a previously executed plan to one or more new server groups.
      Specified by:
      add in interface DeploymentPlanBuilder
      Parameters:
      name - name that uniquely identifies the deployment within the domain's management system.
      Throws:
      IOException
    • deploy

      public DeployDeploymentPlanBuilder deploy(String key)
      Description copied from interface: DeploymentPlanBuilder
      Indicates the specified deployment content should be deployed.
      Specified by:
      deploy in interface DeploymentPlanBuilder
      Parameters:
      key - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • undeploy

      public UndeployDeploymentPlanBuilder undeploy(String key)
      Description copied from interface: DeploymentPlanBuilder
      Indicates the specified deployment content should be undeployed.
      Specified by:
      undeploy in interface DeploymentPlanBuilder
      Parameters:
      key - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • redeploy

      public DeploymentPlanBuilder redeploy(String deploymentName)
      Description copied from interface: DeploymentPlanBuilder
      Indicates the specified deployment content should be redeployed (i.e. undeployed and then deployed again).
      Specified by:
      redeploy in interface DeploymentPlanBuilder
      Parameters:
      deploymentName - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • replace

      public ReplaceDeploymentPlanBuilder replace(String replacement, String toReplace)
      Description copied from interface: DeploymentPlanBuilder
      Indicates the specified deployment content should be deployed, replacing the specified existing deployment.
      Specified by:
      replace in interface DeploymentPlanBuilder
      Parameters:
      replacement - unique identifier of the content to deploy
      toReplace - unique identifier of the currently deployed content to replace
      Returns:
      a builder that can continue building the overall deployment plan
    • replace

      public RemoveDeploymentPlanBuilder replace(File file) throws IOException
      Description copied from interface: DeploymentPlanBuilder
      Indicates the content of the specified file should be added to the content repository and replace existing content of the same name. The name of the deployment will be the value returned by file.getName().

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Specified by:
      replace in interface DeploymentPlanBuilder
      Parameters:
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      public RemoveDeploymentPlanBuilder replace(URL url) throws IOException
      Description copied from interface: DeploymentPlanBuilder
      Indicates the content at the specified URL should be added to the content repository and replace existing content of the same name. The name of the deployment will be the last segment of the value returned by url.getPath().

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Specified by:
      replace in interface DeploymentPlanBuilder
      Parameters:
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      public RemoveDeploymentPlanBuilder replace(String name, File file) throws IOException
      Description copied from interface: DeploymentPlanBuilder
      Indicates the content of the specified file should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Specified by:
      replace in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content
      file - file containing the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      public RemoveDeploymentPlanBuilder replace(String name, URL url) throws IOException
      Description copied from interface: DeploymentPlanBuilder
      Indicates the content at the specified URL should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Specified by:
      replace in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content
      url - URL pointing to the new content
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      public RemoveDeploymentPlanBuilder replace(String name, InputStream stream) throws IOException
      Description copied from interface: DeploymentPlanBuilder
      Indicates the content readable from the specified InputStream should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Specified by:
      replace in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • replace

      public RemoveDeploymentPlanBuilder replace(String name, String commonName, InputStream stream) throws IOException
      Description copied from interface: DeploymentPlanBuilder
      Indicates the content readable from the specified InputStream should be added to the content repository and replace existing content of the same name.

      Whether this operation will result in the new content being deployed into the runtime depends on whether the existing content being replaced is deployed. If the content being replaced is deployed the old content will be undeployed and the new content will be deployed.

      Specified by:
      replace in interface DeploymentPlanBuilder
      Parameters:
      name - name that should be given to the new content
      commonName - name by which the deployment should be known within the runtime. This would be equivalent to the file name of a deployment file, and would form the basis for such things as default Java Enterprise Edition application and module names. This would typically be the same as name (in which case DeploymentPlanBuilder.add(String, InputStream) would normally be used, but in some cases users may wish to have two deployments with the same common name may (e.g. two versions of "foo.war" both available in the deployment content repository), in which case the deployments would need to have distinct name values but would have the same commonName
      stream - InputStream from which the new content should be read This stream has to be closed by the caller.
      Returns:
      a builder that can continue building the overall deployment plan
      Throws:
      IOException
    • remove

      public RemoveDeploymentPlanBuilder remove(String key)
      Description copied from interface: DeploymentPlanBuilder
      Indicates the specified deployment content should be removed from the content repository.
      Specified by:
      remove in interface DeploymentPlanBuilder
      Parameters:
      key - unique identifier of the deployment content
      Returns:
      a builder that can continue building the overall deployment plan
    • getLastAction

      public DeploymentAction getLastAction()
    • build

      public DeploymentPlan build()
      Creates the deployment plan.
      Returns:
      the deployment plan