You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2009/09/23 14:20:16 UTC

svn commit: r818072 - in /myfaces/extensions/scripting/trunk: core/core/ core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/ core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jci/ core/core/src/main/java/org/apache/myface...

Author: werpu
Date: Wed Sep 23 12:20:16 2009
New Revision: 818072

URL: http://svn.apache.org/viewvc?rev=818072&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-22

JDK5 integration now works outside of the bounds of jsr199
switch defined between jdk versions jdk5 -> our own compiler facade
jdk6+ -> jsr199 api fallback which then falls back into javac (maybe we will add
eclipse as internal fallback as well in the long run)

Removed:
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jci/CompilerFacade.java
Modified:
    myfaces/extensions/scripting/trunk/core/core/pom.xml
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java

Modified: myfaces/extensions/scripting/trunk/core/core/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/pom.xml?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/pom.xml (original)
+++ myfaces/extensions/scripting/trunk/core/core/pom.xml Wed Sep 23 12:20:16 2009
@@ -64,19 +64,6 @@
             <version>3.2</version>
         </dependency>
        
-        
-
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-jci-core</artifactId>
-            <version>1.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-jci-javac</artifactId>
-            <version>1.0</version>
-        </dependency>
 
     </dependencies>
 

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java Wed Sep 23 12:20:16 2009
@@ -46,7 +46,7 @@
 
     private static final String JAVA_FILE_ENDING = ".java";
     private static final String JSR199_COMPILER = "org.apache.myfaces.scripting.loaders.java.jsr199.CompilerFacade";
-    private static final String JCI_COMPILER = "org.apache.myfaces.scripting.loaders.java.jci.CompilerFacade";
+    private static final String JAVA5_COMPILER = "org.apache.myfaces.scripting.loaders.java.jdk5.CompilerFacade";
 
     AnnotationScanner _scanner = null;
 
@@ -76,7 +76,7 @@
     @Override
     public void appendCustomScriptPath(String scriptPath) {
         super.appendCustomScriptPath(scriptPath);
-        if(_scanner != null) {
+        if (_scanner != null) {
             _scanner.addScanPath(scriptPath);
         }
     }
@@ -148,16 +148,16 @@
 
     private String getScriptingFacadeClass() {
         String javaVer = System.getProperty("java.version");
-        String [] versionArr = javaVer.split("\\.");
+        String[] versionArr = javaVer.split("\\.");
 
         int major = Integer.parseInt(versionArr[Math.min(versionArr.length, 1)]);
 
-        if(major > 5) {
+        if (major > 5) {
             //jsr199 compliant jdk
             return JSR199_COMPILER;
         }
         //otherwise 
-        return JCI_COMPILER;
+        return JAVA5_COMPILER;
     }
 
     public boolean isDynamic(Class clazz) {
@@ -169,7 +169,7 @@
      * full scan, scans for all artefacts in all files
      */
     public void fullAnnotationScan() {
-        if(_scanner == null) {
+        if (_scanner == null) {
             return;
         }
         _scanner.scanPaths();

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java Wed Sep 23 12:20:16 2009
@@ -17,6 +17,6 @@
      * 
      * @return the compilation result, i.e. the compiler output, a list of errors and a list of warnings
      */
-    public CompilationResult compile(File sourcePath, File targetPath, String file) throws CompilationException;
+    public CompilationResult compile(File sourcePath, File targetPath, String file, String classPath) throws CompilationException;
 
 }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java Wed Sep 23 12:20:16 2009
@@ -55,7 +55,7 @@
         className = ClassUtils.relativeFileToClassName(className);
 
         try {
-            CompilationResult result = compiler.compile(new File(sourceRoot), fileManager.getTempDir(), filePath);
+            CompilationResult result = compiler.compile(new File(sourceRoot), fileManager.getTempDir(), filePath, fileManager.getClassPath());
 
             displayMessages(result);
 
@@ -73,6 +73,8 @@
                         Thread.currentThread().setContextClassLoader(oldClassLoader);
                     }
                 }
+            } else {
+                log.error("Compiler output:"+result.getCompilerOutput());
             }
 
         } catch (CompilationException e) {
@@ -83,7 +85,8 @@
 
     private void displayMessages(CompilationResult result) {
         for (CompilationResult.CompilationMessage error : result.getErrors()) {
-            log.error(error.getMessage());
+            log.error(error.getLineNumber()+"-"+error.getMessage());
+
         }
         for (CompilationResult.CompilationMessage error : result.getWarnings()) {
             log.error(error.getMessage());

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java Wed Sep 23 12:20:16 2009
@@ -88,7 +88,7 @@
      * @param file       the relative file name of the class you want to compile
      * @return the compilation result, i.e. as of now only the compiler output
      */
-    public CompilationResult compile(File sourcePath, File targetPath, String file) throws CompilationException {
+    public CompilationResult compile(File sourcePath, File targetPath, String file, String classPath) throws CompilationException {
         // The destination directory must already exist as javac will not create the destination directory.
         if (!targetPath.exists()) {
             if (!targetPath.mkdirs()) {
@@ -106,7 +106,7 @@
             // Invoke the Javac compiler
             Method compile = compilerClass.getMethod("compile", new Class[]{String[].class, PrintWriter.class});
             Integer returnCode = (Integer) compile.invoke(null,
-                                                          new Object[]{buildCompilerArguments(sourcePath, targetPath, file), new PrintWriter(compilerOutput)});
+                                                          new Object[]{buildCompilerArguments(sourcePath, targetPath, file, classPath), new PrintWriter(compilerOutput)});
 
             CompilationResult result = new CompilationResult(compilerOutput.toString());
             if (returnCode == null || returnCode.intValue() != 0) {
@@ -138,7 +138,7 @@
      * @param file       the relative file name of the class you want to compile
      * @return an array of arguments that you have to pass to the Javac compiler
      */
-    protected String[] buildCompilerArguments(File sourcePath, File targetPath, String file) {
+    protected String[] buildCompilerArguments(File sourcePath, File targetPath, String file, String classPath) {
         List arguments = new ArrayList();
 
         // Set both the source code path to search for class or interface
@@ -147,6 +147,8 @@
         arguments.add(sourcePath.getAbsolutePath());
         arguments.add("-d");
         arguments.add(targetPath.getAbsolutePath());
+        arguments.add("-cp");
+        arguments.add(classPath);       
 
         // Enable verbose output.
         arguments.add("-verbose");

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java Wed Sep 23 12:20:16 2009
@@ -9,7 +9,7 @@
     String hello3 = "hello from  added attribute 2";
  
     public String getSayHello() {
-        return "  Java dynamic  bean - "+TestClass2.hello2 + hello3;
+        return " Java dynamic  bean - "+TestClass2.hello2 + hello3;
     }
 
     public String getSayHello2() {