Coverage Report - org.apache.tomcat.maven.plugin.tomcat7.run.ShutdownMojo
 
Classes in this File Line Coverage Branch Coverage Complexity
ShutdownMojo
0 %
0/10
0 %
0/4
6
 
 1  
 package org.apache.tomcat.maven.plugin.tomcat7.run;
 2  
 
 3  
 /*
 4  
 * Licensed to the Apache Software Foundation (ASF) under one
 5  
 * or more contributor license agreements.  See the NOTICE file
 6  
 * distributed with this work for additional information
 7  
 * regarding copyright ownership.  The ASF licenses this file
 8  
 * to you under the Apache License, Version 2.0 (the
 9  
 * "License"); you may not use this file except in compliance
 10  
 * with the License.  You may obtain a copy of the License at
 11  
 *
 12  
 *   http://www.apache.org/licenses/LICENSE-2.0
 13  
 *
 14  
 * Unless required by applicable law or agreed to in writing,
 15  
 * software distributed under the License is distributed on an
 16  
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 17  
 * KIND, either express or implied.  See the License for the
 18  
 * specific language governing permissions and limitations
 19  
 * under the License.
 20  
 */
 21  
 
 22  
 import org.apache.maven.plugin.MojoExecutionException;
 23  
 import org.apache.maven.plugins.annotations.Mojo;
 24  
 import org.apache.maven.plugins.annotations.Parameter;
 25  
 import org.apache.maven.plugins.annotations.ResolutionScope;
 26  
 import org.apache.tomcat.maven.common.run.EmbeddedRegistry;
 27  
 import org.apache.tomcat.maven.plugin.tomcat7.AbstractTomcat7Mojo;
 28  
 
 29  
 
 30  
 /**
 31  
  * <p>
 32  
  * Shuts down all possibly started embedded tomcat servers. This will be automatically down
 33  
  * through a shutdown hook or you may call this Mojo to shut them down explictly.
 34  
  * </p>
 35  
  * <p>
 36  
  * By default the <code>shutdown</code> goal is not bound to any phase. For integration tests
 37  
  * you might want to bind it to <code>post-integration-test</code>.
 38  
  * </p>
 39  
  *
 40  
  * @author Mark Michaelis
 41  
  * @since 2.0
 42  
  */
 43  
 @Mojo( name = "shutdown", requiresDependencyResolution = ResolutionScope.RUNTIME )
 44  0
 public class ShutdownMojo
 45  
     extends AbstractTomcat7Mojo
 46  
 {
 47  
 
 48  
     /**
 49  
      * Ignore error when shutdown
 50  
      *
 51  
      * @since 2.0
 52  
      */
 53  
     @Parameter( property = "maven.tomcat.skipErrorOnShutdown", defaultValue = "false" )
 54  
     protected boolean skipErrorOnShutdown;
 55  
 
 56  
     /**
 57  
      * Skip execution
 58  
      *
 59  
      * @since 2.0
 60  
      */
 61  
     @Parameter( property = "maven.tomcat.skipShutdown", defaultValue = "false" )
 62  
     protected boolean skip;
 63  
 
 64  
     /**
 65  
      * Shuts down all embedded tomcats which got started up to now.
 66  
      *
 67  
      * @throws org.apache.maven.plugin.MojoExecutionException
 68  
      *          if shutting down one or all servers failed
 69  
      */
 70  
     public void execute()
 71  
         throws MojoExecutionException
 72  
     {
 73  0
         if ( skip )
 74  
         {
 75  0
             getLog().info( "skip execution" );
 76  0
             return;
 77  
         }
 78  
         try
 79  
         {
 80  0
             EmbeddedRegistry.getInstance().shutdownAll( getLog() );
 81  
         }
 82  0
         catch ( Exception e )
 83  
         {
 84  0
             if ( !skipErrorOnShutdown )
 85  
             {
 86  0
                 throw new MojoExecutionException( messagesProvider.getMessage( "ShutdownMojo.shutdownError" ), e );
 87  
             }
 88  0
         }
 89  0
     }
 90  
 }