Index: D:/workspace-imperius/imperius/trunk/imperius-spleditorcore/src/org/apache/imperius/spl/editor/tool/internal/builder/PolicyFileParser.java =================================================================== --- D:/workspace-imperius/imperius/trunk/imperius-spleditorcore/src/org/apache/imperius/spl/editor/tool/internal/builder/PolicyFileParser.java (revision 612185) +++ D:/workspace-imperius/imperius/trunk/imperius-spleditorcore/src/org/apache/imperius/spl/editor/tool/internal/builder/PolicyFileParser.java (working copy) @@ -42,6 +42,7 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; +import antlr.ASTFactory; import antlr.RecognitionException; import antlr.collections.AST; @@ -109,7 +110,21 @@ lexer.setFilename(fileName); // Create a parser that reads from the scanner SPLParser parser = new SPLParser(lexer); - parser.setASTNodeClass(AST_NODE_CLASS); + ClassLoader cl = null; + try + { + cl = Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(PolicyFileParser.class.getClassLoader()); + parser.setASTNodeClass(AST_NODE_CLASS); + } + finally + { + if( cl != null ) + { + Thread.currentThread().setContextClassLoader(cl); + } + } + parser.setFilename(fileName); // start parsing at the compilationUnit rule parser.splpolicy(); @@ -146,7 +161,20 @@ return; SPLTreeParser tparse = new SPLTreeParser(); - tparse.setASTNodeClass(AST_NODE_CLASS); + ClassLoader cl = null; + try + { + cl = Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(PolicyFileParser.class.getClassLoader()); + tparse.setASTNodeClass(AST_NODE_CLASS); + } + finally + { + if( cl != null ) + { + Thread.currentThread().setContextClassLoader(cl); + } + } IPolicyClientFactory factory = new PolicyClientFactoryImpl(); IPolicyClient policyClient = null; try {