Package com.draagon.meta.manager.db.defs

Examples of com.draagon.meta.manager.db.defs.ColumnDef


      if ( table instanceof TableDef ) {
        if ( TRUE.equals( getPersistenceAttribute( mf, IS_VIEWONLY ))) continue;
      }
     
      // Create the column definition
      ColumnDef colDef = new ColumnDef( col, getSQLType( mf ));
     
      // Set the length of the varchar field
      colDef.setLength( mf.getLength() );
     
      // Is it a primary key?
      String key = getPersistenceAttribute( mf , ObjectManager.IS_KEY );
      if ( key != null && key.equalsIgnoreCase( TRUE )) {
        colDef.setPrimaryKey( true );
      }

      // Load extra values if this is a Table Definition
      if ( table instanceof TableDef ) {
       
        // Is it an auto column?
        String auto = getAutoGenerated( mf );
        if ( auto != null ) {
          if ( AUTO_ID.equals( auto )) {
            colDef.setAutoType( ColumnDef.AUTO_ID );
          }
          else if ( ObjectManager.AUTO_CREATE.equals( auto )) {
            colDef.setAutoType( ColumnDef.AUTO_DATE_CREATE );
          }
          else if ( ObjectManager.AUTO_UPDATE.equals( auto )) {
            colDef.setAutoType( ColumnDef.AUTO_DATE_UPDATE );
          }
        }
       
        // Get the sequence if it is defined
        String seq = getSequenceRef( mf );
        if ( seq != null ) {
          int start = getSequenceStart( mf );
          SequenceDef seqDef = new SequenceDef( NameDef.parseName( seq ), start, 1 );
          colDef.setSequence( seqDef );
        }
       
        // Set if it is unique
        colDef.setUnique( isUnique( mf ));
     
        // Check if the column is an index
        if ( isIndex( mf )) {
         
          String name = table.getNameDef().getName() + "_" + col + "_index";
View Full Code Here


  /**
   * Gets the next sequence for a given MetaClass
   */
  private String getNextAutoId( Connection conn, MetaClass mc, ObjectMappingDB mapping, MetaField mf ) throws SQLException
  {
  ColumnDef colDef = (ColumnDef) mapping.getArgDef( mf );
   
    String seq = getProperName( colDef.getSequence().getNameDef() ); //getManager().getSequenceName( mf );
    if ( seq == null )
      throw new MetaException( "MetaField[" + mf + "] has no sequence defined" );

    try
    {
View Full Code Here

    int j = 0;
    for ( MetaField mf : fields ) {
     
      //BaseTableDef base = (BaseTableDef) omdb.getDBDef();
     
      ColumnDef colDef = (ColumnDef) omdb.getArgDef(mf);
      //while ( colDef == null ) {
      //  if ( base instanceof TableDef ) {         
      //  }
      //}
     
      // Do not use the field if it's an auto id that is set after after
      // creation/update -- only relevant on some drivers (MSSQL)
      //if (!selectOnly && colDef.isAutoIncrementor() )
      //  continue;

      if (j > 0) buf.append(",");

      if ( prefix != null ) {
        buf.append( prefix ).append( "." );
      }
      buf.append( colDef.getName() );

      j++;
    }

    return buf.toString();
View Full Code Here

    StringBuilder set = new StringBuilder();

    // Setup the SET clause
    for ( MetaField mf : fields ) {
     
      ColumnDef colDef = (ColumnDef) omdb.getArgDef(mf);
     
      // Don't try to set the id field
      if ( colDef.isAutoIncrementor() ) continue;

      if (set.length() > 0) set.append(", ");
      set.append( colDef.getName() );
      set.append( "=?" );
    }

    return set.toString();
  }
View Full Code Here

      else b.append(", ");

      MetaField mf = mc.getMetaField(order.getField());
     
      char prefix = 'A';
      ColumnDef colDef = (ColumnDef) omdb.getArgDef(mf);
      if (colDef == null) {
        throw new MetaException( "MetaField [" + mf + "] has no column mapping for [" + omdb + "]" );
      }

      if (mf.getType() == MetaField.STRING) {
        b.append("UPPER(");
        b.append( prefix ).append( "." );
        b.append(colDef.getName());
        b.append(')');
      } else {
        b.append( prefix ).append( "." );
        b.append(colDef.getName());
      }

      if (order.getOrder() == SortOrder.DESC) b.append(" DESC");

      order = order.getNext();
View Full Code Here

      throw new IllegalArgumentException(
          "Unsupported Special Expression [" + exp + "]");
    } else {
      MetaField f = mc.getMetaField(exp.getField());

      ColumnDef colDef = (ColumnDef) omdb.getArgDef(f);
      if (colDef == null) {
        throw new MetaException( "MetaField [" + f + "] has no column mapping defined for [" + omdb + "]" );
      }

      int c = exp.getCondition();

      if (c == Expression.CONTAIN || c == Expression.NOT_CONTAIN
          || c == Expression.START_WITH
          || c == Expression.NOT_START_WITH
          || c == Expression.END_WITH
          || c == Expression.NOT_END_WITH
          || c == Expression.EQUALS_IGNORE_CASE ) {
        set.append("UPPER(");
        if ( prefix != null ) {
          set.append( prefix ).append( "." );
        }
        set.append(colDef.getName());
        set.append(')');
      } else {
        if ( prefix != null ) {
          set.append( prefix ).append( "." );
        }
        set.append(colDef.getName());
      }

      set.append(' ');

      if (exp.getValue() == null) {
View Full Code Here

      throws MetaException {
    StringBuilder where = new StringBuilder();

    // Setup the WHERE clause
    for (MetaField f : keys) {
      ColumnDef colDef = (ColumnDef) omdb.getArgDef(f);
      if (colDef == null)
        throw new MetaException("MetaField [" + f
            + "] has no column mapping defined for [" + omdb + "]" );

      if (where.length() > 0)
        where.append(" AND ");
      where.append(colDef.getName());
      where.append("=?");
    }

    return where.toString();
  }
View Full Code Here

    try {
      int j = 1;
      for (MetaField f : fields) {
       
        ColumnDef colDef = (ColumnDef) omdb.getArgDef(f);     
       
        // Do not use the field if it's an auto id that is set after
        // after creation/update -- only valid on some drivers (MSSQL)
        //if ( colDef.isAutoIncrementor() )
        //  continue;

        // Set the statement id value
        if ( colDef.isAutoIncrementor() ) {
          f.setString( o, getNextAutoId( c , colDef ));
        }
        // Set the create date (if auto)
        //else if ( colDef.getAutoType() == ColumnDef.AUTO_DATE_CREATE ) {
        //  f.setDate( o, new Date() );
View Full Code Here

    try {
      // Set the update values
      int j = 1;
      for (MetaField f : fields) {
       
        ColumnDef colDef = (ColumnDef) omdb.getArgDef(f);
       
        if ( colDef.isAutoIncrementor() ) continue;
       
        // Set the create date (if auto)
        //if ( colDef.getAutoType() == ColumnDef.AUTO_DATE_CREATE ||
        //    colDef.getAutoType() == ColumnDef.AUTO_DATE_UPDATE ) {
        //  f.setDate( o, new Date() );
View Full Code Here

TOP

Related Classes of com.draagon.meta.manager.db.defs.ColumnDef

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.