Coverage Report - org.apache.maven.plugin.dependency.fromConfiguration.ArtifactItem
 
Classes in this File Line Coverage Branch Coverage Complexity
ArtifactItem
100%
54/54
100%
4/4
1.143
 
 1  
 package org.apache.maven.plugin.dependency.fromConfiguration;
 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 java.io.File;
 23  
 
 24  
 import org.apache.maven.artifact.Artifact;
 25  
 import org.apache.maven.plugin.dependency.utils.DependencyUtil;
 26  
 import org.codehaus.plexus.util.StringUtils;
 27  
 
 28  
 /**
 29  
  * ArtifactItem represents information specified in the plugin configuration
 30  
  * section for each artifact.
 31  
  *
 32  
  * @since 1.0
 33  
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
 34  
  * @version $Id: ArtifactItem.java 1368231 2012-08-01 20:10:06Z hboutemy $
 35  
  */
 36  
 public class ArtifactItem
 37  
 {
 38  
     /**
 39  
      * Group Id of Artifact
 40  
      *
 41  
      * @parameter
 42  
      * @required
 43  
      */
 44  
     private String groupId;
 45  
 
 46  
     /**
 47  
      * Name of Artifact
 48  
      *
 49  
      * @parameter
 50  
      * @required
 51  
      */
 52  
     private String artifactId;
 53  
 
 54  
     /**
 55  
      * Version of Artifact
 56  
      *
 57  
      * @parameter
 58  
      */
 59  526
     private String version = null;
 60  
 
 61  
     /**
 62  
      * Type of Artifact (War,Jar,etc)
 63  
      *
 64  
      * @parameter
 65  
      * @required
 66  
      */
 67  526
     private String type = "jar";
 68  
 
 69  
     /**
 70  
      * Classifier for Artifact (tests,sources,etc)
 71  
      *
 72  
      * @parameter
 73  
      */
 74  
     private String classifier;
 75  
 
 76  
     /**
 77  
      * Location to use for this Artifact. Overrides default location.
 78  
      *
 79  
      * @parameter
 80  
      */
 81  
     private File outputDirectory;
 82  
 
 83  
     /**
 84  
      * Provides ability to change destination file name
 85  
      *
 86  
      * @parameter
 87  
      */
 88  
     private String destFileName;
 89  
 
 90  
     /**
 91  
      * Force Overwrite..this is the one to set in pom
 92  
      */
 93  
     private String overWrite;
 94  
 
 95  
     /**
 96  
      *
 97  
      */
 98  
     private boolean needsProcessing;
 99  
 
 100  
     /**
 101  
      * Artifact Item
 102  
      */
 103  
     private Artifact artifact;
 104  
 
 105  
     /**
 106  
      * A comma separated list of file patterns to include when unpacking the
 107  
      * artifact.
 108  
      */
 109  
     private String includes;
 110  
 
 111  
     /**
 112  
      * A comma separated list of file patterns to exclude when unpacking the
 113  
      * artifact.
 114  
      */
 115  
     private String excludes;
 116  
 
 117  
     public ArtifactItem()
 118  24
     {
 119  
         // default constructor
 120  24
     }
 121  
 
 122  
     public ArtifactItem( Artifact artifact )
 123  502
     {
 124  502
         this.setArtifact( artifact );
 125  502
         this.setArtifactId( artifact.getArtifactId() );
 126  502
         this.setClassifier( artifact.getClassifier() );
 127  502
         this.setGroupId( artifact.getGroupId() );
 128  502
         this.setType( artifact.getType() );
 129  502
         this.setVersion( artifact.getVersion() );
 130  502
     }
 131  
 
 132  
     private String filterEmptyString( String in )
 133  
     {
 134  2684
         if ( "".equals( in ) )
 135  
         {
 136  342
             return null;
 137  
         }
 138  2342
         return in;
 139  
     }
 140  
 
 141  
     /**
 142  
      * @return Returns the artifactId.
 143  
      */
 144  
     public String getArtifactId()
 145  
     {
 146  148
         return artifactId;
 147  
     }
 148  
 
 149  
     /**
 150  
      * @param artifactId
 151  
      *            The artifactId to set.
 152  
      */
 153  
     public void setArtifactId( String artifact )
 154  
     {
 155  525
         this.artifactId = filterEmptyString( artifact );
 156  525
     }
 157  
 
 158  
     /**
 159  
      * @return Returns the groupId.
 160  
      */
 161  
     public String getGroupId()
 162  
     {
 163  136
         return groupId;
 164  
     }
 165  
 
 166  
     /**
 167  
      * @param groupId
 168  
      *            The groupId to set.
 169  
      */
 170  
     public void setGroupId( String groupId )
 171  
     {
 172  525
         this.groupId = filterEmptyString( groupId );
 173  525
     }
 174  
 
 175  
     /**
 176  
      * @return Returns the type.
 177  
      */
 178  
     public String getType()
 179  
     {
 180  126
         return type;
 181  
     }
 182  
 
 183  
     /**
 184  
      * @param type
 185  
      *            The type to set.
 186  
      */
 187  
     public void setType( String type )
 188  
     {
 189  525
         this.type = filterEmptyString( type );
 190  525
     }
 191  
 
 192  
     /**
 193  
      * @return Returns the version.
 194  
      */
 195  
     public String getVersion()
 196  
     {
 197  183
         return version;
 198  
     }
 199  
 
 200  
     /**
 201  
      * @param version
 202  
      *            The version to set.
 203  
      */
 204  
     public void setVersion( String version )
 205  
     {
 206  518
         this.version = filterEmptyString( version );
 207  518
     }
 208  
 
 209  
     /**
 210  
      * @return Classifier.
 211  
      */
 212  
     public String getClassifier()
 213  
     {
 214  150
         return classifier;
 215  
     }
 216  
 
 217  
     /**
 218  
      * @param classifier
 219  
      *            Classifier.
 220  
      */
 221  
     public void setClassifier( String classifier )
 222  
     {
 223  524
         this.classifier = filterEmptyString( classifier );
 224  524
     }
 225  
 
 226  
     public String toString()
 227  
     {
 228  89
         if ( this.classifier == null )
 229  
         {
 230  56
             return groupId + ":" + artifactId + ":" + StringUtils.defaultString( version, "?" ) + ":" + type;
 231  
         }
 232  
         else
 233  
         {
 234  33
             return groupId + ":" + artifactId + ":" + classifier + ":" + StringUtils.defaultString( version, "?" )
 235  
                 + ":" + type;
 236  
         }
 237  
     }
 238  
 
 239  
     /**
 240  
      * @return Returns the location.
 241  
      */
 242  
     public File getOutputDirectory()
 243  
     {
 244  572
         return outputDirectory;
 245  
     }
 246  
 
 247  
     /**
 248  
      * @param location
 249  
      *            The location to set.
 250  
      */
 251  
     public void setOutputDirectory( File outputDirectory )
 252  
     {
 253  75
         this.outputDirectory = outputDirectory;
 254  75
     }
 255  
 
 256  
     /**
 257  
      * @return Returns the location.
 258  
      */
 259  
     public String getDestFileName()
 260  
     {
 261  436
         return destFileName;
 262  
     }
 263  
 
 264  
     /**
 265  
      * @param destFileName
 266  
      *            The destFileName to set.
 267  
      */
 268  
     public void setDestFileName( String destFileName )
 269  
     {
 270  67
         this.destFileName = filterEmptyString( destFileName );
 271  67
     }
 272  
 
 273  
     /**
 274  
      * @return Returns the needsProcessing.
 275  
      */
 276  
     public boolean isNeedsProcessing()
 277  
     {
 278  77
         return this.needsProcessing;
 279  
     }
 280  
 
 281  
     /**
 282  
      * @param needsProcessing
 283  
      *            The needsProcessing to set.
 284  
      */
 285  
     public void setNeedsProcessing( boolean needsProcessing )
 286  
     {
 287  81
         this.needsProcessing = needsProcessing;
 288  81
     }
 289  
 
 290  
     /**
 291  
      * @return Returns the overWriteSnapshots.
 292  
      */
 293  
     public String getOverWrite()
 294  
     {
 295  81
         return this.overWrite;
 296  
     }
 297  
 
 298  
     /**
 299  
      * @param overWriteSnapshots
 300  
      *            The overWriteSnapshots to set.
 301  
      */
 302  
     public void setOverWrite( String overWrite )
 303  
     {
 304  8
         this.overWrite = overWrite;
 305  8
     }
 306  
 
 307  
     /**
 308  
      * @return Returns the artifact.
 309  
      */
 310  
     public Artifact getArtifact()
 311  
     {
 312  722
         return this.artifact;
 313  
     }
 314  
 
 315  
     /**
 316  
      * @param artifact
 317  
      *            The artifact to set.
 318  
      */
 319  
     public void setArtifact( Artifact artifact )
 320  
     {
 321  583
         this.artifact = artifact;
 322  583
     }
 323  
 
 324  
     /**
 325  
      * @return Returns a comma separated list of excluded items
 326  
      */
 327  
     public String getExcludes ()
 328  
     {
 329  245
         return DependencyUtil.cleanToBeTokenizedString( this.excludes );
 330  
     }
 331  
 
 332  
     /**
 333  
      * @param excludes A comma separated list of items to exclude i.e. <code>**\/*.xml, **\/*.properties</code>
 334  
      */
 335  
     public void setExcludes( String excludes )
 336  
     {
 337  57
         this.excludes = excludes;
 338  57
     }
 339  
 
 340  
     /**
 341  
      * @return Returns a comma separated list of included items
 342  
      */
 343  
     public String getIncludes()
 344  
     {
 345  292
         return DependencyUtil.cleanToBeTokenizedString( this.includes );
 346  
     }
 347  
 
 348  
     /**
 349  
      * @param includes A comma separated list of items to include i.e. <code>**\/*.xml, **\/*.properties</code>
 350  
      */
 351  
     public void setIncludes ( String includes )
 352  
     {
 353  55
         this.includes = includes;
 354  55
     }
 355  
 }