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/05/26 19:15:22 UTC
[incubator-streampipes] 01/03: [STREAMPIPES-140] Add feature to
create adapter documentation, delete UI images from core
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 dff37c33ca4c75263603e761c75bebc66a00aeb9
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Sun May 24 21:31:54 2020 +0200
[STREAMPIPES-140] Add feature to create adapter documentation, delete UI images from core
---
.../streampipes/smp/ExtractDocumentationMojo.java | 27 ++++----
.../smp/extractor/ControllerFileFinder.java | 10 +--
.../Utils.java => extractor/ElementFinder.java} | 35 ++++------
.../extractor/ResourceDirectoryElementFinder.java | 72 +++++++++++++++++++++
.../smp/generator/DataJsonGenerator.java | 7 +-
.../org/apache/streampipes/smp/util/Utils.java | 4 ++
ui/src/assets/img/connect/coindesk.png | Bin 17868 -> 0 bytes
ui/src/assets/img/connect/dice.png | Bin 13079 -> 0 bytes
ui/src/assets/img/connect/file.png | Bin 12881 -> 0 bytes
ui/src/assets/img/connect/gdelt.png | Bin 33450 -> 0 bytes
ui/src/assets/img/connect/iexcloud.png | Bin 15675 -> 0 bytes
ui/src/assets/img/connect/influxdb.png | Bin 9982 -> 0 bytes
ui/src/assets/img/connect/kafka.jpg | Bin 12955 -> 0 bytes
ui/src/assets/img/connect/nsw.png | Bin 3016 -> 0 bytes
ui/src/assets/img/connect/opc.png | Bin 5087 -> 0 bytes
ui/src/assets/img/connect/pulsar.png | Bin 22890 -> 0 bytes
ui/src/assets/img/connect/rest.png | Bin 17467 -> 0 bytes
ui/src/assets/img/connect/slack.png | Bin 17473 -> 0 bytes
ui/src/assets/img/connect/sql.png | Bin 99909 -> 0 bytes
ui/src/assets/img/connect/wikipedia.png | Bin 65221 -> 0 bytes
20 files changed, 112 insertions(+), 43 deletions(-)
diff --git a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/ExtractDocumentationMojo.java b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/ExtractDocumentationMojo.java
index e18eda2..46f2489 100644
--- a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/ExtractDocumentationMojo.java
+++ b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/ExtractDocumentationMojo.java
@@ -28,7 +28,7 @@ import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.streampipes.smp.extractor.ControllerFileFinder;
-import org.apache.streampipes.smp.extractor.DockerImageExtractor;
+import org.apache.streampipes.smp.extractor.ResourceDirectoryElementFinder;
import org.apache.streampipes.smp.generator.*;
import org.apache.streampipes.smp.model.AssetModel;
import org.apache.streampipes.smp.util.DirectoryManager;
@@ -86,19 +86,27 @@ public class ExtractDocumentationMojo extends AbstractMojo {
for (MavenProject currentModule : projects) {
File baseDir = currentModule.getBasedir();
List<String> sourceRoots = currentModule.getCompileSourceRoots();
+ List<AssetModel> allAssetModels = new ArrayList<>();
//String targetDir = this.project.getModel().getBuild().getDirectory();
- String dockerImageName =
- new DockerImageExtractor(baseDir.getAbsolutePath()).extractImageName();
-
- List<AssetModel> allAssetModels = new ArrayList<>(new ControllerFileFinder(getLog(),
- baseDir.getAbsolutePath(), sourceRoots.get(0),
- "**/*Controller.java").makeAssetModels());
+ //String dockerImageName =
+ // new DockerImageExtractor(baseDir.getAbsolutePath()).extractImageName();
+
+ if (currentModule.getName().equals("streampipes-connect-adapters")) {
+ System.out.println("Opening adapters");
+ allAssetModels = new ResourceDirectoryElementFinder(sourceRoots.get(0), getLog(), baseDir.getAbsolutePath())
+ .makeAssetModels();
+ allAssetModels.forEach(am -> System.out.println(am.getAppId()));
+ } else {
+ allAssetModels = new ControllerFileFinder(getLog(),
+ baseDir.getAbsolutePath(), sourceRoots.get(0),
+ "**/*Controller.java").makeAssetModels();
+ }
allAssetModels.forEach(am -> {
am.setBaseDir(baseDir.getAbsolutePath());
am.setModuleName(currentModule.getName());
- am.setContainerName(dockerImageName);
+ //am.setContainerName(dockerImageName);
});
List<String> finalPipelineElementsToExclude = pipelineElementsToExclude;
@@ -106,10 +114,7 @@ public class ExtractDocumentationMojo extends AbstractMojo {
allAssetModels
.stream()
.filter(am -> finalPipelineElementsToExclude.stream().noneMatch(pe -> pe.equals(am.getAppId())))
- .filter(am -> new File(Utils.makePath(baseDir.getAbsolutePath(),
- am.getAppId())).exists())
.collect(Collectors.toList()));
-
}
try {
Collections.sort(documentedPipelineElements);
diff --git a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ControllerFileFinder.java b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ControllerFileFinder.java
index 274436e..53bb645 100644
--- a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ControllerFileFinder.java
+++ b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ControllerFileFinder.java
@@ -27,18 +27,13 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
-public class ControllerFileFinder {
+public class ControllerFileFinder extends ElementFinder {
- private String sourceRoot;
private String filterPattern;
- private Log log;
- private String baseDir;
public ControllerFileFinder(Log log, String baseDir, String sourceRoot, String filterPattern) {
- this.sourceRoot = sourceRoot;
+ super(sourceRoot, log, baseDir);
this.filterPattern = filterPattern;
- this.log = log;
- this.baseDir = baseDir;
}
public String[] findFiles() {
@@ -50,6 +45,7 @@ public class ControllerFileFinder {
return fileSetManager.getIncludedFiles(fileSet);
}
+ @Override
public List<AssetModel> makeAssetModels() {
List<AssetModel> allAssetModels = new ArrayList<>();
for (String file : findFiles()) {
diff --git a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/util/Utils.java b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ElementFinder.java
similarity index 52%
copy from streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/util/Utils.java
copy to streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ElementFinder.java
index 94f8b3b..9c5bc85 100644
--- a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/util/Utils.java
+++ b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ElementFinder.java
@@ -15,33 +15,24 @@
* limitations under the License.
*
*/
+package org.apache.streampipes.smp.extractor;
-package org.apache.streampipes.smp.util;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.streampipes.smp.model.AssetModel;
-import java.io.File;
-import java.nio.file.Path;
-import java.nio.file.Paths;
+import java.util.List;
-public class Utils {
+public abstract class ElementFinder {
- public static String makePath(String sourceRoot, String appId) {
- return sourceRoot
- + File.separator
- + "src"
- + File.separator
- + "main"
- + File.separator
- + "resources"
- + File.separator
- + appId;
- }
-
- public static Path makeResourcePath(String sourcePath, String appId) {
- return Paths.get(sourcePath, "src", "main", "resources", appId);
- }
+ protected String sourceRoot;
+ protected Log log;
+ protected String baseDir;
- public static String makeLocalesPath(String sourceRoot, String appId) {
- return makePath(sourceRoot, appId) + File.separator + "strings.en";
+ public ElementFinder(String sourceRoot, Log log, String baseDir) {
+ this.sourceRoot = sourceRoot;
+ this.log = log;
+ this.baseDir = baseDir;
}
+ public abstract List<AssetModel> makeAssetModels();
}
diff --git a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ResourceDirectoryElementFinder.java b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ResourceDirectoryElementFinder.java
new file mode 100644
index 0000000..66e5ce1
--- /dev/null
+++ b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/extractor/ResourceDirectoryElementFinder.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.smp.extractor;
+
+import org.apache.maven.plugin.logging.Log;
+import org.apache.streampipes.smp.constants.PeType;
+import org.apache.streampipes.smp.model.AssetModel;
+import org.apache.streampipes.smp.util.Utils;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class ResourceDirectoryElementFinder extends ElementFinder {
+
+
+ public ResourceDirectoryElementFinder(String sourceRoot, Log log, String baseDir) {
+ super(sourceRoot, log, baseDir);
+ System.out.println(sourceRoot);
+ System.out.println(baseDir);
+ }
+
+ @Override
+ public List<AssetModel> makeAssetModels() {
+ List<AssetModel> adapterModels = new ArrayList<>();
+ Path resourceDirPath = Utils.makeResourcePath(baseDir);
+ File[] resourceDirs = resourceDirPath.toFile().listFiles(File::isDirectory);
+ if (resourceDirs != null) {
+ List<File> appDirs = Arrays.stream(resourceDirs)
+ .filter(rd -> rd.getName().startsWith("org.apache.streampipes"))
+ .collect(Collectors.toList());
+
+ appDirs.forEach(ap -> {
+ try {
+ adapterModels.add(extractModel(baseDir, ap));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ });
+ }
+
+ return adapterModels;
+ }
+
+ private AssetModel extractModel(String sourceRoot, File resourceDir) throws IOException {
+ AssetModel model = new AssetModel();
+
+ model.setPeType(PeType.ADAPTER);
+ model.setAppId(resourceDir.getName());
+ return new LocalesExtractor(sourceRoot, model).extract();
+ }
+
+}
diff --git a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/generator/DataJsonGenerator.java b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/generator/DataJsonGenerator.java
index 5b0059e..4d1dc3c 100644
--- a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/generator/DataJsonGenerator.java
+++ b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/generator/DataJsonGenerator.java
@@ -20,6 +20,7 @@ package org.apache.streampipes.smp.generator;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
+import org.apache.streampipes.smp.constants.PeType;
import org.apache.streampipes.smp.model.AssetModel;
import java.util.List;
@@ -54,14 +55,14 @@ public class DataJsonGenerator extends OutputGenerator {
entry.addProperty("type", am.getPeType().getFriendly());
entry.addProperty("name", am.getPipelineElementName());
entry.addProperty("description", am.getPipelineElementDescription());
- entry.addProperty("dockerHubLink", makeDockerHubLink(am.getModuleName()));
+ entry.addProperty("dockerHubLink", makeDockerHubLink(am.getPeType(), am.getModuleName()));
entry.addProperty("githubLink", makeGithubLink(am.getModuleName()));
return entry;
}
- private String makeDockerHubLink(String moduleName) {
- String dockerHubRepoName = moduleName.replace("streampipes-", "");
+ private String makeDockerHubLink(PeType peType, String moduleName) {
+ String dockerHubRepoName = peType == PeType.ADAPTER ? "connect-worker" : moduleName.replace("streampipes-", "");
return "https://hub.docker.com/r/apachestreampipes/" +dockerHubRepoName;
}
diff --git a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/util/Utils.java b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/util/Utils.java
index 94f8b3b..92ed179 100644
--- a/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/util/Utils.java
+++ b/streampipes-maven-plugin/src/main/java/org/apache/streampipes/smp/util/Utils.java
@@ -36,6 +36,10 @@ public class Utils {
+ appId;
}
+ public static Path makeResourcePath(String sourcePath) {
+ return Paths.get(sourcePath, "src", "main", "resources");
+ }
+
public static Path makeResourcePath(String sourcePath, String appId) {
return Paths.get(sourcePath, "src", "main", "resources", appId);
}
diff --git a/ui/src/assets/img/connect/coindesk.png b/ui/src/assets/img/connect/coindesk.png
deleted file mode 100644
index 420be61..0000000
Binary files a/ui/src/assets/img/connect/coindesk.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/dice.png b/ui/src/assets/img/connect/dice.png
deleted file mode 100644
index 05cc7c3..0000000
Binary files a/ui/src/assets/img/connect/dice.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/file.png b/ui/src/assets/img/connect/file.png
deleted file mode 100644
index 2b3a037..0000000
Binary files a/ui/src/assets/img/connect/file.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/gdelt.png b/ui/src/assets/img/connect/gdelt.png
deleted file mode 100644
index b9ec80c..0000000
Binary files a/ui/src/assets/img/connect/gdelt.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/iexcloud.png b/ui/src/assets/img/connect/iexcloud.png
deleted file mode 100644
index 48afa81..0000000
Binary files a/ui/src/assets/img/connect/iexcloud.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/influxdb.png b/ui/src/assets/img/connect/influxdb.png
deleted file mode 100644
index 1f9bb88..0000000
Binary files a/ui/src/assets/img/connect/influxdb.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/kafka.jpg b/ui/src/assets/img/connect/kafka.jpg
deleted file mode 100644
index e882823..0000000
Binary files a/ui/src/assets/img/connect/kafka.jpg and /dev/null differ
diff --git a/ui/src/assets/img/connect/nsw.png b/ui/src/assets/img/connect/nsw.png
deleted file mode 100644
index f9ab06c..0000000
Binary files a/ui/src/assets/img/connect/nsw.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/opc.png b/ui/src/assets/img/connect/opc.png
deleted file mode 100644
index ab68d43..0000000
Binary files a/ui/src/assets/img/connect/opc.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/pulsar.png b/ui/src/assets/img/connect/pulsar.png
deleted file mode 100644
index d1b1228..0000000
Binary files a/ui/src/assets/img/connect/pulsar.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/rest.png b/ui/src/assets/img/connect/rest.png
deleted file mode 100644
index b44424d..0000000
Binary files a/ui/src/assets/img/connect/rest.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/slack.png b/ui/src/assets/img/connect/slack.png
deleted file mode 100644
index 4a86273..0000000
Binary files a/ui/src/assets/img/connect/slack.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/sql.png b/ui/src/assets/img/connect/sql.png
deleted file mode 100644
index 084246f..0000000
Binary files a/ui/src/assets/img/connect/sql.png and /dev/null differ
diff --git a/ui/src/assets/img/connect/wikipedia.png b/ui/src/assets/img/connect/wikipedia.png
deleted file mode 100644
index 46112dc..0000000
Binary files a/ui/src/assets/img/connect/wikipedia.png and /dev/null differ