You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gl...@apache.org on 2002/03/22 17:20:15 UTC

cvs commit: xml-axis/java/src/javax/xml/soap FactoryFinder.java

glyn        02/03/22 08:20:15

  Modified:    java/src/javax/xml/soap FactoryFinder.java
  Log:
  Add file close and give local variables meaningful names.
  
  Note: this class is not defined by JAXM and so has package scope.
  
  Revision  Changes    Path
  1.3       +45 -31    xml-axis/java/src/javax/xml/soap/FactoryFinder.java
  
  Index: FactoryFinder.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/javax/xml/soap/FactoryFinder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FactoryFinder.java	29 Jan 2002 01:52:45 -0000	1.2
  +++ FactoryFinder.java	22 Mar 2002 16:20:15 -0000	1.3
  @@ -61,34 +61,43 @@
   
   import java.util.Properties;
   
  +/**
  + * This class is used to locate factory classes for javax.xml.soap.
  + * It has package scope since it is not part of JAXM and should not
  + * be accessed from other packages.
  + */
   class FactoryFinder {
   
       FactoryFinder() {}
   
  -    private static Object newInstance(String s, ClassLoader classloader)
  -            throws SOAPException {
  +    private static Object newInstance(String factoryClassName,
  +                                      ClassLoader classloader)
  +        throws SOAPException {
   
           try {
  -            Class class1;
  +            Class factory;
   
               if (classloader == null) {
  -                class1 = Class.forName(s);
  +                factory = Class.forName(factoryClassName);
               } else {
  -                class1 = classloader.loadClass(s);
  +                factory = classloader.loadClass(factoryClassName);
               }
   
  -            return class1.newInstance();
  +            return factory.newInstance();
           } catch (ClassNotFoundException classnotfoundexception) {
  -            throw new SOAPException("Provider " + s + " not found",
  +            throw new SOAPException("Provider " + factoryClassName +
  +                                    " not found",
                                       classnotfoundexception);
           } catch (Exception exception) {
  -            throw new SOAPException("Provider " + s
  -                                    + " could not be instantiated: "
  -                                    + exception, exception);
  +            throw new SOAPException("Provider " + factoryClassName +
  +                                    " could not be instantiated: " +
  +                                    exception,
  +                                    exception);
           }
       }
   
  -    static Object find(String s, String s1) throws SOAPException {
  +    static Object find(String factoryPropertyName,
  +                       String defaultFactoryClassName) throws SOAPException {
   
           ClassLoader classloader;
   
  @@ -99,60 +108,65 @@
           }
   
           try {
  -            String s2 = System.getProperty(s);
  +            String factoryClassName = System.getProperty(factoryPropertyName);
   
  -            if (s2 != null) {
  -                return newInstance(s2, classloader);
  +            if (factoryClassName != null) {
  +                return newInstance(factoryClassName, classloader);
               }
           } catch (SecurityException securityexception) {}
   
           try {
  -            String s3   = System.getProperty("java.home");
  -            String s5   = s3 + File.separator + "lib" + File.separator
  -                          + "jaxm.properties";
  -            File   file = new File(s5);
  +            String propertiesFileName = System.getProperty("java.home") +
  +                File.separator + "lib" + File.separator + "jaxm.properties";
  +            File file = new File(propertiesFileName);
   
               if (file.exists()) {
  +                FileInputStream fileInput = new FileInputStream(file);
                   Properties properties = new Properties();
   
  -                properties.load(new FileInputStream(file));
  +                properties.load(fileInput);
  +                fileInput.close();
   
  -                String s7 = properties.getProperty(s);
  +                String factoryClassName = properties.
  +                    getProperty(factoryPropertyName);
   
  -                return newInstance(s7, classloader);
  +                return newInstance(factoryClassName, classloader);
               }
           } catch (Exception exception1) {}
   
  -        String s4 = "META-INF/services/" + s;
  +        String factoryResource = "META-INF/services/" + factoryPropertyName;
   
           try {
               java.io.InputStream inputstream = null;
   
               if (classloader == null) {
  -                inputstream = ClassLoader.getSystemResourceAsStream(s4);
  +                inputstream = ClassLoader.
  +                    getSystemResourceAsStream(factoryResource);
               } else {
  -                inputstream = classloader.getResourceAsStream(s4);
  +                inputstream = classloader.getResourceAsStream(factoryResource);
               }
   
               if (inputstream != null) {
                   BufferedReader bufferedreader =
                       new BufferedReader(new InputStreamReader(inputstream,
  -                        "UTF-8"));
  -                String         s6             = bufferedreader.readLine();
  +                                                             "UTF-8"));
  +                String factoryClassName = bufferedreader.readLine();
   
                   bufferedreader.close();
   
  -                if ((s6 != null) &&!"".equals(s6)) {
  -                    return newInstance(s6, classloader);
  +                if ((factoryClassName != null) &&
  +                    !"".equals(factoryClassName)) {
  +                    return newInstance(factoryClassName, classloader);
                   }
               }
           } catch (Exception exception2) {}
   
  -        if (s1 == null) {
  -            throw new SOAPException("Provider for " + s + " cannot be found",
  +        if (defaultFactoryClassName == null) {
  +            throw new SOAPException("Provider for " + factoryPropertyName +
  +                                    " cannot be found",
                                       null);
           } else {
  -            return newInstance(s1, classloader);
  +            return newInstance(defaultFactoryClassName, classloader);
           }
       }
   }