gdamour     2005/03/12 01:53:04

  Modified:    modules/openejb-builder/src/java/org/openejb/deployment
                        CMPContainerBuilder.java CMPEntityBuilder.java
  Log:

  GERONIMO-581
  
  o extract the messages defined by QueryException.
  
  o declare QueryException as the thrown exception when possible.
  
  Revision  Changes    Path
  1.18      +4 -4      
openejb/modules/openejb-builder/src/java/org/openejb/deployment/CMPContainerBuilder.java
  
  Index: CMPContainerBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/CMPContainerBuilder.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- CMPContainerBuilder.java  4 Mar 2005 09:35:50 -0000       1.17
  +++ CMPContainerBuilder.java  12 Mar 2005 06:53:03 -0000      1.18
  @@ -317,13 +317,13 @@
           }
       }
   
  -    private Map createFinders(EJB ejb) throws Exception {
  +    private Map createFinders(EJB ejb) throws QueryException {
           EJBQLToPhysicalQuery toPhysicalQuery = new 
EJBQLToPhysicalQuery(ejbSchema, sqlSchema, globalSchema);
   
           return toPhysicalQuery.buildFinders(ejb);
       }
       
  -    private Map createSelects(EJB ejb) throws Exception {
  +    private Map createSelects(EJB ejb) throws QueryException {
           EJBQLToPhysicalQuery toPhysicalQuery = new 
EJBQLToPhysicalQuery(ejbSchema, sqlSchema, globalSchema);
   
           return toPhysicalQuery.buildSelects(ejb);
  @@ -346,7 +346,7 @@
           return cmpFieldAccessors;
       }
   
  -    private LinkedHashMap createCMRFieldAccessors() throws Exception {
  +    private LinkedHashMap createCMRFieldAccessors() throws QueryException {
           IdentityDefinerBuilder identityDefinerBuilder = new 
IdentityDefinerBuilder(ejbSchema, globalSchema);
           IdentityDefiner identityDefiner = 
identityDefinerBuilder.getIdentityDefiner(ejb);
   
  
  
  
  1.24      +22 -2     
openejb/modules/openejb-builder/src/java/org/openejb/deployment/CMPEntityBuilder.java
  
  Index: CMPEntityBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/CMPEntityBuilder.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- CMPEntityBuilder.java     12 Mar 2005 04:12:13 -0000      1.23
  +++ CMPEntityBuilder.java     12 Mar 2005 06:53:04 -0000      1.24
  @@ -60,6 +60,8 @@
   
   import javax.management.ObjectName;
   
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   import org.apache.geronimo.common.DeploymentException;
   import org.apache.geronimo.gbean.GBeanData;
   import org.apache.geronimo.j2ee.deployment.EARContext;
  @@ -98,6 +100,7 @@
   import org.tranql.ejb.SelectEJBQLQuery;
   import org.tranql.ejb.TransactionManagerDelegate;
   import org.tranql.pkgenerator.PrimaryKeyGeneratorDelegate;
  +import org.tranql.ql.QueryException;
   import org.tranql.schema.Association.JoinDefinition;
   import org.tranql.sql.Column;
   import org.tranql.sql.EndTable;
  @@ -113,6 +116,8 @@
    * @version $Revision$ $Date$
    */
   class CMPEntityBuilder extends EntityBuilder {
  +    private static final Log log = LogFactory.getLog(CMPEntityBuilder.class);
  +    
       public CMPEntityBuilder(OpenEJBModuleBuilder builder) {
           super(builder);
       }
  @@ -734,7 +739,22 @@
           builder.setTransactionManagerDelegate(tmDelegate);
   
           try {
  -            GBeanData gbean = builder.createConfiguration();
  +            GBeanData gbean;
  +            try {
  +                gbean = builder.createConfiguration();
  +            } catch (QueryException e) {
  +                log.error("Deployment exception.", e);
  +                Throwable exception = e;
  +                StringBuffer message = new StringBuffer();
  +                while (null != exception) {
  +                    message.append('\t');
  +                    message.append(exception.getMessage());
  +                    message.append('\n');
  +                    exception = exception.getCause();
  +                }
  +                throw new DeploymentException("A stack-trace has been 
provided on the server-side.\n" +
  +                        "Message\n" + message.toString());
  +            }
               gbean.setName(containerObjectName);
               gbean.setReferencePattern("TransactionContextManager", 
earContext.getTransactionContextManagerObjectName());
               gbean.setReferencePattern("TrackedConnectionAssociator", 
earContext.getConnectionTrackerObjectName());
  
  
  

Reply via email to