axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nirmal Mukhi <nmu...@us.ibm.com>
Subject [wsif] Proposed change to WSIF service factory
Date Wed, 18 Dec 2002 16:45:49 GMT
Hi,

I'd like to change the newInstance method in the WSIF service factory. 
currently it just instantiates the default factory implementation. This is 
a problem since it doesn't allow users to plug in their own factories. We 
should follow the JAXP-style algorithm for looking for a suitable factory 
before resorting to the default one. 

For now however, I'm proposing just a simple change which gives the 
desired flexibility with minimum change to code: just looking for a system 
property that names the desired factory. Jeremy since you've been taking 
care of this part of the code, can you eyeball this before I commit any 
change?

Here's the proposed method with changes:

    public static WSIFServiceFactory newInstance() {
        Trc.entry(null);

        String desiredFactory = 
WSIFProperties.getProperty(FACTORY_PROPERTY_NAME);
        WSIFServiceFactory wsf = null;
        if (desiredFactory!=null) {
            try {
                Class factoryClass = Class.forName(desiredFactory);
                wsf = (WSIFServiceFactory) factoryClass.newInstance();
            } catch (Exception exception) {
                // ignore the exception and instantiate default factory
                wsf = new WSIFServiceFactoryImpl();
            }
        } else {
            wsf = new WSIFServiceFactoryImpl();
        }
        // Create the simple types map for use by other WSIF classes
        WSIFUtils.createSimpleTypesMap();

        Trc.exit(wsf);
        return wsf;
    }

What do you think?

Nirmal.
Mime
View raw message