diff --git a/instance/emf/serializer/pom.xml b/instance/emf/serializer/pom.xml
index 18ef2282..4d749b00 100644
--- a/instance/emf/serializer/pom.xml
+++ b/instance/emf/serializer/pom.xml
@@ -23,9 +23,9 @@
6.2.0
- 2.30.0
- 2.36.0
- 2.37.0
+ 2.44.0
+ 2.41.0
+ 2.39.0
diff --git a/instance/emf/serializer/src/test/java/org/eclipse/daanse/rolap/mapping/instance/emf/serializer/integration/ResourceSetWriteReadTest.java b/instance/emf/serializer/src/test/java/org/eclipse/daanse/rolap/mapping/instance/emf/serializer/integration/ResourceSetWriteReadTest.java
index 6a3cd27e..633bc240 100644
--- a/instance/emf/serializer/src/test/java/org/eclipse/daanse/rolap/mapping/instance/emf/serializer/integration/ResourceSetWriteReadTest.java
+++ b/instance/emf/serializer/src/test/java/org/eclipse/daanse/rolap/mapping/instance/emf/serializer/integration/ResourceSetWriteReadTest.java
@@ -32,12 +32,20 @@
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import org.eclipse.daanse.rolap.mapping.model.provider.CatalogMappingSupplier;
+import org.eclipse.daanse.xmla.csdl.model.v2.bi.BiPackage;
+import org.eclipse.daanse.xmla.csdl.model.v2.edm.EdmPackage;
+import org.eclipse.daanse.xmla.csdl.model.v2.edm.util.EdmResourceFactoryImpl;
+import org.eclipse.daanse.olap.check.model.check.OlapCheckPackage;
+import org.eclipse.daanse.olap.check.model.check.OlapCheckSuite;
+import org.eclipse.daanse.olap.check.runtime.api.OlapCheckSuiteSupplier;
+import org.eclipse.daanse.xmla.csdl.model.provider.OlapTSchemaSupplier;
import org.eclipse.daanse.rolap.mapping.model.AbstractElement;
import org.eclipse.daanse.rolap.mapping.model.Catalog;
import org.eclipse.daanse.rolap.mapping.model.Documentation;
@@ -52,6 +60,7 @@
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.gecko.emf.osgi.annotation.require.RequireEMF;
@@ -112,20 +121,26 @@ public static void beforeAll() throws IOException {
@Test
@Order(1)
public void writePopulation(@InjectBundleContext BundleContext bc,
- @InjectService(cardinality = 1, filter = "(" + EMFNamespaces.EMF_MODEL_NAME + "="
- + RolapMappingPackage.eNAME + ")") ResourceSet resourceSet,
- @InjectService ServiceAware mappingSuppiersSA)
- throws SQLException, InterruptedException, IOException {
+ @InjectService(cardinality = 1, filter = "(" + EMFNamespaces.EMF_MODEL_NAME + "="
+ + RolapMappingPackage.eNAME + ")") ResourceSet resourceSet,
+ @InjectService ServiceAware mappingSuppiersSA,
+ @InjectService ServiceAware checkSuiteSuppliersSA,
+ @InjectService ServiceAware tSchemaSupplierSA)
+ throws SQLException, InterruptedException, IOException {
try {
List> srs = mappingSuppiersSA.getServiceReferences();
+ List> chrs = checkSuiteSuppliersSA.getServiceReferences();
+ List tss = tSchemaSupplierSA.getServices();
StringBuilder parentReadme = new StringBuilder();
parentReadme.append(TEXT);
// Create combined ZIP directory structure
Path zipDir = Files.createDirectories(tempDir.resolve("cubeserver/tutorial/zip"));
+ Path checkZipDir = Files.createDirectories(tempDir.resolve("cubeserver/checkSuite/zip"));
ZipOutputStream combinedZos = new ZipOutputStream(new FileOutputStream(zipDir.resolve("all-tutorials.zip").toFile()));
+ ZipOutputStream combinedCheckSuiteZos = new ZipOutputStream(new FileOutputStream(checkZipDir.resolve("all-check-suites.zip").toFile()));
srs.sort((o1, o2) -> {
Object s1 = o1.getProperty("number");
@@ -141,8 +156,20 @@ public void writePopulation(@InjectBundleContext BundleContext bc,
CatalogMappingSupplier catalogMappingSupplier = mappingSuppiersSA.getService(sr);
parentReadme.append("\n");
+ String name = catalogMappingSupplier.getClass().getPackageName();
+ Optional oOlapTSchemaSupplier = tss.stream().filter(s -> name.equals(s.getClass().getPackageName())).findFirst();
+ serializeCatalog(resourceSet, parentReadme, catalogMappingSupplier, oOlapTSchemaSupplier, sr.getProperties(), combinedZos);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ for (ServiceReference chs : chrs) {
+
+ try {
+ OlapCheckSuiteSupplier catalogMappingSupplier = checkSuiteSuppliersSA.getService(chs);
- serializeCatalog(resourceSet, parentReadme, catalogMappingSupplier, sr.getProperties(), combinedZos);
+ serializeCheckSuite(resourceSet, catalogMappingSupplier, combinedCheckSuiteZos);
} catch (Exception e) {
e.printStackTrace();
}
@@ -150,6 +177,7 @@ public void writePopulation(@InjectBundleContext BundleContext bc,
// Close combined ZIP
combinedZos.close();
+ combinedCheckSuiteZos.close();
Path rootReadmeFile = Files.createFile(tempDir.resolve("index.md"));
Files.writeString(rootReadmeFile, parentReadme);
@@ -159,10 +187,65 @@ public void writePopulation(@InjectBundleContext BundleContext bc,
}
+ @Test
+ public void test() throws IOException {
+ org.eclipse.daanse.rolap.mapping.instance.emf.tutorial.cube.calculatedmember.color.TSchemaSupplier supplier = new org.eclipse.daanse.rolap.mapping.instance.emf.tutorial.cube.calculatedmember.color.TSchemaSupplier();
+ String csdl = serializeToXml(supplier.get());
+ System.out.println(csdl);
+ }
+
Map map = new HashMap();
+ private void serializeCheckSuite(ResourceSet resourceSet,
+ OlapCheckSuiteSupplier checkSuiteSupplier, ZipOutputStream combinedZos) throws IOException {
+
+ String name = checkSuiteSupplier.getClass().getPackageName();
+ name = name.substring(46);
+
+ Path zipDir = Files.createDirectories(tempDir.resolve("cubeserver/checkSuite/zip"));
+ ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipDir.resolve(name + ".zip").toFile()));
+
+ OlapCheckSuite chs = checkSuiteSupplier.get();
+
+ URI uriCatalog = URI.createFileURI("catalog.xmi");
+ Resource resourceCatalog = resourceSet.createResource(uriCatalog);
+
+ Set set = new HashSet<>();
+
+ set = allRef(set, chs);
+
+ // sort
+
+ List sortedList = set.stream().sorted(checkSuiteComparator).toList();
+
+
+ for (EObject eObject : sortedList) {
+ if (eObject.eContainer() == null) {
+ resourceCatalog.getContents().add(eObject);
+ }
+ }
+ Map
diff --git a/model/test.bndrun b/model/test.bndrun
index d5f70939..22ae7489 100644
--- a/model/test.bndrun
+++ b/model/test.bndrun
@@ -79,6 +79,7 @@
org.gecko.emf.json;version='[1.5.1,1.5.2)',\
org.gecko.emf.osgi.component;version='[6.2.0,6.2.1)',\
org.opentest4j;version='[1.3.0,1.3.1)',\
+ org.osgi.service.cm;version='[1.6.1,1.6.2)',\
org.osgi.service.component;version='[1.5.1,1.5.2)',\
org.osgi.test.common;version='[1.3.0,1.3.1)',\
org.osgi.test.junit5;version='[1.3.0,1.3.1)',\
diff --git a/verifyer/basic/test.bndrun b/verifyer/basic/test.bndrun
index 6a1d0ba4..1ff51ecf 100644
--- a/verifyer/basic/test.bndrun
+++ b/verifyer/basic/test.bndrun
@@ -49,7 +49,7 @@
junit-platform-engine;version='[1.12.2,1.12.3)',\
junit-platform-launcher;version='[1.12.2,1.12.3)',\
net.bytebuddy.byte-buddy;version='[1.17.5,1.17.6)',\
- org.apache.aries.spifly.dynamic.framework.extension;version='[1.3.7,1.3.8)',\
+ org.apache.aries.spifly.dynamic.bundle;version='[1.3.7,1.3.8)',\
org.apache.felix.configadmin;version='[1.9.26,1.9.27)',\
org.apache.felix.scr;version='[2.2.10,2.2.11)',\
org.eclipse.daanse.jdbc.db.api;version='[0.0.1,0.0.2)',\