1 package org.apache.commons.jcs3.auxiliary.remote;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.IOException;
23 import java.util.HashMap;
24 import java.util.LinkedList;
25 import java.util.List;
26 import java.util.Map;
27 import java.util.Set;
28
29 import org.apache.commons.jcs3.auxiliary.AbstractAuxiliaryCache;
30 import org.apache.commons.jcs3.auxiliary.AuxiliaryCacheAttributes;
31 import org.apache.commons.jcs3.auxiliary.remote.behavior.IRemoteCacheClient;
32 import org.apache.commons.jcs3.auxiliary.remote.behavior.IRemoteCacheListener;
33 import org.apache.commons.jcs3.engine.CacheStatus;
34 import org.apache.commons.jcs3.engine.behavior.ICacheElement;
35 import org.apache.commons.jcs3.engine.behavior.ICacheServiceNonLocal;
36 import org.apache.commons.jcs3.engine.stats.behavior.IStats;
37 import org.apache.commons.jcs3.log.Log;
38 import org.apache.commons.jcs3.log.LogManager;
39
40
41
42
43 public class MockRemoteCacheClient<K, V>
44 extends AbstractAuxiliaryCache<K, V>
45 implements IRemoteCacheClient<K, V>
46 {
47
48 private static final Log log = LogManager.getLog( MockRemoteCacheClient.class );
49
50
51 public List<ICacheElement<K, V>> updateList = new LinkedList<>();
52
53
54 public List<K> removeList = new LinkedList<>();
55
56
57 public CacheStatus status = CacheStatus.ALIVE;
58
59
60 public Map<K, ICacheElement<K, V>> getSetupMap = new HashMap<>();
61
62
63 public Map<Set<K>, Map<K, ICacheElement<K, V>>> getMultipleSetupMap =
64 new HashMap<>();
65
66
67 public ICacheServiceNonLocal<K, V> fixed;
68
69
70 public RemoteCacheAttributes attributes = new RemoteCacheAttributes();
71
72
73
74
75 @Override
76 @SuppressWarnings("unchecked")
77 public void fixCache( final ICacheServiceNonLocal<?, ?> remote )
78 {
79 fixed = (ICacheServiceNonLocal<K, V>)remote;
80 }
81
82
83
84
85 @Override
86 public long getListenerId()
87 {
88 return 0;
89 }
90
91
92
93
94 @Override
95 public IRemoteCacheListener<K, V> getListener()
96 {
97 return null;
98 }
99
100
101
102
103 @Override
104 public void update( final ICacheElement<K, V> ce )
105 {
106 updateList.add( ce );
107 }
108
109
110
111
112 @Override
113 public ICacheElement<K, V> get( final K key )
114 {
115 log.info( "get [" + key + "]" );
116 return getSetupMap.get( key );
117 }
118
119
120
121
122
123
124
125
126 @Override
127 public Map<K, ICacheElement<K, V>> getMultiple(final Set<K> keys)
128 {
129 log.info( "get [" + keys + "]" );
130 return getMultipleSetupMap.get( keys );
131 }
132
133
134
135
136 @Override
137 public boolean remove( final K key )
138 {
139 removeList.add( key );
140 return false;
141 }
142
143
144
145
146 @Override
147 public void removeAll()
148 {
149
150 }
151
152
153
154
155 @Override
156 public void dispose()
157 {
158
159 }
160
161
162
163
164
165
166 @Override
167 public int getSize()
168 {
169 return 0;
170 }
171
172
173
174
175 @Override
176 public CacheStatus getStatus()
177 {
178 return status;
179 }
180
181
182
183
184
185
186 @Override
187 public String getCacheName()
188 {
189 return null;
190 }
191
192
193
194
195 @Override
196 public Set<K> getKeySet( )
197 {
198 return null;
199 }
200
201
202
203
204 @Override
205 public IStats getStatistics()
206 {
207 return null;
208 }
209
210
211
212
213 @Override
214 public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
215 {
216 return attributes;
217 }
218
219
220
221
222
223
224 @Override
225 public String getStats()
226 {
227 return null;
228 }
229
230
231 @Override
232 public CacheType getCacheType()
233 {
234 return CacheType.REMOTE_CACHE;
235 }
236
237
238
239
240
241
242 @Override
243 public Map<K, ICacheElement<K, V>> getMatching(final String pattern)
244 throws IOException
245 {
246 return new HashMap<>();
247 }
248
249
250
251
252
253
254 @Override
255 public String getEventLoggingExtraInfo()
256 {
257 return null;
258 }
259 }