Package org.springframework.roo.classpath.details

Examples of org.springframework.roo.classpath.details.FieldMetadataBuilder


        listOfFieldNames.add(field.getFieldName().getSymbolName());
      }    
     
      String listOfFieldNamesAsStringExpr = "java.util.Arrays.asList(\""+ StringUtils.join(listOfFieldNames, "\", \"") + "\")";     
     
      return new FieldMetadataBuilder(getId(), Modifier.FINAL + Modifier.STATIC + Modifier.PUBLIC,
          fieldName, fieldType, listOfFieldNamesAsStringExpr).build();
  }
View Full Code Here


            if (owningSideTable.equals(table)) {
                final JavaSymbolName fieldName = new JavaSymbolName(
                        getInflectorPlural(DbreTypeUtils
                                .suggestFieldName(inverseSideTable))
                                + (sameTable ? "1" : fieldSuffix));
                final FieldMetadataBuilder fieldBuilder = getManyToManyOwningSideField(
                        fieldName, joinTable, inverseSideTable,
                        foreignKey1.getOnUpdate(), foreignKey1.getOnDelete());
                uniqueOwningSideFields.put(fieldName, fieldBuilder);
            }

            if (inverseSideTable.equals(table)) {
                final JavaSymbolName fieldName = new JavaSymbolName(
                        getInflectorPlural(DbreTypeUtils
                                .suggestFieldName(owningSideTable))
                                + (sameTable ? "2" : fieldSuffix));
                final JavaSymbolName mappedByFieldName = new JavaSymbolName(
                        getInflectorPlural(DbreTypeUtils
                                .suggestFieldName(inverseSideTable))
                                + (sameTable ? "1" : fieldSuffix));
                final FieldMetadataBuilder fieldBuilder = getManyToManyInverseSideField(
                        fieldName, mappedByFieldName, owningSideTable,
                        foreignKey2.getOnUpdate(), foreignKey2.getOnDelete());
                uniqueInverseSideFields.put(fieldName, fieldBuilder);
            }
        }

        // Add unique owning-side many-to-one fields
        for (final FieldMetadataBuilder fieldBuilder : uniqueOwningSideFields
                .values()) {
            addToBuilder(fieldBuilder);

            // Exclude these fields in @RooToString to avoid circular references
            // - ROO-1399
            excludeFieldsInToStringAnnotation(fieldBuilder.getFieldName()
                    .getSymbolName());
        }
        // Add unique inverse-side many-to-one fields
        for (final FieldMetadataBuilder fieldBuilder : uniqueInverseSideFields
                .values()) {
            addToBuilder(fieldBuilder);

            // Exclude these fields in @RooToString to avoid circular references
            // - ROO-1399
            excludeFieldsInToStringAnnotation(fieldBuilder.getFieldName()
                    .getSymbolName());
        }
    }
View Full Code Here

            // Fields are stored in a field-keyed map first before adding them
            // to the builder.
            // This ensures the fields from foreign keys with multiple columns
            // will only get created once.
            final FieldMetadataBuilder fieldBuilder = getOneToOneOrManyToOneField(
                    fieldName, fieldType, foreignKey, MANY_TO_ONE, true);
            uniqueFields.put(fieldName, fieldBuilder);
        }

        for (final FieldMetadataBuilder fieldBuilder : uniqueFields.values()) {
            addToBuilder(fieldBuilder);

            // Exclude these fields in @RooToString to avoid circular references
            // - ROO-1399
            excludeFieldsInToStringAnnotation(fieldBuilder.getFieldName()
                    .getSymbolName());
        }
    }
View Full Code Here

                    break;
                }
                fieldName = new JavaSymbolName(fieldName.getSymbolName() + "_");
            }

            final FieldMetadataBuilder fieldBuilder = getOneToManyMappedByField(
                    fieldName, mappedByFieldName, foreignTableName,
                    foreignSchemaName, exportedKey.getOnUpdate(),
                    exportedKey.getOnDelete());
            addToBuilder(fieldBuilder);

            // Exclude these fields in @RooToString to avoid circular references
            // - ROO-1399
            excludeFieldsInToStringAnnotation(fieldBuilder.getFieldName()
                    .getSymbolName());
        }
    }
View Full Code Here

            // Fields are stored in a field-keyed map first before adding them
            // to the builder.
            // This ensures the fields from foreign keys with multiple columns
            // will only get created once.
            final FieldMetadataBuilder fieldBuilder = getOneToOneOrManyToOneField(
                    fieldName, fieldType, foreignKey, ONE_TO_ONE, false);
            uniqueFields.put(fieldName, fieldBuilder);
        }

        for (final FieldMetadataBuilder fieldBuilder : uniqueFields.values()) {
            addToBuilder(fieldBuilder);

            // Exclude these fields in @RooToString to avoid circular references
            // - ROO-1399
            excludeFieldsInToStringAnnotation(fieldBuilder.getFieldName()
                    .getSymbolName());
        }

        // Add one-to-one mapped-by fields
        if (table.isJoinTable()) {
            return;
        }

        for (final ForeignKey exportedKey : table.getExportedKeys()) {
            final Table exportedKeyForeignTable = exportedKey.getForeignTable();
            Validate.notNull(
                    exportedKeyForeignTable,
                    "Foreign key table for foreign key '%s' in table '%s' does not exist. One-to-one relationship not created",
                    exportedKey.getName(), table.getFullyQualifiedTableName());
            if (exportedKeyForeignTable.isJoinTable()) {
                continue;
            }

            final String foreignTableName = exportedKeyForeignTable.getName();
            final String foreignSchemaName = exportedKeyForeignTable
                    .getSchema().getName();
            final Table foreignTable = database.getTable(foreignTableName,
                    foreignSchemaName);
            Validate.notNull(
                    foreignTable,
                    "Related table '%s' could not be found but has a foreign-key reference to table '%s'",
                    exportedKeyForeignTable.getFullyQualifiedTableName(),
                    table.getFullyQualifiedTableName());
            if (!isOneToOne(foreignTable,
                    foreignTable.getImportedKey(exportedKey.getName()))) {
                continue;
            }
            final Short keySequence = exportedKey.getKeySequence();
            final String fieldSuffix = keySequence != null && keySequence > 0 ? String
                    .valueOf(keySequence) : "";
            JavaSymbolName fieldName = new JavaSymbolName(
                    DbreTypeUtils.suggestFieldName(foreignTableName)
                            + fieldSuffix);

            final JavaType fieldType = DbreTypeUtils.findTypeForTableName(
                    managedEntities, foreignTableName, foreignSchemaName);
            Validate.notNull(
                    fieldType,
                    "Attempted to create one-to-one mapped-by field '%s' in '%s' %s",
                    fieldName, destination.getFullyQualifiedTypeName(),
                    getErrorMsg(foreignTable.getFullyQualifiedTableName()));

            // Check for existence of same field - ROO-1691
            while (true) {
                if (!hasFieldInItd(fieldName)) {
                    break;
                }
                fieldName = new JavaSymbolName(fieldName.getSymbolName() + "_");
            }

            final JavaSymbolName mappedByFieldName = new JavaSymbolName(
                    DbreTypeUtils.suggestFieldName(table.getName())
                            + fieldSuffix);

            final FieldMetadataBuilder fieldBuilder = getOneToOneMappedByField(
                    fieldName, fieldType, mappedByFieldName,
                    exportedKey.getOnUpdate(), exportedKey.getOnDelete());
            addToBuilder(fieldBuilder);

            // Exclude these fields in @RooToString to avoid circular references
            // - ROO-1399
            excludeFieldsInToStringAnnotation(fieldBuilder.getFieldName()
                    .getSymbolName());
        }
    }
View Full Code Here

                    && !isCompositeKeyField;
            if (hasEmbeddedIdField) {
                fieldName = governorTypeDetails.getUniqueFieldName(fieldName
                        .getSymbolName());
            }
            final FieldMetadataBuilder fieldBuilder = getField(fieldName,
                    column, table.getName(),
                    table.isIncludeNonPortableAttributes());
            if (fieldBuilder.getFieldType().equals(DATE)
                    && fieldName.getSymbolName().equals(CREATED)) {
                fieldBuilder.setFieldInitializer("new Date()");
            }
            uniqueFields.put(fieldName, fieldBuilder);
        }

        for (final FieldMetadataBuilder fieldBuilder : uniqueFields.values()) {
View Full Code Here

        // Add @Lob for CLOB fields if applicable
        if (column.getJdbcType().equals("CLOB")) {
            annotations.add(new AnnotationMetadataBuilder(LOB));
        }

        final FieldMetadataBuilder fieldBuilder = new FieldMetadataBuilder(
                getId(), Modifier.PRIVATE, annotations, fieldName, fieldType);
        if (fieldName.getSymbolName().equals(CREATED)) {
            if (fieldType.equals(DATE)) {
                fieldBuilder.setFieldInitializer("new java.util.Date()");
            }
            else {
                fieldBuilder
                        .setFieldInitializer("java.util.Calendar.getInstance()");
            }
        }
        return fieldBuilder;
    }
View Full Code Here

        manyToManyBuilder.addStringAttribute(MAPPED_BY,
                mappedByFieldName.getSymbolName());
        addCascadeType(manyToManyBuilder, onUpdate, onDelete);
        annotations.add(manyToManyBuilder);

        return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, annotations,
                fieldName, fieldType);
    }
View Full Code Here

        // Add attributes to a @JoinTable annotation builder
        joinTableBuilder.setAttributes(joinTableAnnotationAttributes);
        annotations.add(joinTableBuilder);

        return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, annotations,
                fieldName, fieldType);
    }
View Full Code Here

        oneToManyBuilder.addStringAttribute(MAPPED_BY,
                mappedByFieldName.getSymbolName());
        addCascadeType(oneToManyBuilder, onUpdate, onDelete);
        annotations.add(oneToManyBuilder);

        return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, annotations,
                fieldName, fieldType);
    }
View Full Code Here

TOP

Related Classes of org.springframework.roo.classpath.details.FieldMetadataBuilder

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.