You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by sk...@apache.org on 2016/11/30 08:36:33 UTC

[1/2] cayenne git commit: Safe encode to XML query descriptors properties. It was possible to corrupt DataMap xml file with empty Cache Groups setting in query.

Repository: cayenne
Updated Branches:
  refs/heads/master 52acbefcb -> 2265e4cc2


Safe encode to XML query descriptors properties.
It was possible to corrupt DataMap xml file with empty Cache Groups setting in query.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/04ca4330
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/04ca4330
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/04ca4330

Branch: refs/heads/master
Commit: 04ca4330cff02f8afb5a7cf678ae2cac7b86062b
Parents: 949e383
Author: Nikita Timofeev <st...@gmail.com>
Authored: Mon Nov 28 16:17:09 2016 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Mon Nov 28 16:17:09 2016 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/map/EJBQLQueryDescriptor.java  |  5 +----
 .../apache/cayenne/map/ProcedureQueryDescriptor.java  |  4 +---
 .../java/org/apache/cayenne/map/QueryDescriptor.java  | 14 +++++++++++---
 .../org/apache/cayenne/map/SQLTemplateDescriptor.java |  4 +---
 .../org/apache/cayenne/map/SelectQueryDescriptor.java |  4 +---
 5 files changed, 15 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/04ca4330/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
index 8e85e44..d3adde5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
@@ -69,10 +69,7 @@ public class EJBQLQueryDescriptor extends QueryDescriptor {
         encoder.indent(1);
 
         // print properties
-        for (Map.Entry<String, String> property : properties.entrySet()) {
-            encoder.printProperty(property.getKey(), property.getValue());
-        }
-
+        encodeProperties(encoder);
 
         if (ejbql != null) {
             encoder.print("<ejbql><![CDATA[");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/04ca4330/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
index 0eb50f9..fa1a087 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
@@ -97,9 +97,7 @@ public class ProcedureQueryDescriptor extends QueryDescriptor {
         encoder.indent(1);
 
         // print properties
-        for (Map.Entry<String, String> property : properties.entrySet()) {
-            encoder.printProperty(property.getKey(), property.getValue());
-        }
+        encodeProperties(encoder);
 
         encoder.indent(-1);
         encoder.println("</query>");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/04ca4330/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptor.java
index 0731bf5..378eb5f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/QueryDescriptor.java
@@ -227,11 +227,19 @@ public class QueryDescriptor implements Serializable, ConfigurationNode, XMLSeri
 
         encoder.indent(1);
 
-        for (Map.Entry<String, String> property : properties.entrySet()) {
-            encoder.printProperty(property.getKey(), property.getValue());
-        }
+        encodeProperties(encoder);
 
         encoder.indent(-1);
         encoder.println("</query>");
     }
+
+    void encodeProperties(XMLEncoder encoder) {
+        for (Map.Entry<String, String> property : properties.entrySet()) {
+            String value = property.getValue();
+            if(value == null || value.isEmpty()) {
+                continue;
+            }
+            encoder.printProperty(property.getKey(), value);
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/04ca4330/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
index 8fac3d5..f9b1ff0 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
@@ -138,9 +138,7 @@ public class SQLTemplateDescriptor extends QueryDescriptor {
         encoder.indent(1);
 
         // print properties
-        for (Map.Entry<String, String> property : properties.entrySet()) {
-            encoder.printProperty(property.getKey(), property.getValue());
-        }
+        encodeProperties(encoder);
 
         // encode default SQL
         if (sql != null) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/04ca4330/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
index 5eed080..e844b3e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
@@ -191,9 +191,7 @@ public class SelectQueryDescriptor extends QueryDescriptor {
         encoder.indent(1);
 
         // print properties
-        for (Map.Entry<String, String> property : properties.entrySet()) {
-            encoder.printProperty(property.getKey(), property.getValue());
-        }
+        encodeProperties(encoder);
 
         // encode qualifier
         if (qualifier != null) {


[2/2] cayenne git commit: Merge branch '144'

Posted by sk...@apache.org.
Merge branch '144'


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/2265e4cc
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/2265e4cc
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/2265e4cc

Branch: refs/heads/master
Commit: 2265e4cc2d5a816d07359d02ff02622ea6cbc5a6
Parents: 52acbef 04ca433
Author: Savva Kolbachev <s....@gmail.com>
Authored: Wed Nov 30 11:28:49 2016 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Wed Nov 30 11:28:49 2016 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/map/EJBQLQueryDescriptor.java  |  5 +----
 .../apache/cayenne/map/ProcedureQueryDescriptor.java  |  4 +---
 .../java/org/apache/cayenne/map/QueryDescriptor.java  | 14 +++++++++++---
 .../org/apache/cayenne/map/SQLTemplateDescriptor.java |  4 +---
 .../org/apache/cayenne/map/SelectQueryDescriptor.java |  4 +---
 5 files changed, 15 insertions(+), 16 deletions(-)
----------------------------------------------------------------------