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);
+// }
}