1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import javax.inject.Named;
22 import javax.inject.Singleton;
23
24 import org.apache.maven.api.ArtifactCoordinate;
25 import org.apache.maven.api.annotations.Nonnull;
26 import org.apache.maven.api.services.ArtifactCoordinateFactory;
27 import org.apache.maven.api.services.ArtifactCoordinateFactoryRequest;
28 import org.eclipse.aether.artifact.ArtifactType;
29
30 import static org.apache.maven.internal.impl.Utils.cast;
31 import static org.apache.maven.internal.impl.Utils.nonNull;
32
33 @Named
34 @Singleton
35 public class DefaultArtifactCoordinateFactory implements ArtifactCoordinateFactory {
36 @Override
37 public ArtifactCoordinate create(@Nonnull ArtifactCoordinateFactoryRequest request) {
38 nonNull(request, "request can not be null");
39 DefaultSession session =
40 cast(DefaultSession.class, request.getSession(), "request.session should be a " + DefaultSession.class);
41 ArtifactType type = null;
42 if (request.getType() != null) {
43 type = session.getSession().getArtifactTypeRegistry().get(request.getType());
44 }
45 String str1 = request.getClassifier();
46 String classifier =
47 str1 != null && !str1.isEmpty() ? request.getClassifier() : type != null ? type.getClassifier() : "";
48 String str = request.getExtension();
49 String extension =
50 str != null && !str.isEmpty() ? request.getExtension() : type != null ? type.getExtension() : "";
51 return new DefaultArtifactCoordinate(
52 session,
53 new org.eclipse.aether.artifact.DefaultArtifact(
54 request.getGroupId(),
55 request.getArtifactId(),
56 classifier,
57 extension,
58 request.getVersion(),
59 type));
60 }
61 }