Examples of AmberColumn


Examples of com.caucho.amber.table.AmberColumn

    LinkColumns link = getOwnerType().getTable().getDependentIdLink();

    ArrayList<AmberColumn> columns = parentId.getColumns();

    for (int i = 0; i < columns.size(); i++) {
      AmberColumn column = columns.get(i);

      if (i != 0)
        cb.append(" and ");

      cb.append(id);
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

  {
    _embeddedField = embeddedField;
    _embeddableField = embeddableField;
    _index = index;

    AmberColumn embeddableColumn;

    if (embeddableField instanceof PropertyField) {
      embeddableColumn = ((PropertyField) embeddableField).getColumn();
    }
    else
      throw new IllegalStateException(L.l("'{0}' is an unknown field type of @Embeddable bean.",
                                          embeddableField.getClass().getName()));
   

    if (embeddableColumn == null)
      throw new IllegalStateException(embeddableField + " column is null");

    _column = new AmberColumn(_embeddedField.getTable(),
                         embeddableColumn.getName(),
                         embeddableColumn.getType());
  }
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

  {
    String fieldName = field.getName();

    ColumnConfig column = _overrideMap.get(fieldName);

    AmberColumn oldColumn = field.getColumn();
    // XXX: deal with types
    AbstractField newField = (AbstractField) field.override(_entityType);

    if (column != null) {
      AmberTable table = _entityType.getTable();
      AmberColumn newColumn = table.createColumn(column.getName(),
                                            oldColumn.getType());

      newField.setColumn(newColumn);

      newField.init();

      return newField;
    }
    else {
      AmberTable table = _entityType.getTable();
      AmberColumn newColumn = table.createColumn(oldColumn.getName(),
                                            oldColumn.getType());

      newField.setColumn(newColumn);

      newField.init();
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

    if (_linkColumns == null) {
      ArrayList<ForeignColumn> columns = new ArrayList<ForeignColumn>();

      for (int i = 0; i < keys.size(); i++) {
        AmberColumn key = keys.get(i);

        String name;

        if (keys.size() == 1)
          name = getName();
        else
          name = getName() + "_" + key.getName();

        columns.add(sourceTable.createForeignColumn(name, key));
      }

      _linkColumns = new LinkColumns(relatedType.getTable(),
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

    AmberType amberType = persistenceUnit.createType(fieldType);

    KeyPropertyField idField;

    AmberColumn keyColumn = null;
    keyColumn = createColumn(entityType,
                             field,
                             fieldName,
                             column,
                             amberType,
                             columnConfig);


    if (entityType.getTable() != null) {
      idField = new KeyPropertyField(entityType, fieldName, keyColumn);
    }
    else {
      idField = new KeyPropertyField(entityType, fieldName, keyColumn);
      return idField;
    }

    if (gen == null) {
    }
    else {
      JdbcMetaData metaData = null;

      /* XXX: validation needs to occur later
      try {
        metaData = persistenceUnit.getMetaData();
      } catch (ConfigException e) {
        throw e;
      } catch (Exception e) {
        throw new ConfigException(L.l("Unable to get meta data for database. Meta data is needed for generated values."), e);
      }
      */

      if (GenerationType.IDENTITY.equals(gen.strategy())) {
        /* XXX: validation later
        if (! metaData.supportsIdentity())
          throw new ConfigException(L.l("'{0}' does not support identity.",
                                        metaData.getDatabaseName()));
        */

        keyColumn.setGeneratorType("identity");
        idField.setGenerator("identity");
      }
      else if (GenerationType.SEQUENCE.equals(gen.strategy())) {
        /* XXX: validation later
        if (! metaData.supportsSequences())
          throw new ConfigException(L.l("'{0}' does not support sequence.",
                                        metaData.getDatabaseName()));
        */

        addSequenceIdGenerator(persistenceUnit, idField, gen);
      }
      else if (GenerationType.TABLE.equals(gen.strategy())) {
        addTableIdGenerator(persistenceUnit, idField, id);
      }
      else if (GenerationType.AUTO.equals(gen.strategy())) {
        keyColumn.setGeneratorType("auto");
        idField.setGenerator("auto");

        /* XXX: validation later
        if (metaData.supportsIdentity()) {
          keyColumn.setGeneratorType("identity");
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

                             fieldType.getName(), fieldName));
    }

    AmberType amberType = persistenceUnit.createType(fieldType);

    AmberColumn fieldColumn = createColumn(sourceType, field, fieldName,
                                      columnAnn, amberType, columnConfig);

    VersionField version = new VersionField(sourceType, fieldName);
    version.setColumn(fieldColumn);
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

    else if (columnConfig != null && ! columnConfig.getName().equals(""))
      name = columnConfig.getName();
    else
      name = toSqlName(fieldName);

    AmberColumn column = null;

    if (entityType == null) { // embeddable
      column = new AmberColumn(null, name, amberType);
    }
    else if (columnAnn != null && ! columnAnn.table().equals("")) {
      String tableName = columnAnn.table();
      AmberTable table;

      table = entityType.getSecondaryTable(tableName);

      if (table == null)
        throw error(field, L.l("{0} @Column(table='{1}') is an unknown secondary table.",
                               fieldName,
                               tableName));

      column = table.createColumn(name, amberType);
    }
    else if (entityType.getTable() != null)
      column = entityType.getTable().createColumn(name, amberType);
    else { // jpa/0ge2: MappedSuperclassType
      column = new AmberColumn(null, name, amberType);
    }

    if (column != null && columnAnn != null) {
      // primaryKey = column.primaryKey();
      column.setUnique(columnAnn.unique());
      column.setNotNull(! columnAnn.nullable());
      //insertable = column.insertable();
      //updateable = column.updatable();
      if (! "".equals(columnAnn.columnDefinition()))
        column.setSQLType(columnAnn.columnDefinition());
      column.setLength(columnAnn.length());
      int precision = columnAnn.precision();
      if (precision < 0) {
        throw error(field, L.l("{0} @Column precision cannot be less than 0.",
                               fieldName));
      }

      int scale = columnAnn.scale();
      if (scale < 0) {
        throw error(field, L.l("{0} @Column scale cannot be less than 0.",
                               fieldName));
      }

      // this test implicitly works for case where
      // precision is not set explicitly (ie: set to 0 by default)
      // and scale is set
      if (scale > precision) {
        throw error(field, L.l("{0} @Column scale cannot be greater than precision. Must set precision to a non-zero value before setting scale.",
                               fieldName));
      }

      if (precision > 0) {
        column.setPrecision(precision);
        column.setScale(scale);
      }
    }

    return column;
  }
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

   * Initialize the table.
   */
  public void init()
    throws ConfigException
  {
    AmberColumn keyColumn = getTable().createColumn(_keyColumn,
                                               StringType.create());
    keyColumn.setPrimaryKey(true);
    keyColumn.setLength(254);

    AmberColumn valueColumn = getTable().createColumn(_valueColumn,
                                                 LongType.create());
  }
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

                                     boolean select)
  {
    cb.append('(');

    for (int i = 0; i < _keyColumns.size(); i++) {
      AmberColumn column = _keyColumns.get(i);

      if (i != 0)
        cb.append(" AND ");

      cb.append(_fromItemA.getName());
      cb.append('.');
      cb.append(column.getName());

      cb.append('=');

      cb.append(_fromItemB.getName());
      cb.append('.');
      cb.append(column.getName());
    }

    cb.append('(');
  }
View Full Code Here

Examples of com.caucho.amber.table.AmberColumn

    AmberType amberType = persistenceUnit.createType(fieldType);

    KeyPropertyField idField;

    AmberColumn keyColumn = null;
    keyColumn = createColumn(entityType,
           field,
           fieldName,
           column,
           amberType,
           columnConfig);


    if (entityType.getTable() != null) {
      idField = new KeyPropertyField(entityType, fieldName, keyColumn);
    }
    else {
      idField = new KeyPropertyField(entityType, fieldName, keyColumn);
      return idField;
    }

    if (gen == null) {
    }
    else {
      JdbcMetaData metaData = null;

      /* XXX: validation needs to occur later
      try {
        metaData = persistenceUnit.getMetaData();
      } catch (ConfigException e) {
  throw e;
      } catch (Exception e) {
        throw new ConfigException(L.l("Unable to get meta data for database. Meta data is needed for generated values."), e);
      }
      */

      if (GenerationType.IDENTITY.equals(gen.strategy())) {
  /* XXX: validation later
        if (! metaData.supportsIdentity())
          throw new ConfigException(L.l("'{0}' does not support identity.",
                                        metaData.getDatabaseName()));
  */

        keyColumn.setGeneratorType("identity");
        idField.setGenerator("identity");
      }
      else if (GenerationType.SEQUENCE.equals(gen.strategy())) {
  /* XXX: validation later
        if (! metaData.supportsSequences())
          throw new ConfigException(L.l("'{0}' does not support sequence.",
                                        metaData.getDatabaseName()));
  */

        addSequenceIdGenerator(persistenceUnit, idField, gen);
      }
      else if (GenerationType.TABLE.equals(gen.strategy())) {
        addTableIdGenerator(persistenceUnit, idField, id);
      }
      else if (GenerationType.AUTO.equals(gen.strategy())) {
        keyColumn.setGeneratorType("auto");
        idField.setGenerator("auto");

  /* XXX: validation later
        if (metaData.supportsIdentity()) {
          keyColumn.setGeneratorType("identity");
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.