You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2003/12/18 10:11:24 UTC

cvs commit: ws-jaxme/src/js/org/apache/ws/jaxme/sqls/impl SQLGeneratorImpl.java

jochen      2003/12/18 01:11:24

  Modified:    src/js/org/apache/ws/jaxme/sqls/impl SQLGeneratorImpl.java
  Log:
  Fixed generation of a IN (...) clause.
  
  Revision  Changes    Path
  1.9       +9 -9      ws-jaxme/src/js/org/apache/ws/jaxme/sqls/impl/SQLGeneratorImpl.java
  
  Index: SQLGeneratorImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/sqls/impl/SQLGeneratorImpl.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SQLGeneratorImpl.java	17 Dec 2003 12:36:27 -0000	1.8
  +++ SQLGeneratorImpl.java	18 Dec 2003 09:11:24 -0000	1.9
  @@ -66,7 +66,6 @@
   import org.apache.ws.jaxme.sqls.ForeignKey;
   import org.apache.ws.jaxme.sqls.Function;
   import org.apache.ws.jaxme.sqls.Index;
  -import org.apache.ws.jaxme.sqls.Parts;
   import org.apache.ws.jaxme.sqls.RawSQLCode;
   import org.apache.ws.jaxme.sqls.SQLGenerator;
   import org.apache.ws.jaxme.sqls.InsertStatement;
  @@ -578,13 +577,13 @@
       return "'" + s + "'";
     }
   
  -  protected String getParts(SelectStatementMetaData pData, Parts pParts) {
  +  protected String getParts(SelectStatementMetaData pData, Iterator pParts) {
       StringBuffer sb = new StringBuffer();
  -    for (Iterator iter = pParts.getParts();  iter.hasNext();  ) {
  +    while (pParts.hasNext()) {
         if (sb.length() > 0) {
           sb.append(", ");
         }
  -      sb.append(getBooleanConstraintPart(pData, iter.next()));
  +      sb.append(getBooleanConstraintPart(pData, pParts.next()));
       }
       return sb.toString();
     }
  @@ -602,7 +601,7 @@
         return ((RawSQLCode) o).getRawSQL();
       } else if (o instanceof Function) {
         Function f = (Function) o;
  -      return f.getName() + '(' + getParts(pData, f) + ')';
  +      return f.getName() + '(' + getParts(pData, f.getParts()) + ')';
       } else {
         throw new IllegalArgumentException("Invalid part of a boolean constraint: " + o.getClass().getName());
       }
  @@ -631,14 +630,15 @@
     protected String getBooleanConstraint(SelectStatementMetaData pData,
                                            BooleanConstraint pConstraint) {
       BooleanConstraint.Type type = pConstraint.getType();
  -    if (BooleanConstraint.Type.IN.equals(type)) {
  -      return "IN (" + getParts(pData, pConstraint) + ')';
  -    }
  -    StringBuffer result = new StringBuffer();
       Iterator parts = pConstraint.getParts();
       if (!parts.hasNext()) {
         throw new NullPointerException("A boolean constraint must have its parts set.");
       }
  +    if (BooleanConstraint.Type.IN.equals(type)) {
  +      Object o = parts.next();
  +      return getBooleanConstraintPart(pData, o) + " IN (" + getParts(pData, parts) + ')';
  +    }
  +    StringBuffer result = new StringBuffer();
       int expected;
       if (BooleanConstraint.Type.EXISTS.equals(type)) {
         SelectStatement selectStatement = (SelectStatement) parts.next();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org