The code policeman probably wont like you catching Exception rather than each specific Exception subclasses, and also not tracing that the exception is ignored. If there was a problem would the user want to know by having a WSIFException thrown instead of just returning the default factory? For example if there's a security problem?
...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Nirmal Mukhi/Watson/IBM@IBMUS on 18/12/2002 16:45:49 Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: [wsif] Proposed change to WSIF service factory 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.