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

Reply via email to