Package org.jboss.ejb.plugins.cmp.jdbc.metadata

Examples of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData


      // drop relation tables
      JDBCAbstractCMRFieldBridge[] cmrFields = entity.getCMRFields();
      for(int i = 0; i < cmrFields.length; ++i)
      {
         JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
         JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
         if(relationMetaData.isTableMappingStyle() && !relationMetaData.isTableDropped())
         {
            if(relationMetaData.getRemoveTable())
            {
               final boolean dropped = dropTable(relationMetaData.getDataSource(), cmrField.getQualifiedTableName());
               if(!dropped)
               {
                  success = false;
               }
               else
               {
                  relationMetaData.setTableDropped();
               }
            }
         }
      }
View Full Code Here


/*      */
/*  247 */     JDBCAbstractCMRFieldBridge[] cmrFields = this.entity.getCMRFields();
/*  248 */     for (int i = 0; i < cmrFields.length; i++)
/*      */     {
/*  250 */       JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
/*  251 */       JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
/*      */
/*  254 */       EntityBridge relatedEntity = cmrField.getRelatedEntity();
/*  255 */       if ((!relationMetaData.isTableMappingStyle()) || (!createdTables.contains(relatedEntity.getEntityName())))
/*      */         continue;
/*  257 */       DataSource dataSource = relationMetaData.getDataSource();
/*      */
/*  259 */       boolean relTableExisted = SQLUtil.tableExists(cmrField.getQualifiedTableName(), this.entity.getDataSource());
/*      */
/*  261 */       if (relTableExisted)
/*      */       {
/*  263 */         if (relationMetaData.getAlterTable())
/*      */         {
/*  265 */           ArrayList oldNames = SQLUtil.getOldColumns(cmrField.getQualifiedTableName(), dataSource).getColumnNames();
/*  266 */           ArrayList newNames = new ArrayList();
/*  267 */           JDBCFieldBridge[] leftKeys = cmrField.getTableKeyFields();
/*  268 */           JDBCFieldBridge[] rightKeys = cmrField.getRelatedCMRField().getTableKeyFields();
/*  269 */           JDBCFieldBridge[] fields = new JDBCFieldBridge[leftKeys.length + rightKeys.length];
/*  270 */           System.arraycopy(leftKeys, 0, fields, 0, leftKeys.length);
/*  271 */           System.arraycopy(rightKeys, 0, fields, leftKeys.length, rightKeys.length);
/*      */
/*  274 */           boolean different = false;
/*  275 */           for (int j = 0; j < fields.length; j++)
/*      */           {
/*  277 */             JDBCFieldBridge field = fields[j];
/*      */
/*  279 */             String name = field.getJDBCType().getColumnNames()[0].toUpperCase();
/*  280 */             newNames.add(name);
/*      */
/*  282 */             if (oldNames.contains(name))
/*      */               continue;
/*  284 */             different = true;
/*  285 */             break;
/*      */           }
/*      */
/*  289 */           if (!different)
/*      */           {
/*  291 */             Iterator it = oldNames.iterator();
/*  292 */             while (it.hasNext())
/*      */             {
/*  294 */               String name = (String)(String)it.next();
/*  295 */               if (!newNames.contains(name))
/*      */               {
/*  297 */                 different = true;
/*  298 */                 break;
/*      */               }
/*      */             }
/*      */           }
/*      */
/*  303 */           if (different)
/*      */           {
/*  306 */             this.log.error("CMR table structure is incorrect for " + cmrField.getQualifiedTableName());
/*      */           }
/*      */
/*      */         }
/*      */
/*      */       }
/*      */
/*  315 */       if ((!relationMetaData.isTableMappingStyle()) || (relationMetaData.isTableCreated()))
/*      */         continue;
/*  317 */       if (relationMetaData.getCreateTable())
/*      */       {
/*  319 */         createTable(dataSource, cmrField.getQualifiedTableName(), getRelationCreateTableSQL(cmrField, dataSource));
/*      */       }
/*      */       else
/*      */       {
/*  324 */         this.log.debug("Relation table not created as requested: " + cmrField.getQualifiedTableName());
/*      */       }
/*      */
/*  327 */       createCMRIndex(dataSource, cmrField);
/*      */
/*  329 */       if (!relationMetaData.getCreateTable())
/*      */         continue;
/*  331 */       issuePostCreateSQL(dataSource, relationMetaData.getDefaultTablePostCreateCmd(), cmrField.getQualifiedTableName());
/*      */     }
/*      */   }
View Full Code Here

/*      */
/*  345 */     JDBCAbstractCMRFieldBridge[] cmrFields = this.entity.getCMRFields();
/*  346 */     for (int i = 0; i < cmrFields.length; i++)
/*      */     {
/*  348 */       JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
/*  349 */       JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
/*      */
/*  352 */       EntityBridge relatedEntity = cmrField.getRelatedEntity();
/*      */
/*  357 */       if ((relationMetaData.isForeignKeyMappingStyle()) && (createdTables.contains(relatedEntity.getEntityName())))
/*      */       {
/*  359 */         createCMRIndex(((JDBCAbstractEntityBridge)relatedEntity).getDataSource(), cmrField);
/*      */       }
/*      */
/*  363 */       addForeignKeyConstraint(cmrField);
View Full Code Here

/*      */   }
/*      */
/*      */   private void createCMRIndex(DataSource dataSource, JDBCAbstractCMRFieldBridge field)
/*      */     throws DeploymentException
/*      */   {
/*  937 */     JDBCRelationMetaData rmd = field.getMetaData().getRelationMetaData();
/*      */
/*  939 */     if (rmd.isTableMappingStyle())
/*      */     {
/*  941 */       String tableName = rmd.getDefaultTableName();
/*  942 */       createFKIndex(rmd.getLeftRelationshipRole(), dataSource, tableName);
/*  943 */       createFKIndex(rmd.getRightRelationshipRole(), dataSource, tableName);
/*      */     }
/*  945 */     else if (field.hasForeignKey())
/*      */     {
/*  947 */       String tableName = field.getEntity().getQualifiedTableName();
/*  948 */       createFKIndex(field.getRelatedCMRField().getMetaData(), dataSource, tableName);
View Full Code Here

/* 1009 */     System.arraycopy(rightKeys, 0, fieldsArr, leftKeys.length, rightKeys.length);
/*      */
/* 1011 */     StringBuffer sql = new StringBuffer();
/* 1012 */     sql.append("CREATE TABLE ").append(cmrField.getQualifiedTableName()).append(" (").append(SQLUtil.getCreateTableColumnsClause(fieldsArr));
/*      */
/* 1018 */     JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
/* 1019 */     if (relationMetaData.hasPrimaryKeyConstraint())
/*      */     {
/* 1021 */       JDBCFunctionMappingMetaData pkConstraint = this.manager.getMetaData().getTypeMapping().getPkConstraintTemplate();
/*      */
/* 1023 */       if (pkConstraint == null)
/*      */       {
/* 1025 */         throw new IllegalStateException("Primary key constraint is not allowed for this type of data store");
/*      */       }
/*      */
/* 1028 */       String name = "pk_" + relationMetaData.getDefaultTableName();
/* 1029 */       name = SQLUtil.fixConstraintName(name, dataSource);
/* 1030 */       String[] args = { name, SQLUtil.getColumnNamesClause(fieldsArr, 100, new StringBuffer()).toString() };
/*      */
/* 1034 */       sql.append(", ");
/* 1035 */       pkConstraint.getFunctionSql(args, sql);
View Full Code Here

/*  849 */       String joinAlias = this.aliasManager.getAlias(curPath + "_local");
/*      */
/*  851 */       JDBCAbstractCMRFieldBridge cmrField = (JDBCAbstractCMRFieldBridge)path.getCMRField(i);
/*  852 */       JDBCAbstractEntityBridge joinEntity = (JDBCAbstractEntityBridge)cmrField.getRelatedEntity();
/*      */
/*  854 */       JDBCRelationMetaData relation = cmrField.getMetaData().getRelationMetaData();
/*      */
/*  856 */       String join = " INNER JOIN ";
/*      */
/*  858 */       if (relation.isTableMappingStyle())
/*      */       {
/*  860 */         String relTableAlias = this.aliasManager.getRelationTableAlias(curPath + "_local");
/*  861 */         sql.append(join).append(cmrField.getQualifiedTableName()).append(' ').append(relTableAlias).append(" ON ");
/*      */
/*  866 */         SQLUtil.getRelationTableJoinClause(cmrField, leftAlias, relTableAlias, sql);
View Full Code Here

/* 1444 */         if (this.joinedAliases.add(joinAlias))
/*      */         {
/* 1446 */           JDBCAbstractCMRFieldBridge cmrField = (JDBCAbstractCMRFieldBridge)path.getCMRField(i);
/* 1447 */           JDBCAbstractEntityBridge joinEntity = (JDBCAbstractEntityBridge)cmrField.getRelatedEntity();
/*      */
/* 1449 */           JDBCRelationMetaData relation = cmrField.getMetaData().getRelationMetaData();
/*      */
/* 1451 */           String join = path.innerJoin ? " INNER JOIN " : " LEFT OUTER JOIN ";
/*      */
/* 1453 */           if (relation.isTableMappingStyle())
/*      */           {
/* 1455 */             String relTableAlias = this.aliasManager.getRelationTableAlias(curPath);
/* 1456 */             sql.append(join).append(cmrField.getQualifiedTableName()).append(' ').append(relTableAlias).append(" ON ");
/*      */
/* 1461 */             SQLUtil.getRelationTableJoinClause(cmrField, leftAlias, relTableAlias, sql);
View Full Code Here

/*  482 */       LeftJoinCMRNode node = (LeftJoinCMRNode)onFindCMRNodes.get(i);
/*  483 */       JDBCCMRFieldBridge cmrField = node.cmrField;
/*  484 */       JDBCEntityBridge relatedEntity = cmrField.getRelatedJDBCEntity();
/*  485 */       String relatedAlias = aliasManager.getAlias(node.path);
/*      */
/*  487 */       JDBCRelationMetaData relation = cmrField.getMetaData().getRelationMetaData();
/*  488 */       if (relation.isTableMappingStyle())
/*      */       {
/*  490 */         String relTableAlias = aliasManager.getRelationTableAlias(node.path);
/*  491 */         sb.append(" LEFT OUTER JOIN ").append(cmrField.getQualifiedTableName()).append(' ').append(relTableAlias).append(" ON ");
/*      */
/*  496 */         SQLUtil.getRelationTableJoinClause(cmrField, alias, relTableAlias, sb);
View Full Code Here

/*     */
/*  74 */     JDBCAbstractCMRFieldBridge[] cmrFields = this.entity.getCMRFields();
/*  75 */     for (int i = 0; i < cmrFields.length; i++)
/*     */     {
/*  77 */       JDBCAbstractCMRFieldBridge cmrField = cmrFields[i];
/*  78 */       JDBCRelationMetaData relationMetaData = cmrField.getMetaData().getRelationMetaData();
/*  79 */       if ((!relationMetaData.isTableMappingStyle()) || (relationMetaData.isTableDropped()))
/*     */         continue;
/*  81 */       if (!relationMetaData.getRemoveTable())
/*     */         continue;
/*  83 */       boolean dropped = dropTable(relationMetaData.getDataSource(), cmrField.getQualifiedTableName());
/*  84 */       if (!dropped)
/*     */       {
/*  86 */         success = false;
/*     */       }
/*     */       else
/*     */       {
/*  90 */         relationMetaData.setTableDropped();
/*     */       }
/*     */
/*     */     }
/*     */
/*  96 */     if (this.entityMetaData.getRemoveTable())
View Full Code Here

/*  62 */     this.schema = schema;
/*  63 */     this.tableId = tableId;
/*  64 */     this.leftField = leftField;
/*  65 */     this.rightField = rightField;
/*     */
/*  67 */     JDBCRelationMetaData metadata = leftField.getMetaData().getRelationMetaData();
/*  68 */     this.ds = metadata.getDataSource();
/*  69 */     this.tableName = SQLUtil.fixTableName(metadata.getDefaultTableName(), this.ds);
/*     */
/*  71 */     this.log = Logger.getLogger(getClass().getName() + "." + this.tableName);
/*     */
/*  75 */     this.insertSql = ("insert into " + this.tableName + " (");
/*     */
View Full Code Here

TOP

Related Classes of org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData

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.