From 9174f78c93c94b9c148dff66c38204baf55bc8f2 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 29 May 2022 09:46:59 +0200 Subject: [PATCH] Make CMS user app more robust. --- .../OSGI-INF/{cmsUserApp.xml.xml => cmsUserApp.xml} | 0 eclipse/org.argeo.cms.swt/bnd.bnd | 2 +- eclipse/org.argeo.cms.swt/build.properties | 2 +- .../src/org/argeo/cms/acr/CmsContentRepository.java | 13 +++++++------ .../internal/runtime/DeployedContentRepository.java | 9 +++------ .../src/org/argeo/cms/web/CmsWebEntryPoint.java | 2 +- sdk/cms-e4-rap.properties | 4 ++-- 7 files changed, 15 insertions(+), 17 deletions(-) rename eclipse/org.argeo.cms.swt/OSGI-INF/{cmsUserApp.xml.xml => cmsUserApp.xml} (100%) diff --git a/eclipse/org.argeo.cms.swt/OSGI-INF/cmsUserApp.xml.xml b/eclipse/org.argeo.cms.swt/OSGI-INF/cmsUserApp.xml similarity index 100% rename from eclipse/org.argeo.cms.swt/OSGI-INF/cmsUserApp.xml.xml rename to eclipse/org.argeo.cms.swt/OSGI-INF/cmsUserApp.xml diff --git a/eclipse/org.argeo.cms.swt/bnd.bnd b/eclipse/org.argeo.cms.swt/bnd.bnd index a162ea4ae..2dda08b2a 100644 --- a/eclipse/org.argeo.cms.swt/bnd.bnd +++ b/eclipse/org.argeo.cms.swt/bnd.bnd @@ -7,5 +7,5 @@ javax.servlet.*;version="[3,5)",\ Bundle-ActivationPolicy: lazy Service-Component: \ -OSGI-INF/cmsUserApp.xml.xml +OSGI-INF/cmsUserApp.xml \ No newline at end of file diff --git a/eclipse/org.argeo.cms.swt/build.properties b/eclipse/org.argeo.cms.swt/build.properties index 606619784..5f0f21af9 100644 --- a/eclipse/org.argeo.cms.swt/build.properties +++ b/eclipse/org.argeo.cms.swt/build.properties @@ -1,5 +1,5 @@ output.. = bin/ bin.includes = META-INF/,\ .,\ - OSGI-INF/cmsUserApp.xml.xml + OSGI-INF/cmsUserApp.xml source.. = src/ diff --git a/org.argeo.cms/src/org/argeo/cms/acr/CmsContentRepository.java b/org.argeo.cms/src/org/argeo/cms/acr/CmsContentRepository.java index b1f715ae3..2493a89be 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/CmsContentRepository.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/CmsContentRepository.java @@ -183,20 +183,21 @@ public class CmsContentRepository implements ProvidedRepository { document = dBuilder.newDocument(); // Element root = document.createElementNS(CrName.ROOT.getNamespaceURI(), // CrName.ROOT.get().toPrefixedString()); - Element root = document.createElement(CrName.ROOT.get().toPrefixedString()); + Element root = document.createElementNS(CrName.CR_NAMESPACE_URI, CrName.ROOT.get().toPrefixedString()); // root.setAttribute("xmlns", ""); - root.setAttribute("xmlns:" + CrName.CR_DEFAULT_PREFIX, CrName.CR_NAMESPACE_URI); +// root.setAttribute("xmlns:" + CrName.CR_DEFAULT_PREFIX, CrName.CR_NAMESPACE_URI); document.appendChild(root); // write it - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - Transformer transformer = transformerFactory.newTransformer(); - DOMSource source = new DOMSource(document); - if (path != null) + if (path != null) { + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + DOMSource source = new DOMSource(document); try (Writer writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) { StreamResult result = new StreamResult(writer); transformer.transform(source, result); } + } } DomContentProvider contentProvider = new DomContentProvider(document); diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java index e98798d7c..af4241842 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/DeployedContentRepository.java @@ -1,17 +1,14 @@ package org.argeo.cms.internal.runtime; -import java.nio.file.Path; import java.util.Map; import org.argeo.api.acr.spi.ContentProvider; -import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsState; import org.argeo.cms.acr.CmsContentRepository; -import org.argeo.cms.acr.fs.FsContentProvider; import org.argeo.util.LangUtils; public class DeployedContentRepository extends CmsContentRepository { - private final static String ROOT_XML = "cr:root.xml"; +// private final static String ROOT_XML = "cr:root.xml"; private final static String ACR_MOUNT_PATH = "acr.mount.path"; private CmsState cmsState; @@ -19,8 +16,8 @@ public class DeployedContentRepository extends CmsContentRepository { @Override public void start() { super.start(); - Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML); - initRootContentProvider(rootXml); +// Path rootXml = KernelUtils.getOsgiInstancePath(ROOT_XML); + initRootContentProvider(null); // Path srvPath = KernelUtils.getOsgiInstancePath(CmsConstants.SRV_WORKSPACE); // FsContentProvider srvContentProvider = new FsContentProvider(srvPath, false); diff --git a/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java b/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java index 9b0ba4019..c82aca728 100644 --- a/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java +++ b/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java @@ -187,7 +187,7 @@ public class CmsWebEntryPoint implements EntryPoint, CmsView, BrowserNavigationL display.syncExec(() -> { // CmsFeedback.show("Unexpected exception in CMS", e); exception = e; -// log.error("Unexpected exception in CMS", e); + log.error("Unexpected exception in CMS", e); doRefresh(); }); } diff --git a/sdk/cms-e4-rap.properties b/sdk/cms-e4-rap.properties index 8181b8e7a..398ae706c 100644 --- a/sdk/cms-e4-rap.properties +++ b/sdk/cms-e4-rap.properties @@ -1,8 +1,7 @@ argeo.osgi.start.2.node=\ org.eclipse.equinox.http.servlet,\ -org.eclipse.equinox.metatype,\ org.eclipse.equinox.cm,\ -org.eclipse.equinox.ds,\ +org.apache.felix.scr,\ org.eclipse.rap.rwt.osgi,\ org.argeo.init @@ -10,6 +9,7 @@ argeo.osgi.start.3.node=\ org.argeo.cms argeo.osgi.start.4.node=\ +org.argeo.cms.ui.rap,\ org.argeo.cms.servlet,\ org.argeo.cms.jcr -- 2.30.2