Fix for Bug 377655 (DBWS DDLParser: Should ignore schema if prepended to arguments)
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.java
index 9f94ffa..e7b9f39 100644
--- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.java
+++ b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.java
@@ -1256,6 +1256,22 @@
                  if (((TableType)enclosingType).getSchema().equals(namePart1)) {

                      s = namePart2;

                  }

+              } else if (enclosingType.isObjectTableType()) {

+                 if (((ObjectTableType)enclosingType).getSchema().equals(namePart1)) {

+                     s = namePart2;

+                 }

+              } else if (enclosingType.isObjectType()) {

+                 if (((ObjectType)enclosingType).getSchema().equals(namePart1)) {

+                     s = namePart2;

+                 }

+              } else if (enclosingType.isPLSQLType()) {

+                 if (((PLSQLType)enclosingType).getParentType().getSchema().equals(namePart1)) {

+                     s = namePart2;

+                 }

+              } else if (enclosingType.isVArrayType()) {

+                 if (((VArrayType)enclosingType).getSchema().equals(namePart1)) {

+                     s = namePart2;

+                 }

               }

           }

           for (String typeName : localTypes.keySet()) {

@@ -3447,88 +3463,6 @@
     catch(LookaheadSuccess ls) { return true; }

   }

 

-  private boolean jj_3R_30() {

-    if (jj_scan_token(K_INTERVAL)) return true;

-    Token xsp;

-    xsp = jj_scanpos;

-    if (jj_3R_69()) {

-    jj_scanpos = xsp;

-    if (jj_3R_70()) return true;

-    }

-    return false;

-  }

-

-  private boolean jj_3R_83() {

-    if (jj_scan_token(O_OPENPAREN)) return true;

-    if (jj_scan_token(S_NUMBER)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_29() {

-    if (jj_scan_token(K_DATE)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_28() {

-    if (jj_scan_token(K_BOOLEAN)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_9() {

-    if (jj_scan_token(K_RECORD)) return true;

-    if (jj_scan_token(O_OPENPAREN)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_68() {

-    if (jj_scan_token(O_OPENPAREN)) return true;

-    if (jj_scan_token(S_NUMBER)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_56() {

-    if (jj_scan_token(K_NVARCHAR2)) return true;

-    Token xsp;

-    xsp = jj_scanpos;

-    if (jj_3R_84()) jj_scanpos = xsp;

-    return false;

-  }

-

-  private boolean jj_3R_82() {

-    if (jj_scan_token(O_OPENPAREN)) return true;

-    if (jj_scan_token(S_NUMBER)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_67() {

-    if (jj_scan_token(O_OPENPAREN)) return true;

-    if (jj_scan_token(S_NUMBER)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_90() {

-    if (jj_scan_token(O_COMMA)) return true;

-    return false;

-  }

-

-  private boolean jj_3R_65() {

-    if (jj_3R_12()) return true;

-    return false;

-  }

-

-  private boolean jj_3R_27() {

-    if (jj_scan_token(K_RAW)) return true;

-    Token xsp;

-    xsp = jj_scanpos;

-    if (jj_3R_68()) jj_scanpos = xsp;

-    return false;

-  }

-

-  private boolean jj_3_2() {

-    if (jj_3R_7()) return true;

-    return false;

-  }

-

   private boolean jj_3R_55() {

     if (jj_scan_token(K_NVARCHAR)) return true;

     Token xsp;

@@ -3537,16 +3471,6 @@
     return false;

   }

 

-  private boolean jj_3R_18() {

-    Token xsp;

-    xsp = jj_scanpos;

-    if (jj_3_2()) {

-    jj_scanpos = xsp;

-    if (jj_3R_65()) return true;

-    }

-    return false;

-  }

-

   private boolean jj_3_11() {

     if (jj_3R_15()) return true;

     return false;

@@ -3558,6 +3482,16 @@
     return false;

   }

 

+  private boolean jj_3R_65() {

+    if (jj_3R_12()) return true;

+    return false;

+  }

+

+  private boolean jj_3_2() {

+    if (jj_3R_7()) return true;

+    return false;

+  }

+

   private boolean jj_3R_14() {

     if (jj_scan_token(R_ANCHORED_ROWTYPE)) return true;

     return false;

@@ -3573,6 +3507,16 @@
     return false;

   }

 

+  private boolean jj_3R_18() {

+    Token xsp;

+    xsp = jj_scanpos;

+    if (jj_3_2()) {

+    jj_scanpos = xsp;

+    if (jj_3R_65()) return true;

+    }

+    return false;

+  }

+

   private boolean jj_3_12() {

     if (jj_scan_token(K_NOCOPY)) return true;

     return false;

@@ -3664,12 +3608,6 @@
     return false;

   }

 

-  private boolean jj_3R_6() {

-    if (jj_3R_17()) return true;

-    if (jj_3R_18()) return true;

-    return false;

-  }

-

   private boolean jj_3R_89() {

     Token xsp;

     xsp = jj_scanpos;

@@ -3698,11 +3636,6 @@
     return false;

   }

 

-  private boolean jj_3_1() {

-    if (jj_3R_6()) return true;

-    return false;

-  }

-

   private boolean jj_3R_75() {

     if (jj_scan_token(O_OPENPAREN)) return true;

     if (jj_scan_token(S_NUMBER)) return true;

@@ -3720,6 +3653,12 @@
     return false;

   }

 

+  private boolean jj_3R_6() {

+    if (jj_3R_17()) return true;

+    if (jj_3R_18()) return true;

+    return false;

+  }

+

   private boolean jj_3R_66() {

     if (jj_scan_token(O_OPENPAREN)) return true;

     Token xsp;

@@ -3763,6 +3702,11 @@
     return false;

   }

 

+  private boolean jj_3_1() {

+    if (jj_3R_6()) return true;

+    return false;

+  }

+

   private boolean jj_3R_24() {

     if (jj_scan_token(K_SIGNTYPE)) return true;

     return false;

@@ -4231,6 +4175,69 @@
     return false;

   }

 

+  private boolean jj_3R_69() {

+    if (jj_scan_token(K_DAY)) return true;

+    Token xsp;

+    xsp = jj_scanpos;

+    if (jj_3R_91()) jj_scanpos = xsp;

+    if (jj_scan_token(R_TO)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_57() {

+    if (jj_scan_token(K_NATIONAL)) return true;

+    Token xsp;

+    xsp = jj_scanpos;

+    if (jj_scan_token(138)) {

+    jj_scanpos = xsp;

+    if (jj_scan_token(137)) return true;

+    }

+    xsp = jj_scanpos;

+    if (jj_scan_token(213)) jj_scanpos = xsp;

+    xsp = jj_scanpos;

+    if (jj_3R_87()) jj_scanpos = xsp;

+    return false;

+  }

+

+  private boolean jj_3R_30() {

+    if (jj_scan_token(K_INTERVAL)) return true;

+    Token xsp;

+    xsp = jj_scanpos;

+    if (jj_3R_69()) {

+    jj_scanpos = xsp;

+    if (jj_3R_70()) return true;

+    }

+    return false;

+  }

+

+  private boolean jj_3R_83() {

+    if (jj_scan_token(O_OPENPAREN)) return true;

+    if (jj_scan_token(S_NUMBER)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_29() {

+    if (jj_scan_token(K_DATE)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_28() {

+    if (jj_scan_token(K_BOOLEAN)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_9() {

+    if (jj_scan_token(K_RECORD)) return true;

+    if (jj_scan_token(O_OPENPAREN)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_68() {

+    if (jj_scan_token(O_OPENPAREN)) return true;

+    if (jj_scan_token(S_NUMBER)) return true;

+    return false;

+  }

+

   private boolean jj_3R_16() {

     Token xsp;

     xsp = jj_scanpos;

@@ -4499,27 +4506,36 @@
     return false;

   }

 

-  private boolean jj_3R_69() {

-    if (jj_scan_token(K_DAY)) return true;

+  private boolean jj_3R_56() {

+    if (jj_scan_token(K_NVARCHAR2)) return true;

     Token xsp;

     xsp = jj_scanpos;

-    if (jj_3R_91()) jj_scanpos = xsp;

-    if (jj_scan_token(R_TO)) return true;

+    if (jj_3R_84()) jj_scanpos = xsp;

     return false;

   }

 

-  private boolean jj_3R_57() {

-    if (jj_scan_token(K_NATIONAL)) return true;

+  private boolean jj_3R_82() {

+    if (jj_scan_token(O_OPENPAREN)) return true;

+    if (jj_scan_token(S_NUMBER)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_67() {

+    if (jj_scan_token(O_OPENPAREN)) return true;

+    if (jj_scan_token(S_NUMBER)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_90() {

+    if (jj_scan_token(O_COMMA)) return true;

+    return false;

+  }

+

+  private boolean jj_3R_27() {

+    if (jj_scan_token(K_RAW)) return true;

     Token xsp;

     xsp = jj_scanpos;

-    if (jj_scan_token(138)) {

-    jj_scanpos = xsp;

-    if (jj_scan_token(137)) return true;

-    }

-    xsp = jj_scanpos;

-    if (jj_scan_token(213)) jj_scanpos = xsp;

-    xsp = jj_scanpos;

-    if (jj_3R_87()) jj_scanpos = xsp;

+    if (jj_3R_68()) jj_scanpos = xsp;

     return false;

   }

 

diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jj b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jj
index 8eebd36..b02fd23 100644
--- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jj
+++ b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jj
Binary files differ
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt
index 6bb5f7a..8b9233d 100644
--- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt
+++ b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt
Binary files differ