Hi all,
Due to a design issue in the Axis2 API we have implemented the getServices()
method as follows,
public HashMap<String, AxisService> getServices() {
HashMap<String, AxisService> hashMap = new HashMap<String,
AxisService>(this.allServices.size());
String key;
for (Iterator<String> iter = this.allServices.keySet().iterator();
iter.hasNext();){
key = iter.next();
hashMap.put(key, this.allServices.get(key));
}
return hashMap;
}
In my view this is highly inefficient, especially if you have plenty of
services in the system. Wouldn't it be better to fix the API and return a
Map instead of a HashMap? If we did that we could simple return allServices
instead of returning a copy of it.
If we are making this change I propose that we fix this for modules,
transports as well.
Thanks,
Keith.
--
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/
blog: http://www.keith-chapman.org