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.
- Re: [wsif] Proposed change to WSIF service factory Nirmal Mukhi
- Re: [wsif] Proposed change to WSIF service facto... Aleksander Slominski
- Re: [wsif] Proposed change to WSIF service facto... piotrp
- Re: [wsif] Proposed change to WSIF service facto... Anthony Elder
- Re: [wsif] Proposed change to WSIF service f... Nirmal Mukhi
- Re: [wsif] Proposed change to WSIF servi... Aleksander Slominski
- Re: [wsif] Proposed change to WSIF s... Nirmal Mukhi
- Re: [wsif] Proposed change to WSIF service facto... Owen D Burroughs
- Re: [wsif] Proposed change to WSIF service f... Nirmal Mukhi