You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by bo...@apache.org on 2022/12/04 16:06:59 UTC

[streampipes] 05/05: add checkstyle to streampipes-service-extension-base

This is an automated email from the ASF dual-hosted git repository.

bossenti pushed a commit to branch add-checkstyle-streampipes-service
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 03fca261510f756c1c57e40cd174f755c119b925
Author: bossenti <bo...@posteo.de>
AuthorDate: Sun Dec 4 17:06:34 2022 +0100

    add checkstyle to streampipes-service-extension-base
---
 streampipes-service-extensions-base/pom.xml        |  25 ++++-
 .../base/StreamPipesExtensionsServiceBase.java     | 111 +++++++++++----------
 .../service/extensions/base/WebSecurityConfig.java |  37 +++----
 ...StreamPipesClientRuntimeConnectionResolver.java |  13 +--
 .../base/security/TokenAuthenticationFilter.java   |   6 +-
 .../base/security/UnauthenticatedInterfaces.java   |  12 +--
 6 files changed, 119 insertions(+), 85 deletions(-)

diff --git a/streampipes-service-extensions-base/pom.xml b/streampipes-service-extensions-base/pom.xml
index 5570442fe..0095048bc 100644
--- a/streampipes-service-extensions-base/pom.xml
+++ b/streampipes-service-extensions-base/pom.xml
@@ -17,7 +17,8 @@
   ~
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <artifactId>streampipes-parent</artifactId>
         <groupId>org.apache.streampipes</groupId>
@@ -50,4 +51,26 @@
         <maven.compiler.target>8</maven.compiler.target>
     </properties>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>validate</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <logViolationsToConsole>true</logViolationsToConsole>
+                    <failOnViolation>true</failOnViolation>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/StreamPipesExtensionsServiceBase.java b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/StreamPipesExtensionsServiceBase.java
index 19b02f3b8..0aedabe10 100644
--- a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/StreamPipesExtensionsServiceBase.java
+++ b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/StreamPipesExtensionsServiceBase.java
@@ -18,78 +18,83 @@
 
 package org.apache.streampipes.service.extensions.base;
 
-import org.apache.streampipes.service.base.BaseNetworkingConfig;
-import org.apache.streampipes.service.base.StreamPipesServiceBase;
 import org.apache.streampipes.container.init.DeclarersSingleton;
 import org.apache.streampipes.container.model.SpServiceDefinition;
+import org.apache.streampipes.service.base.BaseNetworkingConfig;
+import org.apache.streampipes.service.base.StreamPipesServiceBase;
 import org.apache.streampipes.svcdiscovery.api.model.DefaultSpServiceGroups;
 import org.apache.streampipes.svcdiscovery.api.model.SpServiceTag;
 import org.apache.streampipes.svcdiscovery.api.model.SpServiceTagPrefix;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.annotation.PreDestroy;
+
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.List;
 
 public abstract class StreamPipesExtensionsServiceBase extends StreamPipesServiceBase {
 
-    private static final Logger LOG = LoggerFactory.getLogger(StreamPipesExtensionsServiceBase.class);
-
-    public void init() {
-        SpServiceDefinition serviceDef = provideServiceDefinition();
-        init(serviceDef);
+  private static final Logger LOG = LoggerFactory.getLogger(StreamPipesExtensionsServiceBase.class);
+
+  public void init() {
+    SpServiceDefinition serviceDef = provideServiceDefinition();
+    init(serviceDef);
+  }
+
+  public void init(SpServiceDefinition serviceDef) {
+    try {
+      BaseNetworkingConfig networkingConfig = BaseNetworkingConfig.defaultResolution(serviceDef.getDefaultPort());
+      String serviceId = serviceDef.getServiceGroup() + "-" + AUTO_GENERATED_SERVICE_ID;
+      serviceDef.setServiceId(serviceId);
+      DeclarersSingleton.getInstance().populate(networkingConfig.getHost(), networkingConfig.getPort(), serviceDef);
+
+      startExtensionsService(this.getClass(), serviceDef, networkingConfig);
+    } catch (UnknownHostException e) {
+      LOG.error(
+          "Could not auto-resolve host address - "
+              + "please manually provide the hostname using the SP_HOST environment variable");
     }
-
-    public void init(SpServiceDefinition serviceDef) {
-        try {
-        BaseNetworkingConfig networkingConfig = BaseNetworkingConfig.defaultResolution(serviceDef.getDefaultPort());
-        String serviceId = serviceDef.getServiceGroup() + "-" + AUTO_GENERATED_SERVICE_ID;
-        serviceDef.setServiceId(serviceId);
-        DeclarersSingleton.getInstance().populate(networkingConfig.getHost(), networkingConfig.getPort(), serviceDef);
-
-        startExtensionsService(this.getClass(), serviceDef, networkingConfig);
-        } catch (UnknownHostException e) {
-            LOG.error("Could not auto-resolve host address - please manually provide the hostname using the SP_HOST environment variable");
-        }
+  }
+
+  public SpServiceDefinition provideServiceDefinition() {
+    return null;
+  }
+
+  public abstract void afterServiceRegistered(SpServiceDefinition serviceDef);
+
+  public void startExtensionsService(Class<?> serviceClass,
+                                     SpServiceDefinition serviceDef,
+                                     BaseNetworkingConfig networkingConfig) throws UnknownHostException {
+    this.startStreamPipesService(
+        serviceClass,
+        DefaultSpServiceGroups.EXT,
+        serviceId(),
+        networkingConfig
+    );
+    this.afterServiceRegistered(serviceDef);
+  }
+
+  @Override
+  protected List<SpServiceTag> getServiceTags() {
+    List<SpServiceTag> tags = new ArrayList<>();
+    if (DeclarersSingleton.getInstance().getServiceDefinition() != null) {
+      tags.add(SpServiceTag.create(SpServiceTagPrefix.SP_GROUP,
+          DeclarersSingleton.getInstance().getServiceDefinition().getServiceGroup()));
     }
+    tags.addAll(getExtensionsServiceTags());
+    return tags;
+  }
 
-    public SpServiceDefinition provideServiceDefinition() {
-        return null;
-    }
-
-    public abstract void afterServiceRegistered(SpServiceDefinition serviceDef);
-
-    public void startExtensionsService(Class<?> serviceClass,
-                                       SpServiceDefinition serviceDef,
-                                       BaseNetworkingConfig networkingConfig) throws UnknownHostException {
-        this.startStreamPipesService(
-                serviceClass,
-                DefaultSpServiceGroups.EXT,
-                serviceId(),
-                networkingConfig
-        );
-        this.afterServiceRegistered(serviceDef);
-    }
+  protected abstract List<SpServiceTag> getExtensionsServiceTags();
 
-    @Override
-    protected List<SpServiceTag> getServiceTags() {
-        List<SpServiceTag> tags = new ArrayList<>();
-        if (DeclarersSingleton.getInstance().getServiceDefinition() != null) {
-            tags.add(SpServiceTag.create(SpServiceTagPrefix.SP_GROUP, DeclarersSingleton.getInstance().getServiceDefinition().getServiceGroup()));
-        }
-        tags.addAll(getExtensionsServiceTags());
-        return tags;
-    }
+  @PreDestroy
+  public abstract void onExit();
 
-    protected abstract List<SpServiceTag> getExtensionsServiceTags();
-
-    @PreDestroy
-    public abstract void onExit();
-
-    public String serviceId() {
-        return DeclarersSingleton.getInstance().getServiceId();
-    }
+  public String serviceId() {
+    return DeclarersSingleton.getInstance().getServiceId();
+  }
 
 }
diff --git a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/WebSecurityConfig.java b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/WebSecurityConfig.java
index ada8748ea..6eaa7cf6a 100644
--- a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/WebSecurityConfig.java
+++ b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/WebSecurityConfig.java
@@ -22,6 +22,7 @@ import org.apache.streampipes.commons.constants.Envs;
 import org.apache.streampipes.service.base.security.UnauthorizedRequestEntryPoint;
 import org.apache.streampipes.service.extensions.base.security.TokenAuthenticationFilter;
 import org.apache.streampipes.service.extensions.base.security.UnauthenticatedInterfaces;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,23 +57,24 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
 
     if (isAnonymousAccess()) {
       http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-        .and()
-        .csrf().disable()
-        .formLogin().disable()
-        .httpBasic().disable().authorizeRequests().antMatchers("/**").permitAll();
+          .and()
+          .csrf().disable()
+          .formLogin().disable()
+          .httpBasic().disable().authorizeRequests().antMatchers("/**").permitAll();
     } else {
       http
-        .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-        .and()
-        .csrf().disable()
-        .formLogin().disable()
-        .httpBasic().disable()
-        .exceptionHandling()
-        .authenticationEntryPoint(new UnauthorizedRequestEntryPoint())
-        .and()
-        .authorizeRequests()
-        .antMatchers(UnauthenticatedInterfaces.get().toArray(new String[0])).permitAll()
-        .anyRequest().authenticated().and().addFilterBefore(tokenAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
+          .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
+          .and()
+          .csrf().disable()
+          .formLogin().disable()
+          .httpBasic().disable()
+          .exceptionHandling()
+          .authenticationEntryPoint(new UnauthorizedRequestEntryPoint())
+          .and()
+          .authorizeRequests()
+          .antMatchers(UnauthenticatedInterfaces.get().toArray(new String[0])).permitAll()
+          .anyRequest().authenticated().and()
+          .addFilterBefore(tokenAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
     }
   }
 
@@ -82,8 +84,9 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
         LOG.info("Configured service for authenticated access mode");
         return false;
       } else {
-        LOG.warn("No env variable {} provided, which is required for authenticated access. Defaulting to anonymous access.",
-                Envs.SP_JWT_PUBLIC_KEY_LOC.getEnvVariableName());
+        LOG.warn(
+            "No env variable {} provided, which is required for authenticated access. Defaulting to anonymous access.",
+            Envs.SP_JWT_PUBLIC_KEY_LOC.getEnvVariableName());
         return true;
       }
     } else {
diff --git a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/client/StreamPipesClientRuntimeConnectionResolver.java b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/client/StreamPipesClientRuntimeConnectionResolver.java
index d90b8f963..06f5ea45b 100644
--- a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/client/StreamPipesClientRuntimeConnectionResolver.java
+++ b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/client/StreamPipesClientRuntimeConnectionResolver.java
@@ -27,6 +27,7 @@ import org.apache.streampipes.commons.networking.Networking;
 import org.apache.streampipes.svcdiscovery.SpServiceDiscovery;
 import org.apache.streampipes.svcdiscovery.api.model.DefaultSpServiceGroups;
 import org.apache.streampipes.svcdiscovery.api.model.DefaultSpServiceTags;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -83,11 +84,11 @@ public class StreamPipesClientRuntimeConnectionResolver implements ClientConnect
 
   private List<String> findClientServices() {
     return SpServiceDiscovery
-            .getServiceDiscovery()
-            .getServiceEndpoints(
-                    DefaultSpServiceGroups.CORE,
-                    true,
-                    Collections.singletonList(DefaultSpServiceTags.STREAMPIPES_CLIENT.asString())
-            );
+        .getServiceDiscovery()
+        .getServiceEndpoints(
+            DefaultSpServiceGroups.CORE,
+            true,
+            Collections.singletonList(DefaultSpServiceTags.STREAMPIPES_CLIENT.asString())
+        );
   }
 }
diff --git a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/TokenAuthenticationFilter.java b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/TokenAuthenticationFilter.java
index 3b50f1c87..a8bb0630c 100644
--- a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/TokenAuthenticationFilter.java
+++ b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/TokenAuthenticationFilter.java
@@ -19,13 +19,14 @@
 
 package org.apache.streampipes.service.extensions.base.security;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import io.jsonwebtoken.Claims;
 import org.apache.streampipes.commons.constants.HttpConstants;
 import org.apache.streampipes.model.UserInfo;
 import org.apache.streampipes.security.jwt.JwtTokenUtils;
 import org.apache.streampipes.security.jwt.JwtTokenValidator;
 import org.apache.streampipes.security.jwt.PublicKeyResolver;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import io.jsonwebtoken.Claims;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
@@ -36,6 +37,7 @@ import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.List;
diff --git a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/UnauthenticatedInterfaces.java b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/UnauthenticatedInterfaces.java
index 86e443ae4..f6c8bb083 100644
--- a/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/UnauthenticatedInterfaces.java
+++ b/streampipes-service-extensions-base/src/main/java/org/apache/streampipes/service/extensions/base/security/UnauthenticatedInterfaces.java
@@ -27,12 +27,12 @@ public class UnauthenticatedInterfaces {
 
   public static Collection<String> get() {
     return Arrays.asList(
-      "/svchealth/*",
-      "/",
-      "/sec/**",
-      "/sepa/**",
-      "/stream/**",
-      "/api/v1/worker/**"
+        "/svchealth/*",
+        "/",
+        "/sec/**",
+        "/sepa/**",
+        "/stream/**",
+        "/api/v1/worker/**"
     );
   }
 }