You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2023/01/27 16:01:46 UTC

[cayenne] branch master updated: Allow to process self char content for `NamespaceAwareNestedTagHandler`

This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 5adac9355 Allow to process self char content for `NamespaceAwareNestedTagHandler`
5adac9355 is described below

commit 5adac93557c20b9e872c34def6a85e918b07a63b
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Fri Jan 27 19:01:40 2023 +0300

    Allow to process self char content for `NamespaceAwareNestedTagHandler`
---
 .../java/org/apache/cayenne/gen/xml/CgenConfigHandler.java     |  3 ++-
 .../java/org/apache/cayenne/dbsync/xml/CatalogHandler.java     |  3 ++-
 .../main/java/org/apache/cayenne/dbsync/xml/ConfigHandler.java |  3 ++-
 .../org/apache/cayenne/dbsync/xml/IncludeTableHandler.java     |  3 ++-
 .../main/java/org/apache/cayenne/dbsync/xml/SchemaHandler.java |  3 ++-
 .../java/org/apache/cayenne/dbsync/xml/TableTypesHandler.java  |  3 ++-
 .../org/apache/cayenne/configuration/xml/DbEntityHandler.java  |  3 ++-
 .../cayenne/configuration/xml/DbKeyGeneratorHandler.java       |  3 ++-
 .../configuration/xml/NamespaceAwareNestedTagHandler.java      | 10 +++++++---
 .../org/apache/cayenne/configuration/xml/ObjEntityHandler.java |  3 ++-
 .../cayenne/configuration/xml/QueryDescriptorHandler.java      |  3 ++-
 11 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
index 3185bcd42..a552ff52c 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/xml/CgenConfigHandler.java
@@ -83,7 +83,7 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case NAME:
                 setName(data);
@@ -139,6 +139,7 @@ public class CgenConfigHandler extends NamespaceAwareNestedTagHandler {
                 createSuperPkg(data);
                 break;
         }
+        return true;
     }
 
     private void setName(String name) {
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/CatalogHandler.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/CatalogHandler.java
index 0c92e28ef..dc9450546 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/CatalogHandler.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/CatalogHandler.java
@@ -84,7 +84,7 @@ class CatalogHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case INCLUDE_TABLE_TAG:
                 createIncludeTable(data);
@@ -108,6 +108,7 @@ class CatalogHandler extends NamespaceAwareNestedTagHandler {
                 createExcludeProcedure(data);
                 break;
         }
+        return true;
     }
 
     private void createIncludeTable(String includeTableData) {
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/ConfigHandler.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/ConfigHandler.java
index 40f2d8ab6..3d7cacd44 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/ConfigHandler.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/ConfigHandler.java
@@ -102,7 +102,7 @@ class ConfigHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case DEFAULT_PACKAGE_TAG:
                 createDefaultPackage(data);
@@ -147,6 +147,7 @@ class ConfigHandler extends NamespaceAwareNestedTagHandler {
                 createExcludeProcedure(data);
                 break;
         }
+        return true;
     }
 
     private void createExcludeProcedure(String excludeProcedure) {
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/IncludeTableHandler.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/IncludeTableHandler.java
index 5f7d1fe16..cf9b346d9 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/IncludeTableHandler.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/IncludeTableHandler.java
@@ -57,7 +57,7 @@ class IncludeTableHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case INCLUDE_TABLE_NAME_TAG:
                 createIncludeTableName(data);
@@ -69,6 +69,7 @@ class IncludeTableHandler extends NamespaceAwareNestedTagHandler {
                 createExcludeColumn(data);
                 break;
         }
+        return true;
     }
 
     private void createExcludeColumn(String excludeColumn) {
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/SchemaHandler.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/SchemaHandler.java
index f1bb5d104..32e20a1a0 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/SchemaHandler.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/SchemaHandler.java
@@ -81,7 +81,7 @@ class SchemaHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case INCLUDE_TABLE_TAG:
                 createIncludeTable(data);
@@ -105,6 +105,7 @@ class SchemaHandler extends NamespaceAwareNestedTagHandler {
                 createExcludeProcedure(data);
                 break;
         }
+        return true;
     }
 
     private void createIncludeTable(String includeTableData) {
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/TableTypesHandler.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/TableTypesHandler.java
index 0d12d94db..b5c0c8726 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/TableTypesHandler.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/xml/TableTypesHandler.java
@@ -46,12 +46,13 @@ public class TableTypesHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case TABLE_TYPE_TAG:
                 addTableType(data);
                 break;
         }
+        return true;
     }
 
     private void addTableType(String data) {
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbEntityHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbEntityHandler.java
index f3d35aa69..b0babd38b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbEntityHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbEntityHandler.java
@@ -68,12 +68,13 @@ public class DbEntityHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case QUALIFIER_TAG:
                 createQualifier(data);
                 break;
         }
+        return true;
     }
 
     @Override
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbKeyGeneratorHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbKeyGeneratorHandler.java
index 45ad77800..184e0f6cf 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbKeyGeneratorHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/DbKeyGeneratorHandler.java
@@ -58,7 +58,7 @@ public class DbKeyGeneratorHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case DB_GENERATOR_TYPE_TAG:
                 setDbGeneratorType(data);
@@ -72,6 +72,7 @@ public class DbKeyGeneratorHandler extends NamespaceAwareNestedTagHandler {
                 setDbKeyCacheSize(data);
                 break;
         }
+        return true;
     }
 
     private void createDbKeyGenerator() {
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java
index 0d5f7e679..98c6660db 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java
@@ -54,7 +54,8 @@ abstract public class NamespaceAwareNestedTagHandler extends SAXNestedTagHandler
 
     abstract protected boolean processElement(String namespaceURI, String localName, Attributes attributes) throws SAXException;
 
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
+        return false;
     }
 
     @Override
@@ -82,8 +83,11 @@ abstract public class NamespaceAwareNestedTagHandler extends SAXNestedTagHandler
     @Override
     public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
         super.endElement(namespaceURI, localName, qName);
-        if(namespaceURI.equals(targetNamespace) && parentHandler instanceof NamespaceAwareNestedTagHandler) {
-            ((NamespaceAwareNestedTagHandler)parentHandler).processCharData(localName, charactersBuffer.toString());
+        String data = charactersBuffer.toString();
+        if(!processCharData(localName, data)) {
+            if(namespaceURI.equals(targetNamespace) && parentHandler instanceof NamespaceAwareNestedTagHandler) {
+                ((NamespaceAwareNestedTagHandler)parentHandler).processCharData(localName, data);
+            }
         }
     }
 
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/ObjEntityHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/ObjEntityHandler.java
index c75b19194..f96e3913d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/ObjEntityHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/ObjEntityHandler.java
@@ -113,12 +113,13 @@ public class ObjEntityHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case QUALIFIER_TAG:
                 createQualifier(data);
                 break;
         }
+        return true;
     }
 
     private void createObjEntity(Attributes attributes) {
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/QueryDescriptorHandler.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/QueryDescriptorHandler.java
index 313ef4a72..890e17390 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/QueryDescriptorHandler.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/xml/QueryDescriptorHandler.java
@@ -90,7 +90,7 @@ public class QueryDescriptorHandler extends NamespaceAwareNestedTagHandler {
     }
 
     @Override
-    protected void processCharData(String localName, String data) {
+    protected boolean processCharData(String localName, String data) {
         switch (localName) {
             case QUERY_SQL_TAG:
                 queryBuilder.addSql(data, sqlKey);
@@ -112,6 +112,7 @@ public class QueryDescriptorHandler extends NamespaceAwareNestedTagHandler {
                 addPrefetchWithSemantics(data);
                 break;
         }
+        return true;
     }
 
     @Override