You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by dv...@apache.org on 2011/08/06 01:06:37 UTC

svn commit: r1154411 - in /pig/trunk: ./ contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/ src/org/apache/pig/builtin/

Author: dvryaboy
Date: Fri Aug  5 23:06:36 2011
New Revision: 1154411

URL: http://svn.apache.org/viewvc?rev=1154411&view=rev
Log:
PIG-2191: Reduce amount of log spam generated by UDFs

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/INDEXOF.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LASTINDEXOF.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LENGTH.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LOWER.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LcFirst.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/REPLACE.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Reverse.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/SUBSTRING.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Split.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Trim.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/UcFirst.java
    pig/trunk/src/org/apache/pig/builtin/INDEXOF.java
    pig/trunk/src/org/apache/pig/builtin/JsonMetadata.java
    pig/trunk/src/org/apache/pig/builtin/LAST_INDEX_OF.java
    pig/trunk/src/org/apache/pig/builtin/LCFIRST.java
    pig/trunk/src/org/apache/pig/builtin/LOWER.java
    pig/trunk/src/org/apache/pig/builtin/REPLACE.java
    pig/trunk/src/org/apache/pig/builtin/STRSPLIT.java
    pig/trunk/src/org/apache/pig/builtin/SUBSTRING.java
    pig/trunk/src/org/apache/pig/builtin/TRIM.java
    pig/trunk/src/org/apache/pig/builtin/UCFIRST.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Aug  5 23:06:36 2011
@@ -24,6 +24,8 @@ INCOMPATIBLE CHANGES
 
 IMPROVEMENTS
 
+PIG-2191: Reduce amount of log spam generated by UDFs (dvryaboy)
+
 PIG-2200: Piggybank cannot be built from the Git mirror (dvryaboy)
 
 PIG-2168: CubeDimensions UDF (dvryaboy)

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/INDEXOF.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/INDEXOF.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/INDEXOF.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/INDEXOF.java Fri Aug  5 23:06:36 2011
@@ -43,39 +43,4 @@ import org.apache.pig.impl.logicalLayer.
  */
 @Deprecated 
 
-public class INDEXOF extends EvalFunc<Integer> {
-    
-    private static final Log log = LogFactory.getLog(INDEXOF.class);
-
-    /**
-     * Method invoked on every tuple during foreach evaluation
-     * @param input tuple; first column is assumed to have the column to convert
-     *                     the second column is the string we search for
-     *                     the third is an optional column from where to start the search
-     * @exception java.io.IOException
-     * @return index of first occurrence, or null in case of processing error
-     */
-    public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 2) {
-            log.warn("invalid input tuple: "+input);
-            return null;
-        }
-        try {
-            String str = (String)input.get(0);
-            String search = (String)input.get(1);
-            int fromIndex = 0;
-            if (input.size() >=3)
-                fromIndex = (Integer)input.get(2);
-            return str.indexOf(search, fromIndex);
-        } catch(Exception e){
-            log.warn("Failed to process input; error - " + e.getMessage());
-            return null;
-        }
-    }
-
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(null, DataType.INTEGER));
-    }
-
-}
\ No newline at end of file
+public class INDEXOF extends org.apache.pig.builtin.INDEXOF {}
\ No newline at end of file

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LASTINDEXOF.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LASTINDEXOF.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LASTINDEXOF.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LASTINDEXOF.java Fri Aug  5 23:06:36 2011
@@ -26,6 +26,7 @@ import org.apache.pig.EvalFunc;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.DataType;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
+import org.apache.pig.builtin.LAST_INDEX_OF;
 
 /**
  * string.INSTR implements eval function to search for the last occurrence of a string<br>
@@ -43,36 +44,4 @@ import org.apache.pig.impl.logicalLayer.
  * @deprecated Use {@link org.apache.pig.builtin.LAST_INDEX_OF}
  */
 @Deprecated 
-
-public class LASTINDEXOF extends EvalFunc<Integer> {
-    private static final Log log = LogFactory.getLog(LASTINDEXOF.class);
-
-    /**
-     * Finds the last location of a substring in a given string.
-     * @param input tuple:<ol>
-     * <li>the string to process
-     * <li>the substring to find
-     * </ol>
-     * @exception java.io.IOException
-     * @return last location of substring, or null in case of processing errors.
-     */
-    public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 2)
-            return null;
-
-        try {
-            String str = (String)input.get(0);
-            String search = (String)input.get(1);
-            return str.lastIndexOf(search);
-        } catch(Exception e) {
-            log.warn("Failed to process input; error - " + e.getMessage());
-            return null;
-        }
-    }
-
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(null, DataType.INTEGER));
-    }
-
-}
\ No newline at end of file
+public class LASTINDEXOF extends LAST_INDEX_OF {}
\ No newline at end of file

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LENGTH.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LENGTH.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LENGTH.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LENGTH.java Fri Aug  5 23:06:36 2011
@@ -20,6 +20,7 @@ package org.apache.pig.piggybank.evaluat
 import java.io.IOException;
 
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
@@ -44,7 +45,7 @@ public class LENGTH extends EvalFunc<Int
             String str = (String) input.get(0);
             return (str == null) ? null : str.length();
         } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
+            warn("Error reading input: " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LOWER.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LOWER.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LOWER.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LOWER.java Fri Aug  5 23:06:36 2011
@@ -44,45 +44,4 @@ import org.apache.pig.FuncSpec;
  */
 @Deprecated 
 
-public class LOWER extends EvalFunc<String> {
-
-    /**
-     * Method invoked on every tuple during foreach evaluation
-     * @param input tuple; first column is assumed to have the column to convert
-     * @exception java.io.IOException
-     */
-    public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
-            return null;
-
-        try {
-            String str = (String)input.get(0);
-            return str.toLowerCase();
-        } catch(Exception e){
-            log.warn("Failed to process input; error - " + e.getMessage());
-            return null;
-        }
-    }
-
-    /**
-     * This method gives a name to the column.
-     * @param input - schema of the input data
-     * @return schema of the input data
-     */
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(getSchemaName(this.getClass().getName().toLowerCase(), input), DataType.CHARARRAY));
-    }
-
-     /* (non-Javadoc)
-      * @see org.apache.pig.EvalFunc#getArgToFuncMapping()
-      */
-     @Override
-     public List<FuncSpec> getArgToFuncMapping() throws FrontendException {
-        List<FuncSpec> funcList = new ArrayList<FuncSpec>();
-        funcList.add(new FuncSpec(this.getClass().getName(), new Schema(new Schema.FieldSchema(null, DataType.CHARARRAY))));
-
-        return funcList;
-     }
-
-}
\ No newline at end of file
+public class LOWER extends org.apache.pig.builtin.LOWER {}
\ No newline at end of file

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LcFirst.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LcFirst.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LcFirst.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/LcFirst.java Fri Aug  5 23:06:36 2011
@@ -24,6 +24,7 @@ import org.apache.pig.backend.executione
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
+import org.apache.pig.builtin.LCFIRST;
 
 /** 
  * lower-case the first character of a string 
@@ -33,26 +34,4 @@ import org.apache.pig.impl.logicalLayer.
  * @deprecated Use {@link org.apache.pig.builtin.LCFIRST}
  */
 @Deprecated 
-
-public class LcFirst extends EvalFunc<String> {
-    @Override
-    public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0) {
-            return null;
-        }
-        try {
-            String str = (String) input.get(0);
-            if (str == null) return null;
-            if (str.length() == 0) return str;
-            return Character.toLowerCase(str.charAt(0))+str.substring(1);
-        } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
-            return null;
-        }
-    }
-
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(null, DataType.CHARARRAY));
-    }
-}
+public class LcFirst extends LCFIRST {}

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/REPLACE.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/REPLACE.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/REPLACE.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/REPLACE.java Fri Aug  5 23:06:36 2011
@@ -44,32 +44,4 @@ import org.apache.pig.impl.logicalLayer.
  * @deprecated Use {@link org.apache.pig.builtin.REPLACE}
  */
 @Deprecated 
-
-public class REPLACE extends EvalFunc<String>
-{
-    /**
-     * Method invoked on every tuple during foreach evaluation
-     * @param input tuple; first column is assumed to have the column to convert
-     * @exception java.io.IOException
-     */
-    public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 3)
-            return null;
-
-        try{
-            String source = (String)input.get(0);
-            String target = (String)input.get(1);
-            String replacewith = (String)input.get(2);
-            return source.replaceAll(target, replacewith);
-        }catch(Exception e){
-            log.warn("Failed to process input; error - " + e.getMessage());
-            return null;
-        }
-    }
-
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(null, DataType.CHARARRAY));
-    }
-
-}
\ No newline at end of file
+public class REPLACE extends org.apache.pig.builtin.REPLACE {}
\ No newline at end of file

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Reverse.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Reverse.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Reverse.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Reverse.java Fri Aug  5 23:06:36 2011
@@ -20,6 +20,7 @@ package org.apache.pig.piggybank.evaluat
 import java.io.IOException;
 
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
@@ -47,7 +48,7 @@ public class Reverse extends EvalFunc<St
             }
             return new String(chars);
         } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
+            warn("Error reading input: " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/SUBSTRING.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/SUBSTRING.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/SUBSTRING.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/SUBSTRING.java Fri Aug  5 23:06:36 2011
@@ -46,36 +46,4 @@ import org.apache.pig.impl.logicalLayer.
  * @deprecated Use {@link org.apache.pig.builtin.SUBSTRING}
  */
 @Deprecated 
-
-public class SUBSTRING extends EvalFunc<String> {
-
-    /**
-     * Method invoked on every tuple during foreach evaluation
-     * @param input tuple; first column is assumed to have the column to convert
-     * @exception java.io.IOException
-     */
-    public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 3) {
-            log.warn("invalid number of arguments to SUBSTRING");
-            return null;
-        }
-        try {
-            String source = (String)input.get(0);
-            Integer beginindex = (Integer)input.get(1);
-            Integer endindex = (Integer)input.get(2);
-            return source.substring(beginindex, Math.min(source.length(), endindex));
-        } catch (NullPointerException npe) {
-            log.warn(npe.toString());
-            return null;
-        } catch (ClassCastException e) {
-            log.warn(e.toString());
-            return null;
-        }
-    }
-
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(null, DataType.CHARARRAY));
-    }
-
-}
\ No newline at end of file
+public class SUBSTRING extends org.apache.pig.builtin.SUBSTRING {}
\ No newline at end of file

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Split.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Split.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Split.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Split.java Fri Aug  5 23:06:36 2011
@@ -25,6 +25,7 @@ import java.util.regex.PatternSyntaxExce
 import org.apache.pig.EvalFunc;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.TupleFactory;
+import org.apache.pig.builtin.STRSPLIT;
 
 /**
  * Wrapper around Java's String.split<br>
@@ -40,37 +41,4 @@ import org.apache.pig.data.TupleFactory;
  */
 @Deprecated 
 
-public class Split extends EvalFunc<Tuple> {
-
-    private final static TupleFactory tupleFactory = TupleFactory.getInstance();
-
-    /**
-     * Wrapper around Java's String.split
-     * @param input tuple; first column is assumed to have a string to split;
-     * the optional second column is assumed to have the delimiter or regex to split on;<br>
-     * if not provided, it's assumed to be '\s' (space)
-     * the optional third column may provide a limit to the number of results.<br>
-     * If limit is not provided, 0 is assumed, as per Java's split().
-     * @exception java.io.IOException
-     */
-    public Tuple exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1)
-            return null;
-        try {
-            String source = (String) input.get(0);
-            String delim = (input.size() > 1 ) ? (String) input.get(1) : "\\s";
-            int length = (input.size() > 2) ? (Integer) input.get(2) : 0;
-            if (source == null || delim == null) {
-                return null;
-            }
-            String[] splits = source.split(delim, length); 
-            return tupleFactory.newTuple(Arrays.asList(splits));
-        } catch (ClassCastException e) {
-            log.warn("class cast exception at "+e.getStackTrace()[0]);
-        } catch (PatternSyntaxException e) {
-            log.warn(e.getMessage());
-        }
-        // this only happens if the try block did not complete normally
-        return null;
-    }
-}
+public class Split extends STRSPLIT {}

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Trim.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Trim.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Trim.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/Trim.java Fri Aug  5 23:06:36 2011
@@ -24,6 +24,7 @@ import org.apache.pig.backend.executione
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
+import org.apache.pig.builtin.TRIM;
 
 /*
  * @see String.trim
@@ -34,25 +35,4 @@ import org.apache.pig.impl.logicalLayer.
  */
 @Deprecated 
 
-public class Trim extends EvalFunc<String> {
-    @Override
-    public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0) {
-            return null;
-        }
-        try {
-            String str = (String) input.get(0);
-            if (str == null) return null;
-            if (str.length() == 0) return str;
-            return str.trim();
-        } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
-            return null;
-        }
-    }
-
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(null, DataType.CHARARRAY));
-    }
-}
+public class Trim extends TRIM {}

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/UcFirst.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/UcFirst.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/UcFirst.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/UcFirst.java Fri Aug  5 23:06:36 2011
@@ -24,6 +24,7 @@ import org.apache.pig.backend.executione
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
+import org.apache.pig.builtin.UCFIRST;
 
 /** 
  * upper-case the first character of a string 
@@ -34,25 +35,4 @@ import org.apache.pig.impl.logicalLayer.
  */
 @Deprecated 
 
-public class UcFirst extends EvalFunc<String> {
-    @Override
-    public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0) {
-            return null;
-        }
-        try {
-            String str = (String) input.get(0);
-            if (str == null) return null;
-            if (str.length() == 0) return str;
-            return Character.toUpperCase(str.charAt(0))+str.substring(1);
-        } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
-            return null;
-        }
-    }
-
-    @Override
-    public Schema outputSchema(Schema input) {
-        return new Schema(new Schema.FieldSchema(null, DataType.CHARARRAY));
-    }
-}
+public class UcFirst extends UCFIRST {}

Modified: pig/trunk/src/org/apache/pig/builtin/INDEXOF.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/INDEXOF.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/INDEXOF.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/INDEXOF.java Fri Aug  5 23:06:36 2011
@@ -24,6 +24,7 @@ import java.io.IOException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.DataType;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
@@ -36,7 +37,7 @@ import org.apache.pig.impl.logicalLayer.
  *      B = foreach A generate INDEXOF(name, ",");
  */
 public class INDEXOF extends EvalFunc<Integer> {
-    
+
     private static final Log log = LogFactory.getLog(INDEXOF.class);
 
     /**
@@ -47,9 +48,10 @@ public class INDEXOF extends EvalFunc<In
      * @exception java.io.IOException
      * @return index of first occurrence, or null in case of processing error
      */
+    @Override
     public Integer exec(Tuple input) throws IOException {
         if (input == null || input.size() < 2) {
-            log.warn("invalid input tuple: "+input);
+            warn("invalid input tuple: "+input, PigWarning.UDF_WARNING_1);
             return null;
         }
         try {
@@ -60,7 +62,7 @@ public class INDEXOF extends EvalFunc<In
                 fromIndex = (Integer)input.get(2);
             return str.indexOf(search, fromIndex);
         } catch(Exception e){
-            log.warn("Failed to process input; error - " + e.getMessage());
+            warn("Failed to process input; error - " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/src/org/apache/pig/builtin/JsonMetadata.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/JsonMetadata.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonMetadata.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonMetadata.java Fri Aug  5 23:06:36 2011
@@ -75,9 +75,9 @@ public class JsonMetadata implements Loa
     }
 
     /**.
-     * Given a path, which may represent a glob pattern, a directory, 
+     * Given a path, which may represent a glob pattern, a directory,
      * comma separated files/glob patterns or a file, this method
-     * finds the set of relevant metadata files on the storage system. 
+     * finds the set of relevant metadata files on the storage system.
      * The algorithm for finding the metadata file is as follows:
      * <p>
      * For each file represented by the path (either directly, or via a glob):
@@ -156,7 +156,7 @@ public class JsonMetadata implements Loa
             throws IOException {
     }
 
-    
+
     /**
      * For JsonMetadata schema is considered optional
      * This method suppresses (and logs) errors if they are encountered.
@@ -166,7 +166,7 @@ public class JsonMetadata implements Loa
     public ResourceSchema getSchema(String location, Job job) throws IOException {
         return getSchema(location, job, false);
     }
-    
+
     /**
      * Read the schema from json metadata file
      * If isSchemaOn parameter is false, the errors are suppressed and logged
@@ -216,7 +216,7 @@ public class JsonMetadata implements Loa
         if(isSchemaOn){
             throw  new FrontendException(msg, 1131, PigException.INPUT, e);
         }
-        //a valid schema file was probably not expected, so just log a 
+        //a valid schema file was probably not expected, so just log a
         //debug message and return null
         log.debug(msg);
         return null;
@@ -234,7 +234,7 @@ public class JsonMetadata implements Loa
         try {
             statFileSet = findMetaFile(location, statFileName, conf);
         } catch (IOException e) {
-            log.warn("could not fine stat file for "+location);
+            log.warn("could not fine stat file for " + location);
             return null;
         }
         ElementDescriptor statFile = null;

Modified: pig/trunk/src/org/apache/pig/builtin/LAST_INDEX_OF.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/LAST_INDEX_OF.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/LAST_INDEX_OF.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/LAST_INDEX_OF.java Fri Aug  5 23:06:36 2011
@@ -22,10 +22,9 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.pig.FuncSpec;
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.DataType;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
@@ -41,7 +40,6 @@ import org.apache.pig.impl.logicalLayer.
  * </code>
  */
 public class LAST_INDEX_OF extends EvalFunc<Integer> {
-    private static final Log log = LogFactory.getLog(LAST_INDEX_OF.class);
 
     /**
      * Finds the last location of a substring in a given string.
@@ -52,6 +50,7 @@ public class LAST_INDEX_OF extends EvalF
      * @exception java.io.IOException
      * @return last location of substring, or null in case of processing errors.
      */
+    @Override
     public Integer exec(Tuple input) throws IOException {
         if (input == null || input.size() < 2)
             return null;
@@ -61,7 +60,7 @@ public class LAST_INDEX_OF extends EvalF
             String search = (String)input.get(1);
             return str.lastIndexOf(search);
         } catch(Exception e) {
-            log.warn("Failed to process input; error - " + e.getMessage());
+            warn("Failed to process input; error - " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/src/org/apache/pig/builtin/LCFIRST.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/LCFIRST.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/LCFIRST.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/LCFIRST.java Fri Aug  5 23:06:36 2011
@@ -20,13 +20,14 @@ package org.apache.pig.builtin;
 import java.io.IOException;
 
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
 
-/** 
- * lower-case the first character of a string 
+/**
+ * lower-case the first character of a string
  */
 public class LCFIRST extends EvalFunc<String> {
     @Override
@@ -40,7 +41,7 @@ public class LCFIRST extends EvalFunc<St
             if (str.length() == 0) return str;
             return Character.toLowerCase(str.charAt(0))+str.substring(1);
         } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
+            warn("Error reading input: " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/src/org/apache/pig/builtin/LOWER.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/LOWER.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/LOWER.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/LOWER.java Fri Aug  5 23:06:36 2011
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.ArrayList;
 
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.DataType;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
@@ -41,6 +42,7 @@ public class LOWER extends EvalFunc<Stri
      * @param input tuple; first column is assumed to have the column to convert
      * @exception java.io.IOException
      */
+    @Override
     public String exec(Tuple input) throws IOException {
         if (input == null || input.size() == 0)
             return null;
@@ -49,7 +51,7 @@ public class LOWER extends EvalFunc<Stri
             String str = (String)input.get(0);
             return str.toLowerCase();
         } catch(Exception e){
-            log.warn("Failed to process input; error - " + e.getMessage());
+            warn("Failed to process input; error - " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/src/org/apache/pig/builtin/REPLACE.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/REPLACE.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/REPLACE.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/REPLACE.java Fri Aug  5 23:06:36 2011
@@ -24,6 +24,7 @@ import java.util.List;
 
 import org.apache.pig.EvalFunc;
 import org.apache.pig.FuncSpec;
+import org.apache.pig.PigWarning;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.DataType;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
@@ -37,7 +38,7 @@ import org.apache.pig.impl.logicalLayer.
  * The first argument is a string on which to perform the operation. The second argument
  * is treated as a regular expression. The third argument is the replacement string.
  * This is a wrapper around Java's String.replaceAll(String, String);
- * 
+ *
  */
 public class REPLACE extends EvalFunc<String>
 {
@@ -46,6 +47,7 @@ public class REPLACE extends EvalFunc<St
      * @param input tuple; first column is assumed to have the column to convert
      * @exception java.io.IOException
      */
+    @Override
     public String exec(Tuple input) throws IOException {
         if (input == null || input.size() < 3)
             return null;
@@ -56,7 +58,7 @@ public class REPLACE extends EvalFunc<St
             String replacewith = (String)input.get(2);
             return source.replaceAll(target, replacewith);
         }catch(Exception e){
-            log.warn("Failed to process input; error - " + e.getMessage());
+            warn("Failed to process input; error - " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/src/org/apache/pig/builtin/STRSPLIT.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/STRSPLIT.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/STRSPLIT.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/STRSPLIT.java Fri Aug  5 23:06:36 2011
@@ -23,6 +23,7 @@ import java.util.Arrays;
 import java.util.regex.PatternSyntaxException;
 
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.TupleFactory;
 
@@ -48,6 +49,7 @@ public class STRSPLIT extends EvalFunc<T
      * If limit is not provided, 0 is assumed, as per Java's split().
      * @exception java.io.IOException
      */
+    @Override
     public Tuple exec(Tuple input) throws IOException {
         if (input == null || input.size() < 1)
             return null;
@@ -58,12 +60,12 @@ public class STRSPLIT extends EvalFunc<T
             if (source == null || delim == null) {
                 return null;
             }
-            String[] splits = source.split(delim, length); 
+            String[] splits = source.split(delim, length);
             return tupleFactory.newTuple(Arrays.asList(splits));
         } catch (ClassCastException e) {
-            log.warn("class cast exception at "+e.getStackTrace()[0]);
+            warn("class cast exception at "+e.getStackTrace()[0], PigWarning.UDF_WARNING_1);
         } catch (PatternSyntaxException e) {
-            log.warn(e.getMessage());
+            warn(e.getMessage(), PigWarning.UDF_WARNING_1);
         }
         // this only happens if the try block did not complete normally
         return null;

Modified: pig/trunk/src/org/apache/pig/builtin/SUBSTRING.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/SUBSTRING.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/SUBSTRING.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/SUBSTRING.java Fri Aug  5 23:06:36 2011
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 
 import org.apache.pig.EvalFunc;
 import org.apache.pig.FuncSpec;
+import org.apache.pig.PigWarning;
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
@@ -47,9 +48,10 @@ public class SUBSTRING extends EvalFunc<
      * @param input tuple; first column is assumed to have the column to convert
      * @exception java.io.IOException
      */
+    @Override
     public String exec(Tuple input) throws IOException {
         if (input == null || input.size() < 3) {
-            log.warn("invalid number of arguments to SUBSTRING");
+            warn("invalid number of arguments to SUBSTRING", PigWarning.UDF_WARNING_1);
             return null;
         }
         try {
@@ -58,13 +60,13 @@ public class SUBSTRING extends EvalFunc<
             Integer endindex = (Integer)input.get(2);
             return source.substring(beginindex, Math.min(source.length(), endindex));
         } catch (NullPointerException npe) {
-            log.warn(npe.toString());
+            warn(npe.toString(), PigWarning.UDF_WARNING_2);
             return null;
         } catch (StringIndexOutOfBoundsException npe) {
-            log.warn(npe.toString());
+            warn(npe.toString(), PigWarning.UDF_WARNING_3);
             return null;
         } catch (ClassCastException e) {
-            log.warn(e.toString());
+            warn(e.toString(), PigWarning.UDF_WARNING_4);
             return null;
         }
     }

Modified: pig/trunk/src/org/apache/pig/builtin/TRIM.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/TRIM.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/TRIM.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/TRIM.java Fri Aug  5 23:06:36 2011
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.ArrayList;
 
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
@@ -29,9 +30,9 @@ import org.apache.pig.impl.logicalLayer.
 import org.apache.pig.FuncSpec;
 import org.apache.pig.impl.logicalLayer.FrontendException;
 
-/** 
- * Returns a string, with leading and trailing whitespace omitted. 
- * Implements a binding to the Java function {@link java.lang.String#trim() String.trim()}. 
+/**
+ * Returns a string, with leading and trailing whitespace omitted.
+ * Implements a binding to the Java function {@link java.lang.String#trim() String.trim()}.
  */
 public class TRIM extends EvalFunc<String> {
     @Override
@@ -45,7 +46,7 @@ public class TRIM extends EvalFunc<Strin
             if (str.length() == 0) return str;
             return str.trim();
         } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
+            warn("Error reading input: " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }

Modified: pig/trunk/src/org/apache/pig/builtin/UCFIRST.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/UCFIRST.java?rev=1154411&r1=1154410&r2=1154411&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/UCFIRST.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/UCFIRST.java Fri Aug  5 23:06:36 2011
@@ -20,13 +20,14 @@ package org.apache.pig.builtin;
 import java.io.IOException;
 
 import org.apache.pig.EvalFunc;
+import org.apache.pig.PigWarning;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
 
-/** 
- * upper-case the first character of a string 
+/**
+ * upper-case the first character of a string
  */
 public class UCFIRST extends EvalFunc<String> {
     @Override
@@ -40,7 +41,7 @@ public class UCFIRST extends EvalFunc<St
             if (str.length() == 0) return str;
             return Character.toUpperCase(str.charAt(0))+str.substring(1);
         } catch (ExecException e) {
-            log.warn("Error reading input: " + e.getMessage());
+            warn("Error reading input: " + e.getMessage(), PigWarning.UDF_WARNING_1);
             return null;
         }
     }