You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2003/01/31 18:55:55 UTC

cvs commit: jakarta-ojb/src/java/org/apache/ojb/broker/metadata RepositoryXmlHandler.java RepositoryPersistor.java MetadataManager.java

arminw      2003/01/31 09:55:55

  Modified:    src/java/org/apache/ojb/odmg/collections DListEntry.java
               src/java/org/apache/ojb/broker
                        PersistenceBrokerListener.java
               src/java/org/apache/ojb/broker/util SqlHelper.java
               src/java/org/apache/ojb/broker/util/sequence
                        SequenceManagerFactory.java
               src/java/org/apache/ojb/broker/metadata
                        RepositoryXmlHandler.java RepositoryPersistor.java
                        MetadataManager.java
  Log:
  minor changes, small fixes, avoid
  use of deprecated Identity constructor
  
  Revision  Changes    Path
  1.15      +24 -20    jakarta-ojb/src/java/org/apache/ojb/odmg/collections/DListEntry.java
  
  Index: DListEntry.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/odmg/collections/DListEntry.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- DListEntry.java	10 Jan 2003 17:06:02 -0000	1.14
  +++ DListEntry.java	31 Jan 2003 17:55:54 -0000	1.15
  @@ -54,17 +54,18 @@
    * <http://www.apache.org/>.
    */
   
  -import java.io.Serializable;
  -
   import org.apache.ojb.broker.Identity;
   import org.apache.ojb.broker.PBKey;
  -import org.apache.ojb.broker.PersistenceBrokerException;
   import org.apache.ojb.broker.PersistenceBroker;
  +import org.apache.ojb.broker.PersistenceBrokerException;
   import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldFactory;
   import org.apache.ojb.broker.util.logging.LoggerFactory;
   import org.apache.ojb.odmg.PBCapsule;
  +import org.apache.ojb.odmg.TransactionImpl;
   import org.apache.ojb.odmg.TxManagerFactory;
   
  +import java.io.Serializable;
  +
   /**
    * Insert the type's description here.
    * Creation date: (28.01.2001 21:23:26)
  @@ -87,15 +88,15 @@
       public DListEntry()
       {
           super();
  -		if (!PersistentFieldFactory.usesAccessorsAndMutators())
  -			id = generateNewId();
  +        if (!PersistentFieldFactory.usesAccessorsAndMutators())
  +            id = generateNewId();
       }
   
       public DListEntry(PBKey pbKey)
       {
           this.pbKey = pbKey;
  -		if (!PersistentFieldFactory.usesAccessorsAndMutators())
  -			id = generateNewId();
  +        if (!PersistentFieldFactory.usesAccessorsAndMutators())
  +            id = generateNewId();
       }
   
       /**
  @@ -117,11 +118,14 @@
           this.pbKey = theDlist.getPBKey();
           this.m_dList = theDlist;
           this.position = theDlist.size();
  -        Identity OID = new Identity(theObject);
  -        this.oid = OID;
  +        TransactionImpl tx = TxManagerFactory.instance().getTransaction();
  +        if (tx != null)
  +            oid = new Identity(theObject, tx.getBroker());
  +        else
  +            oid = new Identity(theObject);
           this.realSubject = theObject;
  -		if (!PersistentFieldFactory.usesAccessorsAndMutators())
  -			id = generateNewId();
  +        if (!PersistentFieldFactory.usesAccessorsAndMutators())
  +            id = generateNewId();
       }
   
       public Identity getOid()
  @@ -149,7 +153,7 @@
        */
       protected int generateNewId()
       {
  -        PBCapsule capsule = new PBCapsule(null, TxManagerFactory.instance().getTransaction());
  +        PBCapsule capsule = new PBCapsule(pbKey, TxManagerFactory.instance().getTransaction());
           try
           {
               PersistenceBroker broker = capsule.getBroker();
  @@ -250,10 +254,10 @@
        */
       public int getDlistId()
       {
  -    	if (dlistId == -1)
  -    	{
  -    		dlistId = this.m_dList != null ? this.m_dList.getId() : generateNewId();
  -    	}
  +        if (dlistId == -1)
  +        {
  +            dlistId = this.m_dList != null ? this.m_dList.getId() : generateNewId();
  +        }
           return dlistId;
       }
   
  @@ -272,10 +276,10 @@
        */
       public int getId()
       {
  -    	if (id == -1)
  -    	{
  -    		id = generateNewId();
  -    	}
  +        if (id == -1)
  +        {
  +            id = generateNewId();
  +        }
           return id;
       }
   
  
  
  
  1.5       +4 -4      jakarta-ojb/src/java/org/apache/ojb/broker/PersistenceBrokerListener.java
  
  Index: PersistenceBrokerListener.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/PersistenceBrokerListener.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PersistenceBrokerListener.java	13 Sep 2002 16:05:38 -0000	1.4
  +++ PersistenceBrokerListener.java	31 Jan 2003 17:55:55 -0000	1.5
  @@ -55,10 +55,10 @@
    */
   
   /**
  - * 
  - * 
  - * @author 
  - * @version $Id$ 
  + * A persistent object life cycle listener.
  + *
  + * @author Created by Charles on 12-Sep-2002 08:04:47
  + * @version $Id$
    */
   
   public interface PersistenceBrokerListener
  
  
  
  1.6       +100 -1    jakarta-ojb/src/java/org/apache/ojb/broker/util/SqlHelper.java
  
  Index: SqlHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/util/SqlHelper.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SqlHelper.java	19 Jan 2003 17:20:17 -0000	1.5
  +++ SqlHelper.java	31 Jan 2003 17:55:55 -0000	1.6
  @@ -436,6 +436,7 @@
           }
           return result;
       }
  +
       /**
        * determines the JDBC type (represented as an int value as specified
        * by java.sql.Types) of a FIELDDESCRIPTOR idetified by index.
  @@ -557,4 +558,102 @@
               return Types.OTHER;
           }
        }
  +
  +
  +    public static Object getJdbcTypeAsString(int jdbcType)
  +    {
  +        switch (jdbcType)
  +        {
  +            case Types.BIT :
  +                {
  +                    return "Types.BIT";
  +                }
  +            case Types.TINYINT :
  +                {
  +                    return "Types.TINYINT";
  +                }
  +            case Types.SMALLINT :
  +                {
  +                    return "Types.SMALLINT";
  +                }
  +            case Types.INTEGER :
  +                {
  +                    return "Types.INTEGER";
  +                }
  +            case Types.BIGINT :
  +                {
  +                    return "Types.BIGINT";
  +                }
  +            case Types.DOUBLE :
  +                {
  +                    return "Types.DOUBLE";
  +                }
  +            case Types.FLOAT :
  +                {
  +                    return "Types.FLOAT";
  +                }
  +            case Types.REAL :
  +                {
  +                    return "Types.REAL";
  +                }
  +            case Types.NUMERIC :
  +                {
  +                    return "Types.NUMERIC";
  +                }
  +            case Types.DECIMAL :
  +                {
  +                    return "Types.DECIMAL";
  +                }
  +
  +            case Types.CHAR :
  +                {
  +                    return "Types.CHAR";
  +                }
  +            case Types.VARCHAR :
  +                {
  +                    return "Types.VARCHAR";
  +                }
  +            case Types.LONGVARCHAR :
  +                {
  +                    return "Types.LONGVARCHAR";
  +                }
  +
  +            case Types.DATE :
  +                {
  +                    return "Types.DATE";
  +                }
  +            case Types.TIME :
  +                {
  +                    return "Types.TIME";
  +                }
  +            case Types.TIMESTAMP :
  +                {
  +                    return "Types.TIMESTAMP";
  +                }
  +            case Types.BINARY :
  +                {
  +                    return "Types.BINARY";
  +                }
  +            case Types.VARBINARY :
  +                {
  +                    return "Types.VARBINARY";
  +                }
  +            case Types.LONGVARBINARY :
  +                {
  +                    return "Types.LONGVARBINARY";
  +                }
  +            case Types.CLOB :
  +                {
  +                    return "Types.CLOB";
  +                }
  +            case Types.BLOB :
  +                {
  +                    return "Types.BLOB";
  +                }
  +            default :
  +                {
  +                    return "UNKOWN Type";
  +                }
  +        }
  +    }
   }
  
  
  
  1.5       +1 -1      jakarta-ojb/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerFactory.java
  
  Index: SequenceManagerFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerFactory.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SequenceManagerFactory.java	9 Jan 2003 17:09:31 -0000	1.4
  +++ SequenceManagerFactory.java	31 Jan 2003 17:55:55 -0000	1.5
  @@ -76,7 +76,7 @@
       public SequenceManagerFactory()
       {
           defaultSeqManagerClass = SequenceManagerHighLowImpl.class;
  -        log.info("Default sequence manager class was " + defaultSeqManagerClass.getName());
  +        if(log.isDebugEnabled()) log.debug("Default sequence manager class was " + defaultSeqManagerClass.getName());
       }
   
       public synchronized static SequenceManager getSequenceManager(PersistenceBroker broker)
  
  
  
  1.30      +17 -1     jakarta-ojb/src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java
  
  Index: RepositoryXmlHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- RepositoryXmlHandler.java	31 Jan 2003 17:03:32 -0000	1.29
  +++ RepositoryXmlHandler.java	31 Jan 2003 17:55:55 -0000	1.30
  @@ -755,6 +755,22 @@
                           if (isDebug) logger.debug("    < " + tags.getTagById(DOCUMENTATION));
                           break;
                       }
  +                case SEQUENCE_MANAGER:
  +                    {
  +                        if (isDebug) logger.debug("    < " + tags.getTagById(DOCUMENTATION));
  +                        break;
  +                    }
  +                case CONNECTION_POOL:
  +                    {
  +                        if (isDebug) logger.debug("    < " + tags.getTagById(DOCUMENTATION));
  +                        break;
  +                    }
  +                case JDBC_CONNECTION_DESCRIPTOR:
  +                    {
  +                        if (isDebug) logger.debug("    < " + tags.getTagById(DOCUMENTATION));
  +                        break;
  +                    }
  +
                       // handle failure:
                   default :
                       {
  
  
  
  1.15      +8 -8      jakarta-ojb/src/java/org/apache/ojb/broker/metadata/RepositoryPersistor.java
  
  Index: RepositoryPersistor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/metadata/RepositoryPersistor.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- RepositoryPersistor.java	10 Jan 2003 17:04:36 -0000	1.14
  +++ RepositoryPersistor.java	31 Jan 2003 17:55:55 -0000	1.15
  @@ -72,6 +72,7 @@
   import java.io.FileOutputStream;
   import java.io.IOException;
   import java.io.PrintWriter;
  +import java.io.OutputStream;
   import java.net.MalformedURLException;
   import java.net.URL;
   import java.util.Date;
  @@ -108,7 +109,7 @@
       /**
        * Write the {@link DescriptorRepository} to the given file name.
        */
  -    public void writeToFile(DescriptorRepository repository, ConnectionRepository conRepository, String filename)
  +    public void writeToFile(DescriptorRepository repository, ConnectionRepository conRepository, OutputStream out)
       {
           RepositoryTags tags = RepositoryTags.getInstance();
           try
  @@ -142,15 +143,14 @@
   
               buf.append(tags.getClosingTagById(RepositoryElements.MAPPING_REPOSITORY));
   
  -            FileOutputStream fos = new FileOutputStream(filename);
  -            PrintWriter pw = new PrintWriter(fos);
  +            PrintWriter pw = new PrintWriter(out);
               pw.print(buf.toString());
               pw.flush();
               pw.close();
           }
  -        catch (Throwable t)
  +        catch (Exception e)
           {
  -            log.fatal("Could not write to file" + filename, t);
  +            log.error("Could not write to output stream" + out, e);
           }
       }
   
  @@ -260,8 +260,8 @@
            * so we try and catch the SAXNotSupportedException and just ignore it.
            *
            * arminw:
  -         * this ugly workaround if()-statement was necessary, because when setFeature(..) was
  -         * called on crimson parser does not find any relative path
  +         * this ugly workaround - if() statement - was necessary, because when setFeature(..) was
  +         * called on crimson parser, the parser does not find any relative path
            * TODO better solution
            */
   		try
  
  
  
  1.5       +59 -10    jakarta-ojb/src/java/org/apache/ojb/broker/metadata/MetadataManager.java
  
  Index: MetadataManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/metadata/MetadataManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MetadataManager.java	31 Jan 2003 17:03:32 -0000	1.4
  +++ MetadataManager.java	31 Jan 2003 17:55:55 -0000	1.5
  @@ -30,10 +30,6 @@
   
       private static ThreadLocal threadedRepository = new ThreadLocal();
       private static MetadataManager singleton;
  -    static
  -    {
  -        singleton = new MetadataManager();
  -    }
   
       private DescriptorRepository globalRepository;
       private ConnectionRepository connectionRepository;
  @@ -42,6 +38,11 @@
       // singleton
       private MetadataManager()
       {
  +        init();
  +    }
  +
  +    private void init()
  +    {
           String repository = ((PersistenceBrokerConfiguration) OjbConfigurator.getInstance()
                       .getConfigurationFor(null)).getRepositoryFilename();
           try
  @@ -69,16 +70,23 @@
        */
       public static MetadataManager getInstance()
       {
  +        if(singleton == null)
  +        {
  +            singleton = new MetadataManager();
  +        }
           return singleton;
       }
   
       /**
  -     * Returns the current valid {@link DescriptorRepository} for
  -     * the caller.
  +     * Returns the current valid {@link org.apache.ojb.broker.metadata.DescriptorRepository} for
  +     * the caller. This is the provided way to obtain the {@link org.apache.ojb.broker.metadata.DescriptorRepository}.
        * <br>
        * When {@link #isEnablePerThreadChanges per thread descriptor handling}  is enabled
  -     * we first search for a {@link DescriptorRepository} for the calling thread, if not found
  +     * we first search for a {@link org.apache.ojb.broker.metadata.DescriptorRepository} for the calling thread, if not found
        * the global descriptor was returned.
  +     *
  +     * @see MetadataManager#getGlobalRepository
  +     * @see MetadataManager#copyOfGlobalRepository
        */
       public DescriptorRepository getRepository()
       {
  @@ -101,8 +109,11 @@
       }
   
       /**
  -     * Returns explicit the global {@link DescriptorRepository} - use with
  +     * Returns explicit the global {@link org.apache.ojb.broker.metadata.DescriptorRepository} - use with
        * care, because it ignores the {@link #isEnablePerThreadChanges per thread mode}.
  +     *
  +     * @see MetadataManager#getRepository
  +     * @see MetadataManager#copyOfGlobalRepository
        */
       public DescriptorRepository getGlobalRepository()
       {
  @@ -118,7 +129,7 @@
       }
   
       /**
  -     * Set the {@link DescriptorRepository} - if <i>global</i> was true, the
  +     * Set the {@link org.apache.ojb.broker.metadata.DescriptorRepository} - if <i>global</i> was true, the
        * given descriptor aquire global availability (<i>use with care!</i>),
        * else the given descriptor was associated with the calling thread.
        *
  @@ -151,6 +162,9 @@
       /**
        * Returns a copy of the current global
        * {@link org.apache.ojb.broker.metadata.DescriptorRepository}
  +     *
  +     * @see MetadataManager#getGlobalRepository
  +     * @see MetadataManager#getRepository
        */
       public DescriptorRepository copyOfGlobalRepository()
       {
  @@ -182,4 +196,39 @@
       {
           this.enablePerThreadChanges = enablePerThreadChanges;
       }
  +
  +
  +
  +
  +//    /**
  +//     * Returns a new {@link ClassDescriptor} instance.
  +//     */
  +//    public ClassDescriptor newClassDescriptor(DescriptorRepository repository)
  +//    {
  +//        return MetadataFactory.instance().newClassDescriptor(repository);
  +//    }
  +//
  +//    /**
  +//     * Returns a new {@link FieldDescriptor} instance.
  +//     */
  +//    public FieldDescriptor newFieldDescriptor(ClassDescriptor cld, int id)
  +//    {
  +//        return MetadataFactory.instance().newFieldDescriptor(cld, new Integer(id));
  +//    }
  +//
  +//    /**
  +//     * Returns a new {@link CollectionDescriptor} instance.
  +//     */
  +//    public CollectionDescriptor newCollectionDescriptor(ClassDescriptor cld)
  +//    {
  +//        return MetadataFactory.instance().newCollectionDescriptor(cld);
  +//    }
  +//
  +//    /**
  +//     * Returns a new {@link ObjectReferenceDescriptor} instance.
  +//     */
  +//    public ObjectReferenceDescriptor newObjectReferenceDescriptor(ClassDescriptor cld)
  +//    {
  +//        return MetadataFactory.instance().newObjectReferenceDescriptor(cld);
  +//    }
   }