Package org.apache.tuscany.das.rdb.config.wrapper

Examples of org.apache.tuscany.das.rdb.config.wrapper.TableWrapper


  }

  public InsertCommandImpl getInsertCommand(MappingWrapper config,
      DataObject changedObject, Table t) {
    ArrayList parameters = new ArrayList();
    TableWrapper table = new TableWrapper(t);
    StringBuffer statement = new StringBuffer("insert into ");
    statement.append(t.getName());

    Iterator i = getAttributeProperties(changedObject, config).iterator();

    ArrayList attributes = new ArrayList();
    while (i.hasNext()) {
      Property attr = (Property) i.next();
      if (!table.isGeneratedColumnProperty(attr.getName())) {
        attributes.add(attr.getName());
        parameters.add(changedObject.getType().getProperty(
            attr.getName()));
      }
    }
View Full Code Here


  }

  public Collection getInsertParameters(MappingWrapper config,
      DataObject changedObject, Table table) {
    ArrayList parameters = new ArrayList();
    TableWrapper wrapper = new TableWrapper(table);

    Iterator i = getAttributeProperties(changedObject, config).iterator();

    while (i.hasNext()) {
      Property attr = (Property) i.next();
      if (!wrapper.isGeneratedColumnProperty(attr.getName()))
        parameters.add(changedObject.getType().getProperty(
            attr.getName()));
    }

    return parameters;
View Full Code Here

  private boolean hasState(MappingWrapper config, Relationship rel, DataObject changedObject) {             
     
      if ( !rel.isMany()) {
        Table t = config.getTableByPropertyName(changedObject.getType().getName());
        TableWrapper tw = new TableWrapper(t);
        RelationshipWrapper rw = new RelationshipWrapper(rel);
        if (( rel.getForeignKeyTable().equals(t.getName())) &&
            ( Collections.disjoint(tw.getPrimaryKeyProperties(),rw.getForeignKeys()) ))
          return true;     
      }
       
    return false;
  }
View Full Code Here

  public DeleteGenerator() {
    super();
  }

  public String getDeleteStatement(Table t) {
    TableWrapper table = new TableWrapper(t);

    StringBuffer statement = new StringBuffer();
    statement.append("delete from ");
    statement.append(t.getName());
    statement.append(" where ");

    Iterator names = table.getPrimaryKeyNames().iterator();
    Iterator properties = table.getPrimaryKeyProperties().iterator();
    while (names.hasNext() && properties.hasNext()) {
      String name = (String) names.next();
      statement.append(name);
      statement.append(" = ?");
      if (names.hasNext() && properties.hasNext())
View Full Code Here

    DebugUtil.debugln(getClass(), debug, statement.toString());
    return statement.toString();
  }

  public Collection getDeleteParameters(Table table) {
    TableWrapper wrapper = new TableWrapper(table);
    return wrapper.getPrimaryKeyProperties();
  }
View Full Code Here

    }
    return deleteCommand;
  }
 
  private Converter getConverter(Table t, String name) {
    TableWrapper tw = new TableWrapper(t);
    String converter = tw.getConverter(name);
    if ( converter != null ) {
      try {
        return (Converter) Class.forName(converter).newInstance();
      } catch (Exception ex) {
        throw new RuntimeException(ex);
View Full Code Here

        // Add any tables defined in the model but not included in the ResultSet
        // to the list of propertyNames
        if (model != null) {
            Iterator tablesFromModel = model.getTable().iterator();
            while (tablesFromModel.hasNext()) {
                TableWrapper t = new TableWrapper((Table) tablesFromModel
                        .next());
                if (tableToColumnMap.get(t.getPropertyName()) == null)
                    tableToColumnMap.put(t.getPropertyName(),
                            Collections.EMPTY_LIST);
            }
        }

        if (debug) {
View Full Code Here

      Relationship rel = mw.getRelationshipByReference(ref);     
     
      if ( !rel.isMany()) {
        // This is a one-one relationship
        Table t = mapping.getTableByPropertyName(changedObject.getType().getName());
        TableWrapper tw = new TableWrapper(t);
        RelationshipWrapper rw = new RelationshipWrapper(rel);
        if (( rel.getForeignKeyTable().equals(t.getName())) &&
            ( Collections.disjoint(tw.getPrimaryKeyProperties(),rw.getForeignKeys()) ))
          return true;
       
      }
   
    }
View Full Code Here

      }
      String updateStatement = table.getUpdate();
      if ( updateStatement == null ) {
        updateCommand = getCudGenerator().getUpdateCommand(mapping, changedObject,table);
      } else {
        TableWrapper t = new TableWrapper(table);
        if ( t.getCollisionColumn() != null )
          updateCommand = new OptimisticWriteCommandImpl(updateStatement);
        else
          updateCommand = new UpdateCommandImpl(updateStatement);
     
     
View Full Code Here

  }

  public UpdateCommandImpl getUpdateCommand(MappingWrapper mapping, DataObject changedObject, Table table) {
    ArrayList parameters = new ArrayList();
    Type type = changedObject.getType();
    TableWrapper t = new TableWrapper(table);
    StringBuffer statement = new StringBuffer("update ");
    statement.append(table.getName());
    statement.append(" set ");

   
    ChangeSummary summary = changedObject.getDataGraph().getChangeSummary();
    Iterator i = getChangedFields(mapping, summary, changedObject).iterator();

    while (i.hasNext()) {
      Property attr = (Property) i.next();
      Column c = t.getColumnByPropertyName(attr.getName());
      if ((c != null) && (c.isCollision() || c.isPrimaryKey())) {
        // get rid of comma if OCC or PK is last field
        if (!i.hasNext()) {
          statement
              .delete(statement.length() - 2, statement.length());
        }
      } else {
        parameters.add(attr);
        statement.append(c == null ? attr.getName() : c.getName());
        statement.append(" = ?");
        if (i.hasNext())
          statement.append(", ");
      }
    }

    statement.append(" where ");

    Iterator names = t.getPrimaryKeyNames().iterator();
    Iterator properties = t.getPrimaryKeyProperties().iterator();
    while (names.hasNext() && properties.hasNext()) {
      String name = (String) names.next();
      String property = (String) properties.next();
      statement.append(name);
      statement.append(" = ?");
      if (names.hasNext() && properties.hasNext())
        statement.append(" and ");
      parameters.add(type.getProperty(property));
    }

    if (t.getCollisionColumn() != null) {
      statement.append(" and ");
      statement.append(t.getCollisionColumn().getName());
      statement.append(" = ?");
      parameters.add(type.getProperty(t.getCollisionColumnPropertyName()));
    }

   
    UpdateCommandImpl updateCommand;
    if ( t.getCollisionColumn() != null )
      updateCommand = new OptimisticWriteCommandImpl(statement.toString());
    else
      updateCommand = new UpdateCommandImpl(statement.toString());
   
    Iterator params = parameters.iterator();
View Full Code Here

TOP

Related Classes of org.apache.tuscany.das.rdb.config.wrapper.TableWrapper

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.