User: dsundstrom
Date: 01/11/28 03:32:55
Modified: src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge
JDBCCMRFieldBridge.java JDBCEntityBridge.java
JDBCSelectorBridge.java
Log:
Major reorganization of code.
Fixed bean instance proxy creation. Major speed improvement.
Remove most of the lame factorization.
Structured code to reflect the cmp 2.0 view of entities.
Cleaned up relation-table create/delete code.
Revision Changes Path
1.15 +17 -11
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCCMRFieldBridge.java
Index: JDBCCMRFieldBridge.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCCMRFieldBridge.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- JDBCCMRFieldBridge.java 2001/11/26 03:12:26 1.14
+++ JDBCCMRFieldBridge.java 2001/11/28 11:32:55 1.15
@@ -7,6 +7,8 @@
package org.jboss.ejb.plugins.cmp.jdbc.bridge;
import java.lang.reflect.Method;
+import java.sql.Connection;
+import java.sql.SQLException;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
@@ -28,13 +30,15 @@
import org.jboss.ejb.plugins.cmp.bridge.CMRFieldBridge;
import org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager;
import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCCMPFieldMetaData;
+import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData;
import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData;
import org.jboss.logging.Logger;
import org.jboss.security.SecurityAssociation;
/**
- * JDBCCMRFieldBridge a bean relationship. This class only supports relationships
- * between entities managed by a JDBCStoreManager in the same application.
+ * JDBCCMRFieldBridge a bean relationship. This class only supports
+ * relationships between entities managed by a JDBCStoreManager in the same
+ * application.
*
* Life-cycle:
* Tied to the EntityBridge.
@@ -43,7 +47,7 @@
* One for each role that entity has.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a>
- * @version $Revision: 1.14 $
+ * @version $Revision: 1.15 $
*/
public class JDBCCMRFieldBridge implements CMRFieldBridge {
// ------ Invocation messages ------
@@ -165,6 +169,8 @@
this.manager = manager;
this.metadata = metadata;
+
+ // Creat the log
String categoryName = this.getClass().getName() +
"." +
manager.getMetaData().getName() +
@@ -177,9 +183,9 @@
"-" +
metadata.getRelatedRole().getCMRFieldName();
}
-
this.log = Logger.getLogger(categoryName);
+
//
// Set handles to the related entity's container, cache,
// manager, and invoker
@@ -344,6 +350,13 @@
}
/**
+ * Gets the relation metadata.
+ */
+ public JDBCRelationMetaData getRelationMetaData() {
+ return metadata.getRelationMetaData();
+ }
+
+ /**
* Gets the name of this field.
*/
public String getFieldName() {
@@ -386,13 +399,6 @@
return foreignKeyFields;
}
- /**
- * Gets the name of the relation table.
- */
- public String getRelationTableName() {
- return metadata.getRelationMetaData().getTableName();
- }
-
/**
* The related entity's cmr field for this relationship.
*/
1.14 +11 -6
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCEntityBridge.java
Index: JDBCEntityBridge.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCEntityBridge.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- JDBCEntityBridge.java 2001/11/26 03:12:26 1.13
+++ JDBCEntityBridge.java 2001/11/28 11:32:55 1.14
@@ -34,7 +34,6 @@
import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCCMPFieldMetaData;
import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCQueryMetaData;
import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData;
-import org.jboss.logging.Logger;
import org.jboss.proxy.Proxies;
import org.jboss.proxy.InvocationHandler;
@@ -50,7 +49,7 @@
* One per cmp entity bean type.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a>
- * @version $Revision: 1.13 $
+ * @version $Revision: 1.14 $
*/
public class JDBCEntityBridge implements EntityBridge {
protected JDBCEntityMetaData metadata;
@@ -69,22 +68,24 @@
protected JDBCCMPFieldBridge[] eagerLoadFields;
protected ArrayList lazyLoadGroups;
- protected Logger log;
-
public JDBCEntityBridge(
JDBCEntityMetaData metadata,
- Logger log,
JDBCStoreManager manager) throws DeploymentException {
this.metadata = metadata;
- this.log = log;
this.manager = manager;
+ // CMP fields
loadCMPFields(metadata);
+
+ // eager/load groups
loadEagerLoadFields(metadata);
loadLazyLoadGroups(metadata);
+ // CMR fields
loadCMRFields(metadata);
+
+ // ejbSelect methods
loadSelectors(metadata);
}
@@ -227,6 +228,10 @@
return metadata;
}
+ public String getTableName() {
+ return metadata.getTableName();
+ }
+
public Class getPrimaryKeyClass() {
return metadata.getPrimaryKeyClass();
}
1.7 +5 -2
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCSelectorBridge.java
Index: JDBCSelectorBridge.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCSelectorBridge.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- JDBCSelectorBridge.java 2001/11/24 22:31:10 1.6
+++ JDBCSelectorBridge.java 2001/11/28 11:32:55 1.7
@@ -17,7 +17,7 @@
* One for each entity bean ejbSelect method.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a>
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -28,6 +28,7 @@
import javax.ejb.FinderException;
import javax.ejb.ObjectNotFoundException;
import org.jboss.ejb.plugins.cmp.bridge.SelectorBridge;
+import org.jboss.ejb.plugins.cmp.jdbc.JDBCQueryCommand;
import org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager;
import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCQueryMetaData;
@@ -58,7 +59,9 @@
public Object execute(Object[] args) throws FinderException {
Collection retVal = null;
try {
- retVal = manager.findEntities(getMethod(), args, null);
+ JDBCQueryCommand query =
+ manager.getQueryManager().getQueryCommand(getMethod());
+ retVal = query.execute(getMethod(), args, null);
} catch(FinderException e) {
throw e;
} catch(EJBException e) {
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development