You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2020/12/30 12:45:27 UTC
[incubator-streampipes] 04/04: [STREAMPIPES-269] Isolate empire
dependencies, bump empire version to 1.9.14
This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
commit 806a67412612dc2ee485ea33a6829515bfc4d746
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Wed Dec 30 13:45:10 2020 +0100
[STREAMPIPES-269] Isolate empire dependencies, bump empire version to 1.9.14
---
pom.xml | 21 +++++++++++--
streampipes-code-generation/pom.xml | 4 +++
.../connect/management/AdapterUtilsTest.java | 2 +-
.../api/AbstractPipelineElementResource.java | 6 ++--
.../api/DataSourcePipelineElementResource.java | 4 +--
.../api/InvocablePipelineElementResource.java | 14 ++++-----
.../container/init/DeclarersSingleton.java | 16 ++--------
streampipes-model/pom.xml | 12 ++++----
.../java/org/apache/streampipes/model/Tuple2.java | 34 ++++++++++++----------
.../model/base/AbstractStreamPipesEntity.java | 27 ++++++++++++-----
.../model/base/NamedStreamPipesEntity.java | 17 -----------
.../model/base/UnnamedStreamPipesEntity.java | 17 -----------
.../apache/streampipes/model/util/ModelUtils.java | 14 ---------
.../matching/output/ListOutputSchemaGenerator.java | 4 +--
.../matching/output/PropertyDuplicateRemover.java | 8 ++---
.../streampipes/manager/matching/v2/TestUtils.java | 16 +++++-----
.../streampipes/rest/util/JsonLdUtilsTest.java | 2 +-
.../streampipes/sdk/helpers/EpProperties.java | 1 -
streampipes-serializers-jsonld/pom.xml | 4 +++
.../serializers/jsonld/JsonLdUtils.java | 21 ++++++++-----
streampipes-storage-api/pom.xml | 8 +++++
.../storage/couchdb/dao/AbstractDao.java | 6 ++--
.../storage/couchdb/dao/PersistCommand.java | 8 ++---
23 files changed, 124 insertions(+), 142 deletions(-)
diff --git a/pom.xml b/pom.xml
index ea8dd23..4d6d0bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,14 +49,14 @@
<commons-logging.version>1.2</commons-logging.version>
<consul-client.version>1.3.9</consul-client.version>
<elasticsearch.version>6.6.2</elasticsearch.version>
- <empire-rdf4j.version>1.9.13</empire-rdf4j.version>
+ <empire-rdf4j.version>1.9.14</empire-rdf4j.version>
<flink.version>1.9.1</flink.version>
<fogsy-qudt.version>1.0</fogsy-qudt.version>
<fst.version>2.56</fst.version>
<geojson-jackson.version>1.8</geojson-jackson.version>
<guava.version>27.1-jre</guava.version>
<hibernate-validator.version>6.1.5.Final</hibernate-validator.version>
- <httpclient.version>4.5.10</httpclient.version>
+ <httpclient.version>4.5.13</httpclient.version>
<httpcore.version>4.4.9</httpcore.version>
<httpcore-osgi.version>4.4.9</httpcore-osgi.version>
<influxdb.version>2.16</influxdb.version>
@@ -89,7 +89,7 @@
<okhttp.version>3.12.2</okhttp.version>
<plexus-component-annotations.version>1.6</plexus-component-annotations.version>
<plexus-utils.version>3.0.22</plexus-utils.version>
- <rdf4j.version>3.1.0</rdf4j.version>
+ <rdf4j.version>3.5.0</rdf4j.version>
<rendersnake.version>1.8</rendersnake.version>
<retrofit.version>2.5.0</retrofit.version>
<shiro.version>1.2.3</shiro.version>
@@ -476,6 +476,11 @@
</dependency>
<dependency>
<groupId>org.eclipse.rdf4j</groupId>
+ <artifactId>rdf4j-query</artifactId>
+ <version>${rdf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-queryresultio-api</artifactId>
<version>${rdf4j.version}</version>
</dependency>
@@ -491,6 +496,11 @@
</dependency>
<dependency>
<groupId>org.eclipse.rdf4j</groupId>
+ <artifactId>rdf4j-repository-api</artifactId>
+ <version>${rdf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-repository-manager</artifactId>
<version>${rdf4j.version}</version>
</dependency>
@@ -736,6 +746,11 @@
</dependency>
<dependency>
<groupId>io.fogsy</groupId>
+ <artifactId>empire-api</artifactId>
+ <version>${empire-rdf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.fogsy</groupId>
<artifactId>empire-core</artifactId>
<version>${empire-rdf4j.version}</version>
</dependency>
diff --git a/streampipes-code-generation/pom.xml b/streampipes-code-generation/pom.xml
index c595808..c8c2ef4 100644
--- a/streampipes-code-generation/pom.xml
+++ b/streampipes-code-generation/pom.xml
@@ -60,6 +60,10 @@
<!-- External dependencies -->
<dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
diff --git a/streampipes-connect-container/src/test/java/org/streampipes/connect/management/AdapterUtilsTest.java b/streampipes-connect-container/src/test/java/org/streampipes/connect/management/AdapterUtilsTest.java
index 471bd89..aa4ca35 100644
--- a/streampipes-connect-container/src/test/java/org/streampipes/connect/management/AdapterUtilsTest.java
+++ b/streampipes-connect-container/src/test/java/org/streampipes/connect/management/AdapterUtilsTest.java
@@ -43,7 +43,7 @@ public class AdapterUtilsTest {
.withBody(expected)));
- String result = AdapterUtils.stopPipeline(Mock.HOST + ":" + Mock.PORT + "/");
+ String result = AdapterUtils.stopPipeline(Mock.HOST + "/");
assertEquals(expected, result);
diff --git a/streampipes-container/src/main/java/org/apache/streampipes/container/api/AbstractPipelineElementResource.java b/streampipes-container/src/main/java/org/apache/streampipes/container/api/AbstractPipelineElementResource.java
index 47c3a65..5b87557 100644
--- a/streampipes-container/src/main/java/org/apache/streampipes/container/api/AbstractPipelineElementResource.java
+++ b/streampipes-container/src/main/java/org/apache/streampipes/container/api/AbstractPipelineElementResource.java
@@ -20,7 +20,6 @@ package org.apache.streampipes.container.api;
import com.google.common.base.Charsets;
import com.google.common.io.Resources;
-import io.fogsy.empire.core.empire.SupportsRdfId;
import org.apache.streampipes.commons.constants.GlobalStreamPipesConstants;
import org.apache.streampipes.container.assets.AssetZipGenerator;
import org.apache.streampipes.container.declarer.DataStreamDeclarer;
@@ -46,7 +45,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
-import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
@@ -150,7 +148,7 @@ public abstract class AbstractPipelineElementResource<D extends Declarer<?>> {
String originalId = desc.getElementId();
String uri = DeclarersSingleton.getInstance().getBaseUri() + type + desc.getElementId();
desc.setElementId(uri);
- desc.setRdfId(new SupportsRdfId.URIKey(URI.create(uri)));
+ desc.setElementId(uri);
// TODO remove after full internationalization support has been implemented
if (desc.isIncludesLocales()) {
@@ -169,7 +167,7 @@ public abstract class AbstractPipelineElementResource<D extends Declarer<?>> {
+ SLASH
+ stream.getElementId();
stream.setElementId(baseUri);
- stream.setRdfId(new SupportsRdfId.URIKey(URI.create(baseUri)));
+ stream.setElementId(baseUri);
// TODO remove after full internationalization support has been implemented
if (stream.isIncludesLocales()) {
try {
diff --git a/streampipes-container/src/main/java/org/apache/streampipes/container/api/DataSourcePipelineElementResource.java b/streampipes-container/src/main/java/org/apache/streampipes/container/api/DataSourcePipelineElementResource.java
index c6afdc1..1fd2c10 100644
--- a/streampipes-container/src/main/java/org/apache/streampipes/container/api/DataSourcePipelineElementResource.java
+++ b/streampipes-container/src/main/java/org/apache/streampipes/container/api/DataSourcePipelineElementResource.java
@@ -29,8 +29,6 @@ import org.apache.streampipes.model.SpDataSet;
import org.apache.streampipes.model.SpDataStream;
import org.apache.streampipes.model.graph.DataSourceDescription;
import org.apache.streampipes.serializers.json.JacksonSerializer;
-import org.eclipse.rdf4j.repository.RepositoryException;
-import org.eclipse.rdf4j.rio.RDFParseException;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@@ -106,7 +104,7 @@ public class DataSourcePipelineElementResource extends AbstractPipelineElementRe
// TODO notify
});
return ok(new Response(runningInstanceId, true));
- } catch (RDFParseException | RepositoryException | IOException | InstantiationException |
+ } catch (IOException | InstantiationException |
IllegalAccessException e) {
e.printStackTrace();
return ok(new Response("", false, e.getMessage()));
diff --git a/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java b/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java
index 962fefb..5664a57 100644
--- a/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java
+++ b/streampipes-container/src/main/java/org/apache/streampipes/container/api/InvocablePipelineElementResource.java
@@ -18,7 +18,6 @@
package org.apache.streampipes.container.api;
-import com.fasterxml.jackson.core.JsonProcessingException;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
import org.apache.streampipes.container.declarer.Declarer;
import org.apache.streampipes.container.declarer.InvocableDeclarer;
@@ -30,9 +29,6 @@ import org.apache.streampipes.model.runtime.RuntimeOptionsResponse;
import org.apache.streampipes.model.staticproperty.Option;
import org.apache.streampipes.sdk.extractor.AbstractParameterExtractor;
import org.apache.streampipes.sdk.extractor.StaticPropertyExtractor;
-import org.apache.streampipes.serializers.json.JacksonSerializer;
-import org.eclipse.rdf4j.repository.RepositoryException;
-import org.eclipse.rdf4j.rio.RDFParseException;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@@ -70,7 +66,7 @@ public abstract class InvocablePipelineElementResource<I extends InvocableStream
Response resp = RunningInstances.INSTANCE.getInvocation(runningInstanceId).invokeRuntime(graph);
return ok(resp);
}
- } catch (RDFParseException | RepositoryException | InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
return ok(new Response(elementId, false, e.getMessage()));
}
@@ -100,16 +96,18 @@ public abstract class InvocablePipelineElementResource<I extends InvocableStream
@POST
@Path("{elementId}/output")
- public javax.ws.rs.core.Response fetchOutputStrategy(@PathParam("elementId") String elementId, String payload) {
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
+ public javax.ws.rs.core.Response fetchOutputStrategy(@PathParam("elementId") String elementId, I runtimeOptionsRequest) {
try {
- I runtimeOptionsRequest = JacksonSerializer.getObjectMapper().readValue(payload, clazz);
+ //I runtimeOptionsRequest = JacksonSerializer.getObjectMapper().readValue(payload, clazz);
ResolvesContainerProvidedOutputStrategy<I, P> resolvesOutput =
(ResolvesContainerProvidedOutputStrategy<I, P>)
getDeclarerById
(elementId);
return ok(resolvesOutput.resolveOutputStrategy
(runtimeOptionsRequest, getExtractor(runtimeOptionsRequest)));
- } catch (SpRuntimeException | JsonProcessingException e) {
+ } catch (SpRuntimeException e) {
e.printStackTrace();
return ok(new Response(elementId, false));
}
diff --git a/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java b/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java
index 31b6399..3ac7050 100644
--- a/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java
+++ b/streampipes-container/src/main/java/org/apache/streampipes/container/init/DeclarersSingleton.java
@@ -18,13 +18,7 @@
package org.apache.streampipes.container.init;
-import org.eclipse.rdf4j.model.vocabulary.RDFS;
-import org.apache.streampipes.container.declarer.DataStreamDeclarer;
-import org.apache.streampipes.container.declarer.Declarer;
-import org.apache.streampipes.container.declarer.PipelineTemplateDeclarer;
-import org.apache.streampipes.container.declarer.SemanticEventConsumerDeclarer;
-import org.apache.streampipes.container.declarer.SemanticEventProcessingAgentDeclarer;
-import org.apache.streampipes.container.declarer.SemanticEventProducerDeclarer;
+import org.apache.streampipes.container.declarer.*;
import org.apache.streampipes.dataformat.SpDataFormatFactory;
import org.apache.streampipes.dataformat.SpDataFormatManager;
import org.apache.streampipes.messaging.SpProtocolDefinitionFactory;
@@ -35,11 +29,7 @@ import org.apache.streampipes.model.util.Cloner;
import org.apache.streampipes.vocabulary.StreamPipes;
import java.net.URI;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
public class DeclarersSingleton {
@@ -126,7 +116,7 @@ public class DeclarersSingleton {
.getRdfType()
.stream()
.map(URI::toString)
- .filter(t -> !t.equals(RDFS.RESOURCE.stringValue()))
+ .filter(t -> !t.equals("http://www.w3.org/2000/01/rdf-schema#"))
.filter(t -> !t.equals(StreamPipes.TRANSPORT_FORMAT))
.findFirst()
.get();
diff --git a/streampipes-model/pom.xml b/streampipes-model/pom.xml
index f7477b5..85eadf4 100644
--- a/streampipes-model/pom.xml
+++ b/streampipes-model/pom.xml
@@ -53,6 +53,10 @@
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </dependency>
+ <dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
@@ -66,15 +70,11 @@
</dependency>
<dependency>
<groupId>io.fogsy</groupId>
- <artifactId>empire-annotations</artifactId>
+ <artifactId>empire-api</artifactId>
</dependency>
<dependency>
<groupId>io.fogsy</groupId>
- <artifactId>empire-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient-osgi</artifactId>
+ <artifactId>empire-annotations</artifactId>
</dependency>
<!-- Test dependencies -->
diff --git a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/PersistCommand.java b/streampipes-model/src/main/java/org/apache/streampipes/model/Tuple2.java
similarity index 54%
copy from streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/PersistCommand.java
copy to streampipes-model/src/main/java/org/apache/streampipes/model/Tuple2.java
index 28d8315..11b783f 100644
--- a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/PersistCommand.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/Tuple2.java
@@ -15,28 +15,32 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.storage.couchdb.dao;
+package org.apache.streampipes.model;
-import org.lightcouch.CouchDbClient;
-import org.lightcouch.Response;
-import org.mapdb.Fun;
+public class Tuple2<A, B> {
-import java.util.function.Supplier;
+ public final A a;
+ public final B b;
-public class PersistCommand<T> extends DbCommand<Fun.Tuple2<Boolean, String>, T> {
-
- private T objectToPersist;
-
- public PersistCommand(Supplier<CouchDbClient> couchDbClient, T objectToPersist, Class<T> clazz) {
- super(couchDbClient, clazz);
- this.objectToPersist = objectToPersist;
+ public Tuple2(A a, B b) {
+ this.a = a;
+ this.b = b;
}
@Override
- protected Fun.Tuple2<Boolean, String> executeCommand(CouchDbClient couchDbClient) {
- Response response = couchDbClient.save(objectToPersist);
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
- return new Fun.Tuple2<>(response.getError() == null, response.getId());
+ Tuple2<?, ?> tuple = (Tuple2<?, ?>) o;
+ if (!a.equals(tuple.a)) return false;
+ return b.equals(tuple.b);
+ }
+ @Override
+ public int hashCode() {
+ int result = a.hashCode();
+ result = 31 * result + b.hashCode();
+ return result;
}
}
diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/base/AbstractStreamPipesEntity.java b/streampipes-model/src/main/java/org/apache/streampipes/model/base/AbstractStreamPipesEntity.java
index 4d69519..a392f10 100644
--- a/streampipes-model/src/main/java/org/apache/streampipes/model/base/AbstractStreamPipesEntity.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/base/AbstractStreamPipesEntity.java
@@ -22,12 +22,14 @@ package org.apache.streampipes.model.base;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.fogsy.empire.annotations.Namespaces;
-import io.fogsy.empire.core.empire.SupportsRdfId;
-import io.fogsy.empire.core.empire.annotation.SupportsRdfIdImpl;
+import io.fogsy.empire.annotations.RdfId;
+import io.fogsy.empire.annotations.RdfProperty;
+import io.fogsy.empire.api.SupportsRdfId;
import org.apache.streampipes.model.shared.annotation.TsModel;
import org.apache.streampipes.vocabulary.*;
import java.io.Serializable;
+import java.net.URI;
/**
@@ -43,25 +45,34 @@ public class AbstractStreamPipesEntity implements SupportsRdfId, Serializable {
private static final long serialVersionUID = -8593749314663582071L;
- private transient SupportsRdfIdImpl myId;
-
+ @RdfProperty(StreamPipes.HAS_URI)
+ @RdfId
+ protected String elementId;
+
AbstractStreamPipesEntity() {
- myId = new SupportsRdfIdImpl();
+
}
@SuppressWarnings("rawtypes")
@Override
@JsonIgnore
public RdfKey getRdfId() {
- return myId.getRdfId();
+ return new URIKey(URI.create(getElementId()));
}
-
@SuppressWarnings("rawtypes")
@Override
@JsonIgnore
public void setRdfId(RdfKey arg0) {
- myId.setRdfId(arg0);
+ this.elementId = arg0.toString();
+ }
+
+ public String getElementId() {
+ return elementId;
+ }
+
+ public void setElementId(String elementId) {
+ this.elementId = elementId;
}
}
diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/base/NamedStreamPipesEntity.java b/streampipes-model/src/main/java/org/apache/streampipes/model/base/NamedStreamPipesEntity.java
index d1f5140..24e35ee 100644
--- a/streampipes-model/src/main/java/org/apache/streampipes/model/base/NamedStreamPipesEntity.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/base/NamedStreamPipesEntity.java
@@ -19,7 +19,6 @@
package org.apache.streampipes.model.base;
-import io.fogsy.empire.annotations.RdfId;
import io.fogsy.empire.annotations.RdfProperty;
import org.apache.streampipes.model.ApplicationLink;
import org.apache.streampipes.model.util.Cloner;
@@ -48,10 +47,6 @@ public abstract class NamedStreamPipesEntity extends AbstractStreamPipesEntity {
@RdfProperty(StreamPipes.ICON_URL)
private String iconUrl;
- @RdfProperty(StreamPipes.HAS_URI)
- @RdfId
- protected String elementId;
-
@RdfProperty(StreamPipes.HAS_APP_ID)
private String appId;
@@ -163,14 +158,6 @@ public abstract class NamedStreamPipesEntity extends AbstractStreamPipesEntity {
this.elementId = uri;
}
- public String getElementId() {
- return elementId;
- }
-
- public void setElementId(String elementId) {
- this.elementId = elementId;
- }
-
public void setDOM(String DOM) {
this.DOM = DOM;
}
@@ -235,8 +222,4 @@ public abstract class NamedStreamPipesEntity extends AbstractStreamPipesEntity {
this.includedLocales = includedLocales;
}
- @Deprecated
- public void changeElementId(String elementId) {
- this.elementId = elementId;
- }
}
diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/base/UnnamedStreamPipesEntity.java b/streampipes-model/src/main/java/org/apache/streampipes/model/base/UnnamedStreamPipesEntity.java
index d86ae85..d365d36 100644
--- a/streampipes-model/src/main/java/org/apache/streampipes/model/base/UnnamedStreamPipesEntity.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/base/UnnamedStreamPipesEntity.java
@@ -19,11 +19,7 @@
package org.apache.streampipes.model.base;
-import io.fogsy.empire.annotations.RdfId;
-import io.fogsy.empire.annotations.RdfProperty;
-import org.apache.streampipes.model.shared.annotation.TsIgnore;
import org.apache.streampipes.model.util.RdfIdGenerator;
-import org.apache.streampipes.vocabulary.StreamPipes;
/**
* unnamed SEPA elements (that do not require any readable identifier)
@@ -32,12 +28,6 @@ public abstract class UnnamedStreamPipesEntity extends AbstractStreamPipesEntity
private static final long serialVersionUID = 8051137255998890188L;
- @RdfId
- @RdfProperty(StreamPipes.HAS_ELEMENT_NAME)
- @TsIgnore
- private String elementId;
-
-
public UnnamedStreamPipesEntity() {
super();
this.elementId = RdfIdGenerator.makeRdfId(this);
@@ -52,11 +42,4 @@ public abstract class UnnamedStreamPipesEntity extends AbstractStreamPipesEntity
this.elementId = elementId;
}
- public String getElementId() {
- return elementId;
- }
-
- public void setElementId(String elementId) {
- this.elementId = elementId;
- }
}
diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/util/ModelUtils.java b/streampipes-model/src/main/java/org/apache/streampipes/model/util/ModelUtils.java
index dcbc314..3e20053 100644
--- a/streampipes-model/src/main/java/org/apache/streampipes/model/util/ModelUtils.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/util/ModelUtils.java
@@ -18,13 +18,6 @@
package org.apache.streampipes.model.util;
-import org.eclipse.rdf4j.model.Model;
-import org.eclipse.rdf4j.rio.RDFFormat;
-import org.eclipse.rdf4j.rio.RDFHandlerException;
-import org.eclipse.rdf4j.rio.Rio;
-
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -55,13 +48,6 @@ public class ModelUtils {
else return null;
}
- public static String asString(Model model) throws RDFHandlerException
- {
- OutputStream stream = new ByteArrayOutputStream();
- Rio.write(model, stream, RDFFormat.JSONLD);
- return stream.toString();
- }
-
public static List<Map<String, Object>> asList(Map<String, Object> map)
{
List<Map<String, Object>> result = new ArrayList<>();
diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/ListOutputSchemaGenerator.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/ListOutputSchemaGenerator.java
index 2fd3acb..5946d12 100644
--- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/ListOutputSchemaGenerator.java
+++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/ListOutputSchemaGenerator.java
@@ -19,7 +19,6 @@
package org.apache.streampipes.manager.matching.output;
import org.apache.streampipes.commons.Utils;
-import io.fogsy.empire.core.empire.SupportsRdfId;
import org.apache.streampipes.model.SpDataStream;
import org.apache.streampipes.model.output.ListOutputStrategy;
import org.apache.streampipes.model.output.OutputStrategy;
@@ -28,7 +27,6 @@ import org.apache.streampipes.model.schema.EventPropertyList;
import org.apache.streampipes.model.schema.EventSchema;
import org.apache.streampipes.sdk.helpers.Tuple2;
-import java.net.URI;
import java.util.List;
public class ListOutputSchemaGenerator extends OutputSchemaGenerator<ListOutputStrategy> {
@@ -60,7 +58,7 @@ public class ListOutputSchemaGenerator extends OutputSchemaGenerator<ListOutputS
EventPropertyList list = new EventPropertyList();
//list.setEventProperties(schemaProperties);
list.setRuntimeName(propertyName);
- list.setRdfId(new SupportsRdfId.URIKey(URI.create(schemaProperties.get(0).getRdfId() + "-list")));
+ list.setElementId(schemaProperties.get(0).getElementId() + "-list");
EventSchema schema = new EventSchema();
schema.setEventProperties(Utils.createList(list));
return schema;
diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/PropertyDuplicateRemover.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/PropertyDuplicateRemover.java
index 4d1fcd3..6c05636 100644
--- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/PropertyDuplicateRemover.java
+++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/output/PropertyDuplicateRemover.java
@@ -18,12 +18,10 @@
package org.apache.streampipes.manager.matching.output;
-import io.fogsy.empire.core.empire.SupportsRdfId;
import org.apache.streampipes.model.schema.EventProperty;
import org.apache.streampipes.model.schema.EventPropertyNested;
import org.apache.streampipes.model.schema.EventPropertyPrimitive;
-import java.net.URI;
import java.util.ArrayList;
import java.util.List;
@@ -48,7 +46,7 @@ public class PropertyDuplicateRemover {
if (newProperty instanceof EventPropertyPrimitive) {
EventPropertyPrimitive primitive = (EventPropertyPrimitive) newProperty;
newProperty = new EventPropertyPrimitive(primitive.getRuntimeType(), primitive.getRuntimeName() + i, "", primitive.getDomainProperties());
- newProperty.setRdfId(new SupportsRdfId.URIKey(URI.create(primitive.getElementId() + i)));
+ newProperty.setElementId(primitive.getElementId() + i);
}
if (newProperty instanceof EventPropertyNested) {
EventPropertyNested nested = (EventPropertyNested) newProperty;
@@ -61,7 +59,7 @@ public class PropertyDuplicateRemover {
EventPropertyPrimitive thisPrimitive = (EventPropertyPrimitive) np;
EventProperty newNested = new EventPropertyPrimitive(thisPrimitive.getRuntimeType(), thisPrimitive.getRuntimeName(), "", thisPrimitive.getDomainProperties());
//newNested.setRdfId(new URIKey(URI.create("urn:fzi.de:sepa:" +UUID.randomUUID().toString())));
- newNested.setRdfId(new SupportsRdfId.URIKey(URI.create(thisPrimitive.getElementId())));
+ newNested.setElementId(thisPrimitive.getElementId());
nestedProperties.add(newNested);
}
@@ -69,7 +67,7 @@ public class PropertyDuplicateRemover {
newProperty = new EventPropertyNested(nested.getRuntimeName() + i, nestedProperties);
//newProperty = new EventPropertyNested(nested.getPropertyName() +i, nested.getEventProperties());
//newProperty.setRdfId(new URIKey(URI.create("urn:fzi.de:sepa:" +UUID.randomUUID().toString())));
- newProperty.setRdfId(new SupportsRdfId.URIKey(URI.create(nested.getElementId() + i)));
+ newProperty.setElementId(nested.getElementId() + i);
}
i++;
}
diff --git a/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/matching/v2/TestUtils.java b/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/matching/v2/TestUtils.java
index 3e98e9d..56dbc24 100644
--- a/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/matching/v2/TestUtils.java
+++ b/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/matching/v2/TestUtils.java
@@ -21,19 +21,17 @@ package org.apache.streampipes.manager.matching.v2;
import org.apache.streampipes.container.declarer.EventStreamDeclarer;
import org.apache.streampipes.container.declarer.SemanticEventProcessingAgentDeclarer;
import org.apache.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import io.fogsy.empire.core.empire.SupportsRdfId;
-import org.apache.streampipes.model.pipeline.Pipeline;
import org.apache.streampipes.model.SpDataStream;
+import org.apache.streampipes.model.graph.DataProcessorDescription;
+import org.apache.streampipes.model.graph.DataProcessorInvocation;
+import org.apache.streampipes.model.graph.DataSourceDescription;
import org.apache.streampipes.model.grounding.JmsTransportProtocol;
import org.apache.streampipes.model.grounding.KafkaTransportProtocol;
import org.apache.streampipes.model.grounding.TransportFormat;
import org.apache.streampipes.model.grounding.TransportProtocol;
-import org.apache.streampipes.model.graph.DataSourceDescription;
-import org.apache.streampipes.model.graph.DataProcessorDescription;
-import org.apache.streampipes.model.graph.DataProcessorInvocation;
+import org.apache.streampipes.model.pipeline.Pipeline;
import org.apache.streampipes.vocabulary.MessageFormat;
-import java.net.URI;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -58,11 +56,11 @@ public class TestUtils {
public static Pipeline makePipeline(SemanticEventProducerDeclarer producer, EventStreamDeclarer stream, SemanticEventProcessingAgentDeclarer agent) {
DataSourceDescription dataSourceDescription = new DataSourceDescription(producer.declareModel());
- dataSourceDescription.setRdfId(new SupportsRdfId.URIKey(URI.create("http://www.schema.org/test1")));
+ dataSourceDescription.setElementId("http://www.schema.org/test1");
SpDataStream offer = stream.declareModel(dataSourceDescription);
- offer.setRdfId(new SupportsRdfId.URIKey(URI.create("http://www.schema.org/test2")));
+ offer.setElementId("http://www.schema.org/test2");
DataProcessorDescription requirement = (agent.declareModel());
- requirement.setRdfId(new SupportsRdfId.URIKey(URI.create("http://www.schema.org/test3")));
+ requirement.setElementId("http://www.schema.org/test3");
Pipeline pipeline = new Pipeline();
SpDataStream offeredClientModel = offer;
offeredClientModel.setDOM("A");
diff --git a/streampipes-rest/src/test/java/org/apache/streampipes/rest/util/JsonLdUtilsTest.java b/streampipes-rest/src/test/java/org/apache/streampipes/rest/util/JsonLdUtilsTest.java
index 7ca7cd2..750340f 100644
--- a/streampipes-rest/src/test/java/org/apache/streampipes/rest/util/JsonLdUtilsTest.java
+++ b/streampipes-rest/src/test/java/org/apache/streampipes/rest/util/JsonLdUtilsTest.java
@@ -88,7 +88,7 @@ public class JsonLdUtilsTest {
}
@Test
- public void jsonldSeriaulizing() {
+ public void jsonldSerializing() {
StaticPropertyGroup group = new StaticPropertyGroup();
group.setElementId("http://test");
List<StaticProperty> staticProperties = new ArrayList<>();
diff --git a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/EpProperties.java b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/EpProperties.java
index 9e3fb18..49ad77b 100644
--- a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/EpProperties.java
+++ b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/EpProperties.java
@@ -29,7 +29,6 @@ import org.apache.streampipes.model.schema.QuantitativeValue;
import org.apache.streampipes.sdk.utils.Datatypes;
import org.apache.streampipes.vocabulary.SPSensor;
import org.apache.streampipes.vocabulary.XSD;
-import org.eclipse.rdf4j.model.vocabulary.SP;
import java.net.URI;
import java.util.ArrayList;
diff --git a/streampipes-serializers-jsonld/pom.xml b/streampipes-serializers-jsonld/pom.xml
index 8b0430f..9b8195f 100644
--- a/streampipes-serializers-jsonld/pom.xml
+++ b/streampipes-serializers-jsonld/pom.xml
@@ -47,6 +47,10 @@
<artifactId>empire-pinto</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient-osgi</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-rio-api</artifactId>
</dependency>
diff --git a/streampipes-serializers-jsonld/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdUtils.java b/streampipes-serializers-jsonld/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdUtils.java
index b117ca7..025719c 100644
--- a/streampipes-serializers-jsonld/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdUtils.java
+++ b/streampipes-serializers-jsonld/src/main/java/org/apache/streampipes/serializers/jsonld/JsonLdUtils.java
@@ -18,6 +18,7 @@
package org.apache.streampipes.serializers.jsonld;
import org.eclipse.rdf4j.model.Model;
+import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.rio.RDFFormat;
import org.eclipse.rdf4j.rio.RDFHandlerException;
import org.eclipse.rdf4j.rio.RDFWriter;
@@ -35,13 +36,7 @@ public class JsonLdUtils {
OutputStream stream = new ByteArrayOutputStream();
RDFWriter writer = getRioWriter(stream);
-
- Rio.write(model, writer);
- return stream.toString();
- }
-
- private static RDFWriter getRioWriter(OutputStream stream) throws RDFHandlerException {
- RDFWriter writer = Rio.createWriter(RDFFormat.JSONLD, stream);
+ writer.startRDF();
writer.handleNamespace("sp", "https://streampipes.org/vocabulary/v1/");
writer.handleNamespace("ssn", "http://purl.oclc.org/NET/ssnx/ssn#");
@@ -49,6 +44,18 @@ public class JsonLdUtils {
writer.handleNamespace("empire", "urn:clarkparsia.com:empire:");
writer.handleNamespace("spi", "urn:streampipes.org:spi:");
+ for(Statement st : model) {
+ writer.handleStatement(st);
+ }
+
+ writer.endRDF();
+
+ return stream.toString();
+ }
+
+ private static RDFWriter getRioWriter(OutputStream stream) throws RDFHandlerException {
+ RDFWriter writer = Rio.createWriter(RDFFormat.JSONLD, stream);
+
writer.getWriterConfig().set(JSONLDSettings.JSONLD_MODE, JSONLDMode.COMPACT);
writer.getWriterConfig().set(JSONLDSettings.OPTIMIZE, true);
writer.getWriterConfig().set(BasicWriterSettings.PRETTY_PRINT, true);
diff --git a/streampipes-storage-api/pom.xml b/streampipes-storage-api/pom.xml
index 7ce54fe..fc92b16 100644
--- a/streampipes-storage-api/pom.xml
+++ b/streampipes-storage-api/pom.xml
@@ -41,5 +41,13 @@
</dependency>
<!-- External dependencies -->
+ <dependency>
+ <groupId>org.eclipse.rdf4j</groupId>
+ <artifactId>rdf4j-query</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.rdf4j</groupId>
+ <artifactId>rdf4j-repository-api</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/AbstractDao.java b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/AbstractDao.java
index 282fe7d..fc765f2 100644
--- a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/AbstractDao.java
+++ b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/AbstractDao.java
@@ -17,8 +17,8 @@
*/
package org.apache.streampipes.storage.couchdb.dao;
+import org.apache.streampipes.model.Tuple2;
import org.lightcouch.CouchDbClient;
-import org.mapdb.Fun;
import java.util.List;
import java.util.Optional;
@@ -34,8 +34,8 @@ public class AbstractDao<T> {
this.clazz = clazz;
}
- public Fun.Tuple2<Boolean, String> persist(T objToPersist) {
- DbCommand<Fun.Tuple2<Boolean, String>, T> cmd = new PersistCommand<>(couchDbClientSupplier,
+ public Tuple2<Boolean, String> persist(T objToPersist) {
+ DbCommand<Tuple2<Boolean, String>, T> cmd = new PersistCommand<>(couchDbClientSupplier,
objToPersist,
clazz);
return cmd.execute();
diff --git a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/PersistCommand.java b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/PersistCommand.java
index 28d8315..4cf077d 100644
--- a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/PersistCommand.java
+++ b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/dao/PersistCommand.java
@@ -17,13 +17,13 @@
*/
package org.apache.streampipes.storage.couchdb.dao;
+import org.apache.streampipes.model.Tuple2;
import org.lightcouch.CouchDbClient;
import org.lightcouch.Response;
-import org.mapdb.Fun;
import java.util.function.Supplier;
-public class PersistCommand<T> extends DbCommand<Fun.Tuple2<Boolean, String>, T> {
+public class PersistCommand<T> extends DbCommand<Tuple2<Boolean, String>, T> {
private T objectToPersist;
@@ -33,10 +33,10 @@ public class PersistCommand<T> extends DbCommand<Fun.Tuple2<Boolean, String>, T>
}
@Override
- protected Fun.Tuple2<Boolean, String> executeCommand(CouchDbClient couchDbClient) {
+ protected Tuple2<Boolean, String> executeCommand(CouchDbClient couchDbClient) {
Response response = couchDbClient.save(objectToPersist);
- return new Fun.Tuple2<>(response.getError() == null, response.getId());
+ return new Tuple2<>(response.getError() == null, response.getId());
}
}