Updated Branches:
  refs/heads/master 93ddf2660 -> 113d4b9f8

Add NegativeLong function.
Reduce MethodGrabbingVisitor verbosity.
Make FunctionConverter contextual to location of loaded function for class 
loader improvements.
Add automatic test-jar generation to java-exec for other module use.


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/113d4b9f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/113d4b9f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/113d4b9f

Branch: refs/heads/master
Commit: 113d4b9f8d98a317565dc464a72f714b7e1b2910
Parents: 93ddf26
Author: Jacques Nadeau <[email protected]>
Authored: Tue Jul 23 00:00:28 2013 -0700
Committer: Jacques Nadeau <[email protected]>
Committed: Tue Jul 23 00:46:20 2013 -0700

----------------------------------------------------------------------
 sandbox/prototype/exec/java-exec/pom.xml        | 103 +++++++++++--------
 .../drill/exec/expr/fn/FunctionConverter.java   |   2 +-
 .../exec/expr/fn/MethodGrabbingVisitor.java     |   4 +-
 .../drill/exec/expr/fn/impl/MathFunctions.java  |  17 +++
 4 files changed, 78 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/113d4b9f/sandbox/prototype/exec/java-exec/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox/prototype/exec/java-exec/pom.xml 
b/sandbox/prototype/exec/java-exec/pom.xml
index 8893044..63bf4ea 100644
--- a/sandbox/prototype/exec/java-exec/pom.xml
+++ b/sandbox/prototype/exec/java-exec/pom.xml
@@ -160,6 +160,18 @@
         </executions>
       </plugin>
       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.2</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
         <artifactId>maven-antrun-plugin</artifactId>
         <executions>
           <execution>
@@ -179,51 +191,52 @@
                 <exec executable="protoc">
                   <arg value="--java_out=${target.gen.source.path}" />
                   <arg value="--proto_path=${proto.cas.path}" />
-                  <arg 
value="--proto_path=${project.basedir}/../../common/src/main/protobuf/" />
-                                                                       <arg 
line="${proto.files}" />
-                                                               </exec>
-                                                       </tasks>
-                                                       
<sourceRoot>${target.gen.source.path}</sourceRoot>
-                                               </configuration>
-                                               <goals>
-                                                       <goal>run</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-                       <plugin>
-                               
<groupId>com.googlecode.fmpp-maven-plugin</groupId>
-                               <artifactId>fmpp-maven-plugin</artifactId>
-                               <version>1.0</version>
-                               <configuration>
-                                       
<cfgFile>src/main/codegen/ValueVectors/config.fmpp</cfgFile>
-                                       
<outputDirectory>target/generated-sources/org/apache/drill/exec/vector</outputDirectory>
-                                       
<templateDirectory>src/main/codegen/ValueVectors/templates</templateDirectory>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <id>generate-sources</id>
-                                               <phase>generate-sources</phase>
-                                               <goals>
-                                                       <goal>generate</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
+                  <arg
+                    
value="--proto_path=${project.basedir}/../../common/src/main/protobuf/" />
+                  <arg line="${proto.files}" />
+                </exec>
+              </tasks>
+              <sourceRoot>${target.gen.source.path}</sourceRoot>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>com.googlecode.fmpp-maven-plugin</groupId>
+        <artifactId>fmpp-maven-plugin</artifactId>
+        <version>1.0</version>
+        <configuration>
+          <cfgFile>src/main/codegen/ValueVectors/config.fmpp</cfgFile>
+          
<outputDirectory>target/generated-sources/org/apache/drill/exec/vector</outputDirectory>
+          
<templateDirectory>src/main/codegen/ValueVectors/templates</templateDirectory>
+        </configuration>
+        <executions>
+          <execution>
+            <id>generate-sources</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
 
-                       <!-- <plugin> -->
-                       <!-- <groupId>com.github.igor-petruk.protobuf</groupId> 
-->
-                       <!-- <artifactId>protobuf-maven-plugin</artifactId> -->
-                       <!-- <version>0.6.2</version> -->
-                       <!-- <executions> -->
-                       <!-- <execution> -->
-                       <!-- <goals> -->
-                       <!-- <goal>run</goal> -->
-                       <!-- </goals> -->
-                       <!-- </execution> -->
-                       <!-- </executions> -->
-                       <!-- </plugin> -->
-               </plugins>
-       </build>
+      <!-- <plugin> -->
+      <!-- <groupId>com.github.igor-petruk.protobuf</groupId> -->
+      <!-- <artifactId>protobuf-maven-plugin</artifactId> -->
+      <!-- <version>0.6.2</version> -->
+      <!-- <executions> -->
+      <!-- <execution> -->
+      <!-- <goals> -->
+      <!-- <goal>run</goal> -->
+      <!-- </goals> -->
+      <!-- </execution> -->
+      <!-- </executions> -->
+      <!-- </plugin> -->
+    </plugins>
+  </build>
 
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/113d4b9f/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java
----------------------------------------------------------------------
diff --git 
a/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java
 
b/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java
index 3525cbb..5babc78 100644
--- 
a/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java
+++ 
b/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java
@@ -142,7 +142,7 @@ public class FunctionConverter {
     path = path.replaceFirst("\\$.*", "");
     path = path.replace(".", File.separator);
     path = "/" + path + ".java";
-    URL u = Resources.getResource(FunctionConverter.class, path);
+    URL u = Resources.getResource(c, path);
     InputSupplier<InputStream> supplier = Resources.newInputStreamSupplier(u);
     try(InputStream is = supplier.getInput()){
       if(is == null){

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/113d4b9f/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java
----------------------------------------------------------------------
diff --git 
a/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java
 
b/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java
index d46d008..c96d6e0 100644
--- 
a/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java
+++ 
b/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java
@@ -28,7 +28,7 @@ public class MethodGrabbingVisitor{
 
     @Override
     public void traverseClassDeclaration(ClassDeclaration cd) {
-      logger.debug("Traversing: {}", cd.getClassName());
+//      logger.debug("Traversing: {}", cd.getClassName());
       boolean prevCapture = captureMethods;
       captureMethods = c.getName().equals(cd.getClassName());
       super.traverseClassDeclaration(cd);
@@ -37,7 +37,7 @@ public class MethodGrabbingVisitor{
 
     @Override
     public void traverseMethodDeclarator(MethodDeclarator md) {
-      logger.debug(c.getName() + ": Found {}, include {}", md.name, 
captureMethods);
+//      logger.debug(c.getName() + ": Found {}, include {}", md.name, 
captureMethods);
       if(captureMethods){
         StringWriter writer = new StringWriter();
         ModifiedUnparseVisitor v = new ModifiedUnparseVisitor(writer);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/113d4b9f/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java
----------------------------------------------------------------------
diff --git 
a/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java
 
b/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java
index 939e997..9808bd5 100644
--- 
a/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java
+++ 
b/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java
@@ -45,4 +45,21 @@ public class MathFunctions{
 
   }
   
+  /** 
+   * Define the actual absolute value implementation
+   */
+  @FunctionTemplate(name = "negative", scope = FunctionScope.SIMPLE, nulls = 
NullHandling.NULL_IF_NULL)
+  public static class Negative implements DrillFunc{
+    
+    @Param LongHolder input;
+    @Output LongHolder out;
+
+    public void setup(RecordBatch b){}
+    
+    public void eval(){
+      out.value = -input.value;
+    }
+
+  }
+  
 }

Reply via email to