[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: d_jencks Date: 02/03/24 13:50:44 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: added a little more info to exception Revision ChangesPath 1.23 +2 -2 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.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- JDBCEntityBridge.java 12 Mar 2002 18:19:25 - 1.22 +++ JDBCEntityBridge.java 24 Mar 2002 21:50:44 - 1.23 @@ -53,7 +53,7 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.22 $ + * @version $Revision: 1.23 $ */ public class JDBCEntityBridge implements EntityBridge { private JDBCEntityMetaData metadata; @@ -94,7 +94,7 @@ metadata.getDataSourceName()); } catch(NamingException e) { throw new DeploymentException(Error: can't find data source: + - metadata.getDataSourceName()); + metadata.getDataSourceName(), e); } // CMP fields ___ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: dsundstrom Date: 02/03/12 10:19:25 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: Fixed bug where only the CMP fields and not the CMR fields were marked as clean when entire entity was marked as clean. Revision ChangesPath 1.22 +4 -4 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.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- JDBCEntityBridge.java 26 Feb 2002 23:28:56 - 1.21 +++ JDBCEntityBridge.java 12 Mar 2002 18:19:25 - 1.22 @@ -53,7 +53,7 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.21 $ + * @version $Revision: 1.22 $ */ public class JDBCEntityBridge implements EntityBridge { private JDBCEntityMetaData metadata; @@ -442,9 +442,9 @@ } public void setClean(EntityEnterpriseContext ctx) { - for(Iterator iter = cmpFields.iterator(); iter.hasNext();) { - JDBCCMPFieldBridge cmpField = (JDBCCMPFieldBridge)iter.next(); - cmpField.setClean(ctx); + for(Iterator iter = fields.iterator(); iter.hasNext();) { + JDBCFieldBridge field = (JDBCFieldBridge)iter.next(); + field.setClean(ctx); } } ___ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: dsundstrom Date: 02/01/16 13:10:15 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: Add support for no fields to be eager loaded. Revision ChangesPath 1.20 +6 -2 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.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- JDBCEntityBridge.java 2002/01/15 20:59:52 1.19 +++ JDBCEntityBridge.java 2002/01/16 21:10:15 1.20 @@ -53,7 +53,7 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.19 $ + * @version $Revision: 1.20 $ */ public class JDBCEntityBridge implements EntityBridge { private JDBCEntityMetaData metadata; @@ -244,7 +244,11 @@ throws DeploymentException { String eagerLoadGroupName = metadata.getEagerLoadGroup(); - eagerLoadFields = (List)loadGroups.get(eagerLoadGroupName); + if(eagerLoadGroupName == null) { + eagerLoadFields = Collections.EMPTY_LIST; + } else { + eagerLoadFields = (List)loadGroups.get(eagerLoadGroupName); + } } private void loadLazyLoadGroups(JDBCEntityMetaData metadata) ___ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: dsundstrom Date: 02/01/15 12:59:52 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: Added getFields and getFieldByName to support merged CMR field and CMP field interface. Converted field arrays to java.util.Lists for better safty and easier handling. Added general load groups, where load groups are identified by name. Then lazy load groups only contain a list of named load groups. This is eases specification of the eager load group in read ahead metadata. Fixed creation of EJBException to wrap exceptions instead of embeding it in the message. Revision ChangesPath 1.19 +208 -197 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.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- JDBCEntityBridge.java 2001/12/17 18:54:24 1.18 +++ JDBCEntityBridge.java 2002/01/15 20:59:52 1.19 @@ -11,8 +11,11 @@ import java.sql.ResultSet; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Map; import javax.ejb.EJBException; @@ -28,8 +31,7 @@ import org.jboss.ejb.plugins.cmp.bridge.EntityBridge; import org.jboss.ejb.plugins.cmp.bridge.EntityBridgeInvocationHandler; -import org.jboss.ejb.plugins.cmp.bridge.CMPFieldBridge; -import org.jboss.ejb.plugins.cmp.bridge.CMRFieldBridge; +import org.jboss.ejb.plugins.cmp.bridge.FieldBridge; import org.jboss.ejb.plugins.cmp.bridge.SelectorBridge; import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCEntityMetaData; @@ -51,29 +53,33 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.18 $ + * @version $Revision: 1.19 $ */ public class JDBCEntityBridge implements EntityBridge { - protected JDBCEntityMetaData metadata; - protected JDBCStoreManager manager; + private JDBCEntityMetaData metadata; + private JDBCStoreManager manager; private DataSource dataSource; /** is the table assumed to exist */ - protected boolean tableExists; + private boolean tableExists; - protected JDBCCMPFieldBridge[] cmpFields; - protected Map cmpFieldsByName; - protected JDBCCMPFieldBridge[] primaryKeyFields; + private List fields; + private Map fieldsByName; - protected JDBCCMRFieldBridge[] cmrFields; - protected Map cmrFieldsByName; + private List cmpFields; + private Map cmpFieldsByName; + + private List primaryKeyFields; + + private List cmrFields; + private Map cmrFieldsByName; - protected JDBCSelectorBridge[] selectors; - protected Map selectorsByMethod; + private Map selectorsByMethod; - protected JDBCCMPFieldBridge[] eagerLoadFields; - protected ArrayList lazyLoadGroups; + private Map loadGroups; + private List eagerLoadFields; + private List lazyLoadGroups; public JDBCEntityBridge( JDBCEntityMetaData metadata, @@ -94,26 +100,38 @@ // CMP fields loadCMPFields(metadata); - // eager/load groups - loadEagerLoadFields(metadata); - loadLazyLoadGroups(metadata); - // CMR fields loadCMRFields(metadata); + // all fields list + fields = new ArrayList(cmpFields.size() + cmrFields.size()); + fields.addAll(cmpFields); + fields.addAll(cmrFields); + fields = Collections.unmodifiableList(fields); + fieldsByName = new HashMap(fields.size()); + fieldsByName.putAll(cmpFieldsByName); + fieldsByName.putAll(cmrFieldsByName); + fieldsByName = Collections.unmodifiableMap(fieldsByName); + + // load groups + loadLoadGroups(metadata); + loadEagerLoadGroup(metadata); + loadLazyLoadGroups(metadata); + // ejbSelect methods loadSelectors(metadata); } - protected void loadCMPFields(JDBCEntityMetaData metadata) + private void loadCMPFields(JDBCEntityMetaData metadata) throws DeploymentException { // map between field names and field objects cmpFieldsByName = new HashMap(metadata.getCMPFields().size()); - // non primary key cmp fields - ArrayList cmpFieldList = new ArrayList(metadata.getCMPFields().size()); + // only non pk fields are stored here at first and then later + // the pk fields are added to the front (makes sql easier to read) + cmpFields = new
[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: mnf999 Date: 01/12/07 09:50:21 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: Import statements for proxy compilation Revision ChangesPath 1.17 +3 -3 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.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- JDBCEntityBridge.java 2001/12/02 01:41:46 1.16 +++ JDBCEntityBridge.java 2001/12/07 17:50:21 1.17 @@ -36,8 +36,8 @@ 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.proxy.Proxies; -import org.jboss.proxy.InvocationHandler; +import org.jboss.proxy.compiler.Proxies; +import org.jboss.proxy.compiler.InvocationHandler; /** @@ -51,7 +51,7 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.16 $ + * @version $Revision: 1.17 $ */ public class JDBCEntityBridge implements EntityBridge { protected JDBCEntityMetaData metadata; ___ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: dsundstrom Date: 01/12/01 13:55:05 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: Added support for autogenerated foriegn key constraints on relationships. Just add fk-constrainttrue/fk-constraint to defaults or relationship role. Changed relation tables to synchronize data after jdbc store executes. Revision ChangesPath 1.15 +44 -2 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.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- JDBCEntityBridge.java 2001/11/28 11:32:55 1.14 +++ JDBCEntityBridge.java 2001/12/01 21:55:05 1.15 @@ -16,6 +16,9 @@ import java.util.Map; import javax.ejb.EJBException; +import javax.sql.DataSource; +import javax.naming.InitialContext; +import javax.naming.NamingException; import org.jboss.deployment.DeploymentException; import org.jboss.ejb.EntityEnterpriseContext; @@ -49,11 +52,16 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.14 $ + * @version $Revision: 1.15 $ */ public class JDBCEntityBridge implements EntityBridge { protected JDBCEntityMetaData metadata; protected JDBCStoreManager manager; + + private DataSource dataSource; + + /** is the table assumed to exist */ + protected boolean tableExists; protected JDBCCMPFieldBridge[] cmpFields; protected Map cmpFieldsByName; @@ -75,6 +83,15 @@ this.metadata = metadata; this.manager = manager; + // find the datasource + try { + dataSource = (DataSource)new InitialContext().lookup( + metadata.getDataSourceName()); + } catch(NamingException e) { + throw new DeploymentException(Error: can't find data source: + + metadata.getDataSourceName()); + } + // CMP fields loadCMPFields(metadata); @@ -227,7 +244,32 @@ public JDBCEntityMetaData getMetaData() { return metadata; } - + + /** +* Returns the datasource for this entity. +*/ + public DataSource getDataSource() { + return dataSource; + } + + /** +* Does the table exists yet? This does not mean that table has been created +* by the appilcation, or the the database metadata has been checked for the +* existance of the table, but that at this point the table is assumed to +* exist. +* @return true if the table exists +*/ + public boolean getTableExists() { + return tableExists; + } + + /** +* Sets table exists flag. +*/ + public void setTableExists(boolean tableExists) { + this.tableExists = tableExists; + } + public String getTableName() { return metadata.getTableName(); } ___ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: dsundstrom Date: 01/08/18 09:03:36 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: Added get cmr field by name method. Revision ChangesPath 1.6 +10 -2 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.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- JDBCEntityBridge.java 2001/08/03 17:15:47 1.5 +++ JDBCEntityBridge.java 2001/08/18 16:03:35 1.6 @@ -51,7 +51,7 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.5 $ + * @version $Revision: 1.6 $ */ public class JDBCEntityBridge implements EntityBridge { protected JDBCEntityMetaData metadata; @@ -62,6 +62,8 @@ protected JDBCCMPFieldBridge[] primaryKeyFields; protected JDBCCMRFieldBridge[] cmrFields; + protected Map cmrFieldsByName; + protected JDBCSelectorBridge[] selectors; protected JDBCCMPFieldBridge[] eagerLoadFields; @@ -154,7 +156,8 @@ } protected void loadCMRFields(JDBCEntityMetaData metadata) throws DeploymentException { - ArrayList cmrFieldList = new ArrayList(metadata.getCMPFields().size()); + cmrFieldsByName = new HashMap(metadata.getRelationshipRoles().size()); + ArrayList cmrFieldList = new ArrayList(metadata.getRelationshipRoles().size()); // create each field Iterator iter = metadata.getRelationshipRoles().iterator(); @@ -162,6 +165,7 @@ JDBCRelationshipRoleMetaData relationshipRole = (JDBCRelationshipRoleMetaData)iter.next(); JDBCCMRFieldBridge cmrField = new JDBCCMRFieldBridge(this, manager, relationshipRole); cmrFieldList.add(cmrField); + cmrFieldsByName.put(cmrField.getFieldName(), cmrField); } // save the cmr fields in the cmr field array @@ -238,6 +242,10 @@ public CMRFieldBridge[] getCMRFields() { return cmrFields; + } + + public JDBCCMRFieldBridge getCMRFieldByName(String name) { + return (JDBCCMRFieldBridge)cmrFieldsByName.get(name); } public JDBCCMRFieldBridge[] getJDBCCMRFields() { ___ Jboss-development mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/jboss-development
[JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java
User: kimptoc Date: 01/07/02 04:35:44 Modified:src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge JDBCEntityBridge.java Log: fixes to get a clean jikes compile - [ #433345 ] Jikes patch - thanx Jesper Revision ChangesPath 1.2 +2 -2 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.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- JDBCEntityBridge.java 2001/06/24 03:23:15 1.1 +++ JDBCEntityBridge.java 2001/07/02 11:35:44 1.2 @@ -51,7 +51,7 @@ * One per cmp entity bean type. * * @author a href=mailto:[EMAIL PROTECTED];Dain Sundstrom/a - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ public class JDBCEntityBridge implements EntityBridge { protected JDBCEntityMetaData metadata; @@ -162,7 +162,7 @@ } public String getEntityName() { - return metadata.getName();; + return metadata.getName(); } public JDBCEntityMetaData getMetaData() { ___ Jboss-development mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/jboss-development