diff --git a/README.md b/README.md index e8d5f696d5935a9077dc75f99eaab99360cd336e..90f82c95e84317ee9a5ccde4b190c302292e153d 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,6 @@ See the projects' module documentation for more specific information: * [API Module ](api/README.md) * [Core Module ](core/README.md) * [Client Module ](client/README.md) -* [Open-API Module ](open-api/README.md) ### Setup @@ -61,7 +60,7 @@ _The following steps show how to get the SDK running_ ``` 4. Build the project ```sh - mvn clean install + mvn clean install -DskipTests ``` 5. Enter your API keys and references to your private decryption key in `config.yml` diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java index 660d7209fe7c9662b66031fd2f9809c370999aa3..efa8b31810cabba94c43ecadfd10815b5b3ab215 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum AlgEnum { PS512("PS512"), @@ -27,11 +29,9 @@ public enum AlgEnum { @JsonCreator public static AlgEnum fromValue(final String value) { - for (final AlgEnum algEnum : AlgEnum.values()) { - if (algEnum.value.equals(value)) { - return algEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(AlgEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java index 4a4d8345a5da4b127629d3bcb181a160cf305f42..dc447ae3f0a55fdd6b8e60cf0413902be491825d 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum EEnum { AQAB("AQAB"); @@ -25,11 +27,9 @@ public enum EEnum { @JsonCreator public static EEnum fromValue(final String value) { - for (final EEnum eEnum : EEnum.values()) { - if (eEnum.value.equals(value)) { - return eEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(EEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java index 211734e90db7042ffc794bd7c9acf3796de9c873..455ff64f203030ffe7c3a04b6878d72030805b26 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum KeyOpsEnum { VERIFY("verify"), @@ -27,11 +29,9 @@ public enum KeyOpsEnum { @JsonCreator public static KeyOpsEnum fromValue(final String value) { - for (final KeyOpsEnum keyOpsEnum : KeyOpsEnum.values()) { - if (keyOpsEnum.value.equals(value)) { - return keyOpsEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(KeyOpsEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java index a9a65a8874b1f70c9dcabac7883f4c4db6895290..b422d165aa8141aac80aadc279640f24add77e61 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java @@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; + public enum KtyEnum { RSA("RSA"); @@ -25,11 +27,9 @@ public enum KtyEnum { @JsonCreator public static KtyEnum fromValue(final String value) { - for (final KtyEnum ktyEnum : KtyEnum.values()) { - if (ktyEnum.value.equals(value)) { - return ktyEnum; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return Arrays.stream(KtyEnum.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java index e15e1e7f5effc5a0fb97c05f8720c0353196dbe1..ae1e93c20c5c436982f9fccaf520d8635834d544 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java @@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum EidasAdesProfile { @@ -14,13 +13,6 @@ public enum EidasAdesProfile { HTTP_URI_ETSI_ORG_ADES_191_X_2_LEVEL_BASELINE_B_LTA("http://uri.etsi.org/ades/191x2/level/baseline/B-LTA#"); private final String value; - private final static Map<String, EidasAdesProfile> CONSTANTS = new HashMap<>(); - - static { - for (final EidasAdesProfile c : values()) { - CONSTANTS.put(c.value, c); - } - } EidasAdesProfile(final String value) { this.value = value; @@ -38,12 +30,10 @@ public enum EidasAdesProfile { @JsonCreator public static EidasAdesProfile fromValue(final String value) { - final EidasAdesProfile constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(EidasAdesProfile.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java index e9f017ec21868a09055a52fd5ba99d466c9bf70f..6d4230e958d24ee72b0316650ef8d94b778cccac 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java @@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum SignatureFormat { @@ -13,14 +12,8 @@ public enum SignatureFormat { PDF("pdf"), ASIC("asic"), JSON("json"); - private final String value; - private final static Map<String, SignatureFormat> CONSTANTS = new HashMap<>(); - static { - for (final SignatureFormat c : values()) { - CONSTANTS.put(c.value, c); - } - } + private final String value; SignatureFormat(final String value) { this.value = value; @@ -38,12 +31,10 @@ public enum SignatureFormat { @JsonCreator public static SignatureFormat fromValue(final String value) { - final SignatureFormat constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(SignatureFormat.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } \ No newline at end of file diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java index a5726ea3875d4c751fbd77058fb39489350ffcb1..1df21ac81fb2b11aebb66004ab9286f00e20eb8c 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java @@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata.attachment; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum Purpose { @@ -12,15 +11,8 @@ public enum Purpose { ATTACHMENT("attachment"), REPORT("report"); private final String value; - private final static Map<String, Purpose> CONSTANTS = new HashMap<>(); - static { - for (Purpose c : values()) { - CONSTANTS.put(c.value, c); - } - } - - Purpose(String value) { + Purpose(final String value) { this.value = value; } @@ -35,12 +27,10 @@ public enum Purpose { } @JsonCreator - public static Purpose fromValue(String value) { - Purpose constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + public static Purpose fromValue(final String value) { + return Arrays.stream(Purpose.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java index 250885804acbef71261caf67eb9d33e7bfb05b07..12366b0449162ca08957f5342255826fe8d87df3 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java @@ -3,20 +3,12 @@ package de.fitko.fitconnect.api.domain.model.metadata.attachment.signature; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum AttachmentSignatureType { SHA_512("sha512"); private final String value; - private final static Map<String, AttachmentSignatureType> CONSTANTS = new HashMap<>(); - - static { - for (final AttachmentSignatureType c : values()) { - CONSTANTS.put(c.value, c); - } - } AttachmentSignatureType(final String value) { this.value = value; @@ -34,12 +26,10 @@ public enum AttachmentSignatureType { @JsonCreator public static AttachmentSignatureType fromValue(final String value) { - final AttachmentSignatureType constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(AttachmentSignatureType.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java index 3208cb14fccf81dbdba1696d234fc782711f8a0e..06b7ffe8414f61f76536f43a8078b73b8ceb9c07 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java @@ -3,20 +3,12 @@ package de.fitko.fitconnect.api.domain.model.metadata.data; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum DataSignatureType { SHA_512("sha512"); private final String value; - private final static Map<String, DataSignatureType> CONSTANTS = new HashMap<>(); - - static { - for (final DataSignatureType c : values()) { - CONSTANTS.put(c.value, c); - } - } DataSignatureType(final String value) { this.value = value; @@ -34,12 +26,10 @@ public enum DataSignatureType { @JsonCreator public static DataSignatureType fromValue(final String value) { - final DataSignatureType constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(DataSignatureType.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java index 03bfb1eef7f4169c51bc8824e97dfedf34e88634..88c3fe319830c64f09462368ed7e1abf95a6bdb8 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java +++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java @@ -3,21 +3,14 @@ package de.fitko.fitconnect.api.domain.model.metadata.data; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.Map; +import java.util.Arrays; public enum MimeType { APPLICATION_JSON("application/json"), APPLICATION_XML("application/xml"); - private final String value; - private final static Map<String, MimeType> CONSTANTS = new HashMap<>(); - static { - for (final MimeType c : values()) { - CONSTANTS.put(c.value, c); - } - } + private final String value; MimeType(final String value) { this.value = value; @@ -35,11 +28,9 @@ public enum MimeType { @JsonCreator public static MimeType fromValue(final String value) { - final MimeType constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException(value); - } else { - return constant; - } + return Arrays.stream(MimeType.values()) + .filter(enumValue -> enumValue.value.equals(value)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'")); } } diff --git a/open-api/README.md b/open-api/README.md deleted file mode 100644 index ed8c51663b487526ac666ee185102aa6a9aa1ec1..0000000000000000000000000000000000000000 --- a/open-api/README.md +++ /dev/null @@ -1,47 +0,0 @@ -### OpenAPI Model Generation - -This module generates model classes from the open-api specification of the submission api. - -Usage: ``mvn compile exec:java`` generates all models into the package ``de.fitko.fitconnect.api.domain.model.submission`` under -**target/generated-sources/openapi/gen**. - -### Config - -The relevant config parameters are listed below. - -````xml - -<configuration> - <!-- open api spec url --> - <inputSpec>${submission-api.baseurl}/${submission-api.version}/${submission-api.spec}</inputSpec> - - <!-- language generator --> - <generatorName>java</generatorName> - - <!-- validation is currently disabled, otherwise the generation fails due to duplicate entries --> - <skipValidateSpec>true</skipValidateSpec> - - <!-- use jackson annotations --> - <library>resttemplate</library> - - <!-- target package name --> - <modelPackage>de.fitko.fitconnect.api.domain.model.submission</modelPackage> - - <!-- target folder to write files into --> - <configOptions> - <sourceFolder>../../../src/main/java</sourceFolder> - </configOptions> -</configuration> - -```` - -### Draft/Todo PostProcessing - -The ``de.fitko.fitconnect.api.postprocessing.ModelClassPostProcessor`` is running in a maven execute step and -replaces all comments and unwanted annotations. - -Currently, there are some @Nullable and @NonNull annotations from ```javax.annotations``` that need to be replaced. - -In a further step the cleaned and post-processed model classes can be updated in the original ``api/domain/model`` -package of the ``api`` module via the maven resource plugin. - diff --git a/open-api/pom.xml b/open-api/pom.xml deleted file mode 100644 index 18466de24b708f177edc15353b385be7e76684cf..0000000000000000000000000000000000000000 --- a/open-api/pom.xml +++ /dev/null @@ -1,129 +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>sdk-java</artifactId> - <groupId>de.fitko.fitconnect.sdk</groupId> - <version>1.0.0-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>open-api</artifactId> - <packaging>jar</packaging> - - <properties> - <submission-api.baseurl>https://schema.fitko.de/fit-connect/submission-api</submission-api.baseurl> - <submission-api.version>1.0.7</submission-api.version> - <submission-api.spec>submission-api.yaml</submission-api.spec> - </properties> - - <dependencies> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-annotations</artifactId> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-annotations</artifactId> - <version>1.6.6</version> - </dependency> - <dependency> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>javax.annotation</groupId> - <artifactId>javax.annotation-api</artifactId> - <version>1.3.2</version> - </dependency> - <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> - <version>3.0.2</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.openapitools</groupId> - <artifactId>openapi-generator-maven-plugin</artifactId> - <version>6.0.1</version> - <executions> - <execution> - <goals> - <goal>generate</goal> - </goals> - <configuration> - <inputSpec>${submission-api.baseurl}/${submission-api.version}/${submission-api.spec} - </inputSpec> - <generatorName>java</generatorName> - <generateApis>false</generateApis> - <skipValidateSpec>true</skipValidateSpec> - <generateApis>false</generateApis> - <generateModelDocumentation>false</generateModelDocumentation> - <generateModelTests>false</generateModelTests> - <generateSupportingFiles>false</generateSupportingFiles> - <library>resttemplate</library> - <modelPackage>de.fitko.fitconnect.api.domain.model.submission</modelPackage> - <configOptions> - <sourceFolder>gen</sourceFolder> - </configOptions> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>3.1.0</version> - <configuration> - <mainClass>de.fitko.fitconnect.api.postprocessing.ModelClassPostProcessor</mainClass> - <workingDirectory>postprocessing</workingDirectory> - <arguments> - <argument>target/generated-sources/openapi/gen/de/fitko/fitconnect/api/domain/model/submission - </argument> - </arguments> - </configuration> - </plugin> - <!-- - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>3.2.0</version> - <executions> - <execution> - <id>copy-resource-one</id> - <phase>generate-sources</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>${project.basedir}/../api/src/main/java/de/fitko/fitconnect/api/domain/generated - </outputDirectory> - <resources> - <resource> - <directory> - target/generated-sources/openapi/gen/de/fitko/fitconnect/api/domain/model/submission - </directory> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin>--> - </plugins> - </build> - - -</project> \ No newline at end of file diff --git a/open-api/src/main/java/de/fitko/fitconnect/api/postprocessing/ModelClassPostProcessor.java b/open-api/src/main/java/de/fitko/fitconnect/api/postprocessing/ModelClassPostProcessor.java deleted file mode 100644 index ea5203dba4095509b5591697c5ddda712d49dc32..0000000000000000000000000000000000000000 --- a/open-api/src/main/java/de/fitko/fitconnect/api/postprocessing/ModelClassPostProcessor.java +++ /dev/null @@ -1,91 +0,0 @@ -package de.fitko.fitconnect.api.postprocessing; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -public class ModelClassPostProcessor { - - private static final Logger logger = LoggerFactory.getLogger(ModelClassPostProcessor.class); - - public static void main(final String[] args) { - - final ModelClassPostProcessor postProcessor = new ModelClassPostProcessor(); - - final var dir = args[0]; // -modelPath - - postProcessor.readModelsToStrings(dir) - .stream() - .map(ModelClassPostProcessor::replaceContent) - //.peek(pair -> logger.info(pair.content)) - .forEach(ModelClassPostProcessor::writeFiles); - } - - private static ModelPair replaceContent(final ModelPair pair) { - String content = pair.content; - // Remove all Comments - content = content.replaceAll("\\/\\*([\\S\\s]+?)\\*\\/", ""); - content = content.replaceAll("(?s)/\\*.*?\\*/", ""); - // Remove unwanted annos - content = content.replaceAll("@ApiModel([\\w]+)((.*))", ""); - content = content.replaceAll("@ApiModelProperty([\\w]+)((.*))", ""); - content = content.replaceAll("Generated([\\w]+)((.*))", ""); - // Replace javax - //content = content.replaceAll("Nonnull([\\w]+)((.*))", ""); - //content = content.replaceAll("(@\([\\w]+)\\((.*?)\\)(?:\s|$))", ""); - return new ModelPair(pair.originalPath, content); - } - - public Set<ModelPair> readModelsToStrings(final String dir) { - return Stream.of(new File(dir).listFiles()) - .filter(file -> !file.isDirectory()) - .peek(file -> logger.info("Postprocessing model {}", file.getName())) - .map(file -> new ModelPair(file.toPath(), getFileAsString(file))) - .collect(Collectors.toSet()); - } - - private String getFileAsString(final File file) { - try { - return Files.readString(file.toPath(), StandardCharsets.UTF_8); - } catch (final IOException e) { - throw new RuntimeException(e); - } - } - - private static void writeFiles(final ModelPair modelPair) { - try { - final File f = new File(modelPair.originalPath.toFile().getAbsolutePath()); - final FileWriter fw = new FileWriter( f, false); - fw.write(modelPair.content); - fw.flush(); - fw.close(); - } catch (final IOException e) { - throw new RuntimeException(e); - } - } - - - private static class ModelPair { - final Path originalPath; - final String content; - - ModelPair(final Path originalPath, final String content) { - this.originalPath = originalPath; - this.content = content; - } - - @Override - public String toString() { - return content; - } - } -} diff --git a/pom.xml b/pom.xml index 59526730d00525ec7791d9b8d634f7584270c6f0..c5d359fd85bcb4dbd23a2ff7bac7644238c0891f 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,6 @@ <module>api</module> <module>core</module> <module>client</module> - <module>open-api</module> </modules> <dependencyManagement> @@ -136,13 +135,6 @@ <version>${junit.version}</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.junit</groupId> - <artifactId>junit-bom</artifactId> - <version>${junit.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> @@ -172,24 +164,25 @@ </repositories> <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>${maven-compiler-plugin.version}</version> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>${maven-surefire-plugin.version}</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <version>${maven-failsafe-plugin.version}</version> - </plugin> - </plugins> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${maven-compiler-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${maven-surefire-plugin.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <version>${maven-failsafe-plugin.version}</version> + </plugin> + </plugins> + </pluginManagement> </build> </project> \ No newline at end of file