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(-)
----------------------------------------------------------------------