You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/02/19 08:24:38 UTC
olingo-odata2 git commit: [OLINGO-576] Adapt ODataExpressionParser
Repository: olingo-odata2
Updated Branches:
refs/heads/master 2638b8d92 -> 676aad45d
[OLINGO-576] Adapt ODataExpressionParser
Signed-off-by: Chandan V A <ch...@sap.com>
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/676aad45
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/676aad45
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/676aad45
Branch: refs/heads/master
Commit: 676aad45dfab8382d332e1c9029fd2c7fd26574a
Parents: 2638b8d
Author: Chandan V A <ch...@sap.com>
Authored: Thu Feb 19 12:54:12 2015 +0530
Committer: Chandan V A <ch...@sap.com>
Committed: Thu Feb 19 12:54:12 2015 +0530
----------------------------------------------------------------------
.../processor/core/ODataExpressionParser.java | 41 ++++++++++----------
1 file changed, 21 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/676aad45/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
index 3824fd1..e351843 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java
@@ -342,6 +342,26 @@ public class ODataExpressionParser {
}
}
+ public static HashMap<String, String> parseKeyPropertiesToJPAOrderByExpression(
+ final List<EdmProperty> edmPropertylist, final String tableAlias) throws ODataJPARuntimeException {
+ LinkedHashMap<String, String> orderByMap = new LinkedHashMap<String, String>();
+ String propertyName = null;
+ for (EdmProperty edmProperty : edmPropertylist) {
+ try {
+ EdmMapping mapping = edmProperty.getMapping();
+ if (mapping != null && mapping.getInternalName() != null) {
+ propertyName = mapping.getInternalName();// For embedded/complex keys
+ } else {
+ propertyName = edmProperty.getName();
+ }
+ } catch (EdmException e) {
+ throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.GENERAL.addContent(e.getMessage()), e);
+ }
+ orderByMap.put(tableAlias + JPQLStatement.DELIMITER.PERIOD + propertyName, EMPTY);
+ }
+ return orderByMap;
+ }
+
/**
* This method evaluates the expression based on the type instance. Used for adding escape characters where necessary.
*
@@ -355,6 +375,7 @@ public class ODataExpressionParser {
if (edmSimpleType == EdmSimpleTypeKind.String.getEdmSimpleTypeInstance()
|| edmSimpleType == EdmSimpleTypeKind.Guid.getEdmSimpleTypeInstance()) {
+ value = value.replaceAll("'", "''");
value = "\'" + value + "\'"; //$NON-NLS-1$ //$NON-NLS-2$
} else if (edmSimpleType == EdmSimpleTypeKind.DateTime.getEdmSimpleTypeInstance()
|| edmSimpleType == EdmSimpleTypeKind.DateTimeOffset.getEdmSimpleTypeInstance()) {
@@ -402,24 +423,4 @@ public class ODataExpressionParser {
return value;
}
- public static HashMap<String, String> parseKeyPropertiesToJPAOrderByExpression(
- final List<EdmProperty> edmPropertylist, final String tableAlias) throws ODataJPARuntimeException {
- LinkedHashMap<String, String> orderByMap = new LinkedHashMap<String, String>();
- String propertyName = null;
- for (EdmProperty edmProperty : edmPropertylist) {
- try {
- EdmMapping mapping = edmProperty.getMapping();
- if (mapping != null && mapping.getInternalName() != null) {
- propertyName = mapping.getInternalName();// For embedded/complex keys
- } else {
- propertyName = edmProperty.getName();
- }
- } catch (EdmException e) {
- throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.GENERAL.addContent(e.getMessage()), e);
- }
- orderByMap.put(tableAlias + JPQLStatement.DELIMITER.PERIOD + propertyName, EMPTY);
- }
- return orderByMap;
- }
-
}