Package org.jboss.ejb.plugins.cmp.jdbc2.schema

Examples of org.jboss.ejb.plugins.cmp.jdbc2.schema.Table


/*     */   }
/*     */
/*     */   public Object execute(Method m, Object[] args, EntityEnterpriseContext ctx)
/*     */     throws CreateException
/*     */   {
/*  75 */     PersistentContext pctx = (PersistentContext)ctx.getPersistenceContext();
/*     */     Object pk;
/*  76 */     if (ctx.getId() == null) { Connection con = null;
/*  79 */       PreparedStatement ps = null;
/*  80 */       ResultSet rs = null;
/*     */       Object pk;
/*     */       try { if (this.log.isDebugEnabled())
/*     */         {
/*  85 */           this.log.debug("executing sql: " + this.pkSql);
/*     */         }
/*     */
/*  88 */         con = this.entityBridge.getDataSource().getConnection();
/*  89 */         ps = con.prepareStatement(this.pkSql);
/*  90 */         rs = ps.executeQuery();
/*     */
/*  92 */         if (!rs.next())
/*     */         {
/*  94 */           throw new CreateException("pk-sql " + this.pkSql + " returned no results!");
/*     */         }
/*     */
/*  97 */         pk = this.pkField.loadArgumentResults(rs, 1);
/*  98 */         pctx.setFieldValue(this.pkField.getRowIndex(), pk);
/*  99 */         pk = this.entityBridge.extractPrimaryKeyFromInstance(ctx);
/*     */       }
/*     */       catch (SQLException e)
/*     */       {
/* 103 */         this.log.error("Failed to execute pk sql. error code: " + e.getErrorCode() + ", sql state: " + e.getSQLState(), e);
/* 104 */         throw new CreateException("Failed to execute pk sql: " + e.getMessage() + ", error code: " + e.getErrorCode() + ", sql state: " + e.getSQLState());
/*     */       }
/*     */       finally
/*     */       {
/* 109 */         JDBCUtil.safeClose(rs);
/* 110 */         JDBCUtil.safeClose(ps);
/* 111 */         JDBCUtil.safeClose(con);
/*     */       }
/*     */
/* 114 */       if (pk == null)
/*     */       {
/* 116 */         this.log.error("Primary key for created instance is null.");
/* 117 */         throw new CreateException("Primary key for created instance is null.");
/*     */       }
/*     */
/* 120 */       pctx.setPk(pk);
/*     */     }
/*     */     else
/*     */     {
/*     */       try
/*     */       {
/* 127 */         pctx.flush();
/*     */       }
/*     */       catch (SQLException e)
/*     */       {
/* 131 */         if ("23000".equals(e.getSQLState()))
/*     */         {
View Full Code Here


         {
            try
            {
               QueryCommand queryCommand = queryFactory.getQueryCommand(metadata.getMethod());
               Schema schema = ((JDBCStoreManager2)entityBridge.getManager()).getSchema();
               EJBSelectBridge ejbSelectBridge = new EJBSelectBridge(entityBridge.getContainer(), schema, metadata, queryCommand);
               selectorsByMethod.put(metadata.getMethod(), ejbSelectBridge);
            }
            catch(FinderException e)
            {
               throw new DeploymentException(e.getMessage());
View Full Code Here

/*     */       {
/*     */         try
/*     */         {
/* 165 */           QueryCommand queryCommand = queryFactory.getQueryCommand(metadata.getMethod());
/* 166 */           Schema schema = ((JDBCStoreManager2)entityBridge.getManager()).getSchema();
/* 167 */           EJBSelectBridge ejbSelectBridge = new EJBSelectBridge(entityBridge.getContainer(), schema, metadata, queryCommand);
/* 168 */           selectorsByMethod.put(metadata.getMethod(), ejbSelectBridge);
/*     */         }
/*     */         catch (FinderException e)
/*     */         {
/* 172 */           throw new DeploymentException(e.getMessage());
View Full Code Here

         created = row;
         row.state = CREATED;

         rowByPk.put(row.pk, row);

         JDBCCMPFieldBridge2 versionField = entity.getVersionField();
         if(versionField != null)
         {
            row.fields[versionField.getVersionIndex()] = row.fields[versionField.getRowIndex()];
         }
      }
View Full Code Here

         // but since tableIndex and rowIndex of a field are the same
         // this should work ok
         int rsOffset = 1;
         for(int i = 0; i < tableFields.length; ++i)
         {
            JDBCCMPFieldBridge2 field = tableFields[i];
            if(searchableOnly && !field.getJDBCType().isSearchable())
            {
               row.fields[field.getRowIndex()] = NOT_LOADED;
               --rsOffset;
               continue;
            }

            Object columnValue = field.loadArgumentResults(rs, field.getRowIndex() + rsOffset);
            row.fields[field.getRowIndex()] = columnValue;

            if(field.getVersionIndex() != -1)
            {
               row.fields[field.getVersionIndex()] = columnValue;
            }
         }

         Object[] relations = (relationsTotal > 0 ? new Object[relationsTotal] : null);
View Full Code Here

         Object pk = null;
         JDBCCMPFieldBridge2[] pkFields = (JDBCCMPFieldBridge2[]) entity.getPrimaryKeyFields();
         //int rsInd = 1;
         for(int i = 0; i < pkFields.length; ++i)
         {
            JDBCCMPFieldBridge2 field = pkFields[i];
            //Object columnValue = field.loadArgumentResults(rs, rsInd++);
            Object columnValue = field.loadArgumentResults(rs, field.getRowIndex() + 1);
            pk = field.setPrimaryKeyValue(pk, columnValue);
         }
         return pk;
      }
View Full Code Here

                  }

                  int paramInd = 1;
                  for (int fInd = 0; fInd < pkFields.length; ++fInd)
                  {
                     JDBCCMPFieldBridge2 pkField = pkFields[fInd];
                     Object fieldValue = row.fields[pkField.getRowIndex()];
                     paramInd = pkField.setArgumentParameters(s, paramInd, fieldValue);
                  }

                  final int affected = s.executeUpdate();
                  if (affected != 1)
                  {
View Full Code Here

            paramInd = 1;
            JDBCCMPFieldBridge2[] tableFields = (JDBCCMPFieldBridge2[]) entity.getTableFields();
            for(int fInd = 0; fInd < tableFields.length; ++fInd)
            {
               JDBCCMPFieldBridge2 field = tableFields[fInd];
               Object fieldValue = fields[field.getRowIndex()];
               paramInd = field.setArgumentParameters(insertPs, paramInd, fieldValue);
            }

            insertPs.executeUpdate();

            flushStatus();
View Full Code Here

         }
      }

      private Object loadField(int i)
      {
         JDBCCMPFieldBridge2 field = (JDBCCMPFieldBridge2)entity.getFields().get(i);

         StringBuffer query = new StringBuffer();
         query.append("select ")
            .append(field.getColumnName())
            .append(" from ")
            .append(tableName)
            .append(" where ");

         JDBCCMPFieldBridge2[] pkFields = (JDBCCMPFieldBridge2[])entity.getPrimaryKeyFields();
         for(int pkI = 0; pkI < pkFields.length; ++pkI)
         {
            if(pkI > 0)
            {
               query.append(" and ");
            }
            query.append(pkFields[pkI].getColumnName()).append("=?");
         }

         if(log.isDebugEnabled())
         {
            log.debug("executing: " + query.toString());
         }

         Object value = null;
         Connection con = null;
         PreparedStatement ps = null;
         ResultSet rs = null;

         try
         {
            con = dataSource.getConnection();
            ps = con.prepareStatement(query.toString());

            for(int pkI = 0; pkI < pkFields.length; ++pkI)
            {
               JDBCCMPFieldBridge2 pkField = pkFields[pkI];
               Object fieldValue = fields[pkField.getRowIndex()];
               pkField.setArgumentParameters(ps, pkI + 1, fieldValue);
            }

            rs = ps.executeQuery();

            if(!rs.next())
View Full Code Here

      // UPDATE SQL
      updateSql = "update " + tableName + " set ";
      int setFields = 0;
      for(int i = 0; i < tableFields.length; ++i)
      {
         JDBCCMPFieldBridge2 field = tableFields[i];
         if(!field.isPrimaryKeyMember())
         {
            if(setFields++ > 0)
            {
               updateSql += ", ";
            }
            updateSql += field.getColumnName() + "=?";
         }
      }
      updateSql += " where ";
      updateSql += pkFields[0].getColumnName() + "=?";
      for(int i = 1; i < pkFields.length; ++i)
      {
         updateSql += " and " + pkFields[i].getColumnName() + "=?";
      }

      if(entity.getVersionField() != null)
      {
         updateSql += " and " + entity.getVersionField().getColumnName() + "=?";
      }
      log.debug("update sql: " + updateSql);

      // SELECT SQL
      String selectColumns = tableFields[0].getColumnName();
      for(int i = 1; i < tableFields.length; ++i)
      {
         JDBCCMPFieldBridge2 field = tableFields[i];
         selectColumns += ", " + field.getColumnName();
      }

      String whereColumns = pkFields[0].getColumnName() + "=?";
      for(int i = 1; i < pkFields.length; ++i)
      {
View Full Code Here

TOP

Related Classes of org.jboss.ejb.plugins.cmp.jdbc2.schema.Table

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.