openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mik...@apache.org
Subject svn commit: r719698 - in /openjpa/trunk/openjpa-kernel: pom.xml src/main/java/org/apache/openjpa/kernel/jpql/ParseException.java src/main/jjtree/org/apache/openjpa/kernel/jpql/ParseException.java
Date Fri, 21 Nov 2008 20:16:32 GMT
Author: mikedd
Date: Fri Nov 21 12:16:32 2008
New Revision: 719698

URL: http://svn.apache.org/viewvc?rev=719698&view=rev
Log:
OPENJPA-778 committing patch provided by Fernando

Added:
    openjpa/trunk/openjpa-kernel/src/main/jjtree/org/apache/openjpa/kernel/jpql/ParseException.java
  (with props)
Modified:
    openjpa/trunk/openjpa-kernel/pom.xml
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/ParseException.java

Modified: openjpa/trunk/openjpa-kernel/pom.xml
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/pom.xml?rev=719698&r1=719697&r2=719698&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/pom.xml (original)
+++ openjpa/trunk/openjpa-kernel/pom.xml Fri Nov 21 12:16:32 2008
@@ -74,33 +74,17 @@
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>javacc-maven-plugin</artifactId>
-                <version>2.1</version>
+                <version>2.4</version>
                 <executions>
                     <execution>
-                        <id>jjtree-jpql</id>
+                        <id>jjtree-javacc-jpql</id>
                         <phase>generate-sources</phase>
                         <configuration>
-                            <sourceDirectory>
-                                ${basedir}/src/main/jjtree/org/apache/openjpa/kernel/jpql</sourceDirectory>
-                            <outputDirectory>
-                                ${project.build.directory}/generated-sources/jjtree/org/apache/openjpa/kernel/jpql</outputDirectory>
                             <buildNodeFiles>false</buildNodeFiles>
+                            <jdkVersion>1.5</jdkVersion>
                         </configuration>
                         <goals>
-                            <goal>jjtree</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>javacc-jpql</id>
-                        <phase>generate-sources</phase>
-                        <configuration>
-                            <sourceDirectory>
-                                ${project.build.directory}/generated-sources/jjtree/org/apache/openjpa/kernel/jpql</sourceDirectory>
-                            <outputDirectory>
-                                ${project.build.directory}/generated-sources/javacc/org/apache/openjpa/kernel/jpql</outputDirectory>
-                        </configuration>
-                        <goals>
-                            <goal>javacc</goal>
+                            <goal>jjtree-javacc</goal>
                         </goals>
                     </execution>
                 </executions>
@@ -109,17 +93,6 @@
                 <artifactId>maven-antrun-plugin</artifactId>
                 <executions>
                     <execution>
-                        <phase>process-sources</phase>
-                        <configuration>
-                            <tasks>
-                                <delete file="${project.build.directory}/generated-sources/javacc/org/apache/openjpa/kernel/jpql/ParseException.java"
/>
-                            </tasks>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                    <execution>
 						<id>add-was-interfaces</id>
 						<phase>process-classes</phase>
 						<configuration>

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/ParseException.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/ParseException.java?rev=719698&r1=719697&r2=719698&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/ParseException.java
(original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/ParseException.java
Fri Nov 21 12:16:32 2008
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.    
- */
-package org.apache.openjpa.kernel.jpql;
-
-import java.util.TreeSet;
-
-import org.apache.openjpa.lib.util.Localizer;
-import org.apache.openjpa.lib.util.Localizer.Message;
-import org.apache.openjpa.util.UserException;
-
-/**
- * Signifies that a lexical error occurred when parsing the JPQL statement.
- *
- * @author Marc Prud'hommeaux
- */
-public class ParseException
-    extends UserException {
-
-    private static final Localizer _loc =
-        Localizer.forPackage(ParseException.class);
-
-    /**
-     * This constructor is used by the method "generateParseException"
-     * in the generated parser. Calling this constructor generates
-     * a new object of this type with the fields "currentToken",
-     * "expectedTokenSequences", and "tokenImage" set.
-     * This constructor calls its super class with the empty string
-     * to force the "toString" method of parent class "Throwable" to
-     * print the error message in the form:
-     * ParseException: <result of getMessage>
-     */
-    public ParseException(Token currentTokenVal,
-        int[][]expectedTokenSequencesVal, String[]tokenImageVal) {
-        super(initMessage(currentTokenVal,
-            expectedTokenSequencesVal, tokenImageVal));
-    }
-
-    /**
-     * The following constructors are for use by you for whatever
-     * purpose you can think of. Constructing the exception in this
-     * manner makes the exception behave in the normal way - i.e., as
-     * documented in the class "Throwable". The fields "errorToken",
-     * "expectedTokenSequences", and "tokenImage" do not contain
-     * relevant information. The JavaCC generated code does not use
-     * these constructors.
-     */
-    public ParseException() {
-        super();
-    }
-
-    /**
-     * String constructor. Constructing the exception in this
-     * manner makes the exception behave in the normal way - i.e., as
-     * documented in the class "Throwable". The fields "errorToken",
-     * "expectedTokenSequences", and "tokenImage" do not contain
-     * relevant information. The JavaCC generated code does not use
-     * these constructors.
-     */
-    public ParseException(String message) {
-        super(message);
-    }
-
-    /**
-     * This method has the standard behavior when this object has been
-     * created using the standard constructors. Otherwise, it uses
-     * "currentToken" and "expectedTokenSequences" to generate a parse
-     * error message and returns it. If this object has been created
-     * due to a parse error, and you do not catch it (it gets thrown
-     * from the parser), then this method is called during the printing
-     * of the final stack trace, and hence the correct error message
-     * gets displayed.
-     */
-    private static Message initMessage(Token currentToken,
-        int[][]expectedTokenSequences, String[]tokenImage) {
-        TreeSet expected = new TreeSet();
-
-        int maxSize = 0;
-
-        for (int i = 0; i < expectedTokenSequences.length; i++) {
-            if (maxSize < expectedTokenSequences[i].length)
-                maxSize = expectedTokenSequences[i].length;
-
-            for (int j = 0; j < expectedTokenSequences[i].length; j++)
-                expected.add(tokenImage[expectedTokenSequences[i][j]]);
-        }
-
-        Token tok = currentToken.next;
-
-        String curtok = "";
-        for (int i = 0; i < maxSize; i++) {
-            if (i != 0)
-                curtok += " ";
-            if (tok.kind == 0) {
-                curtok += tokenImage[0];
-                break;
-            }
-
-            curtok += escape(tok.image);
-            tok = tok.next;
-        }
-
-        return _loc.get("bad-parse", new Object[]{ curtok,
-            new Integer(currentToken.next.beginColumn), expected });
-    }
-
-    /**
-     * Used to convert raw characters to their escaped version
-     * when these raw version cannot be used as part of an ASCII string literal.
-     */
-    private static String escape(String str) {
-        StringBuffer retval = new StringBuffer();
-        char ch;
-
-        for (int i = 0; i < str.length(); i++) {
-            switch (str.charAt(i)) {
-                case 0:
-                    continue;
-                case '\b':
-                    retval.append("\\b");
-                    continue;
-                case '\t':
-                    retval.append("\\t");
-                    continue;
-                case '\n':
-                    retval.append("\\n");
-                    continue;
-                case '\f':
-                    retval.append("\\f");
-                    continue;
-                case '\r':
-                    retval.append("\\r");
-                    continue;
-                case '\"':
-                    retval.append("\\\"");
-                    continue;
-                case '\'':
-                    retval.append("\\\'");
-                    continue;
-                case '\\':
-                    retval.append("\\\\");
-                    continue;
-                default:
-                    if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
-                        String s = "0000" + Integer.toString(ch, 16);
-
-                        retval.append("\\u" + s.substring(s.length() - 4,
-                            s.length()));
-                    } else {
-                        retval.append(ch);
-                    }
-                    continue;
-            }
-        }
-        return retval.toString();
-	}
-
-}

Added: openjpa/trunk/openjpa-kernel/src/main/jjtree/org/apache/openjpa/kernel/jpql/ParseException.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/jjtree/org/apache/openjpa/kernel/jpql/ParseException.java?rev=719698&view=auto
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/jjtree/org/apache/openjpa/kernel/jpql/ParseException.java
(added)
+++ openjpa/trunk/openjpa-kernel/src/main/jjtree/org/apache/openjpa/kernel/jpql/ParseException.java
Fri Nov 21 12:16:32 2008
@@ -0,0 +1,173 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.openjpa.kernel.jpql;
+
+import java.util.TreeSet;
+
+import org.apache.openjpa.lib.util.Localizer;
+import org.apache.openjpa.lib.util.Localizer.Message;
+import org.apache.openjpa.util.UserException;
+
+/**
+ * Signifies that a lexical error occurred when parsing the JPQL statement.
+ *
+ * @author Marc Prud'hommeaux
+ */
+public class ParseException
+    extends UserException {
+
+    private static final Localizer _loc =
+        Localizer.forPackage(ParseException.class);
+
+    /**
+     * This constructor is used by the method "generateParseException"
+     * in the generated parser. Calling this constructor generates
+     * a new object of this type with the fields "currentToken",
+     * "expectedTokenSequences", and "tokenImage" set.
+     * This constructor calls its super class with the empty string
+     * to force the "toString" method of parent class "Throwable" to
+     * print the error message in the form:
+     * ParseException: <result of getMessage>
+     */
+    public ParseException(Token currentTokenVal,
+        int[][]expectedTokenSequencesVal, String[]tokenImageVal) {
+        super(initMessage(currentTokenVal,
+            expectedTokenSequencesVal, tokenImageVal));
+    }
+
+    /**
+     * The following constructors are for use by you for whatever
+     * purpose you can think of. Constructing the exception in this
+     * manner makes the exception behave in the normal way - i.e., as
+     * documented in the class "Throwable". The fields "errorToken",
+     * "expectedTokenSequences", and "tokenImage" do not contain
+     * relevant information. The JavaCC generated code does not use
+     * these constructors.
+     */
+    public ParseException() {
+        super();
+    }
+
+    /**
+     * String constructor. Constructing the exception in this
+     * manner makes the exception behave in the normal way - i.e., as
+     * documented in the class "Throwable". The fields "errorToken",
+     * "expectedTokenSequences", and "tokenImage" do not contain
+     * relevant information. The JavaCC generated code does not use
+     * these constructors.
+     */
+    public ParseException(String message) {
+        super(message);
+    }
+
+    /**
+     * This method has the standard behavior when this object has been
+     * created using the standard constructors. Otherwise, it uses
+     * "currentToken" and "expectedTokenSequences" to generate a parse
+     * error message and returns it. If this object has been created
+     * due to a parse error, and you do not catch it (it gets thrown
+     * from the parser), then this method is called during the printing
+     * of the final stack trace, and hence the correct error message
+     * gets displayed.
+     */
+    private static Message initMessage(Token currentToken,
+        int[][]expectedTokenSequences, String[]tokenImage) {
+        TreeSet expected = new TreeSet();
+
+        int maxSize = 0;
+
+        for (int i = 0; i < expectedTokenSequences.length; i++) {
+            if (maxSize < expectedTokenSequences[i].length)
+                maxSize = expectedTokenSequences[i].length;
+
+            for (int j = 0; j < expectedTokenSequences[i].length; j++)
+                expected.add(tokenImage[expectedTokenSequences[i][j]]);
+        }
+
+        Token tok = currentToken.next;
+
+        String curtok = "";
+        for (int i = 0; i < maxSize; i++) {
+            if (i != 0)
+                curtok += " ";
+            if (tok.kind == 0) {
+                curtok += tokenImage[0];
+                break;
+            }
+
+            curtok += escape(tok.image);
+            tok = tok.next;
+        }
+
+        return _loc.get("bad-parse", new Object[]{ curtok,
+            new Integer(currentToken.next.beginColumn), expected });
+    }
+
+    /**
+     * Used to convert raw characters to their escaped version
+     * when these raw version cannot be used as part of an ASCII string literal.
+     */
+    private static String escape(String str) {
+        StringBuffer retval = new StringBuffer();
+        char ch;
+
+        for (int i = 0; i < str.length(); i++) {
+            switch (str.charAt(i)) {
+                case 0:
+                    continue;
+                case '\b':
+                    retval.append("\\b");
+                    continue;
+                case '\t':
+                    retval.append("\\t");
+                    continue;
+                case '\n':
+                    retval.append("\\n");
+                    continue;
+                case '\f':
+                    retval.append("\\f");
+                    continue;
+                case '\r':
+                    retval.append("\\r");
+                    continue;
+                case '\"':
+                    retval.append("\\\"");
+                    continue;
+                case '\'':
+                    retval.append("\\\'");
+                    continue;
+                case '\\':
+                    retval.append("\\\\");
+                    continue;
+                default:
+                    if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                        String s = "0000" + Integer.toString(ch, 16);
+
+                        retval.append("\\u" + s.substring(s.length() - 4,
+                            s.length()));
+                    } else {
+                        retval.append(ch);
+                    }
+                    continue;
+            }
+        }
+        return retval.toString();
+	}
+
+}

Propchange: openjpa/trunk/openjpa-kernel/src/main/jjtree/org/apache/openjpa/kernel/jpql/ParseException.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message