Improve ACR support
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 25 Aug 2022 10:08:07 +0000 (12:08 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 25 Aug 2022 10:08:07 +0000 (12:08 +0200)
org.argeo.app.api/src/org/argeo/app/api/entity.xsd [deleted file]
org.argeo.app.core/OSGI-INF/maintenanceService.xml
org.argeo.app.core/src/org/argeo/app/core/SuiteContentTypes.java
org.argeo.app.core/src/org/argeo/app/core/SuiteMaintenanceService.java
org.argeo.app.core/src/org/argeo/app/core/schemas/entity.xsd [new file with mode: 0644]
org.argeo.app.profile.acr.fs/OSGI-INF/sysContentProvider.xml [new file with mode: 0644]
org.argeo.app.profile.acr.fs/bnd.bnd

diff --git a/org.argeo.app.api/src/org/argeo/app/api/entity.xsd b/org.argeo.app.api/src/org/argeo/app/api/entity.xsd
deleted file mode 100644 (file)
index 8c8f3eb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-       xmlns:entity="http://www.argeo.org/ns/entity"
-       targetNamespace="http://www.argeo.org/ns/entity">
-
-       <xs:attribute name="date" type="xs:date" />
-</xs:schema>
\ No newline at end of file
index 0a4e849f10a9892e9e7d11935c81bfc2ea4573df..b320df40eb720efc9a85e04252546359d7fc6ff4 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="init" deactivate="destroy" immediate="true"  name="Suite Maintenance Service">
    <implementation class="org.argeo.app.core.SuiteMaintenanceService"/>
-   <reference bind="setRepository" cardinality="1..1" interface="javax.jcr.Repository" name="Repository" policy="static" target="(cn=entity)"/>
+   <reference bind="setRepository" cardinality="1..1" interface="javax.jcr.Repository" name="Repository" policy="static" target="(cn=ego)"/>
    <reference bind="setUserTransaction" cardinality="1..1" interface="org.argeo.util.transaction.WorkTransaction" name="WorkTransaction" policy="static"/>
    <reference bind="setUserAdmin" cardinality="1..1" interface="org.osgi.service.useradmin.UserAdmin" name="UserAdmin" policy="static"/>
    <reference bind="setContentRepository" cardinality="1..1" interface="org.argeo.api.acr.spi.ProvidedRepository" name="ContentRepository" policy="static"/>
index 15b1125b29bce29946006e5c8ee289d9e4511c91..1f09021ed7cec04fdcaae2bc478cd97ec55b19e3 100644 (file)
@@ -8,7 +8,7 @@ public enum SuiteContentTypes {
        //
        // ARGEO
        //
-       ENTITY("entity", "http://www.argeo.org/ns/entity", null, null),
+       ENTITY("entity", "http://www.argeo.org/ns/entity", "entity.xsd", null),
        //
        ARGEO_DBK("argeodbk", "http://www.argeo.org/ns/argeodbk", null, null),
        //
index 298f96bc3e2569a252be8a6bc83219b2eb8847cd..98784f82f82be746a82a6ccc60284f05f6f6cce2 100644 (file)
@@ -16,14 +16,12 @@ import org.argeo.maintenance.AbstractMaintenanceService;
 
 /** Initialises an Argeo Suite backend. */
 public class SuiteMaintenanceService extends AbstractMaintenanceService {
-       private ProvidedRepository contentRepository;
-
        @Override
        public void init() {
                super.init();
 
                for (SuiteContentTypes types : SuiteContentTypes.values()) {
-                       contentRepository.registerTypes(types.getDefaultPrefix(), types.getNamespace(),
+                       getContentRepository().registerTypes(types.getDefaultPrefix(), types.getNamespace(),
                                        types.getResource() != null ? types.getResource().toExternalForm() : null);
                }
        }
@@ -49,8 +47,4 @@ public class SuiteMaintenanceService extends AbstractMaintenanceService {
                // Privilege.JCR_READ);
        }
 
-       public void setContentRepository(ProvidedRepository contentRepository) {
-               this.contentRepository = contentRepository;
-       }
-
 }
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/entity.xsd b/org.argeo.app.core/src/org/argeo/app/core/schemas/entity.xsd
new file mode 100644 (file)
index 0000000..e0180f8
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+       elementFormDefault="qualified"
+       targetNamespace="http://www.argeo.org/ns/entity"
+       xmlns:entity="http://www.argeo.org/ns/entity">
+
+       <xs:attribute name="date" type="xs:date" />
+
+       <xs:element name="local">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:any minOccurs="0" maxOccurs="unbounded" />
+                       </xs:sequence>
+                       <xs:anyAttribute />
+               </xs:complexType>
+       </xs:element>
+</xs:schema>
\ No newline at end of file
diff --git a/org.argeo.app.profile.acr.fs/OSGI-INF/sysContentProvider.xml b/org.argeo.app.profile.acr.fs/OSGI-INF/sysContentProvider.xml
new file mode 100644 (file)
index 0000000..0cbc7f0
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop" name="argeo.app.sysContentProvider">
+   <implementation class="org.argeo.cms.jcr.acr.JcrContentProvider"/>
+   <reference bind="setJcrRepository" cardinality="1..1" interface="javax.jcr.Repository" name="Repository" policy="static" target="(cn=ego)"/>
+   <property name="acr.mount.path" type="String" value="/sys"/>
+   <service>
+      <provide interface="org.argeo.api.acr.spi.ContentProvider"/>
+      <provide interface="org.argeo.cms.jcr.acr.JcrContentProvider"/>
+   </service>
+</scr:component>
index 8f0d8828b892888933bd362ce3b0eacb89b021c3..f976da085ecd07246e8caa07e792a05393f7973a 100644 (file)
@@ -1,6 +1,8 @@
 Import-Package: \
 org.argeo.cms.acr.fs,\
+org.argeo.cms.jcr.acr,\
 *
 
 Service-Component:\
+OSGI-INF/sysContentProvider.xml,\
 OSGI-INF/srvContentProvider.xml,\