You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@locus.apache.org on 2000/11/28 06:42:18 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory ResourceFactory.java TransactionFactory.java

remm        00/11/27 21:42:17

  Modified:    catalina/src/share/org/apache/naming/factory
                        ResourceFactory.java TransactionFactory.java
  Log:
  - Neither ResourceFactory nor TransactionFactory contain a reference to
    Tyrex factories anymore, so hopefully the conditional compilation switch will
    behave correctly now.
  
  Revision  Changes    Path
  1.2       +20 -10    jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java
  
  Index: ResourceFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ResourceFactory.java	2000/11/04 06:46:09	1.1
  +++ ResourceFactory.java	2000/11/28 05:42:17	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java,v 1.1 2000/11/04 06:46:09 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/11/04 06:46:09 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java,v 1.2 2000/11/28 05:42:17 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/11/28 05:42:17 $
    *
    * ====================================================================
    *
  @@ -77,7 +77,7 @@
    * Object factory for Resources.
    * 
    * @author Remy Maucherat
  - * @version $Revision: 1.1 $ $Date: 2000/11/04 06:46:09 $
  + * @version $Revision: 1.2 $ $Date: 2000/11/28 05:42:17 $
    */
   
   public class ResourceFactory
  @@ -106,19 +106,29 @@
        */
       public Object getObjectInstance(Object obj, Name name, Context nameCtx,
                                       Hashtable environment)
  -        throws NamingException {
  +        throws Exception {
           
           if (obj instanceof ResourceRef) {
               Reference ref = (Reference) obj;
               if (ref.getClassName().equals("javax.sql.DataSource")) {
                   // Checking the different known resource factories
  -                if ((ref.get(TyrexDataSourceFactory.DRIVER_CLASS_NAME) != null)
  -                    && (ref.get(TyrexDataSourceFactory.DRIVER_NAME) != null)) {
  -                    return (new TyrexDataSourceFactory())
  -                        .getObjectInstance(obj, name, nameCtx, environment);
  +                ObjectFactory factory = null;
  +                String javaxSqlDataSourceFactoryClassName =
  +                    System.getProperty("javax.sql.DataSource.Factory",
  +                                       Constants.TYREX_DATASOURCE_FACTORY);
  +                try {
  +                    factory = (ObjectFactory) 
  +                        Class.forName(javaxSqlDataSourceFactoryClassName)
  +                        .newInstance();
  +                } catch(Throwable t) {
                   }
  -                throw new NamingException
  -                    ("Cannot create resource instance : Missing parameters");
  +                if (factory != null) {
  +                    return factory.getObjectInstance
  +                        (obj, name, nameCtx, environment);
  +                } else {
  +                    throw new NamingException
  +                        ("Cannot create resource instance");
  +                }
               }
           }
   
  
  
  
  1.2       +23 -8     jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TransactionFactory.java
  
  Index: TransactionFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TransactionFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TransactionFactory.java	2000/11/04 06:46:09	1.1
  +++ TransactionFactory.java	2000/11/28 05:42:17	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TransactionFactory.java,v 1.1 2000/11/04 06:46:09 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/11/04 06:46:09 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TransactionFactory.java,v 1.2 2000/11/28 05:42:17 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/11/28 05:42:17 $
    *
    * ====================================================================
    *
  @@ -77,7 +77,7 @@
    * Object factory for User trasactions.
    * 
    * @author Remy Maucherat
  - * @version $Revision: 1.1 $ $Date: 2000/11/04 06:46:09 $
  + * @version $Revision: 1.2 $ $Date: 2000/11/28 05:42:17 $
    */
   
   public class TransactionFactory
  @@ -106,16 +106,31 @@
        */
       public Object getObjectInstance(Object obj, Name name, Context nameCtx,
                                       Hashtable environment)
  -        throws NamingException {
  +        throws Exception {
           
           if (obj instanceof TransactionRef) {
               Reference ref = (Reference) obj;
  -            return (new TyrexTransactionFactory())
  -                .getObjectInstance(obj, name, nameCtx, environment);
  +            ObjectFactory factory = null;
  +            String javaxTransactionUserTransactionFactoryClassName =
  +                System.getProperty("javax.transaction.UserTransaction.Factory",
  +                                   Constants.TYREX_TRANSACTION_FACTORY);
  +            try {
  +                factory = (ObjectFactory) Class.forName
  +                    (javaxTransactionUserTransactionFactoryClassName)
  +                    .newInstance();
  +            } catch(Throwable t) {
  +            }
  +            if (factory != null) {
  +                return factory.getObjectInstance
  +                    (obj, name, nameCtx, environment);
  +            } else {
  +                throw new NamingException
  +                    ("Cannot create resource instance");
  +            }
           }
  -
  +        
           return null;
  -
  +        
       }