You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2023/12/04 12:25:38 UTC

(causeway) branch master updated: CAUSEWAY-3653: fixes Download JDO metamodel (ZIP) unique entries

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 387f99b2ee CAUSEWAY-3653: fixes Download JDO metamodel (ZIP) unique entries
387f99b2ee is described below

commit 387f99b2eee46c814125dcb343d75cccc3fd74f8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Dec 4 13:25:32 2023 +0100

    CAUSEWAY-3653: fixes Download JDO metamodel (ZIP) unique entries
---
 .../persistence/jdo/metamodel/menu/JdoMetamodelMenu.java | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
index af4ac394ad..456b575e0a 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
@@ -18,10 +18,11 @@
  */
 package org.apache.causeway.persistence.jdo.metamodel.menu;
 
+import java.io.File;
+
 import javax.inject.Inject;
 import javax.inject.Named;
 import javax.jdo.PersistenceManagerFactory;
-import javax.jdo.metadata.TypeMetadata;
 
 import org.apache.causeway.applib.CausewayModuleApplib;
 import org.apache.causeway.applib.annotation.Action;
@@ -36,6 +37,7 @@ import org.apache.causeway.applib.annotation.SemanticsOf;
 import org.apache.causeway.applib.value.Blob;
 import org.apache.causeway.applib.value.NamedWithMimeType.CommonMimeType;
 import org.apache.causeway.commons.io.ZipUtils;
+import org.apache.causeway.core.metamodel.services.layout.LayoutServiceDefault;
 import org.apache.causeway.persistence.jdo.applib.services.JdoSupportService;
 import org.apache.causeway.persistence.jdo.metamodel.CausewayModulePersistenceJdoMetamodel;
 import org.apache.causeway.persistence.jdo.provider.entities.JdoFacetContext;
@@ -93,14 +95,16 @@ public class JdoMetamodelMenu {
         pmFactory.getManagedClasses().stream()
         .filter(jdoFacetContext::isPersistenceEnhanced)
         .map(Class::getName)
-        .map(pmFactory::getMetadata)
-        .forEach(metadata->
-            zipBuilder.addAsUtf8(zipEntryNameFor(metadata), metadata.toString()));
+        .forEach(entityClassName->
+            zipBuilder.addAsUtf8(zipEntryNameFor(entityClassName), pmFactory.getMetadata(entityClassName).toString()));
         return zipBuilder.toBytes();
     }
 
-    private String zipEntryNameFor(final TypeMetadata metadata) {
-        return metadata.getName() + ".xml";
+    /**
+     * Similar code as in {@link LayoutServiceDefault}.
+     */
+    private String zipEntryNameFor(final String className) {
+        return className.replace(".", File.separator) + ".xml";
     }
 
     private PersistenceManagerFactory getPersistenceManagerFactory() {