]> source.dussan.org Git - archiva.git/blob
393eb743b5a05ba29b4d091f4af482e2be94d389
[archiva.git] /
1 package org.apache.maven.archiva.repository;
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.maven.archiva.configuration.ArchivaConfiguration;
23 import org.apache.maven.archiva.configuration.Configuration;
24 import org.apache.maven.archiva.configuration.ConfigurationListener;
25 import org.codehaus.plexus.registry.Registry;
26 import org.codehaus.plexus.registry.RegistryException;
27 import org.codehaus.plexus.registry.RegistryListener;
28 import org.easymock.MockControl;
29
30 import java.util.ArrayList;
31 import java.util.HashSet;
32 import java.util.Iterator;
33 import java.util.List;
34 import java.util.Set;
35
36 /**
37  * MockConfiguration 
38  *
39  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
40  * @version $Id$
41  * 
42  * @plexus.component role="org.apache.maven.archiva.configuration.ArchivaConfiguration"
43  *                   role-hint="mock"
44  */
45 public class MockConfiguration
46     implements ArchivaConfiguration
47 {
48     private Configuration configuration = new Configuration();
49
50     private Set<RegistryListener> registryListeners = new HashSet<RegistryListener>();
51     private Set<ConfigurationListener> configListeners = new HashSet<ConfigurationListener>();
52
53     private MockControl registryControl;
54
55     private Registry registryMock;
56
57     public MockConfiguration()
58     {
59         registryControl = MockControl.createNiceControl( Registry.class );
60         registryMock = (Registry) registryControl.getMock();
61     }
62
63     public void addChangeListener( RegistryListener listener )
64     {
65         registryListeners.add( listener );
66     }
67
68     public Configuration getConfiguration()
69     {
70         return configuration;
71     }
72
73     public void save( Configuration configuration )
74         throws RegistryException
75     {
76         /* do nothing */
77     }
78
79     public void triggerChange( String name, String value )
80     {
81         for(RegistryListener listener: registryListeners)
82         {
83             try
84             {
85                 listener.afterConfigurationChange( registryMock, name, value );
86             }
87             catch ( Exception e )
88             {
89                 e.printStackTrace();
90             }
91         }
92     }
93
94     public void addListener( ConfigurationListener listener )
95     {
96         configListeners.add(listener);
97     }
98
99     public void removeListener( ConfigurationListener listener )
100     {
101         configListeners.remove( listener );
102     }
103 }