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.Artifact;
25 import org.apache.maven.api.annotations.Nonnull;
26 import org.apache.maven.api.services.ArtifactFactory;
27 import org.apache.maven.api.services.ArtifactFactoryRequest;
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 DefaultArtifactFactory implements ArtifactFactory {
36 @Override
37 public Artifact create(@Nonnull ArtifactFactoryRequest 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() : null;
48 String str = request.getExtension();
49 String extension =
50 str != null && !str.isEmpty() ? request.getExtension() : type != null ? type.getExtension() : null;
51 return new DefaultArtifact(
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 }