You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2017/09/30 11:29:06 UTC

olingo-odata2 git commit: [OLINGO-996] Changed EntityContainer name generation for JPA

Repository: olingo-odata2
Updated Branches:
  refs/heads/master 6ce2421a5 -> 751e316da


[OLINGO-996] Changed EntityContainer name generation for JPA


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/751e316d
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/751e316d
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/751e316d

Branch: refs/heads/master
Commit: 751e316da5899700575d4126b00f45fce8850c50
Parents: 6ce2421
Author: mibo <mi...@apache.org>
Authored: Sat Sep 30 13:26:53 2017 +0200
Committer: mibo <mi...@apache.org>
Committed: Sat Sep 30 13:26:53 2017 +0200

----------------------------------------------------------------------
 .../core/access/model/JPAEdmNameBuilder.java    | 23 +++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/751e316d/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPAEdmNameBuilder.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPAEdmNameBuilder.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPAEdmNameBuilder.java
index c404249..675cfc0 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPAEdmNameBuilder.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPAEdmNameBuilder.java
@@ -213,7 +213,7 @@ public class JPAEdmNameBuilder {
    * ************************************************************************
    */
   public static void build(final JPAEdmEntityContainerView view) {
-    view.getEdmEntityContainer().setName(buildNamespace(view) + ENTITY_CONTAINER_SUFFIX);
+    view.getEdmEntityContainer().setName(buildEntityContainerName(view));
   }
 
   /*
@@ -559,4 +559,25 @@ public class JPAEdmNameBuilder {
     return namespace;
   }
 
+  private static String buildEntityContainerName(final JPAEdmBaseView view) {
+    JPAEdmMappingModelAccess mappingModelAccess = view.getJPAEdmMappingModelAccess();
+    String name = null;
+    if (mappingModelAccess != null && mappingModelAccess.isMappingModelExists()) {
+      name = mappingModelAccess.mapJPAPersistenceUnit(view.getpUnitName());
+    }
+    if (name == null) {
+      return normalizeName(view.getpUnitName()) + ENTITY_CONTAINER_SUFFIX;
+    }
+    return name;
+  }
+
+  /**
+   * Replace `.` with `_` as
+   * @param name
+   * @return
+   */
+  private static String normalizeName(String name) {
+    return name.replace('.', '_');
+  }
+
 }