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/25 10:35:51 UTC
cvs commit: jakarta-ojb/src/java/org/apache/ojb/broker/ta PersistenceBrokerFactoryDefaultImpl.java
arminw 2003/01/25 01:35:50
Modified: src/java/org/apache/ojb/broker/singlevm
DelegatingPersistenceBroker.java
PersistenceBrokerImpl.java
src/java/org/apache/ojb/broker/ta
PersistenceBrokerFactoryDefaultImpl.java
Log:
repair #ifdef entry
add check for default PBKey
add state check for delegatingPB
Revision Changes Path
1.8 +57 -92 jakarta-ojb/src/java/org/apache/ojb/broker/singlevm/DelegatingPersistenceBroker.java
Index: DelegatingPersistenceBroker.java
===================================================================
RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/singlevm/DelegatingPersistenceBroker.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DelegatingPersistenceBroker.java 15 Jan 2003 10:43:29 -0000 1.7
+++ DelegatingPersistenceBroker.java 25 Jan 2003 09:35:49 -0000 1.8
@@ -42,6 +42,16 @@
}
/**
+ * All delegated method use this method to
+ * get the wrapped broker.
+ */
+ private PersistenceBroker getBroker()
+ {
+ if(broker != null) return broker;
+ else throw new IllegalStateException("The delegate PersistenceBroker is closed");
+ }
+
+ /**
* Returns only the wrapped
* {@link org.apache.ojb.broker.PersistenceBroker} instance
*/
@@ -50,6 +60,11 @@
return this.broker;
}
+ public void setDelegate(PersistenceBroker broker)
+ {
+ this.broker = broker;
+ }
+
/**
* If my underlying {@link org.apache.ojb.broker.PersistenceBroker}
* is not a {@link DelegatingPersistenceBroker}, returns it,
@@ -81,266 +96,216 @@
public boolean isClosed()
{
- return ((PBState) broker).isClosed();
+ return ((PBState) getBroker()).isClosed();
}
public void setClosed(boolean closed)
{
- ((PBState) broker).setClosed(closed);
+ ((PBState) getBroker()).setClosed(closed);
}
public void beginTransaction()
throws TransactionInProgressException, TransactionAbortedException
{
- broker.beginTransaction();
+ getBroker().beginTransaction();
}
public void commitTransaction()
throws TransactionNotInProgressException, TransactionAbortedException
{
- broker.commitTransaction();
+ getBroker().commitTransaction();
}
public void abortTransaction() throws TransactionNotInProgressException
{
- broker.abortTransaction();
+ getBroker().abortTransaction();
}
public boolean isInTransaction() throws PersistenceBrokerException
{
- return broker.isInTransaction();
+ return getBroker().isInTransaction();
}
public boolean close()
{
- return broker.close();
+ return getBroker().close();
}
public SqlGenerator serviceSqlGenerator()
{
- return broker.serviceSqlGenerator();
+ return getBroker().serviceSqlGenerator();
}
public JdbcAccess serviceJdbcAccess()
{
- return broker.serviceJdbcAccess();
+ return getBroker().serviceJdbcAccess();
}
public void delete(Object obj) throws PersistenceBrokerException
{
- broker.delete(obj);
+ getBroker().delete(obj);
}
public void store(Object obj) throws PersistenceBrokerException
{
- broker.store(obj);
+ getBroker().store(obj);
}
public void store(Object obj,
ObjectModification modification) throws PersistenceBrokerException
{
- broker.store(obj, modification);
+ getBroker().store(obj, modification);
}
public PBKey getPBKey()
{
- return broker.getPBKey();
+ return getBroker().getPBKey();
}
public void removeFromCache(Object obj) throws PersistenceBrokerException
{
- broker.removeFromCache(obj);
+ getBroker().removeFromCache(obj);
}
public void clearCache() throws PersistenceBrokerException
{
- broker.clearCache();
+ getBroker().clearCache();
}
public void invalidate(Identity oid) throws PersistenceBrokerException
{
- broker.invalidate(oid);
+ getBroker().invalidate(oid);
}
public DescriptorRepository getDescriptorRepository()
{
- return broker.getDescriptorRepository();
+ return getBroker().getDescriptorRepository();
}
public void removeAllListeners() throws PersistenceBrokerException
{
- broker.removeAllListeners();
+ getBroker().removeAllListeners();
}
public void removeListener(PersistenceBrokerListener listener) throws PersistenceBrokerException
{
- broker.removeListener(listener);
+ getBroker().removeListener(listener);
}
public void addListener(PersistenceBrokerListener listener) throws PersistenceBrokerException
{
- broker.addListener(listener);
+ getBroker().addListener(listener);
}
public void retrieveReference(Object pInstance, String pAttributeName) throws PersistenceBrokerException
{
- broker.retrieveReference(pInstance, pAttributeName);
+ getBroker().retrieveReference(pInstance, pAttributeName);
}
public void retrieveAllReferences(Object pInstance) throws PersistenceBrokerException
{
- broker.retrieveAllReferences(pInstance);
+ getBroker().retrieveAllReferences(pInstance);
}
public ConnectionManagerIF serviceConnectionManager()
{
- return broker.serviceConnectionManager();
+ return getBroker().serviceConnectionManager();
}
public StatementManagerIF serviceStatementManager()
{
- return broker.serviceStatementManager();
+ return getBroker().serviceStatementManager();
}
public SequenceManager serviceSequenceManager()
{
- return broker.serviceSequenceManager();
+ return getBroker().serviceSequenceManager();
}
public BrokerHelper serviceBrokerHelper()
{
- return broker.serviceBrokerHelper();
+ return getBroker().serviceBrokerHelper();
}
public void fireBrokerEvent(Object instance, int eventId)
{
- broker.fireBrokerEvent(instance, eventId);
+ getBroker().fireBrokerEvent(instance, eventId);
}
public Class getExtentClass(Class clazz) throws PersistenceBrokerException
{
- return broker.getExtentClass(clazz);
+ return getBroker().getExtentClass(clazz);
}
public Class getTopLevelClass(Class clazz) throws PersistenceBrokerException
{
- return broker.getTopLevelClass(clazz);
+ return getBroker().getTopLevelClass(clazz);
}
public boolean hasClassDescriptor(Class clazz)
{
- return broker.hasClassDescriptor(clazz);
+ return getBroker().hasClassDescriptor(clazz);
}
public ClassDescriptor getClassDescriptor(Class clazz) throws PersistenceBrokerException
{
- return broker.getClassDescriptor(clazz);
+ return getBroker().getClassDescriptor(clazz);
}
public Enumeration getPKEnumerationByQuery(Class primaryKeyClass,
Query query) throws PersistenceBrokerException
{
- return broker.getPKEnumerationByQuery(primaryKeyClass, query);
+ return getBroker().getPKEnumerationByQuery(primaryKeyClass, query);
}
public Object getObjectByQuery(Query query) throws PersistenceBrokerException
{
- return broker.getObjectByQuery(query);
+ return getBroker().getObjectByQuery(query);
}
public Object getObjectByIdentity(Identity id) throws PersistenceBrokerException
{
- return broker.getObjectByIdentity(id);
+ return getBroker().getObjectByIdentity(id);
}
public Iterator getReportQueryIteratorByQuery(Query query) throws PersistenceBrokerException
{
- return broker.getReportQueryIteratorByQuery(query);
+ return getBroker().getReportQueryIteratorByQuery(query);
}
public Iterator getIteratorByQuery(Query query) throws PersistenceBrokerException
{
- return broker.getIteratorByQuery(query);
+ return getBroker().getIteratorByQuery(query);
}
public ManageableCollection getCollectionByQuery(Class collectionClass, Query query)
throws PersistenceBrokerException
{
- return broker.getCollectionByQuery(collectionClass, query);
+ return getBroker().getCollectionByQuery(collectionClass, query);
}
public int getCount(Query query) throws PersistenceBrokerException
{
- return broker.getCount(query);
+ return getBroker().getCount(query);
}
public Collection getCollectionByQuery(Query query) throws PersistenceBrokerException
{
- return broker.getCollectionByQuery(query);
+ return getBroker().getCollectionByQuery(query);
}
public void configure(Configuration pConfig) throws ConfigurationException
{
- broker.configure(pConfig);
+ getBroker().configure(pConfig);
}
public org.odbms.Query query()
{
- return broker.query();
+ return getBroker().query();
}
public void deleteByQuery(Query query) throws PersistenceBrokerException
{
- broker.deleteByQuery(query);
+ getBroker().deleteByQuery(query);
}
-
-// public Object getUniqueObject(Class extent, String attribute) throws PersistenceBrokerException
-// {
-// ClassDescriptor cld = broker.getClassDescriptor(extent);
-// FieldDescriptor fld = cld.getFieldDescriptorByName(attribute);
-// return broker.getUniqueObject(fld);
-// }
-//
-// public String getUniqueString(Class extent, String attribute) throws PersistenceBrokerException
-// {
-// ClassDescriptor cld = broker.getClassDescriptor(extent);
-// FieldDescriptor fld = cld.getFieldDescriptorByName(attribute);
-// return broker.getUniqueString(fld);
-// }
-//
-// public long getUniqueLong(Class extent, String attribute) throws PersistenceBrokerException
-// {
-// ClassDescriptor cld = broker.getClassDescriptor(extent);
-// FieldDescriptor fld = cld.getFieldDescriptorByName(attribute);
-// return broker.getUniqueLong(fld);
-// }
-//
-// public int getUniqueId(Class extent, String attribute) throws PersistenceBrokerException
-// {
-// ClassDescriptor cld = broker.getClassDescriptor(extent);
-// FieldDescriptor fld = cld.getFieldDescriptorByName(attribute);
-// return broker.getUniqueId(fld);
-// }
-//
-//
-// public int getUniqueId(FieldDescriptor field) throws PersistenceBrokerException
-// {
-// return broker.getUniqueId(field);
-// }
-//
-// public long getUniqueLong(FieldDescriptor field) throws PersistenceBrokerException
-// {
-// return broker.getUniqueLong(field);
-// }
-//
-// public String getUniqueString(FieldDescriptor field) throws PersistenceBrokerException
-// {
-// return broker.getUniqueString(field);
-// }
-//
-// public Object getUniqueObject(FieldDescriptor field) throws PersistenceBrokerException
-// {
-// return broker.getUniqueObject(field);
-// }
-
}
1.117 +4 -3 jakarta-ojb/src/java/org/apache/ojb/broker/singlevm/PersistenceBrokerImpl.java
Index: PersistenceBrokerImpl.java
===================================================================
RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/singlevm/PersistenceBrokerImpl.java,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- PersistenceBrokerImpl.java 24 Jan 2003 22:42:54 -0000 1.116
+++ PersistenceBrokerImpl.java 25 Jan 2003 09:35:49 -0000 1.117
@@ -55,7 +55,6 @@
*/
import java.lang.reflect.Array;
-import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
@@ -115,6 +114,8 @@
import org.apache.ojb.broker.util.sequence.SequenceManager;
import org.apache.ojb.broker.util.sequence.SequenceManagerException;
import org.apache.ojb.broker.util.sequence.SequenceManagerFactory;
+//#ifdef JDK13
+import java.lang.reflect.Proxy;
//#else
/*
import com.develop.java.lang.reflect.Proxy;
@@ -1560,7 +1561,7 @@
{
RsIteratorFactory factory = RsIteratorFactoryImpl.getInstance();
- return getRsIteratorFromQuery(query, cld, factory);
+ return getRsIteratorFromQuery(query, cld, factory);
}
/**
1.34 +20 -3 jakarta-ojb/src/java/org/apache/ojb/broker/ta/PersistenceBrokerFactoryDefaultImpl.java
Index: PersistenceBrokerFactoryDefaultImpl.java
===================================================================
RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/ta/PersistenceBrokerFactoryDefaultImpl.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- PersistenceBrokerFactoryDefaultImpl.java 15 Jan 2003 10:43:30 -0000 1.33
+++ PersistenceBrokerFactoryDefaultImpl.java 25 Jan 2003 09:35:50 -0000 1.34
@@ -123,6 +123,12 @@
this.defaultPBKey = key;
log.info("Set default PBKey: "+key);
+ /*
+ TODO
+ should we change the default-connection entry
+ in the jdbcConnectionDescriptor with default-connection=true
+ when key change?
+ */
}
/**
@@ -257,6 +263,7 @@
*/
public PersistenceBroker defaultPersistenceBroker(String user, String password) throws PBFactoryException
{
+ if(getDefaultKey() == null) throw new PBFactoryException("There was no default-PBKey specified");
return this.createPersistenceBroker(
new PBKey(getDefaultKey().getAlias(), user, password));
}
@@ -266,6 +273,7 @@
*/
public PersistenceBroker defaultPersistenceBroker() throws PBFactoryException
{
+ if(getDefaultKey() == null) throw new PBFactoryException("There was no default-PBKey specified");
return this.createPersistenceBroker(getDefaultKey());
}
@@ -382,14 +390,23 @@
}
/**
- * no-op - to use this feature, override
+ * Check if the given PersistenceBroker instance
+ * was already in transaction.
+ * Was called when
* {@link org.apache.ojb.broker.ta.PBPoolInfo#init}
- * method. See documentation jakarta-connons-pool api.
+ * method does set <code>testOnBorrow(true)</code>.
+ * (Default was false, thus this method wasn't called)
+ * See documentation jakarta-connons-pool api.
*/
public boolean validateObject(Object key, Object obj)
{
//here we could validate the PB instance
//if corresponding configuration properties are set
+ if(((PersistenceBroker) obj).isInTransaction())
+ {
+ log.error("Illegal broker state! This broker instance was already in transaction.");
+ return false;
+ }
return true;
}