View Javadoc

1   package org.apache.maven.ejb;
2   
3   /* ====================================================================
4    *   Licensed to the Apache Software Foundation (ASF) under one or more
5    *   contributor license agreements.  See the NOTICE file distributed with
6    *   this work for additional information regarding copyright ownership.
7    *   The ASF licenses this file to You under the Apache License, Version 2.0
8    *   (the "License"); you may not use this file except in compliance with
9    *   the License.  You may obtain a copy of the License at
10   *
11   *       http://www.apache.org/licenses/LICENSE-2.0
12   *
13   *   Unless required by applicable law or agreed to in writing, software
14   *   distributed under the License is distributed on an "AS IS" BASIS,
15   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   *   See the License for the specific language governing permissions and
17   *   limitations under the License.
18   * ====================================================================
19   */
20  
21  import org.apache.maven.MavenException;
22  import org.apache.maven.project.Project;
23  import org.apache.maven.repository.ArtifactTypeHandler;
24  
25  /**
26   *  This will do until wagon debuts.
27   * 
28   * @author <a href="mailto:havard@tracetracker.com">H?vard Bj?stad</a>
29   * @author <a href="mailto:vmassol@apache.org>Vincent Massol</a>
30   * @version $Id: EJBArtifactTypeHandler.java 533617 2007-04-30 07:41:05Z ltheussl $
31   */
32  public class EJBArtifactTypeHandler implements ArtifactTypeHandler
33  {
34      /**
35       * Map an artifact to a repository directory path.
36       * 
37       * @param project the project for the artifact
38       * @param type  The type of the artifact 
39       * @return the path
40       */
41      public String constructRepositoryDirectoryPath(String type, Project project) throws MavenException
42      {
43          StringBuffer path = new StringBuffer();
44          path.append(project.getArtifactDirectory());
45          path.append("/ejbs/");
46          return path.toString();
47      }
48  
49      /**
50       * Map an artifact to a repository path.
51       * 
52       * @param project the project for the artifact
53       * @param type  The type of the artifact 
54       * @param version  The version of the artifact (may be a snapshot)
55       * @return the path
56       */
57      public String constructRepositoryFullPath(String type, Project project, String version) throws MavenException
58      {
59          StringBuffer path = new StringBuffer(constructRepositoryDirectoryPath(type, project));
60          path.append(project.getArtifactId());
61          path.append("-");
62          path.append(version);
63          
64          if ( type.equals( "ejb-client" ) ) {
65              path.append( "-client.jar" );
66          }
67          else if ( type.equals( "ejb" ) ) {
68              path.append(".jar");
69          }
70          else {
71              throw new MavenException("Unrecognised ejb type (is " + type + ")");
72          }
73  
74          return path.toString();
75      }
76  }