[sikuli] 246/385: trying to fix loading json files from jar in Jygments

Gilles Filippini pini at moszumanska.debian.org
Sun Jun 29 19:26:19 UTC 2014


This is an automated email from the git hooks/post-receive script.

pini pushed a commit to tag upstream/1.1.0_beta1
in repository sikuli.

commit cbf61bd71c06aa10af1f5eb20f8e09dffe7b0d10
Author: Raimund Hocke <rmhdevelop at me.com>
Date:   Fri Feb 21 09:22:30 2014 +0100

    trying to fix loading json files from jar in Jygments
---
 .../src/main/java/org/sikuli/syntaxhighlight/Util.java    |  6 ++++--
 .../java/org/sikuli/syntaxhighlight/grammar/Lexer.java    | 15 +++++++--------
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/Util.java b/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/Util.java
index 3ee27e1..3b3233e 100644
--- a/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/Util.java
+++ b/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/Util.java
@@ -17,6 +17,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.security.CodeSource;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -115,6 +116,7 @@ public class Util {
   private static final Pattern DOUBLE_QUOTED_STRING = Pattern.compile("\"(?>\\\\.|.)*?\"");
   private static final Pattern SINGLE_QUOTED_STRING = Pattern.compile("'(?>\\\\.|.)*?'");
   public static String extJSON = ".jso";
+  private static CodeSource csJygments = Jygments.class.getProtectionDomain().getCodeSource();
 
   public static InputStream getJsonFile(String pack, String sub, String name, String fullname) {
     URI jarFileURI = null;
@@ -124,7 +126,7 @@ public class Util {
     fullname = fullname.replace('.', '/') + extJSON;
     String filenamePack, filenameRoot;
     try {
-      jarFileURI = Jygments.class.getProtectionDomain().getCodeSource().getLocation().toURI();
+      jarFileURI = csJygments.getLocation().toURI();
     } catch (URISyntaxException ex) {
       System.out.println("Util: getJsonFile: URISyntaxException: " + ex.toString());
     }
@@ -152,7 +154,7 @@ public class Util {
           try {
             stream = new FileInputStream(jarFile);
           } catch (FileNotFoundException ex) {
-            //TODO error message
+            System.out.println("Jygments: Util: not found:\n" + jarFile) ;
           }
         }
       } else {
diff --git a/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/grammar/Lexer.java b/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/grammar/Lexer.java
index f29c097..16cd41b 100644
--- a/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/grammar/Lexer.java
+++ b/Jygments4SikuliX/src/main/java/org/sikuli/syntaxhighlight/grammar/Lexer.java
@@ -38,6 +38,7 @@ import org.sikuli.syntaxhighlight.grammar.def.ChangeStateTokenRuleDef;
 import org.sikuli.syntaxhighlight.grammar.def.IncludeDef;
 import org.sikuli.syntaxhighlight.grammar.def.TokenRuleDef;
 
+
 /**
  * @author Tal Liron
  */
@@ -46,6 +47,7 @@ public class Lexer extends Grammar
 	//
 	// Static operations
 	//
+  private static ClassLoader cl = Jygments.class.getClassLoader();
 
 	public static Lexer getByName( String name ) throws ResolutionException
 	{
@@ -93,16 +95,13 @@ public class Lexer extends Grammar
 
 		try
 		{
-			return (Lexer) Jygments.class.getClassLoader().loadClass( fullname ).newInstance();
-		}
-		catch( InstantiationException x )
-		{
-		}
-		catch( IllegalAccessException x )
-		{
+      Class<Lexer> cLexer = (Class<Lexer>) cl.loadClass( fullname );
+      Lexer iLexer = (Lexer) (cLexer.newInstance());
+      return iLexer;
 		}
-		catch( ClassNotFoundException x )
+		catch( Exception x )
 		{
+      //System.out.println("[error] Jygments: Lexer: problem loading class " + fullname);
 		}
 
 		InputStream stream = Util.getJsonFile(pack, sub, name, fullname);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sikuli.git



More information about the pkg-java-commits mailing list