You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2020/11/19 22:30:34 UTC
[incubator-streampipes] 01/01: Started to merger connect master
REST api into backed
This is an automated email from the ASF dual-hosted git repository.
zehnder pushed a commit to branch STREAMPIPES-257
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
commit 3f3233e3ec92a88d05511bad9e7c65d676bc7a8f
Author: Philipp Zehnder <ze...@fzi.de>
AuthorDate: Thu Nov 19 23:29:50 2020 +0100
Started to merger connect master REST api into backed
---
streampipes-backend/pom.xml | 7 +++++-
.../backend/StreamPipesResourceConfig.java | 14 ++++++++++++
.../master/init/AdapterMasterContainer.java | 6 +++---
.../master/management/AdapterMasterManagement.java | 3 ++-
.../container/master/rest/AdapterResource.java | 2 +-
.../master/rest/AdapterTemplateResource.java | 2 +-
.../container/master/rest/DescriptionResource.java | 2 +-
.../container/master/rest/GuessResource.java | 2 +-
.../master/rest/RuntimeResolvableResource.java | 2 +-
.../container/master/rest/SourcesResource.java | 9 +-------
.../container/master/rest/UnitResource.java | 2 +-
.../container/master/rest/WelcomePageMaster.java | 2 +-
.../master/rest/WorkerAdministrationResource.java | 2 +-
.../worker/management/MasterRestClient.java | 2 +-
.../streampipes/connect/config/ConfigKeys.java | 4 ++--
.../connect/config/ConnectContainerConfig.java | 17 ++-------------
.../apache/streampipes/connect/init/Config.java | 25 ----------------------
ui/nginx_config/default.conf | 8 ++++---
.../connect/services/data-marketplace.service.ts | 3 +--
ui/webpack.partial.dev.js | 4 ++--
20 files changed, 47 insertions(+), 71 deletions(-)
diff --git a/streampipes-backend/pom.xml b/streampipes-backend/pom.xml
index 7bd3afd..ee60bd4 100644
--- a/streampipes-backend/pom.xml
+++ b/streampipes-backend/pom.xml
@@ -56,7 +56,11 @@
<artifactId>streampipes-rest</artifactId>
<version>0.68.0-SNAPSHOT</version>
</dependency>
-
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-connect-container-master</artifactId>
+ <version>0.68.0-SNAPSHOT</version>
+ </dependency>
<!-- External dependencies -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
@@ -66,6 +70,7 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
+
</dependencies>
<build>
diff --git a/streampipes-backend/src/main/java/org/apache/streampipes/backend/StreamPipesResourceConfig.java b/streampipes-backend/src/main/java/org/apache/streampipes/backend/StreamPipesResourceConfig.java
index 067cd56..6b921a9 100644
--- a/streampipes-backend/src/main/java/org/apache/streampipes/backend/StreamPipesResourceConfig.java
+++ b/streampipes-backend/src/main/java/org/apache/streampipes/backend/StreamPipesResourceConfig.java
@@ -18,6 +18,7 @@
package org.apache.streampipes.backend;
+import org.apache.streampipes.connect.container.master.rest.*;
import org.apache.streampipes.rest.impl.*;
import org.apache.streampipes.rest.impl.dashboard.Dashboard;
import org.apache.streampipes.rest.impl.dashboard.DashboardWidget;
@@ -103,6 +104,19 @@ public class StreamPipesResourceConfig extends ResourceConfig {
register(JsonLdProvider.class);
register(JacksonSerializationProvider.class);
register(MultiPartFeature.class);
+
+
+ // Connect Master
+ register(WelcomePageMaster.class);
+ register(AdapterResource.class);
+ register(AdapterTemplateResource.class);
+ register(DescriptionResource.class);
+ register(SourcesResource.class);
+ register(GuessResource.class);
+// register(MultiPartFeature.class);
+ register(UnitResource.class);
+ register(WorkerAdministrationResource.class);
+ register(RuntimeResolvableResource.class);
}
}
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/init/AdapterMasterContainer.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/init/AdapterMasterContainer.java
index b2297cb..cce03ae 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/init/AdapterMasterContainer.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/init/AdapterMasterContainer.java
@@ -37,12 +37,12 @@ public class AdapterMasterContainer {
public static void main(String... args) {
- Integer masterPort = ConnectContainerConfig.INSTANCE.getConnectContainerMasterPort();
+// Integer masterPort = ConnectContainerConfig.INSTANCE.getConnectContainerMasterPort();
LOG.info("Started StreamPipes Connect Resource in MASTER mode");
SpringApplication app = new SpringApplication(AdapterMasterContainer.class);
- app.setDefaultProperties(Collections.singletonMap("server.port", masterPort));
- app.run();
+// app.setDefaultProperties(Collections.singletonMap("server.port", masterPort));
+// app.run();
}
}
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/management/AdapterMasterManagement.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/management/AdapterMasterManagement.java
index 22a8016..2449044 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/management/AdapterMasterManagement.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/management/AdapterMasterManagement.java
@@ -75,7 +75,8 @@ public class AdapterMasterManagement {
String uuid = UUID.randomUUID().toString();
- String newId = ConnectContainerConfig.INSTANCE.getConnectContainerMasterUrl() + "api/v1/" + username + "/master/sources/" + uuid;
+// String newId = ConnectContainerConfig.INSTANCE.getConnectContainerMasterUrl() + "api/v1/" + username + "/master/sources/" + uuid;
+ String newId = ConnectContainerConfig.INSTANCE.getBackendApiUrl() + "api/v1/" + username + "/master/sources/" + uuid;
ad.setElementId(newId);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java
index a0b03ef..9b08344 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterResource.java
@@ -35,7 +35,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
-@Path("/api/v1/{username}/master/adapters")
+@Path("/connect/v1/{username}/master/adapters")
public class AdapterResource extends AbstractContainerResource {
private Logger LOG = LoggerFactory.getLogger(AdapterResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java
index 0e1b510..e61eac0 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/AdapterTemplateResource.java
@@ -32,7 +32,7 @@ import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@Path("/api/v1/{username}/master/adapters/template")
+@Path("/connect/v1/{username}/master/adapters/template")
public class AdapterTemplateResource extends AbstractContainerResource {
private Logger logger = LoggerFactory.getLogger(AdapterTemplateResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java
index 44dc78f..2bbc66c 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/DescriptionResource.java
@@ -38,7 +38,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.Optional;
-@Path("/api/v1/{username}/master/description")
+@Path("/connect/v1/{username}/master/description")
public class DescriptionResource extends AbstractContainerResource {
private Logger logger = LoggerFactory.getLogger(DescriptionResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java
index 0e78560..394e829 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/GuessResource.java
@@ -34,7 +34,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@Path("/api/v1/{username}/master/guess")
+@Path("/connect/v1/{username}/master/guess")
public class GuessResource extends AbstractContainerResource {
private static final Logger logger = LoggerFactory.getLogger(GuessResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java
index 60e3566..06f2c30 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/RuntimeResolvableResource.java
@@ -30,7 +30,7 @@ import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@Path("/api/v1/{username}/master/resolvable")
+@Path("/connect/v1/{username}/master/resolvable")
public class RuntimeResolvableResource extends AbstractContainerResource {
private static final String SP_NS = "https://streampipes.org/vocabulary/v1/";
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java
index f78d76e..c40d291 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/SourcesResource.java
@@ -43,25 +43,18 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@Path("/api/v1/{username}/master/sources")
+@Path("/connect/v1/{username}/master/sources")
public class SourcesResource extends AbstractContainerResource {
private Logger logger = LoggerFactory.getLogger(SourcesResource.class);
- private String connectContainerBaseUrl;
private SourcesManagement sourcesManagement;
public SourcesResource() {
- this.connectContainerBaseUrl = ConnectContainerConfig.INSTANCE.getConnectContainerMasterUrl();
this.sourcesManagement = new SourcesManagement();
}
- public SourcesResource(String connectContainerBaseUrl) {
- this.connectContainerBaseUrl = connectContainerBaseUrl;
- }
-
-
@GET
@Produces(MediaType.APPLICATION_JSON)
@GsonWithIds
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java
index 8f5c6e9..6d2bf77 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/UnitResource.java
@@ -32,7 +32,7 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@Path("/api/v1/{username}/master/unit")
+@Path("/connect/v1/{username}/master/unit")
public class UnitResource extends AbstractContainerResource {
private static final Logger logger = LoggerFactory.getLogger(UnitResource.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java
index 15bd29d..14cf4b2 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WelcomePageMaster.java
@@ -38,7 +38,7 @@ import java.io.IOException;
import java.util.List;
-@Path("/")
+@Path("/connect")
public class WelcomePageMaster extends AbstractContainerResource {
private Logger logger = LoggerFactory.getLogger(WelcomePageMaster.class);
diff --git a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java
index a747504..9d56509 100644
--- a/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java
+++ b/streampipes-connect-container-master/src/main/java/org/apache/streampipes/connect/container/master/rest/WorkerAdministrationResource.java
@@ -32,7 +32,7 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@Path("/api/v1/{username}/master/workercontainer")
+@Path("/connect/v1/{username}/master/administration")
public class WorkerAdministrationResource extends AbstractContainerResource {
private Logger LOG = LoggerFactory.getLogger(WorkerAdministrationResource.class);
diff --git a/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java b/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java
index c53a58d..2e5abbc 100644
--- a/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java
+++ b/streampipes-connect-container-worker/src/main/java/org/apache/streampipes/connect/container/worker/management/MasterRestClient.java
@@ -33,7 +33,7 @@ public class MasterRestClient {
public static boolean register(String baseUrl, ConnectWorkerContainer connectWorkerContainer) {
- String url = baseUrl + "api/v1/admin@streampipes.org/master/workercontainer";
+ String url = baseUrl + "/v1/admin@streampipes.org/master/administration";
try {
String adapterDescription = JacksonSerializer.getObjectMapper().writeValueAsString(connectWorkerContainer);
diff --git a/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConfigKeys.java b/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConfigKeys.java
index 600b836..f6148fc 100644
--- a/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConfigKeys.java
+++ b/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConfigKeys.java
@@ -25,8 +25,8 @@ public class ConfigKeys {
final static String BACKEND_HOST = "SP_BACKEND_HOST";
final static String BACKEND_PORT = "SP_BACKEND_PORT";
- final static String CONNECT_CONTAINER_MASTER_HOST = "SP_CONNECT_CONTAINER_HOST";
- final static String CONNECT_CONTAINER_MASTER_PORT = "SP_CONNECT_CONTAINER_PORT";
+// final static String CONNECT_CONTAINER_MASTER_HOST = "SP_CONNECT_CONTAINER_HOST";
+// final static String CONNECT_CONTAINER_MASTER_PORT = "SP_CONNECT_CONTAINER_PORT";
final static String DATA_LOCATION = "SP_DATA_LOCATION";
diff --git a/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConnectContainerConfig.java b/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConnectContainerConfig.java
index f407c50..87eb80c 100644
--- a/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConnectContainerConfig.java
+++ b/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/config/ConnectContainerConfig.java
@@ -19,7 +19,6 @@
package org.apache.streampipes.connect.config;
import org.apache.streampipes.config.SpConfig;
-import org.apache.streampipes.connect.init.Config;
public enum ConnectContainerConfig {
INSTANCE;
@@ -35,8 +34,8 @@ public enum ConnectContainerConfig {
config.register(ConfigKeys.BACKEND_HOST, "backend", "Hostname for backend");
config.register(ConfigKeys.BACKEND_PORT, 8030, "Port for backend");
- config.register(ConfigKeys.CONNECT_CONTAINER_MASTER_PORT, Config.MASTER_PORT, "The port of the connect container");
- config.register(ConfigKeys.CONNECT_CONTAINER_MASTER_HOST, "connect-master", "The hostname of the connect container");
+// config.register(ConfigKeys.CONNECT_CONTAINER_MASTER_PORT, Config.MASTER_PORT, "The port of the connect container");
+// config.register(ConfigKeys.CONNECT_CONTAINER_MASTER_HOST, "connect-master", "The hostname of the connect container");
config.register(ConfigKeys.DATA_LOCATION,"/data/", "Folder that stores all the uploaded data");
@@ -46,10 +45,6 @@ public enum ConnectContainerConfig {
return config.getString(ConfigKeys.BACKEND_HOST) + ":" + config.getInteger(ConfigKeys.BACKEND_PORT) + "/streampipes-backend/";
}
- public String getConnectContainerMasterUrl() {
- return "http://" + getConnectContainerMasterHost() + ":" + getConnectContainerMasterPort() + "/";
- }
-
public String getBackendHost() {
return config.getString(ConfigKeys.BACKEND_HOST);
}
@@ -58,14 +53,6 @@ public enum ConnectContainerConfig {
return config.getInteger(ConfigKeys.BACKEND_PORT);
}
- public String getConnectContainerMasterHost() {
- return config.getString(ConfigKeys.CONNECT_CONTAINER_MASTER_HOST);
- }
-
- public Integer getConnectContainerMasterPort() {
- return config.getInteger(ConfigKeys.CONNECT_CONTAINER_MASTER_PORT);
- }
-
public String getDataLocation() {
return config.getString(ConfigKeys.DATA_LOCATION);
}
diff --git a/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/init/Config.java b/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/init/Config.java
deleted file mode 100644
index 0e95b25..0000000
--- a/streampipes-connect-container/src/main/java/org/apache/streampipes/connect/init/Config.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.connect.init;
-
-public class Config {
- public static int MASTER_PORT = 8099;
- public static String MASTER_HOST = "connect-master";
- public static int WORKER_PORT = 8098;
-}
diff --git a/ui/nginx_config/default.conf b/ui/nginx_config/default.conf
index 8ec8a65..48fd258 100644
--- a/ui/nginx_config/default.conf
+++ b/ui/nginx_config/default.conf
@@ -58,14 +58,16 @@ server {
}
location /streampipes-connect/ {
+ set $upstream backend:8030;
# set $upstream connect-master:8099;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
- if ($request_uri ~* "/streampipes-connect/(.*)") {
- proxy_pass http://connect-master:8099/$1;
- }
+ proxy_pass http://$upstream;
+; if ($request_uri ~* "/streampipes-connect/(.*)") {
+; proxy_pass http://connect-master:8099/$1;
+; }
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
}
diff --git a/ui/src/app/connect/services/data-marketplace.service.ts b/ui/src/app/connect/services/data-marketplace.service.ts
index 710b11d..ff0871a 100644
--- a/ui/src/app/connect/services/data-marketplace.service.ts
+++ b/ui/src/app/connect/services/data-marketplace.service.ts
@@ -39,7 +39,7 @@ import {Observable, zip} from "rxjs";
@Injectable()
export class DataMarketplaceService {
- private host = '/streampipes-connect/';
+ private host = '/streampipes-backend/api/connect';
constructor(
private http: HttpClient,
@@ -66,7 +66,6 @@ export class DataMarketplaceService {
return this.http
.get(
this.host +
- 'api/v1/' +
this.authStatusService.email +
path
)
diff --git a/ui/webpack.partial.dev.js b/ui/webpack.partial.dev.js
index 149748d..d917ad8 100644
--- a/ui/webpack.partial.dev.js
+++ b/ui/webpack.partial.dev.js
@@ -24,8 +24,8 @@ module.exports = merge(baseConfig, {
port: 8082,
proxy: {
'/streampipes-connect': {
- target: 'http://localhost:8099',
- pathRewrite: { '^/streampipes-connect': '' },
+ target: 'http://localhost:8030',
+ // pathRewrite: { '^/streampipes-connect': '' },
secure: false,
},
'/streampipes-backend': {