001    /**
002     *
003     * Copyright 2003-2004 The Apache Software Foundation
004     *
005     *  Licensed under the Apache License, Version 2.0 (the "License");
006     *  you may not use this file except in compliance with the License.
007     *  You may obtain a copy of the License at
008     *
009     *     http://www.apache.org/licenses/LICENSE-2.0
010     *
011     *  Unless required by applicable law or agreed to in writing, software
012     *  distributed under the License is distributed on an "AS IS" BASIS,
013     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     *  See the License for the specific language governing permissions and
015     *  limitations under the License.
016     */
017    
018    package org.apache.geronimo.deployment.cli;
019    
020    import org.apache.geronimo.common.DeploymentException;
021    
022    import java.io.PrintWriter;
023    import javax.enterprise.deploy.spi.TargetModuleID;
024    import javax.enterprise.deploy.spi.DeploymentManager;
025    import javax.enterprise.deploy.spi.status.ProgressObject;
026    
027    /**
028     * The CLI deployer logic to stop.
029     *
030     * @version $Rev: 355877 $ $Date: 2005-12-10 18:48:27 -0800 (Sat, 10 Dec 2005) $
031     */
032    public class CommandStop extends CommandStart {
033        public CommandStop() {
034            super("stop", "1. Common Commands", "[ModuleID|TargetModuleID]+",
035                    "Accepts the configId of a module, or the fully-qualified " +
036                    "TargetModuleID identifying both the module and the server or cluster it's " +
037                    "on, and stops that module.  The module should be available to the server " +
038                    "and running.  After stop is completed, the server still has the module and " +
039                    "deployment information available, it's just not running.  If multiple " +
040                    "modules are specified, they will all be stopped.\n" +
041                    "If the server is not running, the module will be marked to not " +
042                    "start next time the server is started.");
043        }
044    
045        protected ProgressObject runCommand(PrintWriter out, DeploymentManager mgr, TargetModuleID[] ids) {
046            ProgressObject po = mgr.stop(ids);
047            waitForProgress(out, po);
048            return po;
049        }
050    
051        protected String getAction() {
052            return "Stopped";
053        }
054    }