You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2017/03/21 18:33:12 UTC

svn commit: r1788019 - /uima/uimaj/branches/experiment-v3-jcas/uimaj-v3migration-jcas/src/main/java/org/apache/uima/migratev3/jcas/MigrateJCas.java

Author: schor
Date: Tue Mar 21 18:33:12 2017
New Revision: 1788019

URL: http://svn.apache.org/viewvc?rev=1788019&view=rev
Log:
[UIMA-5379] catch decompile errors (usually due to bad classpath); change output location reporting to occur earlier (in case there's an exception that terminates execution early).

Modified:
    uima/uimaj/branches/experiment-v3-jcas/uimaj-v3migration-jcas/src/main/java/org/apache/uima/migratev3/jcas/MigrateJCas.java

Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-v3migration-jcas/src/main/java/org/apache/uima/migratev3/jcas/MigrateJCas.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-v3migration-jcas/src/main/java/org/apache/uima/migratev3/jcas/MigrateJCas.java?rev=1788019&r1=1788018&r2=1788019&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-v3migration-jcas/src/main/java/org/apache/uima/migratev3/jcas/MigrateJCas.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-v3migration-jcas/src/main/java/org/apache/uima/migratev3/jcas/MigrateJCas.java Tue Mar 21 18:33:12 2017
@@ -197,6 +197,8 @@ public class MigrateJCas extends VoidVis
   private static final PrettyPrinterConfiguration printCu = 
       new PrettyPrinterConfiguration();
   static { printCu.setIndent("  "); }
+  
+  private static final String ERROR_DECOMPILING = "!!! ERROR:";
     
   /*****************
    * Candidate
@@ -426,6 +428,8 @@ public class MigrateJCas extends VoidVis
   void run(String[] args) {
     CommandLineParser clp = parseCommandArgs(args);
     
+    System.out.format("Output top directory: %s%n", outputDirectory);
+    
     // clear output dir
     FileUtils.deleteRecursive(new File(outputDirectory));
     
@@ -783,7 +787,19 @@ public class MigrateJCas extends VoidVis
   //    System.out.println("Migrating source before migration:\n");
   //    System.out.println(source);
   //    System.out.println("\n\n\n");
-  
+      if (source.startsWith(ERROR_DECOMPILING)) {
+        System.err.println("Decompiling failed, got: " + source);
+        System.err.println("Please check the migrateClasspath");
+        System.err.println(" argument was: " + migrateClasspath);
+        System.err.println("  Value used was:");
+        URL[] urls = Misc.classpath2urls(migrateClasspath);
+        for (URL url : urls) {
+          System.err.println("    " + url.toString());
+        }
+        System.err.println("Skipping this component");
+        return;
+      }
+      
       StringReader sr = new StringReader(source);
       try {
         cu = JavaParser.parse(sr);
@@ -829,6 +845,7 @@ public class MigrateJCas extends VoidVis
           System.out.print("d");
         }
       } catch (IOException e) {
+        e.printStackTrace();
         throw new RuntimeException(e);
       }
     } else {