Package org.apache.ws.jaxme.sqls

Examples of org.apache.ws.jaxme.sqls.Column


     * </pre>
     */
  private JoinReference getFirstRowStatement2(String pFilter, TableReference pAkteReference,
                            SelectTableReference pJoinReference,
                            String pTableAlias) {
      Column aName = dbBeteiligte.getColumn("aName");
        Column aVorname = dbBeteiligte.getColumn("aVorname");
        Column aAktenId = dbBeteiligte.getColumn("aAktenId");
        Column aFilter = dbBeteiligte.getColumn("aFilter");

        SelectStatement st = sqlFactory.newSelectStatement();
        st.setTable(dbBeteiligte);
        SelectTableReference ref = st.getSelectTableReference();
        VirtualColumn num = new VirtualColumn("NUM", Column.Type.INTEGER);
        num.setValue("COUNT(*) OVER (PARTITION BY " + aAktenId.getName() + ")");
        st.addResultColumn(num);
        VirtualColumn minAName = new VirtualColumn("MINANAME", Column.Type.VARCHAR);
        minAName.setValue("MIN(UPPER(" + aName.getName() + ")) OVER (PARTITION BY " +
                      aAktenId.getName() + ")");
        st.addResultColumn(minAName);
        VirtualColumn minAVorname = new VirtualColumn("MINAVORNAME", Column.Type.VARCHAR);
        minAVorname.setValue("MIN(UPPER(NVL(" + aVorname.getName() +
                       ", ' '))) OVER (PARTITION BY " +
                        aAktenId.getName() + ", UPPER(" + aName.getName() +
                        "))");
        st.addResultColumn(minAVorname);
        st.addResultColumn(ref.newColumnReference(aName));
        st.addResultColumn(ref.newColumnReference(aVorname));
        st.addResultColumn(ref.newColumnReference(aAktenId));
        BooleanConstraint bc = st.getWhere().createEQ();
        bc.addPart(st.getTableReference().newColumnReference(aFilter));
        bc.addPart(pFilter);
        Table t = st.createView((Table.Name) null);

        SelectStatement st2 = sqlFactory.newSelectStatement();
        st2.setTable(t);
        SelectTableReference ref2 = st2.getSelectTableReference();
        st2.addResultColumn(ref2.newColumnReference(t.getColumn("NUM")));
        Column aName2 = t.getColumn(aName.getName());
        st2.addResultColumn(ref2.newColumnReference(aName2));
        Column aVorname2 = t.getColumn(aVorname.getName());
        st2.addResultColumn(ref2.newColumnReference(aVorname2));
        st2.addResultColumn(ref2.newColumnReference(t.getColumn(aAktenId.getName())));

        bc = st2.getWhere().createEQ();
        bc.addPart(ref2.newColumnReference(t.getColumn("MINAVORNAME")));
View Full Code Here


               DirectAccessible pConnection,
               DirectAccessible pMap, DirectAccessible pRow) {
      Table table = foreignKey.getTable();
      List params = new ArrayList();
      for (Iterator iter = foreignKey.getColumns();  iter.hasNext()) {
        Column primaryKeyColumn = (Column) iter.next();
        int index = -1;
        int i = 0;
        for (Iterator iter2 = table.getColumns();  iter2.hasNext();  ++i) {
          Column tableColumn = (Column) iter2.next();
          if (tableColumn.equals(primaryKeyColumn)) {
            index = i;
            break;
          }
        }
        if (index == -1) {
          throw new IllegalStateException("Key column " + primaryKeyColumn.getQName() + " not found.");
        }
        if (params.size() > 0) {
          params.add("  ||  ");
        }
        params.add(new Object[]{pRow, "[" + index + "] != null"});
      }

      pMethod.addIf(params);
      LocalJavaField referencedKey = getCacheDataClassInstance(pMethod,
                                   referencedTable,
                                   foreignKey, pRow);
      LocalJavaField mappedKey = pMethod.newJavaField(referencedKey.getType());
      mappedKey.addLine("(", referencedKey.getType(), ") ", pMap, ".get(",
          referencedKey, ")");
      pMethod.addIf(mappedKey, " == null");
      pMethod.addThrowNew(IllegalStateException.class,
          JavaSource.getQuoted("Unknown reference: "), " + ",
          referencedKey);
      pMethod.addEndIf();
      int valNum = 0;
      for (Iterator iter = referencedTable.getTable().getPrimaryKey().getColumns();  iter.hasNext()) {
        Column referencedKeyColumn = (Column) iter.next();
        Column localColumn = null;
        for (Iterator iter2 = foreignKey.getColumnLinks();  iter2.hasNext()) {
          ForeignKey.ColumnLink link = (ForeignKey.ColumnLink) iter2.next();
          if (link.getReferencedColumn().equals(referencedKeyColumn)) {
            localColumn = link.getLocalColumn();
            break;
          }
        }
        if (localColumn == null) {
          throw new IllegalStateException("Unable to find the column referencing " + referencedKeyColumn.getQName());
        }
       
        int colNum = -1, i = 0;
        for (Iterator iter2 = pTableInfo.getTable().getColumns();  iter2.hasNext()) {
          Column col = (Column) iter2.next();
          if (col.equals(localColumn)) {
            colNum = i;
            break;
          }
          ++i;
        }
View Full Code Here

        }
        if (!pTableReference.getStatement().equals(getConstrainedStatement())) {
            throw new IllegalStateException("The statement of the table reference is not the same as this constraints statement.");
        }
        for (Iterator iter = pSet.getColumns();  iter.hasNext()) {
            Column column = (Column) iter.next();
            BooleanConstraint eq = createEQ();
            eq.addPart(getConstrainedStatement().getSQLFactory().getObjectFactory().newColumnReference(pTableReference, column));
            eq.addPlaceholder();
        }
    }
View Full Code Here

                    pReferencedTable.getTable().getQName());
        }
       
        Iterator referencedIter = pReferencedColumnSet.getColumns();
        for (Iterator iter = pReferencingColumnSet.getColumns();  iter.hasNext()) {
            Column referencingColumn = (Column) iter.next();
            if (!referencedIter.hasNext()) {
                throw new IllegalStateException("The size of the referencing and referenced column sets doesn't match.");
            }
            Column referencedColumn = (Column) referencedIter.next();
            BooleanConstraint eq = createEQ();
            eq.addPart(pReferencingTable.newColumnReference(referencingColumn));
            eq.addPart(pReferencedTable.newColumnReference(referencedColumn));
        }
    }
View Full Code Here

            if (cRef.getAlias() == null) {
                    name = cRef.getColumn().getName();
            } else {
                    name = cRef.getAlias();
            }
            Column col = pStatement.getTableReference().getTable().getColumn(name);
            if (col == null) {
              throw new IllegalStateException("A result column " + name
                  + " is used in the subselect, which is not present in the insert statements table.");
            }
            result.add(pStatement.getTableReference().newColumnReference(col));
View Full Code Here

   public boolean equals(Object o) {
      if (o == null  ||  !(o instanceof ColumnReference)) {
         return false;
      }
      ColumnReference ref = (ColumnReference) o;
    Column c1 = ref.getColumn();
    Column c2 = getColumn();
    if (c1 == null  ||  c2 == null) {
      return super.equals(o);
    }
    TableReference t1 = ref.getTableReference();
    TableReference t2 = ref.getTableReference();
View Full Code Here

      }

      if (pType == null) {
         throw new NullPointerException("The column type must not be null.");
      }
      Column column = getColumn(pName);
      if (column != null) {
         throw new IllegalStateException("A column named " + column.getName() +
                                          " already exists in the table " + getQName());
      }
      column = ((SQLFactoryImpl) getSchema().getSQLFactory()).newColumnImpl(this, pName, pType);
      columns.add(column);
      return column;
View Full Code Here

   public Column getColumn(Column.Name pName) {
      if (pName == null) {
         throw new NullPointerException("Column names must not be null.");
      }
      for (Iterator iter = getColumns();  iter.hasNext()) {
         Column column = (Column) iter.next();
         if (getSchema().getSQLFactory().isColumnNameCaseSensitive()) {
            if (pName.getName().equalsIgnoreCase(column.getName().getName())) {
               return column;
            }
         } else {
            if (pName.equals(column.getName())) {
               return column;
            }
         }
      }
      return null;
View Full Code Here

       SQLFactory factory = getSchema().getSQLFactory();
       SelectStatement result = factory.newSelectStatement();
      result.setTable(this);
      TableReference ref = result.getTableReference();
      for (Iterator iter = getColumns();  iter.hasNext()) {
         Column column = (Column) iter.next();
         result.addResultColumn(factory.getObjectFactory().newColumnReference(ref, column));
      }
      return result;
   }
View Full Code Here

    UpdateStatement result = getSchema().getSQLFactory().newUpdateStatement();
    result.setTable(this);
    TableReference ref = result.getTableReference();
    boolean hasPrimaryKey = false;
    for (Iterator iter = getColumns();  iter.hasNext()) {
      Column column = (Column) iter.next();
      if (column.isPrimaryKeyPart()) {
        hasPrimaryKey = true;
      } else {
        result.addSet(column);
      }
    }
View Full Code Here

TOP

Related Classes of org.apache.ws.jaxme.sqls.Column

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.