Author: jochen Date: Thu Nov 2 13:29:39 2006 New Revision: 470530 URL: http://svn.apache.org/viewvc?view=rev&rev=470530 Log: The Java parser does now support wildcards in import statements. PR: JAXME-77 Submitted-by: Kenney Westerhof, [EMAIL PROTECTED]
Modified: webservices/jaxme/branches/MAVEN/projects/js/project.xml webservices/jaxme/branches/MAVEN/projects/js/src/main/java/org/apache/ws/jaxme/js/util/JavaParser.java webservices/jaxme/branches/MAVEN/projects/js/src/test/java/org/apache/ws/jaxme/js/junit/AntlrTest.java webservices/jaxme/branches/MAVEN/status.xml webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/junit/AntlrTest.java webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/util/JavaParser.java webservices/jaxme/branches/b0_5/status.xml Modified: webservices/jaxme/branches/MAVEN/projects/js/project.xml URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/js/project.xml?view=diff&rev=470530&r1=470529&r2=470530 ============================================================================== --- webservices/jaxme/branches/MAVEN/projects/js/project.xml (original) +++ webservices/jaxme/branches/MAVEN/projects/js/project.xml Thu Nov 2 13:29:39 2006 @@ -33,6 +33,10 @@ <contributor> <name>Byn Choi</name> <email>[EMAIL PROTECTED]</email> + </contributor> + <contributor> + <name>Kenney Westerhof</name> + <email>[EMAIL PROTECTED]</email> </contributor> </contributors> <dependencies> Modified: webservices/jaxme/branches/MAVEN/projects/js/src/main/java/org/apache/ws/jaxme/js/util/JavaParser.java URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/js/src/main/java/org/apache/ws/jaxme/js/util/JavaParser.java?view=diff&rev=470530&r1=470529&r2=470530 ============================================================================== --- webservices/jaxme/branches/MAVEN/projects/js/src/main/java/org/apache/ws/jaxme/js/util/JavaParser.java (original) +++ webservices/jaxme/branches/MAVEN/projects/js/src/main/java/org/apache/ws/jaxme/js/util/JavaParser.java Thu Nov 2 13:29:39 2006 @@ -5,6 +5,7 @@ import java.io.FileReader; import java.io.Reader; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.StringTokenizer; @@ -156,6 +157,7 @@ sb.append(pAST.getText()); break; case JavaTokenTypes.IDENT: + case JavaTokenTypes.STAR: sb.append(pAST.getText()); break; case JavaTokenTypes.DOT: @@ -200,6 +202,9 @@ String packageName = getPackageName(); JavaQName qName = JavaQNameImpl.getInstance(packageName, className); JavaSource js = factory.newJavaSource(qName, JavaSource.DEFAULT_PROTECTION); + for (Iterator it = importStatements.iterator(); it.hasNext(); ) { + js.addImport((JavaQName) it.next()); + } generatedClasses.add(js); return js; } else { Modified: webservices/jaxme/branches/MAVEN/projects/js/src/test/java/org/apache/ws/jaxme/js/junit/AntlrTest.java URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/js/src/test/java/org/apache/ws/jaxme/js/junit/AntlrTest.java?view=diff&rev=470530&r1=470529&r2=470530 ============================================================================== --- webservices/jaxme/branches/MAVEN/projects/js/src/test/java/org/apache/ws/jaxme/js/junit/AntlrTest.java (original) +++ webservices/jaxme/branches/MAVEN/projects/js/src/test/java/org/apache/ws/jaxme/js/junit/AntlrTest.java Thu Nov 2 13:29:39 2006 @@ -16,13 +16,21 @@ */ package org.apache.ws.jaxme.js.junit; +import java.io.StringReader; +import java.util.List; + +import org.apache.ws.jaxme.js.JavaSource; +import org.apache.ws.jaxme.js.JavaSourceFactory; +import org.apache.ws.jaxme.js.util.JavaParser; + +import antlr.RecognitionException; +import antlr.TokenStreamException; import junit.framework.TestCase; /** * Test for JavaParser. */ public class AntlrTest extends TestCase { - /** * Tests the JavaParser. */ @@ -31,5 +39,17 @@ + "/org/apache/ws/jaxme/sqls/impl/SQLGeneratorImpl.java"; org.apache.ws.jaxme.js.util.JavaParser.main(new String[]{path}); } - + + /** Tests, whether imports may use wildcards. + */ + public void testStarImport() throws RecognitionException, TokenStreamException { + JavaSourceFactory jsf = new JavaSourceFactory(); + JavaParser parser = new JavaParser(jsf); + List a = parser.parse(new StringReader("package foo;\nimport java.util.*;\n\npublic class Test {}\n")); + + assertEquals("Expecting 1 Java source", 1, a.size()); + JavaSource js = (JavaSource) a.get(0); + assertEquals("Expecting 1 import", 1, js.getImports().length); + assertEquals("java.util.*", js.getImports()[0].toString()); + } } Modified: webservices/jaxme/branches/MAVEN/status.xml URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/status.xml?view=diff&rev=470530&r1=470529&r2=470530 ============================================================================== --- webservices/jaxme/branches/MAVEN/status.xml (original) +++ webservices/jaxme/branches/MAVEN/status.xml Thu Nov 2 13:29:39 2006 @@ -52,6 +52,10 @@ used, failed on IBM JDK 1.3.1. (Vincent Reviol, [EMAIL PROTECTED]) </action> + <action dev="JW" type="fix" context="js"> + The Java parser does now support wildcard imports. + (Kenney Westerhof, [EMAIL PROTECTED], JAXME-77) + </action> </release> <release version="0.5.2" date="25-Oct-2006"> <action dev="JW" type="enhancement" context="generator"> Modified: webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/junit/AntlrTest.java URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/junit/AntlrTest.java?view=diff&rev=470530&r1=470529&r2=470530 ============================================================================== --- webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/junit/AntlrTest.java (original) +++ webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/junit/AntlrTest.java Thu Nov 2 13:29:39 2006 @@ -16,13 +16,21 @@ */ package org.apache.ws.jaxme.js.junit; +import java.io.StringReader; +import java.util.List; + +import org.apache.ws.jaxme.js.JavaSource; +import org.apache.ws.jaxme.js.JavaSourceFactory; +import org.apache.ws.jaxme.js.util.JavaParser; + +import antlr.RecognitionException; +import antlr.TokenStreamException; import junit.framework.TestCase; /** * Test for JavaParser. */ public class AntlrTest extends TestCase { - /** * Tests the JavaParser. */ @@ -31,5 +39,17 @@ + "/org/apache/ws/jaxme/sqls/impl/SQLGeneratorImpl.java"; org.apache.ws.jaxme.js.util.JavaParser.main(new String[]{path}); } - + + /** Tests, whether imports may use wildcards. + */ + public void testStarImport() throws RecognitionException, TokenStreamException { + JavaSourceFactory jsf = new JavaSourceFactory(); + JavaParser parser = new JavaParser(jsf); + List a = parser.parse(new StringReader("package foo;\nimport java.util.*;\n\npublic class Test {}\n")); + + assertEquals("Expecting 1 Java source", 1, a.size()); + JavaSource js = (JavaSource) a.get(0); + assertEquals("Expecting 1 import", 1, js.getImports().length); + assertEquals("java.util.*", js.getImports()[0].toString()); + } } Modified: webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/util/JavaParser.java URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/util/JavaParser.java?view=diff&rev=470530&r1=470529&r2=470530 ============================================================================== --- webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/util/JavaParser.java (original) +++ webservices/jaxme/branches/b0_5/src/js/org/apache/ws/jaxme/js/util/JavaParser.java Thu Nov 2 13:29:39 2006 @@ -5,6 +5,7 @@ import java.io.FileReader; import java.io.Reader; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.StringTokenizer; @@ -156,6 +157,7 @@ sb.append(pAST.getText()); break; case JavaTokenTypes.IDENT: + case JavaTokenTypes.STAR: sb.append(pAST.getText()); break; case JavaTokenTypes.DOT: @@ -200,6 +202,9 @@ String packageName = getPackageName(); JavaQName qName = JavaQNameImpl.getInstance(packageName, className); JavaSource js = factory.newJavaSource(qName, JavaSource.DEFAULT_PROTECTION); + for (Iterator it = importStatements.iterator(); it.hasNext(); ) { + js.addImport((JavaQName) it.next()); + } generatedClasses.add(js); return js; } else { Modified: webservices/jaxme/branches/b0_5/status.xml URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/status.xml?view=diff&rev=470530&r1=470529&r2=470530 ============================================================================== --- webservices/jaxme/branches/b0_5/status.xml (original) +++ webservices/jaxme/branches/b0_5/status.xml Thu Nov 2 13:29:39 2006 @@ -36,6 +36,10 @@ used, failed on IBM JDK 1.3.1. (Vincent Reviol, [EMAIL PROTECTED]) </action> + <action dev="JW" type="fix" context="js"> + The Java parser does now support wildcard imports. + (Kenney Westerhof, [EMAIL PROTECTED], JAXME-77) + </action> </release> <release version="0.5.2" date="25-Oct-2006"> <action dev="JW" type="enhancement" context="generator"> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]