diff --git a/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml b/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml
index b34f6f1793..3f75e1849e 100644
--- a/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml
+++ b/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml
@@ -257,6 +257,11 @@
org.apache.maven.plugins
maven-checkstyle-plugin
+
+
+ checkstyle.config.base.path=${project.parent.parent.basedir}/tools/maven
+
+
streampipes-connect-adapters-iiot
diff --git a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/HttpServerProtocol.java b/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/HttpServerProtocol.java
index 0ba3877f0a..de55884402 100644
--- a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/HttpServerProtocol.java
+++ b/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/HttpServerProtocol.java
@@ -17,12 +17,14 @@
*/
package org.apache.streampipes.connect.iiot.protocol.stream;
+import org.apache.streampipes.connect.iiot.utils.FileProtocolUtils;
import org.apache.streampipes.extensions.api.connect.IAdapterPipeline;
import org.apache.streampipes.extensions.api.connect.IFormat;
import org.apache.streampipes.extensions.api.connect.IParser;
import org.apache.streampipes.extensions.api.connect.exception.ParseException;
import org.apache.streampipes.extensions.management.connect.HttpServerAdapterManagement;
import org.apache.streampipes.extensions.management.connect.SendToPipeline;
+import org.apache.streampipes.extensions.management.connect.adapter.guess.SchemaGuesser;
import org.apache.streampipes.extensions.management.connect.adapter.model.generic.Protocol;
import org.apache.streampipes.messaging.InternalEventProcessor;
import org.apache.streampipes.model.AdapterType;
@@ -30,6 +32,7 @@
import org.apache.streampipes.model.connect.guess.GuessSchema;
import org.apache.streampipes.model.schema.EventProperty;
import org.apache.streampipes.model.schema.EventPropertyPrimitive;
+import org.apache.streampipes.model.schema.EventSchema;
import org.apache.streampipes.model.staticproperty.CollectionStaticProperty;
import org.apache.streampipes.model.staticproperty.StaticProperty;
import org.apache.streampipes.model.staticproperty.StaticPropertyGroup;
@@ -46,9 +49,12 @@
import org.apache.streampipes.sdk.utils.Assets;
import org.apache.streampipes.sdk.utils.Datatypes;
+import java.io.IOException;
+import java.io.InputStream;
import java.net.URI;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.List;
public class HttpServerProtocol extends Protocol {
@@ -112,6 +118,8 @@ public GuessSchema getGuessSchema() throws ParseException {
StaticPropertyExtractor extractor =
StaticPropertyExtractor.from(adapterDescription.getConfig(), new ArrayList<>());
GuessSchemaBuilder schemaBuilder = GuessSchemaBuilder.create();
+ GuessSchema shema = null;
+
String selectedImportMode = extractor.selectedAlternativeInternalId(CONFIGURE);
@@ -123,9 +131,27 @@ public GuessSchema getGuessSchema() throws ParseException {
StaticPropertyExtractor.from(((StaticPropertyGroup) member).getStaticProperties(), new ArrayList<>());
schemaBuilder.property(makeProperty(memberExtractor));
}
+
+ shema = schemaBuilder.build();
+ } else if (selectedImportMode.equals(FILE_IMPORT)){
+ var fileName = extractor.selectedFilename(FILE);
+
+ InputStream dataInputStream = getDataFromEndpoint(fileName);
+
+ List dataByte = parser.parseNEvents(dataInputStream, 2);
+ EventSchema eventSchema = parser.getEventSchema(dataByte);
+ shema = SchemaGuesser.guessSchema(eventSchema);
}
- return schemaBuilder.build();
+ return shema;
+ }
+
+ public InputStream getDataFromEndpoint(String fileName) throws ParseException {
+ try {
+ return FileProtocolUtils.getFileInputStream(fileName);
+ } catch (IOException e) {
+ throw new ParseException("Could not find file: " + fileName);
+ }
}
private EventProperty makeProperty(StaticPropertyExtractor memberExtractor) {