rubys       2002/10/03 07:31:40

  Modified:    java/src/org/apache/axis/configuration Tag: axis1_0
                        EngineConfigurationFactoryFinder.java
  Log:
  Bug 13149: client needs servlet.jar merged into 1.0
    +1: Glen, Richard, Dims, Dug
    +0: Glyn
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.12.4.2  +25 -22    
xml-axis/java/src/org/apache/axis/configuration/EngineConfigurationFactoryFinder.java
  
  Index: EngineConfigurationFactoryFinder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/configuration/EngineConfigurationFactoryFinder.java,v
  retrieving revision 1.12.4.1
  retrieving revision 1.12.4.2
  diff -u -r1.12.4.1 -r1.12.4.2
  --- EngineConfigurationFactoryFinder.java     30 Sep 2002 13:19:24 -0000      
1.12.4.1
  +++ EngineConfigurationFactoryFinder.java     3 Oct 2002 14:31:40 -0000       
1.12.4.2
  @@ -56,11 +56,13 @@
   package org.apache.axis.configuration;
   
   import java.lang.reflect.Method;
  +import java.lang.reflect.InvocationTargetException;
   import java.security.AccessController;
   import java.security.PrivilegedAction;
   
   import org.apache.axis.EngineConfigurationFactory;
   import org.apache.axis.components.logger.LogFactory;
  +import org.apache.axis.discovery.DiscoverConstNames;
   import org.apache.axis.discovery.DiscoverOldNamesInManagedProperties;
   import org.apache.axis.utils.Messages;
   import org.apache.commons.discovery.ResourceClassIterator;
  @@ -153,6 +155,12 @@
                           nameDiscoverers.addResourceNameDiscover(new 
DiscoverOldNamesInManagedProperties());
                           nameDiscoverers.addResourceNameDiscover(new 
DiscoverNamesInManagedProperties());
                           nameDiscoverers.addResourceNameDiscover(new 
DiscoverServiceNames(loaders));
  +                        nameDiscoverers.addResourceNameDiscover(new 
DiscoverConstNames(
  +                            new String[] {
  +                                
"org.apache.axis.configuration.EngineConfigurationFactoryServlet",
  +                                
"org.apache.axis.configuration.EngineConfigurationFactoryDefault",
  +                                })
  +                            );
                               
                           ResourceNameIterator it = 
nameDiscoverers.findResourceNames(mySpi.getName());
                   
  @@ -164,33 +172,18 @@
                           while (factory == null  &&  services.hasNext()) {
                               Class service = 
services.nextResourceClass().loadClass();
                   
  -                            factory = newFactory(service, newFactoryParamTypes, 
params);
  -                        }
  -                
  -                        if (factory == null) {
  -                            try {
  -                                factory = 
EngineConfigurationFactoryServlet.newFactory(obj);
  -                            } catch (RuntimeException e) {
  -                                
log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
  -                                                              
EngineConfigurationFactoryServlet.class.getName(),
  -                                                              requiredMethod), e);
  -                            }
  -                
  -                            if (factory == null) {
  -                                try {
  -                                    // should NEVER return null.
  -                                    factory = 
EngineConfigurationFactoryDefault.newFactory(obj);
  -                                } catch (RuntimeException e) {
  -                                    
log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
  -                                                                  
EngineConfigurationFactoryDefault.class.getName(),
  -                                                                  requiredMethod), 
e);
  -                                }
  +                            /* service == null
  +                             * if class resource wasn't loadable
  +                             */
  +                            if (service != null) {
  +                                factory = newFactory(service, newFactoryParamTypes, 
params);
                               }
                           }
                   
                           if (factory != null) {
  -                            if(log.isDebugEnabled())
  +                            if(log.isDebugEnabled()) {
                                   log.debug(Messages.getMessage("engineFactory", 
factory.getClass().getName()));
  +                            }
                           } else {
                               
log.error(Messages.getMessage("engineConfigFactoryMissing"));
                               // we should be throwing an exception here,
  @@ -232,6 +225,16 @@
           } else {
               try {
                   return (EngineConfigurationFactory)method.invoke(null, param);
  +            } catch (InvocationTargetException e) {
  +                if (e.getTargetException() instanceof 
java.lang.NoClassDefFoundError) {
  +                    log.debug(Messages.getMessage("engineConfigInvokeNewFactory",
  +                                                  service.getName(),
  +                                                  requiredMethod), e);
  +                } else {
  +                    log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
  +                                                  service.getName(),
  +                                                  requiredMethod), e);
  +                }
               } catch (Exception e) {
                   log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
                                                 service.getName(),
  
  
  


Reply via email to