]> source.dussan.org Git - archiva.git/blob
8ed0d23f0ca66019bcb679a068b643d26d00993e
[archiva.git] /
1 package org.apache.archiva.repository.mock;
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 org.apache.archiva.common.utils.VersionUtil;
23 import org.apache.archiva.repository.content.LayoutException;
24 import org.apache.archiva.repository.RemoteRepository;
25 import org.apache.archiva.repository.RemoteRepositoryContent;
26 import org.apache.archiva.repository.content.ItemSelector;
27 import org.apache.commons.lang3.StringUtils;
28 import org.springframework.stereotype.Service;
29
30 /**
31  * @author Martin Stockhammer <martin_s@apache.org>
32  */
33 @Service("remoteRepositoryContent#mock")
34 public class RemoteRepositoryContentMock implements RemoteRepositoryContent
35 {
36     RemoteRepository repository;
37
38     RemoteRepositoryContentMock(RemoteRepository repo) {
39         this.repository = repo;
40     }
41
42     @Override
43     public String getId( )
44     {
45         return repository.getId();
46     }
47
48     @Override
49     public RemoteRepository getRepository( )
50     {
51         return repository;
52     }
53
54     @Override
55     public void setRepository( RemoteRepository repo )
56     {
57         this.repository = repo;
58     }
59
60     @Override
61     public String toPath( ItemSelector selector )
62     {
63         String baseVersion;
64         if (!selector.hasVersion() && VersionUtil.isSnapshot(selector.getArtifactVersion())) {
65             baseVersion=VersionUtil.getBaseVersion(selector.getArtifactVersion());
66         } else {
67             baseVersion=selector.getVersion();
68         }
69         return selector.getNamespace().replaceAll("\\.", "/")+"/"+selector.getArtifactId()+"/"+baseVersion+"/"
70             +selector.getArtifactId()+"-"+selector.getVersion()+(
71             StringUtils.isNotEmpty(selector.getClassifier()) ? "-"+selector.getClassifier() : "")+"."+selector.getType();
72     }
73
74     @Override
75     public ItemSelector toItemSelector( String path ) throws LayoutException
76     {
77         return null;
78     }
79
80 }