Преглед изворни кода

exclude senslog-common to a common library

Lukas Cerny пре 5 година
родитељ
комит
2b566ddebf
100 измењених фајлова са 152 додато и 2136 уклоњено
  1. 2 2
      connector-app/src/main/java/cz/senslog/connector/app/config/ConfigurationServiceImpl.java
  2. 2 2
      connector-app/src/main/java/cz/senslog/connector/app/config/Connector.java
  3. 2 2
      connector-app/src/main/java/cz/senslog/connector/app/config/ConnectorBuilder.java
  4. 2 2
      connector-app/src/main/java/cz/senslog/connector/app/config/DatabaseConfigurationServiceImpl.java
  5. 3 3
      connector-app/src/main/java/cz/senslog/connector/app/config/FileConfigurationServiceImpl.java
  6. 1 1
      connector-app/src/main/java/cz/senslog/connector/app/config/Parameters.java
  7. 2 2
      connector-app/src/main/java/cz/senslog/connector/app/config/api/ConfigurationService.java
  8. 2 2
      connector-app/src/test/java/cz/senslog/connector/app/config/ConnectorBuilderTest.java
  9. 4 4
      connector-app/src/test/java/cz/senslog/connector/app/config/FileConfigurationServiceImplTest.java
  10. 0 74
      connector-common/pom.xml
  11. 0 8
      connector-common/src/main/java/cz/senslog/connector/exception/ModuleInterruptedException.java
  12. 0 8
      connector-common/src/main/java/cz/senslog/connector/exception/ParseException.java
  13. 0 8
      connector-common/src/main/java/cz/senslog/connector/exception/PropertyNotFoundException.java
  14. 0 8
      connector-common/src/main/java/cz/senslog/connector/exception/SyntaxException.java
  15. 0 10
      connector-common/src/main/java/cz/senslog/connector/exception/UnsupportedFileException.java
  16. 0 8
      connector-common/src/main/java/cz/senslog/connector/http/ContentType.java
  17. 0 203
      connector-common/src/main/java/cz/senslog/connector/http/HttpClient.java
  18. 0 22
      connector-common/src/main/java/cz/senslog/connector/http/HttpCode.java
  19. 0 10
      connector-common/src/main/java/cz/senslog/connector/http/HttpHeader.java
  20. 0 5
      connector-common/src/main/java/cz/senslog/connector/http/HttpMethod.java
  21. 0 101
      connector-common/src/main/java/cz/senslog/connector/http/HttpRequest.java
  22. 0 69
      connector-common/src/main/java/cz/senslog/connector/http/HttpRequestBuilder.java
  23. 0 77
      connector-common/src/main/java/cz/senslog/connector/http/HttpResponse.java
  24. 0 42
      connector-common/src/main/java/cz/senslog/connector/http/HttpResponseBuilder.java
  25. 0 113
      connector-common/src/main/java/cz/senslog/connector/http/URLBuilder.java
  26. 0 57
      connector-common/src/main/java/cz/senslog/connector/interceptor/AbstractMethodInterceptor.java
  27. 0 23
      connector-common/src/main/java/cz/senslog/connector/interceptor/ProxyUtils.java
  28. 0 204
      connector-common/src/main/java/cz/senslog/connector/json/BasicJson.java
  29. 0 22
      connector-common/src/main/java/cz/senslog/connector/json/BasicJsonDeserializer.java
  30. 0 6
      connector-common/src/main/java/cz/senslog/connector/json/FormatFunction.java
  31. 0 122
      connector-common/src/main/java/cz/senslog/connector/json/JsonSchema.java
  32. 0 23
      connector-common/src/main/java/cz/senslog/connector/util/Arrays.java
  33. 0 31
      connector-common/src/main/java/cz/senslog/connector/util/ClassUtils.java
  34. 0 27
      connector-common/src/main/java/cz/senslog/connector/util/LocalDateTimeUtils.java
  35. 0 14
      connector-common/src/main/java/cz/senslog/connector/util/MethodExplorer.java
  36. 0 31
      connector-common/src/main/java/cz/senslog/connector/util/Next.java
  37. 0 33
      connector-common/src/main/java/cz/senslog/connector/util/NextImpl.java
  38. 0 25
      connector-common/src/main/java/cz/senslog/connector/util/NumberUtils.java
  39. 0 20
      connector-common/src/main/java/cz/senslog/connector/util/Pipe.java
  40. 0 27
      connector-common/src/main/java/cz/senslog/connector/util/PipeImpl.java
  41. 0 38
      connector-common/src/main/java/cz/senslog/connector/util/Pipeline.java
  42. 0 60
      connector-common/src/main/java/cz/senslog/connector/util/StringUtils.java
  43. 0 63
      connector-common/src/main/java/cz/senslog/connector/util/Triple.java
  44. 0 51
      connector-common/src/main/java/cz/senslog/connector/util/Tuple.java
  45. 0 35
      connector-common/src/main/resources/log4j2.xml
  46. 0 111
      connector-common/src/test/java/cz/senslog/connector/http/URLBuilderTest.java
  47. 0 26
      connector-common/src/test/java/cz/senslog/connector/util/ClassUtilsTest.java
  48. 0 40
      connector-common/src/test/java/cz/senslog/connector/util/LocalDateTimeUtilsTest.java
  49. 0 28
      connector-common/src/test/java/cz/senslog/connector/util/NumberUtilsTest.java
  50. 0 29
      connector-common/src/test/java/cz/senslog/connector/util/PipelineTest.java
  51. 0 36
      connector-common/src/test/java/cz/senslog/connector/util/StringUtilsTest.java
  52. 0 18
      connector-common/src/test/java/cz/senslog/connector/util/TripleTest.java
  53. 0 17
      connector-common/src/test/java/cz/senslog/connector/util/TupleTest.java
  54. 2 2
      connector-fetch-api/pom.xml
  55. 1 1
      connector-fetch-api/src/main/java/cz/senslog/connector/fetch/api/ConnectorFetchProvider.java
  56. 1 1
      connector-fetch-api/src/main/java/cz/senslog/connector/fetch/api/ExecutableFetcher.java
  57. 2 2
      connector-fetch-api/src/main/java/cz/senslog/connector/fetch/api/FetchProxySession.java
  58. 2 2
      connector-fetch-azure/pom.xml
  59. 3 3
      connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/AzureConfig.java
  60. 11 11
      connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/AzureFetcher.java
  61. 2 2
      connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/ConnectorFetchAzureProvider.java
  62. 2 2
      connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/auth/AzureAuthConfig.java
  63. 9 9
      connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/auth/AzureAuthenticationService.java
  64. 1 1
      connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/auth/AzureAuthorizationInfo.java
  65. 2 2
      connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/AzureConfigTest.java
  66. 7 7
      connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/AzureFetcherTest.java
  67. 1 1
      connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/ConnectorFetchAzureProviderTest.java
  68. 6 6
      connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/auth/AzureAuthenticationServiceTest.java
  69. 1 1
      connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/auth/AzureAuthorizationInfoTest.java
  70. 2 2
      connector-fetch-fieldclimate/pom.xml
  71. 3 3
      connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/ConnectorFetchFieldClimateProvider.java
  72. 2 2
      connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateConfig.java
  73. 13 13
      connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateFetcher.java
  74. 7 7
      connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateProxySession.java
  75. 2 2
      connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateSessionProxyConfig.java
  76. 1 1
      connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/StationTimeRange.java
  77. 1 1
      connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/auth/AuthConfig.java
  78. 6 6
      connector-fetch-fieldclimate/src/test/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateFetcherTest.java
  79. 6 6
      connector-fetch-fieldclimate/src/test/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateProxySessionTest.java
  80. 2 2
      connector-model/pom.xml
  81. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/azure/SensorData.java
  82. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/azure/SensorInfo.java
  83. 2 2
      connector-model/src/main/java/cz/senslog/connector/model/config/ConnectorDescriptor.java
  84. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/config/DefaultConfig.java
  85. 2 2
      connector-model/src/main/java/cz/senslog/connector/model/config/HostConfig.java
  86. 4 4
      connector-model/src/main/java/cz/senslog/connector/model/config/PropertyConfig.java
  87. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/fieldclimate/SensorDataInfo.java
  88. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/fieldclimate/StationData.java
  89. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/fieldclimate/StationInfo.java
  90. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/v1/Observation.java
  91. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/v1/Position.java
  92. 1 1
      connector-model/src/main/java/cz/senslog/connector/model/v2/Observation.java
  93. 2 2
      connector-model/src/test/java/cz/senslog/connector/model/config/ConnectorDescriptorTest.java
  94. 2 3
      connector-model/src/test/java/cz/senslog/connector/model/config/DefaultConfigTest.java
  95. 3 3
      connector-model/src/test/java/cz/senslog/connector/model/config/HostConfigTest.java
  96. 2 2
      connector-model/src/test/java/cz/senslog/connector/model/config/PropertyConfigTest.java
  97. 2 2
      connector-push-api/pom.xml
  98. 1 1
      connector-push-api/src/main/java/cz/senslog/connector/push/api/ConnectorPushProvider.java
  99. 2 2
      connector-push-rest-senslog-v1/pom.xml
  100. 3 3
      connector-push-rest-senslog-v1/src/main/java/cz/senslog/connector/push/rest/senslog/v1/SenslogV1Config.java

+ 2 - 2
connector-app/src/main/java/cz/senslog/connector/app/config/ConfigurationServiceImpl.java

@@ -1,8 +1,8 @@
 package cz.senslog.connector.app.config;
 
 import cz.senslog.connector.app.config.api.ConfigurationService;
-import cz.senslog.connector.config.model.ConnectorDescriptor;
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.ConnectorDescriptor;
+import cz.senslog.connector.model.config.DefaultConfig;
 
 import java.util.HashMap;
 import java.util.HashSet;

+ 2 - 2
connector-app/src/main/java/cz/senslog/connector/app/config/Connector.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.app.config;
 
-import cz.senslog.connector.exception.ModuleInterruptedException;
+import cz.senslog.common.exception.ModuleInterruptedException;
 import cz.senslog.connector.fetch.api.ExecutableFetcher;
 import cz.senslog.connector.model.api.AbstractModel;
 import cz.senslog.connector.model.api.Converter;
@@ -14,7 +14,7 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledFuture;
 
-import static cz.senslog.connector.util.Pipeline.of;
+import static cz.senslog.common.util.Pipeline.of;
 import static java.util.Optional.ofNullable;
 import static java.util.concurrent.TimeUnit.SECONDS;
 

+ 2 - 2
connector-app/src/main/java/cz/senslog/connector/app/config/ConnectorBuilder.java

@@ -1,8 +1,8 @@
 package cz.senslog.connector.app.config;
 
 import cz.senslog.connector.app.config.api.ConfigurationService;
-import cz.senslog.connector.config.model.ConnectorDescriptor;
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.ConnectorDescriptor;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.fetch.api.ConnectorFetchProvider;
 import cz.senslog.connector.fetch.api.ConnectorFetcher;
 import cz.senslog.connector.fetch.api.ExecutableFetcher;

+ 2 - 2
connector-app/src/main/java/cz/senslog/connector/app/config/DatabaseConfigurationServiceImpl.java

@@ -2,8 +2,8 @@ package cz.senslog.connector.app.config;
 
 import cz.senslog.connector.app.config.api.ConfigurationService;
 import cz.senslog.connector.app.config.api.DatabaseConfigurationService;
-import cz.senslog.connector.config.model.ConnectorDescriptor;
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.ConnectorDescriptor;
+import cz.senslog.connector.model.config.DefaultConfig;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 

+ 3 - 3
connector-app/src/main/java/cz/senslog/connector/app/config/FileConfigurationServiceImpl.java

@@ -1,9 +1,9 @@
 package cz.senslog.connector.app.config;
 
 import cz.senslog.connector.app.config.api.FileConfigurationService;
-import cz.senslog.connector.config.model.ConnectorDescriptor;
-import cz.senslog.connector.config.model.DefaultConfig;
-import cz.senslog.connector.exception.UnsupportedFileException;
+import cz.senslog.connector.model.config.ConnectorDescriptor;
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.common.exception.UnsupportedFileException;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.yaml.snakeyaml.Yaml;

+ 1 - 1
connector-app/src/main/java/cz/senslog/connector/app/config/Parameters.java

@@ -9,7 +9,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Arrays;
 
-import static cz.senslog.connector.util.StringUtils.isNotBlank;
+import static cz.senslog.common.util.StringUtils.isNotBlank;
 import static java.lang.String.format;
 import static java.nio.file.Files.notExists;
 import static java.nio.file.Paths.get;

+ 2 - 2
connector-app/src/main/java/cz/senslog/connector/app/config/api/ConfigurationService.java

@@ -2,8 +2,8 @@ package cz.senslog.connector.app.config.api;
 
 import cz.senslog.connector.app.config.DatabaseBuilderImpl;
 import cz.senslog.connector.app.config.FileBuilderImpl;
-import cz.senslog.connector.config.model.ConnectorDescriptor;
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.ConnectorDescriptor;
+import cz.senslog.connector.model.config.DefaultConfig;
 
 import java.util.Set;
 

+ 2 - 2
connector-app/src/test/java/cz/senslog/connector/app/config/ConnectorBuilderTest.java

@@ -1,8 +1,8 @@
 package cz.senslog.connector.app.config;
 
 import cz.senslog.connector.app.config.api.ConfigurationService;
-import cz.senslog.connector.config.model.ConnectorDescriptor;
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.ConnectorDescriptor;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.fetch.api.ConnectorFetchProvider;
 import cz.senslog.connector.fetch.api.ConnectorFetcher;
 import cz.senslog.connector.fetch.api.ExecutableFetcher;

+ 4 - 4
connector-app/src/test/java/cz/senslog/connector/app/config/FileConfigurationServiceImplTest.java

@@ -1,10 +1,10 @@
 package cz.senslog.connector.app.config;
 
 import cz.senslog.connector.app.config.api.FileConfigurationService;
-import cz.senslog.connector.config.model.ConnectorDescriptor;
-import cz.senslog.connector.config.model.DefaultConfig;
-import cz.senslog.connector.config.model.HostConfig;
-import cz.senslog.connector.exception.UnsupportedFileException;
+import cz.senslog.connector.model.config.ConnectorDescriptor;
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.connector.model.config.HostConfig;
+import cz.senslog.common.exception.UnsupportedFileException;
 import org.junit.jupiter.api.Test;
 
 import java.io.FileNotFoundException;

+ 0 - 74
connector-common/pom.xml

@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-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">
-    <parent>
-        <artifactId>connectors</artifactId>
-        <groupId>cz.senslog</groupId>
-        <version>1.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>connector-common</artifactId>
-    <name>common</name>
-    <packaging>jar</packaging>
-    <version>${project.parent.version}</version>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-            <version>2.8.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.9</version>
-        </dependency>
-        <dependency>
-            <groupId>org.yaml</groupId>
-            <artifactId>snakeyaml</artifactId>
-            <version>1.24</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <version>2.12.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <version>2.12.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.everit-org.json-schema</groupId>
-            <artifactId>org.everit.json.schema</artifactId>
-            <version>1.11.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>cglib</groupId>
-            <artifactId>cglib-nodep</artifactId>
-            <version>3.3.0</version>
-        </dependency>
-
-
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-assembly-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
-    <repositories>
-        <repository>
-            <id>jitpack.io</id>
-            <url>https://jitpack.io</url>
-        </repository>
-    </repositories>
-
-</project>

+ 0 - 8
connector-common/src/main/java/cz/senslog/connector/exception/ModuleInterruptedException.java

@@ -1,8 +0,0 @@
-package cz.senslog.connector.exception;
-
-public class ModuleInterruptedException extends RuntimeException{
-
-    public ModuleInterruptedException(String message) {
-        super(message);
-    }
-}

+ 0 - 8
connector-common/src/main/java/cz/senslog/connector/exception/ParseException.java

@@ -1,8 +0,0 @@
-package cz.senslog.connector.exception;
-
-public class ParseException extends RuntimeException {
-
-    public ParseException(String message) {
-        super(message);
-    }
-}

+ 0 - 8
connector-common/src/main/java/cz/senslog/connector/exception/PropertyNotFoundException.java

@@ -1,8 +0,0 @@
-package cz.senslog.connector.exception;
-
-public class PropertyNotFoundException extends RuntimeException {
-
-    public PropertyNotFoundException(String message) {
-        super(message);
-    }
-}

+ 0 - 8
connector-common/src/main/java/cz/senslog/connector/exception/SyntaxException.java

@@ -1,8 +0,0 @@
-package cz.senslog.connector.exception;
-
-public class SyntaxException extends RuntimeException {
-
-    public SyntaxException(String message) {
-        super(message);
-    }
-}

+ 0 - 10
connector-common/src/main/java/cz/senslog/connector/exception/UnsupportedFileException.java

@@ -1,10 +0,0 @@
-package cz.senslog.connector.exception;
-
-import java.io.IOException;
-
-public class UnsupportedFileException extends IOException {
-
-    public UnsupportedFileException(String message) {
-        super(message);
-    }
-}

+ 0 - 8
connector-common/src/main/java/cz/senslog/connector/http/ContentType.java

@@ -1,8 +0,0 @@
-package cz.senslog.connector.http;
-
-public class ContentType {
-
-    public static final String APPLICATION_JSON = "application/json";
-
-    public static final String TEXT_PLAIN = "text/plain";
-}

+ 0 - 203
connector-common/src/main/java/cz/senslog/connector/http/HttpClient.java

@@ -1,203 +0,0 @@
-package cz.senslog.connector.http;
-
-import cz.senslog.connector.util.StringUtils;
-import org.apache.http.Header;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpMessage;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.conn.ssl.TrustStrategy;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.ssl.SSLContextBuilder;
-import org.apache.http.util.EntityUtils;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.security.KeyManagementException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.util.HashMap;
-import java.util.Map;
-
-import static cz.senslog.connector.http.HttpCode.*;
-import static org.apache.http.HttpHeaders.*;
-
-/**
- * The class {@code HttpClient} represents a wrapper for {@link org.apache.http.client.HttpClient}.
- * Provides functionality of sending GET and POST request. Otherwise is returned response with {@see #BAD_REQUEST}.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public class HttpClient {
-
-    /** Instance of http client. */
-    private final org.apache.http.client.HttpClient client;
-
-    /**
-     * Factory method to create a new instance of client.
-     * @return new instance of {@code HttpClient}.
-     */
-    public static HttpClient newHttpClient() {
-        return new HttpClient(HttpClientBuilder.create());
-    }
-
-    public static HttpClient newHttpSSLClient() {
-        try {
-            SSLContextBuilder builder = new SSLContextBuilder();
-            builder.loadTrustMaterial(null, (TrustStrategy) (chain, authType) -> true);
-
-            SSLConnectionSocketFactory sslSF = new SSLConnectionSocketFactory(builder.build(),
-                    SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
-            return new HttpClient(HttpClientBuilder.create().setSSLSocketFactory(sslSF));
-
-        } catch (NoSuchAlgorithmException | KeyStoreException | KeyManagementException e) {
-            return null;
-        }
-    }
-
-    /**
-     * Private constructors sets http client.
-     */
-    private HttpClient(HttpClientBuilder httpClientBuilder) {
-        this.client = httpClientBuilder.build();
-    }
-
-    /**
-     * Sends http request.
-     * @param request - virtual request.
-     * @return virtual response.
-     */
-    public HttpResponse send(HttpRequest request) {
-        try {
-            switch (request.getMethod()) {
-                case GET:  return sendGet(request);
-                case POST: return sendPost(request);
-                default: return HttpResponse.newBuilder()
-                            .body("Request does not contain method definition.")
-                            .status(METHOD_NOT_ALLOWED).build();
-            }
-        } catch (URISyntaxException e) {
-            return HttpResponse.newBuilder()
-                    .body(e.getMessage()).status(BAD_REQUEST)
-                    .build();
-        } catch (IOException e) {
-            return  HttpResponse.newBuilder()
-                    .body(e.getMessage()).status(SERVER_ERROR)
-                    .build();
-        }
-    }
-
-    /**
-     * Sends GET request.
-     * @param request - virtual request.
-     * @return virtual response of the request.
-     * @throws URISyntaxException throws if host url is not valid.
-     * @throws IOException throws if anything happen during sending.
-     */
-    private HttpResponse sendGet(HttpRequest request) throws IOException, URISyntaxException {
-
-        URI uri = request.getUrl().toURI();
-        HttpGet requestGet = new HttpGet(uri);
-        setBasicHeaders(request, requestGet);
-
-        org.apache.http.HttpResponse responseGet = client.execute(requestGet);
-
-        HttpResponse response = HttpResponse.newBuilder()
-                .status(responseGet.getStatusLine().getStatusCode())
-                .headers(getHeaders(responseGet))
-                .body(getBody(responseGet.getEntity()))
-                .build();
-
-        EntityUtils.consume(responseGet.getEntity());
-
-        return response;
-    }
-
-    /**
-     * Sends POST request.
-     * @param request - virtual request.
-     * @return virtual response of the request.
-     * @throws URISyntaxException throws if host url is not valid.
-     * @throws IOException throws if anything happen during sending.
-     */
-    private HttpResponse sendPost(HttpRequest request) throws URISyntaxException, IOException {
-
-        URI uri = request.getUrl().toURI();
-        HttpPost requestPost = new HttpPost(uri);
-        setBasicHeaders(request, requestPost);
-
-        if (StringUtils.isNotBlank(request.getContentType())) {
-            requestPost.setHeader(CONTENT_TYPE, request.getContentType());
-        }
-
-        requestPost.setEntity(new StringEntity(request.getBody()));
-
-        org.apache.http.HttpResponse responsePost = client.execute(requestPost);
-
-        HttpResponse response = HttpResponse.newBuilder()
-                .headers(getHeaders(requestPost))
-                .status(responsePost.getStatusLine().getStatusCode())
-                .body(getBody(responsePost.getEntity()))
-                .build();
-
-        EntityUtils.consume(responsePost.getEntity());
-
-        return response;
-    }
-
-    /**
-     * Sets basic headers to each request.
-     * @param userRequest - virtual request.
-     * @param httpRequest - real request prepared to send.
-     */
-    private void setBasicHeaders(HttpRequest userRequest, HttpRequestBase httpRequest) {
-
-        httpRequest.setHeader(USER_AGENT, "SenslogConnector/1.0");
-        httpRequest.setHeader(CACHE_CONTROL, "no-cache");
-
-        for (Map.Entry<String, String> headerEntry : userRequest.getHeaders().entrySet()) {
-            httpRequest.setHeader(headerEntry.getKey(), headerEntry.getValue());
-        }
-    }
-
-    /**
-     * Returns map of headers from the response.
-     * @param response - response message.
-     * @return map of headers.
-     */
-    private Map<String, String> getHeaders(HttpMessage response) {
-        Map<String, String> headers = new HashMap<>();
-        for (Header header : response.getAllHeaders()) {
-            headers.put(header.getName(), header.getValue());
-        }
-        return headers;
-    }
-
-    /**
-     * Returns body from the response.
-     * @param entity - response entity.
-     * @return string body of the response.
-     * @throws IOException can not get body from the response.
-     */
-    private String getBody(HttpEntity entity) throws IOException {
-        if (entity == null) return "";
-        InputStream contentStream = entity.getContent();
-        InputStreamReader bodyStream = new InputStreamReader(contentStream);
-        BufferedReader rd = new BufferedReader(bodyStream);
-        StringBuilder bodyBuffer = new StringBuilder();
-        String line;
-        while ((line = rd.readLine()) != null) {
-            bodyBuffer.append(line);
-        }
-        return bodyBuffer.toString();
-    }
-}

+ 0 - 22
connector-common/src/main/java/cz/senslog/connector/http/HttpCode.java

@@ -1,22 +0,0 @@
-package cz.senslog.connector.http;
-
-public class HttpCode {
-
-    public static final int OK = 200;
-
-    public static final int NO_RESULT = 204;
-
-    public static final int NO_CONTENT = 204;
-
-    public static final int BAD_REQUEST = 400;
-
-    public static final int UNAUTHORIZED = 401;
-
-    public static final int FORBIDDEN = 403;
-
-    public static final int NOT_FOUND = 404;
-
-    public static final int METHOD_NOT_ALLOWED = 405;
-
-    public static final int SERVER_ERROR = 500;
-}

+ 0 - 10
connector-common/src/main/java/cz/senslog/connector/http/HttpHeader.java

@@ -1,10 +0,0 @@
-package cz.senslog.connector.http;
-
-public class HttpHeader {
-
-    public static final String AUTHORIZATION = "Authorization";
-
-    public static final String DATE = "Date";
-
-    public static final String ACCEPT = "Accept";
-}

+ 0 - 5
connector-common/src/main/java/cz/senslog/connector/http/HttpMethod.java

@@ -1,5 +0,0 @@
-package cz.senslog.connector.http;
-
-public enum  HttpMethod {
-    GET, POST
-}

+ 0 - 101
connector-common/src/main/java/cz/senslog/connector/http/HttpRequest.java

@@ -1,101 +0,0 @@
-package cz.senslog.connector.http;
-
-import java.net.URL;
-import java.util.Map;
-
-import static cz.senslog.connector.json.BasicJson.objectToJson;
-
-/**
- * The class {@code HttpRequest} represents a wrapper for a http request.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public class HttpRequest {
-
-    public interface Builder {
-        Builder header(String name, String value);
-        Builder url(URL url);
-        Builder POST();
-        Builder GET();
-        Builder contentType(String contentType);
-        Builder body(String body);
-        HttpRequest build();
-    }
-
-    /**
-     * Factory method to create a new builder for {@link HttpRequest}.
-     * @return new instance of builder.
-     */
-    public static Builder newBuilder() {
-        return new HttpRequestBuilder();
-    }
-
-    /**
-     * Factory method to create a new builder for {@link HttpRequest}.
-     * @param url - host url.
-     * @return new instance of builder.
-     */
-    public static Builder newBuilder(URL url) {
-        HttpRequestBuilder builder = new HttpRequestBuilder();
-        builder.url(url);
-        return builder;
-    }
-
-    /** Request url. */
-    private final URL url;
-
-    /** Request headers. */
-    private final Map<String, String> headers;
-
-    /** Request body. */
-    private final String body;
-
-    /** Request method. */
-    private final HttpMethod method;
-
-    /** Request content type. */
-    private final String contentType;
-
-    /**
-     * Constructors sets all attributes.
-     * @param url - url.
-     * @param headers - headers.
-     * @param body - body.
-     * @param method - method.
-     * @param contentType - content type.
-     */
-    HttpRequest(URL url, Map<String, String> headers, String body, HttpMethod method, String contentType) {
-        this.url = url;
-        this.headers = headers;
-        this.body = body;
-        this.method = method;
-        this.contentType = contentType;
-    }
-
-    public URL getUrl() {
-        return url;
-    }
-
-    public String getBody() {
-        return body;
-    }
-
-    public HttpMethod getMethod() {
-        return method;
-    }
-
-    public Map<String, String> getHeaders() {
-        return headers;
-    }
-
-    public String getContentType() {
-        return contentType;
-    }
-
-    @Override
-    public String toString() {
-        return objectToJson(this);
-    }
-}

+ 0 - 69
connector-common/src/main/java/cz/senslog/connector/http/HttpRequestBuilder.java

@@ -1,69 +0,0 @@
-package cz.senslog.connector.http;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * The class {@code HttpRequestBuilder} represents a builder for the {@link HttpRequest}.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-final class HttpRequestBuilder implements HttpRequest.Builder {
-
-    private URL url;
-    private Map<String, String> headers;
-    private String body;
-    private HttpMethod method;
-    private String contentType;
-
-    HttpRequestBuilder() {
-        this.headers = new HashMap<>();
-        this.method = HttpMethod.GET;
-        this.body = "";
-    }
-
-
-    @Override
-    public HttpRequest.Builder header(String name, String value) {
-        this.headers.put(name, value);
-        return this;
-    }
-
-    @Override
-    public HttpRequest.Builder url(URL url) {
-        this.url = url;
-        return this;
-    }
-
-    @Override
-    public HttpRequest.Builder POST() {
-        this.method = HttpMethod.POST;
-        return this;
-    }
-
-    @Override
-    public HttpRequest.Builder GET() {
-        this.method = HttpMethod.GET;
-        return this;
-    }
-
-    @Override
-    public HttpRequest.Builder contentType(String contentType) {
-        this.contentType = contentType;
-        return this;
-    }
-
-    @Override
-    public HttpRequest.Builder body(String body) {
-        this.body = body;
-        return this;
-    }
-
-    @Override
-    public HttpRequest build() {
-        return new HttpRequest(url, headers, body, method, contentType);
-    }
-}

+ 0 - 77
connector-common/src/main/java/cz/senslog/connector/http/HttpResponse.java

@@ -1,77 +0,0 @@
-package cz.senslog.connector.http;
-
-import java.util.Map;
-
-import static cz.senslog.connector.json.BasicJson.objectToJson;
-
-/**
- * The class {@code HttpResponse} represents a wrapper for a http response.
- * Contains basic information like status, headers and body.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public class HttpResponse {
-
-    public interface Builder {
-        Builder body(String body);
-        Builder headers(Map<String, String> headers);
-        Builder status(int status);
-        HttpResponse build();
-    }
-
-    /**
-     * Factory method to create a new builder for {@link HttpResponse}.
-     * @return new instance of builder.
-     */
-    public static Builder newBuilder() {
-        return new HttpResponseBuilder();
-    }
-
-    /** Response body. */
-    private final String body;
-
-    /** Response headers. */
-    private final Map<String, String> headers;
-
-    /** Response status. */
-    private final int status;
-
-    /**
-     * Constructors sets all attributes.
-     * @param body - body.
-     * @param headers - headers.
-     * @param status - status.
-     */
-    HttpResponse(String body, Map<String, String> headers, int status) {
-        this.body = body;
-        this.headers = headers;
-        this.status = status;
-    }
-
-    public String getBody() {
-        return body;
-    }
-
-    public String getHeader(String value) {
-        return headers.get(value);
-    }
-
-    public int getStatus() {
-        return status;
-    }
-
-    public boolean isOk() {
-        return status == HttpCode.OK;
-    }
-
-    public boolean isError() {
-        return !isOk();
-    }
-
-    @Override
-    public String toString() {
-        return objectToJson(this);
-    }
-}

+ 0 - 42
connector-common/src/main/java/cz/senslog/connector/http/HttpResponseBuilder.java

@@ -1,42 +0,0 @@
-package cz.senslog.connector.http;
-
-import java.util.Map;
-
-/**
- * The class {@code HttpResponseBuilder} represents a builder for the {@link HttpResponse}.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-class HttpResponseBuilder implements HttpResponse.Builder {
-
-    private String body;
-    private Map<String, String> headers;
-    private int status;
-
-    HttpResponseBuilder(){}
-
-    @Override
-    public HttpResponse.Builder body(String body) {
-        this.body = body;
-        return this;
-    }
-
-    @Override
-    public HttpResponse.Builder headers(Map<String, String> headers) {
-        this.headers = headers;
-        return this;
-    }
-
-    @Override
-    public HttpResponse.Builder status(int status) {
-        this.status = status;
-        return this;
-    }
-
-    @Override
-    public HttpResponse build() {
-        return new HttpResponse(body, headers, status);
-    }
-}

+ 0 - 113
connector-common/src/main/java/cz/senslog/connector/http/URLBuilder.java

@@ -1,113 +0,0 @@
-package cz.senslog.connector.http;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import static java.net.URLEncoder.encode;
-
-/**
- * The class {@code URLBuilder} represents a builder to create a new instance of {@link URL}.
- * Provides a creating a url from domain and path and adding a parameter.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public final class URLBuilder {
-
-    /**
-     * Factory method to create a new instance of {@code URLBuilder} from base url.
-     * @param baseURL - host url.
-     * @return new instance of {@code URLBuilder}.
-     */
-    public static URLBuilder newBuilder(String baseURL) {
-        return new URLBuilder(baseURL);
-    }
-
-    /**
-     * Factory method to create a new instance of {@code URLBuilder} from domain and path.
-     * Normalizes domain and path to the form:
-     *
-     * domain: http://domain.com/
-     * path: /host
-     * -> url: http://domain.com/host
-     *
-     * domain: http://domain.com
-     * path: host
-     * -> url: http://domain.com/host
-     *
-     * @param domain - domain of host.
-     * @param path - path of host.
-     * @return new instance of {@code URLBuilder}.
-     */
-    public static URLBuilder newBuilder(String domain, String path) {
-        boolean domainSlash = domain.endsWith("/");
-        boolean pathSlash = path.startsWith("/");
-
-        if ((domainSlash && !pathSlash) || (!domainSlash && pathSlash)) {
-            return new URLBuilder(domain + path);
-        } else if (domainSlash) {
-            return new URLBuilder(domain + path.substring(1));
-        } else {
-            return new URLBuilder(domain + "/" + path);
-        }
-    }
-
-    /** String builder for url. */
-    private StringBuilder urlBuilder;
-
-    /** String builder for parameters. */
-    private StringBuilder paramsBuilder;
-
-    /**
-     * Private constructor initializes builders and normalizes url.
-     * If the url ends with slash '/', it is removed.
-     * @param baseURL - host url.
-     */
-    private URLBuilder(String baseURL) {
-        String url = baseURL.endsWith("/") ? baseURL.substring(0, baseURL.length() - 1) : baseURL;
-        this.urlBuilder = new StringBuilder(url);
-        this.paramsBuilder = new StringBuilder();
-    }
-
-    /**
-     * Adds a new parameter to the url.
-     * @param name - name of parameter.
-     * @param value - value of parameter.
-     * @return instance of {@code URLBuilder}.
-     */
-    public URLBuilder addParam(String name, String value) {
-        try {
-            paramsBuilder.append("&").append(name).append("=").append(encode(value, "UTF-8"));
-        } catch (UnsupportedEncodingException e) {
-            throw new AssertionError(e.getMessage());
-        }
-        return this;
-    }
-
-    /**
-     * Adds a new parameter to the url.
-     * @param name - name of parameter.
-     * @param value - value of parameter.
-     * @return instance of {@code URLBuilder}.
-     */
-    public URLBuilder addParam(String name, Object value) {
-        if (value == null) return this;
-        return addParam(name, value.toString());
-    }
-
-    /**
-     * Creates a new instance of {@link URL}.
-     * @return new instance of {@link URL}.
-     */
-    public URL build() {
-        try {
-            String params = paramsBuilder.replace(0, 1, "").toString();
-            return new URL(urlBuilder.append(params.isEmpty() ? "" : ("?" + params)).toString());
-        } catch (MalformedURLException e) {
-            throw new IllegalArgumentException(e.getMessage(), e);
-        }
-    }
-}
-

+ 0 - 57
connector-common/src/main/java/cz/senslog/connector/interceptor/AbstractMethodInterceptor.java

@@ -1,57 +0,0 @@
-package cz.senslog.connector.interceptor;
-
-import cz.senslog.connector.util.Arrays;
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.function.BiFunction;
-
-
-public abstract class AbstractMethodInterceptor implements MethodInterceptor {
-
-    private final Object object;
-    private final Method expectedMethod;
-
-    protected AbstractMethodInterceptor(Object object, Method expectedMethod) {
-        this.object = object;
-        this.expectedMethod = expectedMethod;
-    }
-
-    private static boolean methodEquals(Method a, Method b) {
-        if (a==null||b==null) { return false; }
-        if (!a.getName().equals(b.getName())) { return false; }
-
-        Class<?> aRetType = a.getReturnType(), bRetType = b.getReturnType();
-        if (aRetType==null||bRetType==null) { return false; }
-        if (!(aRetType == bRetType || bRetType.isInstance(aRetType))) { return false;}
-
-        BiFunction<Object, Object, Boolean> compareFnc = (o1, o2) -> o1.getClass().isInstance(o2.getClass());
-        return Arrays.equals(a.getParameterTypes(), b.getParameterTypes(), compareFnc);
-    }
-
-    protected Object getObject() {
-        return object;
-    }
-
-    public abstract Object[] preProcessing(Object[] methodParams);
-
-    public abstract Object postProcessing(Object returnObject);
-
-    @Override
-    public Object intercept(Object o, Method method, Object[] args, MethodProxy methodProxy) throws InvocationTargetException, IllegalAccessException {
-        Object obj = object != null ? object : o;
-        if (methodEquals(expectedMethod, method)) {
-            Object[] newArgs = preProcessing(args);
-            if (newArgs != null) {
-                Object result = method.invoke(obj, newArgs);
-                return postProcessing(result);
-            } else {
-                return postProcessing(null);
-            }
-        } else {
-            return method.invoke(obj, args);
-        }
-    }
-}

+ 0 - 23
connector-common/src/main/java/cz/senslog/connector/interceptor/ProxyUtils.java

@@ -1,23 +0,0 @@
-package cz.senslog.connector.interceptor;
-
-import net.sf.cglib.proxy.Enhancer;
-
-/**
- * Util class allows to make easier mock instance from real instance or class.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.8
- */
-
-public final class ProxyUtils {
-
-    /**
-     * Create instance of utils class is prohibited.
-     */
-    private ProxyUtils(){}
-
-    public static <A> A createProxy(Class<A> aClass, AbstractMethodInterceptor interceptor) {
-        return  (A)Enhancer.create(aClass, interceptor);
-    }
-}

+ 0 - 204
connector-common/src/main/java/cz/senslog/connector/json/BasicJson.java

@@ -1,204 +0,0 @@
-package cz.senslog.connector.json;
-
-import com.google.gson.*;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonToken;
-import cz.senslog.connector.exception.ParseException;
-import cz.senslog.connector.exception.SyntaxException;
-import cz.senslog.connector.util.Tuple;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.lang.reflect.Type;
-import java.time.LocalDateTime;
-import java.time.ZonedDateTime;
-
-import static com.google.gson.stream.JsonToken.END_DOCUMENT;
-import static java.time.format.DateTimeFormatter.ISO_DATE_TIME;
-
-/**
- * The class {@code BasicJson} represents a basic wrapper for {@link Gson} library.
- * Provides basic converter from object to string and string to object.
- *
- * Configuration contains basic formatters for {@see LocalDateTime}, {@see ZonedDateTime} and {@see Class}.
- *
- *
- * Both time classes are formatter to ISO format e.q. '2011-12-03T10:15:30',
- * '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.
- *
- * Class is formatted as the full name of the class.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public class BasicJson {
-
-    /** Instance of json converter. */
-    private static Gson gson = new GsonBuilder()
-            .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeAdapter())
-            .registerTypeAdapter(ZonedDateTime.class, new ZonedDateTimeAdapter())
-            .registerTypeAdapter(Class.class, new ClassAdapter())
-            .create();
-
-    /** Formatter for {@see LocalDateTime}. */
-    private static class LocalDateTimeAdapter implements JsonSerializer<LocalDateTime>, JsonDeserializer<LocalDateTime> {
-
-        @Override
-        public JsonElement serialize(LocalDateTime localDateTime, Type type, JsonSerializationContext jsonSerializationContext) {
-            return new JsonPrimitive(localDateTime.format(ISO_DATE_TIME));
-        }
-
-        @Override
-        public LocalDateTime deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
-            return LocalDateTime.parse(jsonElement.getAsString(), ISO_DATE_TIME);
-        }
-    }
-
-    /** Formatter for {@see ZonedDateTime}. */
-    private static class ZonedDateTimeAdapter implements JsonSerializer<ZonedDateTime>, JsonDeserializer<ZonedDateTime> {
-
-        @Override
-        public JsonElement serialize(ZonedDateTime zonedDateTime, Type type, JsonSerializationContext jsonSerializationContext) {
-            return new JsonPrimitive(zonedDateTime.format(ISO_DATE_TIME));
-        }
-
-        @Override
-        public ZonedDateTime deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
-            return ZonedDateTime.parse(jsonElement.getAsString(), ISO_DATE_TIME);
-        }
-    }
-
-    /** Formatter for {@see Class}. */
-    private static class ClassAdapter implements JsonSerializer<Class<?>>, JsonDeserializer<Class<?>> {
-
-        @Override
-        public JsonElement serialize(Class<?> aClass, Type type, JsonSerializationContext jsonSerializationContext) {
-            return new JsonPrimitive(aClass.getName());
-        }
-
-        @Override
-        public Class<?> deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
-            try {
-                return Class.forName(jsonElement.getAsString());
-            } catch (ClassNotFoundException e) {
-                return null;
-            }
-        }
-    }
-
-    /**
-     * Deserialize json to a typed object according to class.
-     * @param jsonString - json string.
-     * @param aClass - class of the object.
-     * @param <T> - generic type object.
-     * @return new instance of the input class.
-     */
-    public static <T> T jsonToObject(String jsonString, Class<T> aClass) {
-        try {
-            return gson.fromJson(jsonString, aClass);
-        } catch (JsonSyntaxException e) {
-            throw new SyntaxException(e.getMessage());
-        }
-    }
-
-    /**
-     * Deserialize json to a typed object according to type.
-     * @param jsonString - json string.
-     * @param type - type of the object.
-     * @param <T> - generic type object.
-     * @return new instance of the input type.
-     */
-    public static <T> T jsonToObject(String jsonString, Type type) {
-        try {
-            return gson.fromJson(jsonString, type);
-        } catch (JsonSyntaxException e) {
-            throw new SyntaxException(e.getMessage());
-        }
-    }
-
-    /**
-     * Serialize object to string json.
-     * @param object - input object.
-     * @param <T> - generic type of object.
-     * @return string json.
-     */
-    public static <T> String objectToJson(T object) {
-        try {
-            return gson.toJson(object);
-        } catch (JsonSyntaxException e) {
-            throw new SyntaxException(e.getMessage());
-        }
-    }
-
-    @SafeVarargs
-    public static <R, E> R jsonToObject(String json, Type type, Tuple<Class<E>, FormatFunction<E>>... formatters) {
-        GsonBuilder gsonBuilder = new GsonBuilder();
-        for (Tuple<Class<E>, FormatFunction<E>> formatter : formatters) {
-            gsonBuilder.registerTypeAdapter(formatter.getItem1(), new BasicJsonDeserializer<>(formatter.getItem2()));
-        }
-        try {
-            Gson gson = gsonBuilder.create();
-            return gson.fromJson(json, type);
-        } catch (JsonSyntaxException e) {
-            throw new SyntaxException(e.getMessage());
-        } catch (RuntimeException e) {
-            throw new ParseException(e.getMessage());
-        }
-    }
-
-
-    /**
-     * Checks if input string is in json format.
-     * @param json - input json.
-     * @return true - valid, false - invalid.
-     */
-    public static boolean isValid(String json) {
-        return isValid(new JsonReader(new StringReader(json)));
-    }
-
-    /**
-     * Validates input json reader.
-     * @param jsonReader - input json reader.
-     * @return true - valid, false - invalid.
-     */
-    private static boolean isValid(JsonReader jsonReader) {
-        try {
-            JsonToken token;
-            loop:
-            while ( (token = jsonReader.peek()) != END_DOCUMENT && token != null ) {
-                switch ( token ) {
-                    case BEGIN_ARRAY:
-                        jsonReader.beginArray();
-                        break;
-                    case END_ARRAY:
-                        jsonReader.endArray();
-                        break;
-                    case BEGIN_OBJECT:
-                        jsonReader.beginObject();
-                        break;
-                    case END_OBJECT:
-                        jsonReader.endObject();
-                        break;
-                    case NAME:
-                        jsonReader.nextName();
-                        break;
-                    case STRING:
-                    case NUMBER:
-                    case BOOLEAN:
-                    case NULL:
-                        jsonReader.skipValue();
-                        break;
-                    case END_DOCUMENT:
-                        break loop;
-                    default:
-                        throw new AssertionError(token);
-                }
-            }
-            return true;
-        } catch (IOException ignored ) {
-            return false;
-        }
-    }
-
-}

+ 0 - 22
connector-common/src/main/java/cz/senslog/connector/json/BasicJsonDeserializer.java

@@ -1,22 +0,0 @@
-package cz.senslog.connector.json;
-
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParseException;
-
-import java.lang.reflect.Type;
-
-public class BasicJsonDeserializer<T> implements JsonDeserializer<T> {
-
-    private final FormatFunction<T> formatter;
-
-    public BasicJsonDeserializer(FormatFunction<T> formatter) {
-        this.formatter = formatter;
-    }
-
-    @Override
-    public T deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
-        return formatter.apply(jsonElement.getAsString());
-    }
-}

+ 0 - 6
connector-common/src/main/java/cz/senslog/connector/json/FormatFunction.java

@@ -1,6 +0,0 @@
-package cz.senslog.connector.json;
-
-@FunctionalInterface
-public interface FormatFunction<T> {
-    T apply(String element);
-}

+ 0 - 122
connector-common/src/main/java/cz/senslog/connector/json/JsonSchema.java

@@ -1,122 +0,0 @@
-package cz.senslog.connector.json;
-
-import org.everit.json.schema.Schema;
-import org.everit.json.schema.ValidationException;
-import org.everit.json.schema.loader.SchemaLoader;
-import org.json.JSONArray;
-import org.json.JSONObject;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.file.Path;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import static java.lang.String.format;
-import static java.nio.file.Files.readAllBytes;
-
-/**
- * The class {@code JsonSchema} represents a basic wrapper for {@link Schema}.
- * Provides functionality of creating a new schema and validation an input json according the schema.
- * Input json can start as a list or object.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public final class JsonSchema {
-
-    /** Instance of loaded schema. */
-    private final Schema schema;
-
-    /**
-     * Loads the schema from resources.
-     * @param schemaName - name of the schema.
-     * @return new instance of {@code JsonSchema}.
-     * @throws IOException throws if the schema does not exist or can not be loaded.
-     */
-    public static JsonSchema loadAsResource(String schemaName) throws IOException {
-        InputStream inputStream = ClassLoader.getSystemResourceAsStream(schemaName);
-
-        if (inputStream == null) {
-            throw new IOException(format("Resource file %s was not found.", schemaName));
-        }
-
-        BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputStream));
-        String schema = streamReader.lines().collect(Collectors.joining());
-
-        return create(schema);
-    }
-
-    /**
-     * Loads the schema from file system.
-     * @param schemaPath - path of the schema.
-     * @return new instance of {@code JsonSchema}.
-     * @throws IOException throws if the schema does not exist or can not be loaded.
-     */
-    public static JsonSchema load(Path schemaPath) throws IOException {
-        return create(new String(readAllBytes(schemaPath)));
-    }
-
-    /**
-     *  Creates and build a new schema.
-     * @param jsonSchema - string json schema.
-     * @return new instance of {@code JsonSchema}.
-     */
-    public static JsonSchema create(String jsonSchema) {
-        Schema schema = SchemaLoader.builder()
-                .schemaJson(new JSONObject(jsonSchema)).build()
-                .load().build();
-        return new JsonSchema(schema);
-    }
-
-    /**
-     * Private constructor of the class. Accessible via static method {@link JsonSchema#create(String)}.
-     * @param schema - build schema.
-     */
-    private JsonSchema(Schema schema) {
-        this.schema = schema;
-    }
-
-    /**
-     * Validates input json which starts as an object.
-     * @param json - input object json.
-     * @param errors - list of errors if json is not valid.
-     * @return true - valid, false - invalid.
-     */
-    public boolean validateJsonObject(String json, List<String> errors) {
-        return validate(new JSONObject(json), errors);
-    }
-
-    /**
-     * Validates input json which starts as an array.
-     * @param json - input array json.
-     * @param errors - list of errors if json is not valid.
-     * @return true - valid, false - invalid.
-     */
-    public boolean validateJsonArray(String json, List<String> errors) {
-        return validate(new JSONArray(json), errors);
-    }
-
-    /**
-     * Validates input json according to build schema. If input json is not valid,
-     * is thrown an exception with messages why json is not valid.
-     * @param json - input json.
-     * @param errors - list of errors if json is not valid.
-     * @return true - valid, false - invalid.
-     */
-    private boolean validate(Object json, List<String> errors) {
-        try {
-            schema.validate(json);
-            return true;
-        } catch (ValidationException e) {
-            if (errors != null) {
-                errors.clear();
-                errors.addAll(e.getAllMessages());
-            }
-            return false;
-        }
-    }
-}

+ 0 - 23
connector-common/src/main/java/cz/senslog/connector/util/Arrays.java

@@ -1,23 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.util.function.BiFunction;
-
-public class Arrays {
-
-    public static boolean equals(Object[] a, Object[] b, BiFunction<Object, Object, Boolean> compareTo) {
-        if (a==b) { return true; }
-        if (a==null || b==null) { return false; }
-
-        int length = a.length;
-        if (b.length != length) { return false; }
-
-        for (int i = 0; i < length; i++) {
-            Object o1 = a[i];
-            Object o2 = b[i];
-            if (!(o1==null ? o2==null : compareTo.apply(o1, o2))) {
-                return false;
-            }
-        }
-        return true;
-    }
-}

+ 0 - 31
connector-common/src/main/java/cz/senslog/connector/util/ClassUtils.java

@@ -1,31 +0,0 @@
-package cz.senslog.connector.util;
-
-import static java.lang.String.format;
-
-/**
- * The class {@code ClassUtils} represents set of tools for classes.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public class ClassUtils {
-
-    /**
-     * Provides type safe functionality of casting. Can be used only in case,
-     * if is casted a value which is direct type of the class (inheritance is not supported).
-     *
-     * @param value - value to be casted.
-     * @param castClass - class for casting.
-     * @param <T> - generic type of casting.
-     * @return casted value.
-     */
-    public static <T> T cast(Object value, Class<T> castClass) {
-        if (value == null) { return null; }
-        if (value.getClass().equals(castClass) ) {
-            return (T) value;
-        } else {
-            throw new ClassCastException(format("Value '%s' can not be cast to %s", value, castClass));
-        }
-    }
-}

+ 0 - 27
connector-common/src/main/java/cz/senslog/connector/util/LocalDateTimeUtils.java

@@ -1,27 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import static java.time.ZoneOffset.UTC;
-
-public final class LocalDateTimeUtils {
-
-    public static LocalDateTime valueOf(Object object) {
-
-        if (object == null) {
-            return null;
-        }
-
-        if (object instanceof LocalDateTime) {
-            return (LocalDateTime) object;
-        }
-
-        if (object instanceof Date) {
-            Date date = (Date) object;
-            return date.toInstant().atZone(UTC).toLocalDateTime();
-        }
-
-        return null;
-    }
-}

+ 0 - 14
connector-common/src/main/java/cz/senslog/connector/util/MethodExplorer.java

@@ -1,14 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.lang.reflect.Method;
-
-public final class MethodExplorer {
-
-    public  static Method loadMethod(Class<?> aClass, String name, Class<?>... parameterTypes) {
-        try {
-            return aClass.getMethod(name, parameterTypes);
-        } catch (NoSuchMethodException e) {
-            return null;
-        }
-    }
-}

+ 0 - 31
connector-common/src/main/java/cz/senslog/connector/util/Next.java

@@ -1,31 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.util.function.Consumer;
-import java.util.function.Function;
-
-/**
- * The interface {@code Next} provides right side of pipeline.
- * Pipeline can be ended by calling {@code Next#end} or can be chained by calling {@code Next#next}.
- *
- * @param <T> - generic type of consuming data
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public interface Next<T> {
-
-    /**
-     * Ends pipeline and consumes received data.
-     * @param end - consumer of received data.
-     */
-    void end(Consumer<T> end);
-
-    /**
-     * Provides chain for the pipeline. Parameter is function received data and provides new data.
-     * @param next - function consumes data and provides new data.
-     * @param <R> - generic type of new data.
-     * @return - new instance of {@link Pipe}.
-     */
-    <R> Pipe<R> next(Function<? super T, ? extends R> next);
-}

+ 0 - 33
connector-common/src/main/java/cz/senslog/connector/util/NextImpl.java

@@ -1,33 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.util.function.Consumer;
-import java.util.function.Function;
-
-/**
- * The class {@code NextImpl} represents implementation of {@link Next}.
- *
- * @param <R> - generic type of data.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-class NextImpl<R> implements Next<R> {
-
-    /** Received data from pipeline */
-    private final R data;
-
-    NextImpl(R data) {
-        this.data = data;
-    }
-
-    @Override
-    public void end(Consumer<R> end) {
-        end.accept(data);
-    }
-
-    @Override
-    public <T> Pipe<T> next(Function<? super R, ? extends T> next) {
-        return new PipeImpl<>(next.apply(data));
-    }
-}

+ 0 - 25
connector-common/src/main/java/cz/senslog/connector/util/NumberUtils.java

@@ -1,25 +0,0 @@
-package cz.senslog.connector.util;
-
-/**
- * The class {@code NumberUtils} represents set of tools for numbers.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public final class NumberUtils {
-
-    /**
-     * Converts Integer value to Float value. Uses functionality of {@see Float#valueOf}
-     * and is extended of null value checker.
-     * Example:
-     *          null    -> null
-     *          10      -> 10.0
-     *
-     * @param value - integer value.
-     * @return float value.
-     */
-    public static Float valueOf(Integer value) {
-        return value == null ? null : Float.valueOf(value);
-    }
-}

+ 0 - 20
connector-common/src/main/java/cz/senslog/connector/util/Pipe.java

@@ -1,20 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.util.function.Function;
-
-/**
- * The interface {@code Pipe} provides functionality of pipeline {@see Pipeline}.
- * The method {@code Pipe#pipe} represents character '|'.
- *
- * @param <T> - generic type of input data.
- */
-public interface Pipe<T> {
-
-    /**
-     * Converter represents '|' of idea of pipeline.
-     * @param mapper - converter for pipeline's flow.
-     * @param <R> - generic type of output data.
-     * @return new instance of {@link Next}.
-     */
-    <R> Next<R> pipe(Function<? super T, ? extends R> mapper);
-}

+ 0 - 27
connector-common/src/main/java/cz/senslog/connector/util/PipeImpl.java

@@ -1,27 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.util.function.Function;
-
-/**
- * The class {@code PipeImpl} represents implementation of {@link Pipe}.
- *
- * @param <T> - generic type of data.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-class PipeImpl<T> implements Pipe<T> {
-
-    /** Received data from pipeline */
-    private final T data;
-
-    PipeImpl(T data) {
-        this.data = data;
-    }
-
-    @Override
-    public <R> Next<R> pipe(Function<? super T, ? extends R> mapper) {
-        return new NextImpl<>(mapper.apply(data));
-    }
-}

+ 0 - 38
connector-common/src/main/java/cz/senslog/connector/util/Pipeline.java

@@ -1,38 +0,0 @@
-package cz.senslog.connector.util;
-
-import java.util.function.Supplier;
-
-/**
- * The interface {@code Pipeline} provides generic functionality of pipeline.
- * This interfaces creates start of a pipeline and provides {@link Pipe}.
- *
- * Idea of pipeline:
- *
- *  of | end
- *  of | next | end
- *  of | next | next | end
- *
- * Basic example:
- *
- *  Pipeline.of(<provide_data>).pipe(<convert_data>).end(<consume_data>);
- *
- *  Advanced example:
- *
- *  Pipeline.of(<provide_data>).pipe(<convert_data>).next(<consume_and_provide_new_data>).pipe(<convert_data>).end(<consume_data>);
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public interface Pipeline {
-
-    /**
-     * Start method of pipeline.
-     * @param start - supplier provides data.
-     * @param <T> - generic type of data.
-     * @return new instance of {@link Pipe}.
-     */
-    static <T> Pipe<T> of(Supplier<T> start) {
-        return new PipeImpl<>(start.get());
-    }
-}

+ 0 - 60
connector-common/src/main/java/cz/senslog/connector/util/StringUtils.java

@@ -1,60 +0,0 @@
-package cz.senslog.connector.util;
-
-/**
- * The class {@code StringUtils} represents set of tools for strings.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public final class StringUtils {
-
-    /**
-     * Test if input string is null or empty.
-     * Examples:
-     *          null -> true
-     *          ""   -> true
-     *          " "  -> false
-     *          "a"  -> false
-     *
-     * @param string - input string to test.
-     * @return boolean value.
-     */
-    public static boolean isEmpty(String string) {
-        return string == null || string.isEmpty();
-    }
-
-    /**
-     * Tests if input string is null, empty or contains white characters.
-     * Examples:
-     *          null   -> true
-     *          ""     -> true
-     *          " "    -> true
-     *          "    " -> true
-     *          "a"    -> false
-     *
-     * @param string - input string to test.
-     * @return boolean value.
-     */
-    public static boolean isBlank(String string) {
-        return string == null || string.replaceAll("\\s+","").isEmpty();
-    }
-
-    /**
-     *  Tests negative functionality of {@see StringUtils#isEmpty}.
-     * @param string - input string to test.
-     * @return boolean value.
-     */
-    public static boolean isNotEmpty(String string) {
-        return !isEmpty(string);
-    }
-
-    /**
-     *  Tests negative functionality of {@see StringUtils#isBlank}.
-     * @param string - input string to test.
-     * @return boolean value.
-     */
-    public static boolean isNotBlank(String string) {
-        return !isBlank(string);
-    }
-}

+ 0 - 63
connector-common/src/main/java/cz/senslog/connector/util/Triple.java

@@ -1,63 +0,0 @@
-package cz.senslog.connector.util;
-
-/**
- * The class {@code Triple} represents an accumulator for three values.
- * Each value can be in different type.
- *
- * @param <A> type of the first value.
- * @param <B> type of the second value.
- * @param <C> type of the third value.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public class Triple<A, B, C> {
-
-    /** First value. */
-    private final A item1;
-
-    /** Second value. */
-    private final B item2;
-
-    /** Third value. */
-    private final C item3;
-
-    /**
-     * Factory method to create a new instance.
-     * @param item1 first value.
-     * @param item2 second value.
-     * @param item3 third value.
-     * @param <A> type of the first value.
-     * @param <B> type of the second value.
-     * @param <C> type of the third value.
-     * @return new instance of {@code Triple}.
-     */
-    public static <A, B, C> Triple of(A item1, B item2, C item3) {
-        return new Triple<A, B, C>(item1, item2, item3);
-    }
-
-    /**
-     * Constructor of the class sets all attributes.
-     * @param item1 first value.
-     * @param item2 second value.
-     * @param item3 third value.
-     */
-    private Triple(A item1, B item2, C item3) {
-        this.item1 = item1;
-        this.item2 = item2;
-        this.item3 = item3;
-    }
-
-    public A getItem1() {
-        return item1;
-    }
-
-    public B getItem2() {
-        return item2;
-    }
-
-    public C getItem3() {
-        return item3;
-    }
-}

+ 0 - 51
connector-common/src/main/java/cz/senslog/connector/util/Tuple.java

@@ -1,51 +0,0 @@
-package cz.senslog.connector.util;
-
-/**
- * The class {@code Tuple} represents an accumulator for two values.
- * Each value can be in different type.
- *
- * @param <A> type of the first value.
- * @param <B> type of the second value.
- *
- * @author Lukas Cerny
- * @version 1.0
- * @since 1.0
- */
-public class Tuple<A, B> {
-
-    /** First value. */
-    private final A item1;
-
-    /** Second value */
-    private final B item2;
-
-    /**
-     * Factory method to create a new instance.
-     * @param item1 first value.
-     * @param item2 second value.
-     * @param <A> type of the first value.
-     * @param <B> type of the second value.
-     * @return new instance of {@code Tuple}.
-     */
-    public static <A, B> Tuple<A, B> of(A item1, B item2) {
-        return new Tuple<A, B>(item1, item2);
-    }
-
-    /**
-     * Constructor of the class sets all attributes.
-     * @param item1 first value.
-     * @param item2 second value.
-     */
-    private Tuple(A item1, B item2) {
-        this.item1 = item1;
-        this.item2 = item2;
-    }
-
-    public A getItem1() {
-        return item1;
-    }
-
-    public B getItem2() {
-        return item2;
-    }
-}

+ 0 - 35
connector-common/src/main/resources/log4j2.xml

@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Configuration xmlns="http://logging.apache.org/log4j/2.0/config" status="INFO">
-
-    <Properties>
-        <Property name="logPath">./</Property>
-    </Properties>
-
-    <Appenders>
-
-        <Console name="console" target="SYSTEM_OUT">
-            <PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n" />
-        </Console>
-
-        <RollingFile name="filebeat"
-                     fileName="${sys:logPath}/app.log"
-                     filePattern="${sys:logPath}/app.%i.log.gz"
-        >
-            <PatternLayout alwaysWriteExceptions="false"
-                    pattern='{"app.date":"%d{ISO8601}","app.thread":"%t","app.level":"%level","app.logger":"%logger:%L", "app.exception":"%enc{%ex}{JSON}", "app.message":"%msg"}%n'
-            />
-            <Policies>
-<!--                <TimeBasedTriggeringPolicy interval="1"/> &lt;!&ndash; Number of days for a log file &ndash;&gt;-->
-                <SizeBasedTriggeringPolicy size="10MB" />
-            </Policies>
-        </RollingFile>
-
-    </Appenders>
-    <Loggers>
-        <Logger name="cz.senslog" level="info" />
-        <Root level="info">
-            <AppenderRef ref="console" />
-            <AppenderRef ref="filebeat" />
-        </Root>
-    </Loggers>
-</Configuration>

+ 0 - 111
connector-common/src/test/java/cz/senslog/connector/http/URLBuilderTest.java

@@ -1,111 +0,0 @@
-package cz.senslog.connector.http;
-
-import org.junit.jupiter.api.Test;
-
-import java.net.URL;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-class URLBuilderTest {
-
-
-    @Test
-    void build_BasicUrl_True() {
-        URL url = URLBuilder.newBuilder("http://test.com").build();
-        assertEquals("http://test.com", url.toString());
-    }
-
-    @Test
-    void build_OneParam_True() {
-
-        URL url = URLBuilder.newBuilder("http://test.com")
-                .addParam("name", "value")
-                .build();
-
-        assertEquals("test.com", url.getHost());
-        assertEquals("http://test.com?name=value", url.toString());
-    }
-
-    @Test
-    void build_TwoParams_True() {
-
-        URL url = URLBuilder.newBuilder("http://test.com")
-                .addParam("first", "value")
-                .addParam("second", "value")
-                .build();
-
-        assertEquals("test.com", url.getHost());
-        assertEquals("http://test.com?first=value&second=value", url.toString());
-    }
-
-    @Test
-    void build_EndUrlSlash_True() {
-
-        URL url = URLBuilder.newBuilder("http://test.com/").build();
-        assertEquals("http://test.com", url.toString());
-    }
-
-    @Test
-    void build_OneParamAndUrlEndSlash_True() {
-
-        URL url = URLBuilder.newBuilder("http://test.com/")
-                .addParam("name", "value")
-                .build();
-
-        assertEquals("test.com", url.getHost());
-        assertEquals("http://test.com?name=value", url.toString());
-    }
-
-    @Test
-    void build_UrlEndSlashAndDomainBeginSlash_True() {
-
-        URL url = URLBuilder.newBuilder("http://test.com/", "/test").build();
-        assertEquals("http://test.com/test", url.toString());
-    }
-
-    @Test
-    void build_UrlEndSlash_True() {
-        URL url = URLBuilder.newBuilder("http://test.com/", "test").build();
-        assertEquals("http://test.com/test", url.toString());
-    }
-
-    @Test
-    void build_DomainBeginSlash_True() {
-        URL url = URLBuilder.newBuilder("http://test.com", "/test").build();
-        assertEquals("http://test.com/test", url.toString());
-    }
-
-    @Test
-    void build_WithoutSlash_True() {
-        URL url = URLBuilder.newBuilder("http://test.com", "test").build();
-        assertEquals("http://test.com/test", url.toString());
-    }
-
-    @Test
-    void build_OneParamAndUrlEndSlashAndDomainBeginSlash_True() {
-        URL url = URLBuilder.newBuilder("http://test.com/", "/test/")
-                .addParam("name", "value")
-                .build();
-        assertEquals("http://test.com/test?name=value", url.toString());
-    }
-
-    @Test
-    void build_OneObjectParam_True() {
-
-        URL url = URLBuilder.newBuilder("http://test.com")
-                .addParam("number", 42)
-                .build();
-
-        assertEquals("test.com", url.getHost());
-        assertEquals("http://test.com?number=42", url.toString());
-    }
-
-    @Test
-    void build_UnsupportedUrl_IllegalArgumentException() {
-
-        URLBuilder builder = URLBuilder.newBuilder("unsupported_url");
-
-        assertThrows(IllegalArgumentException.class, builder::build);
-    }
-}

+ 0 - 26
connector-common/src/test/java/cz/senslog/connector/util/ClassUtilsTest.java

@@ -1,26 +0,0 @@
-package cz.senslog.connector.util;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class ClassUtilsTest {
-
-    @Test
-    void cast_SupportedCast_True() {
-
-        Object stringObj = "test";
-
-        String string = ClassUtils.cast(stringObj, String.class);
-
-        assertEquals("test", string);
-    }
-
-    @Test
-    void cast_UnsupportedCast_Exception() {
-
-        Object numberObj = "1";
-
-        assertThrows(ClassCastException.class, () -> ClassUtils.cast(numberObj, Integer.class));
-    }
-}

+ 0 - 40
connector-common/src/test/java/cz/senslog/connector/util/LocalDateTimeUtilsTest.java

@@ -1,40 +0,0 @@
-package cz.senslog.connector.util;
-
-import org.junit.jupiter.api.Test;
-
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import static java.time.ZoneOffset.UTC;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
-class LocalDateTimeUtilsTest {
-
-    @Test
-    void valueOf_LocalDateTimeToLocalDateTime_True() {
-
-        LocalDateTime input = LocalDateTime.MIN;
-
-        LocalDateTime result = LocalDateTimeUtils.valueOf(input);
-
-        assertEquals(LocalDateTime.MIN, result);
-    }
-
-    @Test
-    void valueOf_DateToLocalDateTime_True() {
-
-        LocalDateTime date = LocalDateTime.of(1970, 1, 1, 0, 0, 0);
-        Date input = Date.from(date.atZone(UTC).toInstant());
-
-        LocalDateTime result = LocalDateTimeUtils.valueOf(input);
-
-        assertEquals(date, result);
-    }
-
-    @Test
-    void valueOf_NullToLocalDateTime_Null() {
-
-        assertNull(LocalDateTimeUtils.valueOf(null));
-    }
-}

+ 0 - 28
connector-common/src/test/java/cz/senslog/connector/util/NumberUtilsTest.java

@@ -1,28 +0,0 @@
-package cz.senslog.connector.util;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class NumberUtilsTest {
-
-    @Test
-    void valueOf_IntegerToFloat_Float() {
-
-        Integer input = 10;
-
-        Float result = NumberUtils.valueOf(input);
-
-        assertEquals(10, result);
-    }
-
-    @Test
-    void valueOf_IntegerToNull_Null() {
-
-        Integer input = null;
-
-        Float result = NumberUtils.valueOf(input);
-
-        assertNull(result);
-    }
-}

+ 0 - 29
connector-common/src/test/java/cz/senslog/connector/util/PipelineTest.java

@@ -1,29 +0,0 @@
-package cz.senslog.connector.util;
-
-import org.junit.jupiter.api.Test;
-
-import java.util.function.Consumer;
-import java.util.function.Function;
-import java.util.function.Supplier;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-class PipelineTest {
-
-
-    @Test
-    void testPipe() {
-
-        Supplier<Integer> producer = () -> 42;
-        Function<Integer, Integer> converter = num -> num * 2;
-        Function<Integer, Integer> stepConsumer = num -> num + 16;
-        Consumer<Integer> endConsumer = num -> {throw new NumberFormatException(num.toString());};
-
-        // ((42 * 2) + 16 ) * 2 = 200
-        NumberFormatException exception = assertThrows(NumberFormatException.class,
-                () -> Pipeline.of(producer).pipe(converter).next(stepConsumer).pipe(converter).end(endConsumer));
-
-        assertEquals("200", exception.getMessage());
-    }
-}

+ 0 - 36
connector-common/src/test/java/cz/senslog/connector/util/StringUtilsTest.java

@@ -1,36 +0,0 @@
-package cz.senslog.connector.util;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class StringUtilsTest {
-
-    @Test
-    void isEmpty() {
-        assertTrue(StringUtils.isEmpty(""));
-        assertTrue(StringUtils.isEmpty(null));
-        assertFalse(StringUtils.isEmpty(" "));
-        assertFalse(StringUtils.isEmpty("a"));
-    }
-
-    @Test
-    void isBlank() {
-        assertTrue(StringUtils.isBlank(""));
-        assertTrue(StringUtils.isBlank(null));
-        assertTrue(StringUtils.isBlank(" "));
-        assertTrue(StringUtils.isBlank("   "));
-        assertTrue(StringUtils.isBlank("        "));
-        assertFalse(StringUtils.isBlank("a"));
-    }
-
-    @Test
-    void isNotEmpty() {
-        assertTrue(StringUtils.isNotEmpty("a"));
-    }
-
-    @Test
-    void isNotBlank() {
-        assertTrue(StringUtils.isNotBlank("a"));
-    }
-}

+ 0 - 18
connector-common/src/test/java/cz/senslog/connector/util/TripleTest.java

@@ -1,18 +0,0 @@
-package cz.senslog.connector.util;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class TripleTest {
-
-    @Test
-    void of_ValidParams_True() {
-
-        Triple input = Triple.of("test4", 42, "test2");
-
-        assertEquals("test4", input.getItem1());
-        assertEquals(42, input.getItem2());
-        assertEquals("test2", input.getItem3());
-    }
-}

+ 0 - 17
connector-common/src/test/java/cz/senslog/connector/util/TupleTest.java

@@ -1,17 +0,0 @@
-package cz.senslog.connector.util;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class TupleTest {
-
-    @Test
-    void of_ValidParams_True() {
-
-        Tuple input = Tuple.of("test", 42);
-
-        assertEquals("test", input.getItem1());
-        assertEquals(42, input.getItem2());
-    }
-}

+ 2 - 2
connector-fetch-api/pom.xml

@@ -17,8 +17,8 @@
     <dependencies>
         <dependency>
             <groupId>cz.senslog</groupId>
-            <artifactId>connector-common</artifactId>
-            <version>${project.parent.version}</version>
+            <artifactId>common</artifactId>
+            <version>1.0.0</version>
         </dependency>
         <dependency>
             <groupId>cz.senslog</groupId>

+ 1 - 1
connector-fetch-api/src/main/java/cz/senslog/connector/fetch/api/ConnectorFetchProvider.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.fetch.api;
 
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 
 /**
  * The interface {@code ConnectorFetchProvider} provides a generic communication interface to create a new fetcher.

+ 1 - 1
connector-fetch-api/src/main/java/cz/senslog/connector/fetch/api/ExecutableFetcher.java

@@ -5,7 +5,7 @@ import cz.senslog.connector.model.api.ProxySessionModel;
 
 import java.util.Optional;
 
-import static cz.senslog.connector.interceptor.ProxyUtils.createProxy;
+import static cz.senslog.common.interceptor.ProxyUtils.createProxy;
 
 public class ExecutableFetcher<T extends AbstractModel> {
 

+ 2 - 2
connector-fetch-api/src/main/java/cz/senslog/connector/fetch/api/FetchProxySession.java

@@ -1,12 +1,12 @@
 package cz.senslog.connector.fetch.api;
 
-import cz.senslog.connector.interceptor.AbstractMethodInterceptor;
+import cz.senslog.common.interceptor.AbstractMethodInterceptor;
 import cz.senslog.connector.model.api.AbstractModel;
 import cz.senslog.connector.model.api.ProxySessionModel;
 
 import java.util.Optional;
 
-import static cz.senslog.connector.util.MethodExplorer.loadMethod;
+import static cz.senslog.common.util.MethodExplorer.loadMethod;
 import static java.util.Optional.*;
 
 public abstract class FetchProxySession<S extends ProxySessionModel, T extends AbstractModel> extends AbstractMethodInterceptor {

+ 2 - 2
connector-fetch-azure/pom.xml

@@ -22,8 +22,8 @@
         </dependency>
         <dependency>
             <groupId>cz.senslog</groupId>
-            <artifactId>connector-common</artifactId>
-            <version>${project.parent.version}</version>
+            <artifactId>common</artifactId>
+            <version>1.0.0</version>
         </dependency>
     </dependencies>
 

+ 3 - 3
connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/AzureConfig.java

@@ -1,12 +1,12 @@
 package cz.senslog.connector.fetch.azure;
 
-import cz.senslog.connector.config.model.DefaultConfig;
-import cz.senslog.connector.config.model.HostConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.connector.model.config.HostConfig;
 import cz.senslog.connector.fetch.azure.auth.AzureAuthConfig;
 
 import java.time.LocalDateTime;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code AzureConfig} represents a configuration class for the {@link AzureFetcher}.

+ 11 - 11
connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/AzureFetcher.java

@@ -1,16 +1,16 @@
 package cz.senslog.connector.fetch.azure;
 
 import com.google.gson.reflect.TypeToken;
-import cz.senslog.connector.config.model.HostConfig;
-import cz.senslog.connector.exception.ModuleInterruptedException;
-import cz.senslog.connector.exception.SyntaxException;
+import cz.senslog.connector.model.config.HostConfig;
+import cz.senslog.common.exception.ModuleInterruptedException;
+import cz.senslog.common.exception.SyntaxException;
 import cz.senslog.connector.fetch.api.ConnectorFetcher;
 import cz.senslog.connector.fetch.azure.auth.AzureAuthenticationService;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
-import cz.senslog.connector.http.URLBuilder;
-import cz.senslog.connector.json.JsonSchema;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.common.http.HttpResponse;
+import cz.senslog.common.http.URLBuilder;
+import cz.senslog.common.json.JsonSchema;
 import cz.senslog.connector.model.api.ProxySessionModel;
 import cz.senslog.connector.model.azure.AzureModel;
 import cz.senslog.connector.model.azure.SensorData;
@@ -22,9 +22,9 @@ import java.lang.reflect.Type;
 import java.time.LocalDateTime;
 import java.util.*;
 
-import static cz.senslog.connector.http.HttpHeader.AUTHORIZATION;
-import static cz.senslog.connector.json.BasicJson.jsonToObject;
-import static cz.senslog.connector.util.StringUtils.isBlank;
+import static cz.senslog.common.http.HttpHeader.AUTHORIZATION;
+import static cz.senslog.common.json.BasicJson.jsonToObject;
+import static cz.senslog.common.util.StringUtils.isBlank;
 import static java.lang.String.format;
 import static java.time.format.DateTimeFormatter.ISO_DATE_TIME;
 import static java.util.Collections.emptyList;

+ 2 - 2
connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/ConnectorFetchAzureProvider.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.fetch.azure;
 
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.fetch.api.ConnectorFetchProvider;
 import cz.senslog.connector.fetch.api.ConnectorFetcher;
 import cz.senslog.connector.fetch.api.ExecutableFetcher;
@@ -11,7 +11,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
 import static cz.senslog.connector.fetch.azure.auth.AzureAuthenticationService.newAuthService;
-import static cz.senslog.connector.http.HttpClient.newHttpClient;
+import static cz.senslog.common.http.HttpClient.newHttpClient;
 
 /**
  * The class {@code ConnectorFetchAzureProvider} represents a concrete implementation of {@link ConnectorFetchProvider}.

+ 2 - 2
connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/auth/AzureAuthConfig.java

@@ -1,7 +1,7 @@
 package cz.senslog.connector.fetch.azure.auth;
 
-import cz.senslog.connector.config.model.HostConfig;
-import cz.senslog.connector.config.model.PropertyConfig;
+import cz.senslog.connector.model.config.HostConfig;
+import cz.senslog.connector.model.config.PropertyConfig;
 
 import java.util.Optional;
 

+ 9 - 9
connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/auth/AzureAuthenticationService.java

@@ -1,12 +1,12 @@
 package cz.senslog.connector.fetch.azure.auth;
 
 import com.google.gson.reflect.TypeToken;
-import cz.senslog.connector.config.model.HostConfig;
-import cz.senslog.connector.exception.SyntaxException;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
-import cz.senslog.connector.http.URLBuilder;
+import cz.senslog.connector.model.config.HostConfig;
+import cz.senslog.common.exception.SyntaxException;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.common.http.HttpResponse;
+import cz.senslog.common.http.URLBuilder;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -16,9 +16,9 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
-import static cz.senslog.connector.http.HttpCode.UNAUTHORIZED;
-import static cz.senslog.connector.json.BasicJson.jsonToObject;
-import static cz.senslog.connector.util.StringUtils.isNotBlank;
+import static cz.senslog.common.http.HttpCode.UNAUTHORIZED;
+import static cz.senslog.common.json.BasicJson.jsonToObject;
+import static cz.senslog.common.util.StringUtils.isNotBlank;
 import static java.time.format.DateTimeFormatter.ISO_DATE_TIME;
 
 /**

+ 1 - 1
connector-fetch-azure/src/main/java/cz/senslog/connector/fetch/azure/auth/AzureAuthorizationInfo.java

@@ -2,7 +2,7 @@ package cz.senslog.connector.fetch.azure.auth;
 
 import java.time.LocalDateTime;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code AzureAuthorizationInfo} represents a transfer object of authorization information.

+ 2 - 2
connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/AzureConfigTest.java

@@ -1,12 +1,12 @@
 package cz.senslog.connector.fetch.azure;
 
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 import org.junit.jupiter.api.Test;
 
 import java.time.LocalDateTime;
 import java.util.HashMap;
 
-import static cz.senslog.connector.json.BasicJson.jsonToObject;
+import static cz.senslog.common.json.BasicJson.jsonToObject;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 

+ 7 - 7
connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/AzureFetcherTest.java

@@ -2,12 +2,12 @@
 package cz.senslog.connector.fetch.azure;
 
 
-import cz.senslog.connector.config.model.HostConfig;
+import cz.senslog.connector.model.config.HostConfig;
 import cz.senslog.connector.fetch.azure.auth.AzureAuthenticationService;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpCode;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpCode;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.common.http.HttpResponse;
 import cz.senslog.connector.model.azure.AzureModel;
 import cz.senslog.connector.model.azure.SensorData;
 import cz.senslog.connector.model.azure.SensorInfo;
@@ -20,8 +20,8 @@ import java.time.ZonedDateTime;
 import java.util.ArrayList;
 import java.util.List;
 
-import static cz.senslog.connector.http.HttpCode.SERVER_ERROR;
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.http.HttpCode.SERVER_ERROR;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;

+ 1 - 1
connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/ConnectorFetchAzureProviderTest.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.fetch.azure;
 
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.fetch.api.ConnectorFetchProvider;
 import cz.senslog.connector.fetch.api.ExecutableFetcher;
 import org.junit.jupiter.api.Test;

+ 6 - 6
connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/auth/AzureAuthenticationServiceTest.java

@@ -1,10 +1,10 @@
 package cz.senslog.connector.fetch.azure.auth;
 
-import cz.senslog.connector.config.model.DefaultConfig;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpCode;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpCode;
+import cz.senslog.common.http.HttpResponse;
 import org.junit.jupiter.api.Test;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
@@ -15,7 +15,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;

+ 1 - 1
connector-fetch-azure/src/test/java/cz/senslog/connector/fetch/azure/auth/AzureAuthorizationInfoTest.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.fetch.azure.auth;
 
-import cz.senslog.connector.json.BasicJson;
+import cz.senslog.common.json.BasicJson;
 import org.junit.jupiter.api.Test;
 
 import java.time.LocalDateTime;

+ 2 - 2
connector-fetch-fieldclimate/pom.xml

@@ -22,8 +22,8 @@
         </dependency>
         <dependency>
             <groupId>cz.senslog</groupId>
-            <artifactId>connector-common</artifactId>
-            <version>${project.parent.version}</version>
+            <artifactId>common</artifactId>
+            <version>1.0.0</version>
         </dependency>
     </dependencies>
 

+ 3 - 3
connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/ConnectorFetchFieldClimateProvider.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.fetch.fieldclimate;
 
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.fetch.api.*;
 import cz.senslog.connector.fetch.fieldclimate.auth.AuthConfig;
 import cz.senslog.connector.fetch.fieldclimate.auth.AuthenticationService;
@@ -8,8 +8,8 @@ import cz.senslog.connector.model.fieldclimate.FieldClimateModel;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
-import static cz.senslog.connector.http.HttpClient.newHttpClient;
-import static cz.senslog.connector.http.HttpClient.newHttpSSLClient;
+import static cz.senslog.common.http.HttpClient.newHttpClient;
+import static cz.senslog.common.http.HttpClient.newHttpSSLClient;
 
 
 public final class ConnectorFetchFieldClimateProvider implements ConnectorFetchProvider {

+ 2 - 2
connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateConfig.java

@@ -1,7 +1,7 @@
 package cz.senslog.connector.fetch.fieldclimate;
 
-import cz.senslog.connector.config.model.DefaultConfig;
-import cz.senslog.connector.config.model.HostConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.connector.model.config.HostConfig;
 import cz.senslog.connector.fetch.fieldclimate.auth.AuthConfig;
 
 import java.time.LocalDateTime;

+ 13 - 13
connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateFetcher.java

@@ -1,20 +1,20 @@
 package cz.senslog.connector.fetch.fieldclimate;
 
 import com.google.gson.reflect.TypeToken;
-import cz.senslog.connector.config.model.HostConfig;
-import cz.senslog.connector.exception.ParseException;
-import cz.senslog.connector.exception.SyntaxException;
+import cz.senslog.connector.model.config.HostConfig;
+import cz.senslog.common.exception.ParseException;
+import cz.senslog.common.exception.SyntaxException;
 import cz.senslog.connector.fetch.api.ConnectorFetcher;
 import cz.senslog.connector.fetch.fieldclimate.auth.AuthenticationService;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
-import cz.senslog.connector.http.URLBuilder;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.common.http.HttpResponse;
+import cz.senslog.common.http.URLBuilder;
 import cz.senslog.connector.model.api.ProxySessionModel;
 import cz.senslog.connector.model.fieldclimate.FieldClimateModel;
 import cz.senslog.connector.model.fieldclimate.StationData;
 import cz.senslog.connector.model.fieldclimate.StationInfo;
-import cz.senslog.connector.util.Tuple;
+import cz.senslog.common.util.Tuple;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -22,11 +22,11 @@ import java.lang.reflect.Type;
 import java.time.LocalDateTime;
 import java.util.*;
 
-import static cz.senslog.connector.http.ContentType.APPLICATION_JSON;
-import static cz.senslog.connector.http.HttpHeader.*;
-import static cz.senslog.connector.http.HttpMethod.GET;
-import static cz.senslog.connector.json.BasicJson.jsonToObject;
-import static cz.senslog.connector.util.StringUtils.isBlank;
+import static cz.senslog.common.http.ContentType.APPLICATION_JSON;
+import static cz.senslog.common.http.HttpHeader.*;
+import static cz.senslog.common.http.HttpMethod.GET;
+import static cz.senslog.common.json.BasicJson.jsonToObject;
+import static cz.senslog.common.util.StringUtils.isBlank;
 import static java.lang.String.format;
 import static java.time.ZoneOffset.UTC;
 import static java.time.format.DateTimeFormatter.ISO_DATE_TIME;

+ 7 - 7
connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateProxySession.java

@@ -1,15 +1,15 @@
 package cz.senslog.connector.fetch.fieldclimate;
 
 import com.google.gson.reflect.TypeToken;
-import cz.senslog.connector.config.model.HostConfig;
+import cz.senslog.connector.model.config.HostConfig;
 import cz.senslog.connector.fetch.api.ConnectorFetcher;
 import cz.senslog.connector.fetch.api.FetchProxySession;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
-import cz.senslog.connector.http.URLBuilder;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.common.http.HttpResponse;
+import cz.senslog.common.http.URLBuilder;
 import cz.senslog.connector.model.fieldclimate.FieldClimateModel;
-import cz.senslog.connector.util.Tuple;
+import cz.senslog.common.util.Tuple;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -21,7 +21,7 @@ import java.util.List;
 import java.util.Optional;
 
 import static cz.senslog.connector.fetch.fieldclimate.FieldClimateSession.emptySession;
-import static cz.senslog.connector.json.BasicJson.jsonToObject;
+import static cz.senslog.common.json.BasicJson.jsonToObject;
 import static cz.senslog.connector.model.converter.FieldClimateUnitConverter.convertIdToFieldClimateId;
 import static java.time.ZonedDateTime.parse;
 import static java.time.format.DateTimeFormatter.ofPattern;

+ 2 - 2
connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateSessionProxyConfig.java

@@ -1,7 +1,7 @@
 package cz.senslog.connector.fetch.fieldclimate;
 
-import cz.senslog.connector.config.model.HostConfig;
-import cz.senslog.connector.config.model.PropertyConfig;
+import cz.senslog.connector.model.config.HostConfig;
+import cz.senslog.connector.model.config.PropertyConfig;
 
 public class FieldClimateSessionProxyConfig {
 

+ 1 - 1
connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/StationTimeRange.java

@@ -2,7 +2,7 @@ package cz.senslog.connector.fetch.fieldclimate;
 
 import java.time.LocalDateTime;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 public class StationTimeRange {
 

+ 1 - 1
connector-fetch-fieldclimate/src/main/java/cz/senslog/connector/fetch/fieldclimate/auth/AuthConfig.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.fetch.fieldclimate.auth;
 
-import cz.senslog.connector.config.model.PropertyConfig;
+import cz.senslog.connector.model.config.PropertyConfig;
 
 /**
  * The class {@code AuthConfig} represents a configuration class for the {@link AuthenticationService}.

+ 6 - 6
connector-fetch-fieldclimate/src/test/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateFetcherTest.java

@@ -1,10 +1,10 @@
 package cz.senslog.connector.fetch.fieldclimate;
 
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.fetch.fieldclimate.auth.AuthenticationService;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.common.http.HttpResponse;
 import cz.senslog.connector.model.fieldclimate.FieldClimateModel;
 import cz.senslog.connector.model.fieldclimate.SensorDataInfo;
 import cz.senslog.connector.model.fieldclimate.StationData;
@@ -20,8 +20,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-import static cz.senslog.connector.http.HttpCode.OK;
-import static cz.senslog.connector.http.HttpCode.SERVER_ERROR;
+import static cz.senslog.common.http.HttpCode.OK;
+import static cz.senslog.common.http.HttpCode.SERVER_ERROR;
 import static java.lang.String.format;
 import static java.time.format.DateTimeFormatter.ofPattern;
 import static java.util.Collections.emptyList;

+ 6 - 6
connector-fetch-fieldclimate/src/test/java/cz/senslog/connector/fetch/fieldclimate/FieldClimateProxySessionTest.java

@@ -3,11 +3,11 @@ package cz.senslog.connector.fetch.fieldclimate;
 import com.google.gson.Gson;
 import com.google.gson.JsonPrimitive;
 import com.google.gson.JsonSerializer;
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.fetch.api.ExecutableFetcher;
-import cz.senslog.connector.http.HttpClient;
-import cz.senslog.connector.http.HttpRequest;
-import cz.senslog.connector.http.HttpResponse;
+import cz.senslog.common.http.HttpClient;
+import cz.senslog.common.http.HttpRequest;
+import cz.senslog.common.http.HttpResponse;
 import cz.senslog.connector.model.fieldclimate.FieldClimateModel;
 import cz.senslog.connector.model.fieldclimate.StationData;
 import org.junit.jupiter.api.BeforeEach;
@@ -19,8 +19,8 @@ import java.time.ZonedDateTime;
 import java.util.HashMap;
 import java.util.Optional;
 
-import static cz.senslog.connector.http.HttpCode.OK;
-import static cz.senslog.connector.http.HttpCode.SERVER_ERROR;
+import static cz.senslog.common.http.HttpCode.OK;
+import static cz.senslog.common.http.HttpCode.SERVER_ERROR;
 import static cz.senslog.connector.model.converter.FieldClimateUnitConverter.convertIdToFieldClimateId;
 import static java.time.ZoneOffset.UTC;
 import static java.time.format.DateTimeFormatter.ofPattern;

+ 2 - 2
connector-model/pom.xml

@@ -16,8 +16,8 @@
     <dependencies>
         <dependency>
             <groupId>cz.senslog</groupId>
-            <artifactId>connector-common</artifactId>
-            <version>${project.parent.version}</version>
+            <artifactId>common</artifactId>
+            <version>1.0.0</version>
         </dependency>
     </dependencies>
 </project>

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/azure/SensorData.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.model.azure;
 
-import cz.senslog.connector.util.NumberUtils;
+import cz.senslog.common.util.NumberUtils;
 import org.apache.logging.log4j.util.BiConsumer;
 
 import java.time.ZonedDateTime;

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/azure/SensorInfo.java

@@ -3,7 +3,7 @@ package cz.senslog.connector.model.azure;
 import java.time.LocalDateTime;
 import java.util.List;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 import static java.lang.Boolean.TRUE;
 import static java.util.Collections.emptyList;
 

+ 2 - 2
connector-common/src/main/java/cz/senslog/connector/config/model/ConnectorDescriptor.java → connector-model/src/main/java/cz/senslog/connector/model/config/ConnectorDescriptor.java

@@ -1,6 +1,6 @@
-package cz.senslog.connector.config.model;
+package cz.senslog.connector.model.config;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code ConnectorDescriptor} represents a configuration class for a connector.

+ 1 - 1
connector-common/src/main/java/cz/senslog/connector/config/model/DefaultConfig.java → connector-model/src/main/java/cz/senslog/connector/model/config/DefaultConfig.java

@@ -1,4 +1,4 @@
-package cz.senslog.connector.config.model;
+package cz.senslog.connector.model.config;
 
 /**
  * The class {@code DefaultConfig} represents a major configuration class for all providers.

+ 2 - 2
connector-common/src/main/java/cz/senslog/connector/config/model/HostConfig.java → connector-model/src/main/java/cz/senslog/connector/model/config/HostConfig.java

@@ -1,6 +1,6 @@
-package cz.senslog.connector.config.model;
+package cz.senslog.connector.model.config;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code HostConfig} represents a configuration class.

+ 4 - 4
connector-common/src/main/java/cz/senslog/connector/config/model/PropertyConfig.java → connector-model/src/main/java/cz/senslog/connector/model/config/PropertyConfig.java

@@ -1,8 +1,8 @@
-package cz.senslog.connector.config.model;
+package cz.senslog.connector.model.config;
 
-import cz.senslog.connector.exception.PropertyNotFoundException;
-import cz.senslog.connector.util.ClassUtils;
-import cz.senslog.connector.util.LocalDateTimeUtils;
+import cz.senslog.common.exception.PropertyNotFoundException;
+import cz.senslog.common.util.ClassUtils;
+import cz.senslog.common.util.LocalDateTimeUtils;
 
 import java.time.LocalDateTime;
 import java.util.HashMap;

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/fieldclimate/SensorDataInfo.java

@@ -2,7 +2,7 @@ package cz.senslog.connector.model.fieldclimate;
 
 import java.util.Map;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 public class SensorDataInfo {
 

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/fieldclimate/StationData.java

@@ -3,7 +3,7 @@ package cz.senslog.connector.model.fieldclimate;
 import java.util.List;
 import java.util.Map;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 public class StationData {
 

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/fieldclimate/StationInfo.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.model.fieldclimate;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 public class StationInfo {
 

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/v1/Observation.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.model.v1;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code Observation} represents a record for Senslog V1.

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/v1/Position.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.model.v1;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code Position} represents a record of position for Senslog V1.

+ 1 - 1
connector-model/src/main/java/cz/senslog/connector/model/v2/Observation.java

@@ -2,7 +2,7 @@ package cz.senslog.connector.model.v2;
 
 import java.time.LocalDateTime;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code Observation} represents a record for Senslog V2.

+ 2 - 2
connector-common/src/test/java/cz/senslog/connector/config/model/ConnectorDescriptorTest.java → connector-model/src/test/java/cz/senslog/connector/model/config/ConnectorDescriptorTest.java

@@ -1,8 +1,8 @@
-package cz.senslog.connector.config.model;
+package cz.senslog.connector.model.config;
 
 import org.junit.jupiter.api.Test;
 
-import static cz.senslog.connector.json.BasicJson.jsonToObject;
+import static cz.senslog.common.json.BasicJson.jsonToObject;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class ConnectorDescriptorTest {

+ 2 - 3
connector-common/src/test/java/cz/senslog/connector/config/api/DefaultConfigTest.java → connector-model/src/test/java/cz/senslog/connector/model/config/DefaultConfigTest.java

@@ -1,9 +1,8 @@
-package cz.senslog.connector.config.api;
+package cz.senslog.connector.model.config;
 
-import cz.senslog.connector.config.model.DefaultConfig;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class DefaultConfigTest {
 

+ 3 - 3
connector-common/src/test/java/cz/senslog/connector/config/model/HostConfigTest.java → connector-model/src/test/java/cz/senslog/connector/model/config/HostConfigTest.java

@@ -1,8 +1,8 @@
-package cz.senslog.connector.config.model;
+package cz.senslog.connector.model.config;
 
+import cz.senslog.common.json.BasicJson;
 import org.junit.jupiter.api.Test;
 
-import static cz.senslog.connector.json.BasicJson.jsonToObject;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 class HostConfigTest {
@@ -11,7 +11,7 @@ class HostConfigTest {
     void toString_ConvertJson_True() {
 
         String jsonConfig = new HostConfig("http://test.com", "test").toString();
-        HostConfig config = jsonToObject(jsonConfig, HostConfig.class);
+        HostConfig config = BasicJson.jsonToObject(jsonConfig, HostConfig.class);
 
         assertEquals("http://test.com", config.getDomain());
         assertEquals("test", config.getPath());

+ 2 - 2
connector-common/src/test/java/cz/senslog/connector/config/model/PropertyConfigTest.java → connector-model/src/test/java/cz/senslog/connector/model/config/PropertyConfigTest.java

@@ -1,6 +1,6 @@
-package cz.senslog.connector.config.model;
+package cz.senslog.connector.model.config;
 
-import cz.senslog.connector.exception.PropertyNotFoundException;
+import cz.senslog.common.exception.PropertyNotFoundException;
 import org.junit.jupiter.api.Test;
 
 import java.time.LocalDate;

+ 2 - 2
connector-push-api/pom.xml

@@ -17,8 +17,8 @@
     <dependencies>
         <dependency>
             <groupId>cz.senslog</groupId>
-            <artifactId>connector-common</artifactId>
-            <version>${project.parent.version}</version>
+            <artifactId>common</artifactId>
+            <version>1.0.0</version>
         </dependency>
         <dependency>
             <groupId>cz.senslog</groupId>

+ 1 - 1
connector-push-api/src/main/java/cz/senslog/connector/push/api/ConnectorPushProvider.java

@@ -1,6 +1,6 @@
 package cz.senslog.connector.push.api;
 
-import cz.senslog.connector.config.model.DefaultConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
 import cz.senslog.connector.push.ConnectorPush;
 
 /**

+ 2 - 2
connector-push-rest-senslog-v1/pom.xml

@@ -17,8 +17,8 @@
     <dependencies>
         <dependency>
             <groupId>cz.senslog</groupId>
-            <artifactId>connector-common</artifactId>
-            <version>${project.parent.version}</version>
+            <artifactId>common</artifactId>
+            <version>1.0.0</version>
         </dependency>
         <dependency>
             <groupId>cz.senslog</groupId>

+ 3 - 3
connector-push-rest-senslog-v1/src/main/java/cz/senslog/connector/push/rest/senslog/v1/SenslogV1Config.java

@@ -1,9 +1,9 @@
 package cz.senslog.connector.push.rest.senslog.v1;
 
-import cz.senslog.connector.config.model.DefaultConfig;
-import cz.senslog.connector.config.model.HostConfig;
+import cz.senslog.connector.model.config.DefaultConfig;
+import cz.senslog.connector.model.config.HostConfig;
 
-import static cz.senslog.connector.json.BasicJson.objectToJson;
+import static cz.senslog.common.json.BasicJson.objectToJson;
 
 /**
  * The class {@code SenslogV1Config} represents a configuration class for the {@link SenslogV1Pusher}.

Неке датотеке нису приказане због велике количине промена