You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2001/12/31 07:59:43 UTC

cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/functions/impl LeadingTrimStringFunction.java TrailingTrimStringFunction.java

hammant     01/12/30 22:59:43

  Modified:    apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql
                        SelectColumnHelper.java
  Added:       apps/db/src/java/org/apache/avalon/db/functions/impl
                        LeadingTrimStringFunction.java
                        TrailingTrimStringFunction.java
  Log:
  leading and trailing string functions.
  
  Revision  Changes    Path
  1.5       +10 -2     jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/SelectColumnHelper.java
  
  Index: SelectColumnHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/SelectColumnHelper.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SelectColumnHelper.java	29 Dec 2001 00:33:09 -0000	1.4
  +++ SelectColumnHelper.java	31 Dec 2001 06:59:43 -0000	1.5
  @@ -36,6 +36,8 @@
   import org.apache.avalon.db.functions.impl.MonthIntegerFunction;
   import org.apache.avalon.db.functions.impl.SecondIntegerFunction;
   import org.apache.avalon.db.functions.impl.YearIntegerFunction;
  +import org.apache.avalon.db.functions.impl.LeadingTrimStringFunction;
  +import org.apache.avalon.db.functions.impl.TrailingTrimStringFunction;
   import org.apache.avalon.db.functions.StringFunction;
   import org.apache.avalon.db.functions.NumericFunction;
   import org.w3c.dom.Element;
  @@ -50,7 +52,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    */
   public class SelectColumnHelper {
   
  @@ -77,7 +79,13 @@
           } else if (nodeName.equals("const")) {
               return getColumnConst(queryable, elem, colHldr);
           } else if (nodeName.equals("trim")) {
  -            return getStringColumnFromStringFunction(queryable, elem, new TrimStringFunction(), colHldr);
  +            if (elem.getAttribute("type").equals("leading")) {
  +                return getStringColumnFromStringFunction(queryable, elem, new LeadingTrimStringFunction(), colHldr);
  +            } else if (elem.getAttribute("type").equals("trailing")) {
  +                return getStringColumnFromStringFunction(queryable, elem, new TrailingTrimStringFunction(), colHldr);
  +            } else {
  +                return getStringColumnFromStringFunction(queryable, elem, new TrimStringFunction(), colHldr);
  +            }
           } else if (nodeName.equals("lowercase")) {
               return getStringColumnFromStringFunction(queryable, elem, new LowerCaseStringFunction(), colHldr);
           } else if (nodeName.equals("uppercase")) {
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/functions/impl/LeadingTrimStringFunction.java
  
  Index: LeadingTrimStringFunction.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.db.functions.impl;
  
  
  
  import org.apache.avalon.db.data.Row;
  import org.apache.avalon.db.data.types.StringColumn;
  import org.apache.avalon.db.functions.StringFunction;
  
  import java.util.Locale;
  
  
  /**
   * Class LeadingTrimStringFunction
   *
   * @author Larry McCay <a href="mailto:lawrence_mccay-iii@hp.com">lawrence_mccay-iii@hp.com</a>
   * @version $Revision: 1.1 $
   */
  public class LeadingTrimStringFunction extends AbstractStringFunction {
  
      /**
       * Method getStringValue
       *
       *
       * @param row
       *
       * @return
       *
       */
      public String getStringValue(Row row) {
          return ltrim(((String) mColumns[0].getValue(row)));
      }
  
      /**
       * Method getMaxLength
       *
       *
       * @return
       *
       */
      public int getMaxLength() {
  
          StringColumn sTyp = (StringColumn) mColumns[0];
  
          return sTyp.getMaxLength();
      }
  
      private String ltrim(String value) {
  
          int len = value.length();
          int st = 0;
  
          while ((st < len) && (value.charAt(st) <= ' ')) {
              st++;
          }
  
          return (st > 0) ? value.substring(st, len) : value;
      }
  
      /**
       * Method getMinCols
       *
       *
       * @return
       *
       */
      public int getMinCols() {
          return 1;
      }
  
      /**
       * Method getMaxCols
       *
       *
       * @return
       *
       */
      public int getMaxCols() {
          return 1;
      }
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/functions/impl/TrailingTrimStringFunction.java
  
  Index: TrailingTrimStringFunction.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.db.functions.impl;
  
  
  
  import org.apache.avalon.db.data.Row;
  import org.apache.avalon.db.data.types.StringColumn;
  import org.apache.avalon.db.functions.StringFunction;
  
  import java.util.Locale;
  
  
  /**
   * Class TrailingTrimStringFunction
   *
   * @author Larry McCay <a href="mailto:lawrence_mccay-iii@hp.com">lawrence_mccay-iii@hp.com</a>
   * @version $Revision: 1.1 $
   */
  public class TrailingTrimStringFunction extends AbstractStringFunction {
  
      /**
       * Method getStringValue
       *
       *
       * @param row
       *
       * @return
       *
       */
      public String getStringValue(Row row) {
          return rtrim(((String) mColumns[0].getValue(row)));
      }
  
      /**
       * Method getMaxLength
       *
       *
       * @return
       *
       */
      public int getMaxLength() {
  
          StringColumn sTyp = (StringColumn) mColumns[0];
  
          return sTyp.getMaxLength();
      }
  
      private String rtrim(String value) {
  
          int len = value.length();
  
          while ((0 < len) && (value.charAt(len - 1) <= ' ')) {
              len--;
          }
  
          return (len < value.length()) ? value.substring(0, len) : value;
      }
  
      /**
       * Method getMinCols
       *
       *
       * @return
       *
       */
      public int getMinCols() {
          return 1;
      }
  
      /**
       * Method getMaxCols
       *
       *
       * @return
       *
       */
      public int getMaxCols() {
          return 1;
      }
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>