1
Description: Refactoring to use Google Collections 1.0 API
2
Author: James Page <james.page@canonical.com>
3
Forwarded: https://bugs.launchpad.net/eucalyptus/+bug/784569
5
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/ServiceJarDiscovery.java
6
===================================================================
7
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/ServiceJarDiscovery.java 2011-05-18 11:40:02.923480988 +0100
8
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/bootstrap/ServiceJarDiscovery.java 2011-05-18 11:40:12.543460635 +0100
10
import com.eucalyptus.system.Ats;
11
import com.eucalyptus.system.BaseDirectory;
12
import com.google.common.base.Function;
13
+import com.google.common.collect.ArrayListMultimap;
14
import com.google.common.collect.Lists;
15
import com.google.common.collect.Multimap;
16
import com.google.common.collect.Multimaps;
18
public abstract class ServiceJarDiscovery implements Comparable<ServiceJarDiscovery> {
19
private static Logger LOG = Logger.getLogger( ServiceJarDiscovery.class );
20
private static SortedSet<ServiceJarDiscovery> discovery = Sets.newTreeSet( );
21
- private static Multimap<Class, String> classList = Multimaps.newArrayListMultimap( );
22
+ private static Multimap<Class, String> classList = ArrayListMultimap.create( );
24
@SuppressWarnings( { "deprecation", "unchecked" } )
25
public static void processFile( File f ) throws IOException {
26
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/component/Component.java
27
===================================================================
28
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/component/Component.java 2011-05-18 11:40:02.903481030 +0100
29
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/component/Component.java 2011-05-18 11:40:12.543460635 +0100
31
import com.eucalyptus.util.NetworkUtil;
32
import com.google.common.collect.Maps;
33
import com.google.common.collect.Sets;
34
+import com.google.common.collect.MapMaker;
39
private Lifecycle lifecycle;
40
private Boolean enabled;
41
private Boolean local;
42
- private Map<String, Service> services = Maps.newConcurrentHashMap( );
43
+ private Map<String, Service> services = new MapMaker().makeMap( );
45
Component( String name, URI configFile ) throws ServiceRegistrationException {
47
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/component/DefaultServiceBuilder.java
48
===================================================================
49
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/component/DefaultServiceBuilder.java 2011-05-18 11:40:02.913481009 +0100
50
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/component/DefaultServiceBuilder.java 2011-05-18 11:40:12.543460635 +0100
52
import com.eucalyptus.util.NetworkUtil;
53
import com.google.common.collect.Lists;
54
import com.google.common.collect.Maps;
55
+import com.google.common.collect.MapMaker;
57
public class DefaultServiceBuilder extends AbstractServiceBuilder<ServiceConfiguration> {
58
private Component component;
59
- private Map<String, ServiceConfiguration> services = Maps.newConcurrentHashMap( );
60
+ private Map<String, ServiceConfiguration> services = new MapMaker().makeMap( );
62
public DefaultServiceBuilder( Component component ) {
63
this.component = component;
64
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/configurable/PropertyDirectory.java
65
===================================================================
66
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/configurable/PropertyDirectory.java 2011-05-18 11:40:02.953480925 +0100
67
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/configurable/PropertyDirectory.java 2011-05-18 11:40:12.543460635 +0100
69
import com.google.common.collect.Maps;
70
import com.google.common.collect.Multimap;
71
import com.google.common.collect.Multimaps;
72
+import com.google.common.collect.HashMultimap;
73
import edu.ucsb.eucalyptus.msgs.ComponentProperty;
75
public class PropertyDirectory {
76
private static Logger LOG = Logger.getLogger( PropertyDirectory.class );
77
private static Map<String, ConfigurableProperty> fqMap = Maps.newHashMap( );
78
- private static Multimap<String, ConfigurableProperty> fqPrefixMap = Multimaps.newHashMultimap( );
79
+ private static Multimap<String, ConfigurableProperty> fqPrefixMap = HashMultimap.create( );
80
private static Map<String, ConfigurableProperty> fqPendingMap = Maps.newHashMap( );
81
- private static Multimap<String, ConfigurableProperty> fqPendingPrefixMap = Multimaps.newHashMultimap( );
82
+ private static Multimap<String, ConfigurableProperty> fqPendingPrefixMap = HashMultimap.create( );
84
private static List<ConfigurablePropertyBuilder> builders = Lists.newArrayList( new StaticPropertyEntry.StaticPropertyBuilder( ),
85
new SingletonDatabasePropertyEntry.DatabasePropertyBuilder( ),
86
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/configurable/ConfigurationProperties.java
87
===================================================================
88
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/configurable/ConfigurationProperties.java 2011-05-18 11:40:02.943480946 +0100
89
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/configurable/ConfigurationProperties.java 2011-05-18 11:40:12.543460635 +0100
91
import com.google.common.collect.Maps;
92
import com.google.common.collect.Multimap;
93
import com.google.common.collect.Multimaps;
94
+import com.google.common.collect.HashMultimap;
96
public class ConfigurationProperties {
97
private static Logger LOG = Logger.getLogger( ConfigurationProperties.class );
99
- private static Multimap<String,Class> fileToClassMap = Multimaps.newHashMultimap( );
100
- private static Multimap<Class,String> classToFieldMap = Multimaps.newHashMultimap( );
101
+ private static Multimap<String,Class> fileToClassMap = HashMultimap.create( );
102
+ private static Multimap<Class,String> classToFieldMap = HashMultimap.create( );
103
private static Map<String,PropertyTypeParser> fieldTypeMap = Maps.newHashMap( );
105
@SuppressWarnings( "deprecation" )
106
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/entities/PersistenceContexts.java
107
===================================================================
108
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/entities/PersistenceContexts.java 2011-05-18 11:40:02.933480967 +0100
109
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/entities/PersistenceContexts.java 2011-05-18 11:40:12.543460635 +0100
111
public static int MAX_FAIL = 5;
112
private static AtomicInteger failCount = new AtomicInteger( 0 );
113
private static Logger LOG = Logger.getLogger( PersistenceContexts.class );
114
- private static final ArrayListMultimap<String, Class> entities = Multimaps.newArrayListMultimap( );
115
+ private static final ArrayListMultimap<String, Class> entities = ArrayListMultimap.create( );
116
private static final List<Class> sharedEntities = Lists.newArrayList( );
117
private static Map<String, EntityManagerFactoryImpl> emf = new ConcurrentSkipListMap<String, EntityManagerFactoryImpl>( );
118
private static List<Exception> illegalAccesses = Collections.synchronizedList( Lists.newArrayList( ) );
119
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/event/ReentrantListenerRegistry.java
120
===================================================================
121
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/event/ReentrantListenerRegistry.java 2011-05-18 11:40:02.973480883 +0100
122
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/event/ReentrantListenerRegistry.java 2011-05-18 11:40:12.553460614 +0100
124
import com.eucalyptus.util.LogUtil;
125
import com.google.common.collect.Lists;
126
import com.google.common.collect.Multimap;
127
+import com.google.common.collect.ArrayListMultimap;
128
import com.google.common.collect.Multimaps;
129
import com.eucalyptus.records.EventRecord;
133
public ReentrantListenerRegistry( ) {
135
- this.listenerMap = Multimaps.newArrayListMultimap( );
136
+ this.listenerMap = ArrayListMultimap.create( );
137
this.modificationLock = new ReentrantLock( );
140
Index: eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/util/Composites.java
141
===================================================================
142
--- eucalyptus.orig/clc/modules/msgs/src/main/java/com/eucalyptus/util/Composites.java 2011-05-18 11:40:02.943480946 +0100
143
+++ eucalyptus/clc/modules/msgs/src/main/java/com/eucalyptus/util/Composites.java 2011-05-18 11:40:12.553460614 +0100
145
import com.google.common.base.Function;
146
import com.google.common.collect.Lists;
147
import com.google.common.collect.Maps;
148
+import com.google.common.collect.MapMaker;
150
public class Composites {
151
private static Logger LOG = Logger.getLogger( Composites.class );
152
- private static ConcurrentMap<Class, CompositeHelper> subTypeCache = Maps.newConcurrentHashMap( );
153
+ private static ConcurrentMap<Class, CompositeHelper> subTypeCache = new MapMaker( ).makeMap( );
155
private static <T> CompositeHelper<T> build( Class<T> destType ) {
156
List<Class> sourceTypes = Lists.newArrayList( );
157
Index: eucalyptus/clc/modules/configuration/src/main/java/com/eucalyptus/config/Configuration.java
158
===================================================================
159
--- eucalyptus.orig/clc/modules/configuration/src/main/java/com/eucalyptus/config/Configuration.java 2011-05-18 11:40:02.993480841 +0100
160
+++ eucalyptus/clc/modules/configuration/src/main/java/com/eucalyptus/config/Configuration.java 2011-05-18 11:40:12.553460614 +0100
162
import com.eucalyptus.util.EucalyptusCloudException;
163
import com.eucalyptus.util.NetworkUtil;
164
import com.google.common.collect.Maps;
165
+import com.google.common.collect.MapMaker;
166
import edu.ucsb.eucalyptus.msgs.ComponentInfoType;
167
import edu.ucsb.eucalyptus.msgs.DeregisterComponentResponseType;
168
import edu.ucsb.eucalyptus.msgs.DeregisterComponentType;
170
static String CLUSTER_KEY_FSTRING = "cc-%s";
171
static String NODE_KEY_FSTRING = "nc-%s";
173
- private static Map<Class,ServiceBuilder<ComponentConfiguration>> builders = Maps.newConcurrentHashMap( );
174
+ private static Map<Class,ServiceBuilder<ComponentConfiguration>> builders = new MapMaker( ).makeMap();
175
public static void addBuilder( Class c, ServiceBuilder b ) {
176
builders.put( c, b );
178
Index: eucalyptus/clc/modules/wsstack/src/main/java/com/eucalyptus/ws/client/RemoteBootstrapperClient.java
179
===================================================================
180
--- eucalyptus.orig/clc/modules/wsstack/src/main/java/com/eucalyptus/ws/client/RemoteBootstrapperClient.java 2011-05-18 11:40:02.853481137 +0100
181
+++ eucalyptus/clc/modules/wsstack/src/main/java/com/eucalyptus/ws/client/RemoteBootstrapperClient.java 2011-05-18 11:40:12.553460614 +0100
183
import com.google.common.collect.Maps;
184
import com.google.common.collect.Multimap;
185
import com.google.common.collect.Multimaps;
186
+import com.google.common.collect.MapMaker;
187
+import com.google.common.collect.ArrayListMultimap;
189
@Provides(Component.eucalyptus)
190
@RunDuring(Bootstrap.Stage.RemoteConfiguration)
192
this.channelFactory = new NioClientSocketChannelFactory( Executors.newCachedThreadPool( ), Executors.newCachedThreadPool( ) );
193
this.clientBootstrap = new NioBootstrap( channelFactory );
194
this.clientBootstrap.setPipelineFactory( this );
195
- this.componentMap = Multimaps.newArrayListMultimap( );
196
- this.heartbeatMap = Maps.newConcurrentHashMap( );
197
+ this.componentMap = ArrayListMultimap.create( );
198
+ this.heartbeatMap = new MapMaker( ).makeMap();
201
public ChannelPipeline getPipeline( ) throws Exception {
202
Index: eucalyptus/clc/modules/cluster-manager/src/main/java/com/eucalyptus/cluster/StatefulMessageSet.java
203
===================================================================
204
--- eucalyptus.orig/clc/modules/cluster-manager/src/main/java/com/eucalyptus/cluster/StatefulMessageSet.java 2011-05-18 11:40:02.863481116 +0100
205
+++ eucalyptus/clc/modules/cluster-manager/src/main/java/com/eucalyptus/cluster/StatefulMessageSet.java 2011-05-18 11:40:12.553460614 +0100
207
import com.google.common.base.Function;
208
import com.google.common.collect.Lists;
209
import com.google.common.collect.Multimap;
210
+import com.google.common.collect.HashMultimap;
211
import com.google.common.collect.Multimaps;
212
import com.eucalyptus.records.EventRecord;
214
public class StatefulMessageSet<E extends Enum<E>> {
215
private static Logger LOG = Logger.getLogger( StatefulMessageSet.class );
216
- private Multimap<E, QueuedEventCallback> messages = Multimaps.newHashMultimap( );
217
+ private Multimap<E, QueuedEventCallback> messages = HashMultimap.create( );
218
private ConcurrentLinkedQueue<QueuedEventCallback> pendingEvents = new ConcurrentLinkedQueue<QueuedEventCallback>( );
221
Index: eucalyptus/clc/modules/cluster-manager/src/main/java/com/eucalyptus/cluster/callback/StateUpdateHandler.java
222
===================================================================
223
--- eucalyptus.orig/clc/modules/cluster-manager/src/main/java/com/eucalyptus/cluster/callback/StateUpdateHandler.java 2011-05-18 11:40:02.873481095 +0100
224
+++ eucalyptus/clc/modules/cluster-manager/src/main/java/com/eucalyptus/cluster/callback/StateUpdateHandler.java 2011-05-18 11:40:12.563460593 +0100
226
import com.google.common.base.Predicate;
227
import com.google.common.collect.Iterables;
228
import com.google.common.collect.Maps;
229
+import com.google.common.collect.MapMaker;
231
public class StateUpdateHandler implements EventListener {
232
private static Logger LOG = Logger.getLogger( StateUpdateHandler.class );
233
- private static final ConcurrentMap<String,StateUpdateHandler> clusterMap = Maps.newConcurrentHashMap( );
234
- private final ConcurrentMap<Class,AtomicBoolean> inflightMap = Maps.newConcurrentHashMap( );
235
- private final ConcurrentMap<Class,QueuedEventCallback> callbackMap = Maps.newConcurrentHashMap( );
236
+ private static final MapMaker mMaker = new MapMaker();
237
+ private static final ConcurrentMap<String,StateUpdateHandler> clusterMap = mMaker.makeMap();
238
+ private final ConcurrentMap<Class,AtomicBoolean> inflightMap = mMaker.makeMap();
239
+ private final ConcurrentMap<Class,QueuedEventCallback> callbackMap = mMaker.makeMap();
240
private final Cluster cluster;
242
public static void create( Cluster cluster, QueuedEventCallback callback ) {
243
Index: eucalyptus/clc/modules/cluster-manager/src/main/java/com/eucalyptus/sla/ClusterAllocator.java
244
===================================================================
245
--- eucalyptus.orig/clc/modules/cluster-manager/src/main/java/com/eucalyptus/sla/ClusterAllocator.java 2011-05-18 11:40:02.893481052 +0100
246
+++ eucalyptus/clc/modules/cluster-manager/src/main/java/com/eucalyptus/sla/ClusterAllocator.java 2011-05-18 11:40:12.563460593 +0100
248
if ( primaryNet != null ) {
249
vlan = primaryNet.getVlan( );
250
networkNames = Lists.newArrayList( primaryNet.getNetworkName( ) );
251
- netIndexes = Lists.newArrayList( Iterables.transform( primaryNet.getIndexes( ), Functions.TO_STRING ) );
252
+ netIndexes = Lists.newArrayList( Iterables.transform( primaryNet.getIndexes( ), Functions.toStringFunction() ) );
255
networkNames = Lists.newArrayList( "default" );
256
Index: eucalyptus/clc/modules/image-manager/src/main/java/com/eucalyptus/blockstorage/StorageUtil.java
257
===================================================================
258
--- eucalyptus.orig/clc/modules/image-manager/src/main/java/com/eucalyptus/blockstorage/StorageUtil.java 2011-05-18 11:40:33.753415784 +0100
259
+++ eucalyptus/clc/modules/image-manager/src/main/java/com/eucalyptus/blockstorage/StorageUtil.java 2011-05-18 11:41:09.193340916 +0100
261
import com.google.common.collect.Lists;
262
import com.google.common.collect.Maps;
263
import com.google.common.collect.Multimap;
264
+import com.google.common.collect.HashMultimap;
265
import com.google.common.collect.Multimaps;
267
import edu.ucsb.eucalyptus.cloud.state.State;
271
public static ArrayList<edu.ucsb.eucalyptus.msgs.Volume> getVolumeReply( Map<String, AttachedVolume> attachedVolumes, List<Volume> volumes ) throws EucalyptusCloudException {
272
- Multimap<String,Volume> clusterVolumeMap = Multimaps.newHashMultimap( );
273
+ Multimap<String,Volume> clusterVolumeMap = HashMultimap.create( );
274
Map<String,StorageVolume> idStorageVolumeMap = Maps.newHashMap( );
275
for( Volume v : volumes ) {
276
clusterVolumeMap.put( v.getCluster( ), v );