1 package org.apache.archiva.proxy;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.archiva.configuration.ArchivaConfiguration;
23 import org.apache.archiva.configuration.Configuration;
24 import org.apache.archiva.configuration.ConfigurationListener;
25 import org.apache.archiva.configuration.FileType;
26 import org.apache.archiva.configuration.FileTypes;
27 import org.apache.archiva.configuration.RepositoryScanningConfiguration;
28 import org.apache.archiva.redback.components.registry.Registry;
29 import org.apache.archiva.redback.components.registry.RegistryException;
30 import org.apache.archiva.redback.components.registry.RegistryListener;
31 import org.easymock.EasyMock;
32 import org.easymock.IMocksControl;
33 import org.springframework.stereotype.Service;
34
35 import java.util.Collections;
36 import java.util.HashSet;
37 import java.util.List;
38 import java.util.Set;
39 import javax.annotation.PostConstruct;
40
41
42
43
44
45
46 @Service( "archivaConfiguration#mock" )
47 public class MockConfiguration
48 implements ArchivaConfiguration
49 {
50
51 private Configuration configuration = new Configuration();
52
53 private Set<RegistryListener> registryListeners = new HashSet<RegistryListener>();
54
55 private Set<ConfigurationListener> configListeners = new HashSet<ConfigurationListener>();
56
57 private IMocksControl registryControl;
58
59 private Registry registryMock;
60
61 public MockConfiguration()
62 {
63 registryControl = EasyMock.createNiceControl( );
64 registryMock = registryControl.createMock( Registry.class );
65 }
66
67 @PostConstruct
68 public void initialize()
69 throws Exception
70 {
71
72 configuration.setRepositoryScanning( new RepositoryScanningConfiguration()
73 {
74 @Override
75 public List<FileType> getFileTypes()
76 {
77 FileType fileType = new FileType();
78 fileType.setId( FileTypes.ARTIFACTS );
79 fileType.setPatterns( Collections.singletonList( "**/*" ) );
80 return Collections.singletonList( fileType );
81 }
82 } );
83 }
84
85 @Override
86 public void addChangeListener( org.apache.archiva.redback.components.registry.RegistryListener listener )
87 {
88 registryListeners.add( listener );
89 }
90
91 @Override
92 public void removeChangeListener( RegistryListener listener )
93 {
94 registryListeners.remove( listener );
95 }
96
97 @Override
98 public Configuration getConfiguration()
99 {
100 return configuration;
101 }
102
103 @Override
104 public void save( Configuration configuration )
105 throws RegistryException
106 {
107
108 }
109
110 public void triggerChange( String name, String value )
111 {
112 for ( org.apache.archiva.redback.components.registry.RegistryListener listener : registryListeners )
113 {
114 try
115 {
116 listener.afterConfigurationChange( registryMock, name, value );
117 }
118 catch ( Exception e )
119 {
120 e.printStackTrace();
121 }
122 }
123 }
124
125 @Override
126 public void addListener( ConfigurationListener listener )
127 {
128 configListeners.add( listener );
129 }
130
131 @Override
132 public void removeListener( ConfigurationListener listener )
133 {
134 configListeners.remove( listener );
135 }
136
137 @Override
138 public boolean isDefaulted()
139 {
140 return false;
141 }
142
143 @Override
144 public void reload()
145 {
146
147 }
148 }