1 package org.apache.maven.ejb;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 }