]> source.dussan.org Git - archiva.git/blob
50bf74570cb1f76cc4a5344e70bad714dfbb54dd
[archiva.git] /
1 package org.apache.archiva.configuration;
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.redback.components.registry.RegistryException;
23 import org.apache.archiva.redback.components.registry.RegistryListener;
24 import org.apache.commons.lang.StringUtils;
25 import org.springframework.stereotype.Service;
26
27 import java.nio.file.Path;
28 import java.nio.file.Paths;
29 import java.util.List;
30 import java.util.Locale;
31
32 @Service("archivaConfiguration#mocked")
33 public class StubConfiguration
34     implements ArchivaConfiguration
35 {
36     private Configuration configuration;
37
38     @Override
39     public Configuration getConfiguration()
40     {
41         return configuration;
42     }
43
44     @Override
45     public void save( Configuration configuration )
46         throws RegistryException, IndeterminateConfigurationException
47     {
48         this.configuration = configuration;
49     }
50
51     @Override
52     public boolean isDefaulted()
53     {
54         return false;
55     }
56
57     @Override
58     public void addListener( ConfigurationListener listener )
59     {
60         throw new UnsupportedOperationException();
61     }
62
63     @Override
64     public void removeListener( ConfigurationListener listener )
65     {
66         throw new UnsupportedOperationException();
67     }
68
69     @Override
70     public void addChangeListener( RegistryListener listener )
71     {
72         throw new UnsupportedOperationException();
73     }
74
75     @Override
76     public void removeChangeListener( RegistryListener listener )
77     {
78         throw new UnsupportedOperationException();
79     }
80
81     @Override
82     public void reload()
83     {
84         // no op
85     }
86
87     @Override
88     public Locale getDefaultLocale( )
89     {
90         return Locale.getDefault();
91     }
92
93     @Override
94     public List<Locale.LanguageRange> getLanguagePriorities( )
95     {
96         return Locale.LanguageRange.parse( "en,fr,de" );
97     }
98
99     @Override
100     public Path getAppServerBaseDir() {
101         if (System.getProperties().containsKey("appserver.base")) {
102             return Paths.get(System.getProperty("appserver.base"));
103         } else {
104             return Paths.get("");
105         }
106     }
107
108     @Override
109     public Path getRepositoryBaseDir() {
110         return getDataDirectory().resolve("repositories");
111     }
112
113     @Override
114     public Path getRemoteRepositoryBaseDir() {
115         return getDataDirectory().resolve("remotes");
116     }
117
118     @Override
119     public Path getRepositoryGroupBaseDir( )
120     {
121         return getDataDirectory().resolve("group");
122     }
123
124     @Override
125     public Path getDataDirectory() {
126         if (configuration!=null && StringUtils.isNotEmpty(configuration.getArchivaRuntimeConfiguration().getDataDirectory())) {
127             Path dataDir = Paths.get(configuration.getArchivaRuntimeConfiguration().getDataDirectory());
128             if (dataDir.isAbsolute()) {
129                 return dataDir;
130             } else {
131                 return getAppServerBaseDir().resolve(dataDir);
132             }
133         } else {
134             return getAppServerBaseDir().resolve("data");
135         }
136
137     }
138 }