Skip to content

Commit c900f04

Browse files
committed
Address sonar complaints and remove dead, unreachable, code
1 parent 08b2f22 commit c900f04

File tree

3 files changed

+77
-77
lines changed

3 files changed

+77
-77
lines changed

boat-maven-plugin/src/main/java/com/backbase/oss/boat/GenerateMojo.java

+24-53
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,5 @@
11
package com.backbase.oss.boat;
22

3-
import static java.lang.String.format;
4-
import static java.util.Arrays.stream;
5-
import static java.util.Collections.emptyMap;
6-
import static java.util.stream.Collectors.joining;
7-
import static org.apache.commons.lang3.StringUtils.isNotEmpty;
8-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyAdditionalPropertiesKvp;
9-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyAdditionalPropertiesKvpList;
10-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyImportMappingsKvp;
11-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyImportMappingsKvpList;
12-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyInstantiationTypesKvp;
13-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyInstantiationTypesKvpList;
14-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyLanguageSpecificPrimitivesCsv;
15-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyLanguageSpecificPrimitivesCsvList;
16-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyReservedWordsMappingsKvp;
17-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyReservedWordsMappingsKvpList;
18-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applySchemaMappingsKvp;
19-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applySchemaMappingsKvpList;
20-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyServerVariablesKvp;
21-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyServerVariablesKvpList;
22-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyTypeMappingsKvp;
23-
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.applyTypeMappingsKvpList;
24-
253
import com.backbase.oss.boat.transformers.Bundler;
264
import com.backbase.oss.boat.transformers.DereferenceComponentsPropertiesTransformer;
275
import com.backbase.oss.boat.transformers.UnAliasTransformer;
@@ -32,31 +10,6 @@
3210
import io.swagger.v3.core.util.Yaml;
3311
import io.swagger.v3.parser.core.models.AuthorizationValue;
3412
import io.swagger.v3.parser.util.ClasspathHelper;
35-
import java.io.File;
36-
import java.io.FileNotFoundException;
37-
import java.io.FileOutputStream;
38-
import java.io.IOException;
39-
import java.net.MalformedURLException;
40-
import java.net.URI;
41-
import java.net.URISyntaxException;
42-
import java.net.URL;
43-
import java.net.URLConnection;
44-
import java.nio.channels.Channels;
45-
import java.nio.channels.FileChannel;
46-
import java.nio.channels.ReadableByteChannel;
47-
import java.nio.charset.StandardCharsets;
48-
import java.nio.file.StandardCopyOption;
49-
import java.util.Collection;
50-
import java.util.Collections;
51-
import java.util.HashMap;
52-
import java.util.List;
53-
import java.util.Map;
54-
import java.util.Map.Entry;
55-
import java.util.Objects;
56-
import java.util.Optional;
57-
import java.util.Set;
58-
import java.util.stream.Collectors;
59-
import java.util.stream.Stream;
6013
import lombok.extern.slf4j.Slf4j;
6114
import org.apache.commons.lang3.StringUtils;
6215
import org.apache.maven.plugin.MojoExecutionException;
@@ -65,18 +18,36 @@
6518
import org.apache.maven.plugins.annotations.LifecyclePhase;
6619
import org.apache.maven.plugins.annotations.Mojo;
6720
import org.apache.maven.plugins.annotations.Parameter;
68-
import org.openapitools.codegen.CliOption;
69-
import org.openapitools.codegen.ClientOptInput;
70-
import org.openapitools.codegen.CodegenConfig;
71-
import org.openapitools.codegen.CodegenConstants;
72-
import org.openapitools.codegen.DefaultGenerator;
21+
import org.openapitools.codegen.*;
7322
import org.openapitools.codegen.auth.AuthParser;
7423
import org.openapitools.codegen.config.CodegenConfigurator;
7524
import org.openapitools.codegen.config.GlobalSettings;
7625
import org.openapitools.codegen.utils.OptionUtils;
7726
import org.sonatype.plexus.build.incremental.BuildContext;
7827
import org.sonatype.plexus.build.incremental.DefaultBuildContext;
7928

29+
import java.io.File;
30+
import java.io.FileNotFoundException;
31+
import java.io.FileOutputStream;
32+
import java.io.IOException;
33+
import java.net.*;
34+
import java.nio.channels.Channels;
35+
import java.nio.channels.FileChannel;
36+
import java.nio.channels.ReadableByteChannel;
37+
import java.nio.charset.StandardCharsets;
38+
import java.nio.file.StandardCopyOption;
39+
import java.util.*;
40+
import java.util.Map.Entry;
41+
import java.util.stream.Collectors;
42+
import java.util.stream.Stream;
43+
44+
import static java.lang.String.format;
45+
import static java.util.Arrays.stream;
46+
import static java.util.Collections.emptyMap;
47+
import static java.util.stream.Collectors.joining;
48+
import static org.apache.commons.lang3.StringUtils.isNotEmpty;
49+
import static org.openapitools.codegen.config.CodegenConfiguratorUtils.*;
50+
8051
/**
8152
* Generates client/server code from an OpenAPI json/yaml definition.
8253
*/
@@ -853,7 +824,7 @@ public void execute() throws MojoExecutionException, MojoFailureException {
853824
if (openapiNormalizer != null && (configOptions == null || !configOptions.containsKey("openapi-normalizer"))) {
854825
for (String propString: openapiNormalizer) {
855826
OptionUtils.parseCommaSeparatedTuples(propString)
856-
.forEach(p -> {configurator.addOpenapiNormalizer(p.getLeft(), p.getRight());});
827+
.forEach(p -> configurator.addOpenapiNormalizer(p.getLeft(), p.getRight()));
857828
}
858829
}
859830

boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatJavaCodeGen.java

-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.backbase.oss.codegen.java;
22

33
import com.backbase.oss.codegen.java.BoatCodeGenUtils.CodegenValueType;
4-
import io.swagger.v3.oas.models.media.ArraySchema;
54
import io.swagger.v3.oas.models.media.Schema;
65
import lombok.Getter;
76
import lombok.Setter;
@@ -158,10 +157,6 @@ private boolean isArrayTypeOfEnum(Schema s) {
158157
return false;
159158
}
160159
Schema items = target.getItems();
161-
if (items == null) {
162-
// Will default to strings schema, which is not an enum
163-
return false;
164-
}
165160
if (items.get$ref() != null) {
166161
items = openAPI.getComponents().getSchemas().get(ModelUtils.getSimpleRef(items.get$ref()));
167162
}

boat-scaffold/src/test/java/com/backbase/oss/codegen/java/BoatJavaCodeGenTests.java

+53-19
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,34 @@
11
package com.backbase.oss.codegen.java;
22

3-
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.CREATE_API_COMPONENT;
4-
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.REST_TEMPLATE_BEAN_NAME;
5-
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.USE_CLASS_LEVEL_BEAN_VALIDATION;
6-
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.USE_DEFAULT_API_CLIENT;
7-
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.USE_JACKSON_CONVERSION;
8-
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.USE_PROTECTED_FIELDS;
9-
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.USE_WITH_MODIFIERS;
10-
import static java.util.stream.Collectors.groupingBy;
11-
import static org.hamcrest.MatcherAssert.assertThat;
12-
import static org.hamcrest.Matchers.hasEntry;
13-
import static org.hamcrest.Matchers.is;
14-
import static org.hamcrest.Matchers.nullValue;
15-
import static org.junit.jupiter.api.Assertions.assertEquals;
16-
173
import com.github.javaparser.StaticJavaParser;
184
import com.github.javaparser.ast.CompilationUnit;
195
import com.github.javaparser.ast.body.MethodDeclaration;
206
import com.github.javaparser.ast.body.TypeDeclaration;
217
import io.swagger.parser.OpenAPIParser;
8+
import io.swagger.v3.oas.models.media.Schema;
229
import io.swagger.v3.parser.core.models.ParseOptions;
23-
import java.io.File;
24-
import java.io.FileNotFoundException;
25-
import java.util.List;
26-
import java.util.Map;
27-
import java.util.function.Function;
2810
import org.junit.jupiter.api.Test;
2911
import org.junit.jupiter.params.ParameterizedTest;
12+
import org.junit.jupiter.params.provider.Arguments;
13+
import org.junit.jupiter.params.provider.MethodSource;
3014
import org.junit.jupiter.params.provider.ValueSource;
3115
import org.openapitools.codegen.CliOption;
3216
import org.openapitools.codegen.ClientOptInput;
3317
import org.openapitools.codegen.DefaultGenerator;
18+
import org.openapitools.codegen.config.GlobalSettings;
19+
20+
import java.io.File;
21+
import java.io.FileNotFoundException;
22+
import java.util.List;
23+
import java.util.Map;
24+
import java.util.function.Function;
25+
import java.util.stream.Stream;
26+
27+
import static com.backbase.oss.codegen.java.BoatJavaCodeGen.*;
28+
import static java.util.stream.Collectors.groupingBy;
29+
import static org.hamcrest.MatcherAssert.assertThat;
30+
import static org.hamcrest.Matchers.*;
31+
import static org.junit.jupiter.api.Assertions.assertEquals;
3432

3533
class BoatJavaCodeGenTests {
3634

@@ -208,4 +206,40 @@ void shouldHonourBeanValidationOption(boolean useBeanValidation) throws FileNotF
208206
assertThat("Expect jakarta Valid import", compilationUnit.getImports().stream().anyMatch(
209207
id -> id.getNameAsString().equals("jakarta.validation.Valid")), is(useBeanValidation));
210208
}
209+
210+
@ParameterizedTest
211+
@MethodSource("testTypeDeclarationValues")
212+
public void testTypeDeclaration(boolean useBeanValidation, String schemaType,
213+
String itemType, boolean itemEnum, String expected) {
214+
215+
// Setup
216+
BoatJavaCodeGen gen = new BoatJavaCodeGen();
217+
gen.setUseBeanValidation(useBeanValidation);
218+
GlobalSettings.setProperty("generateAliasAsModel", "true");
219+
220+
Schema schema = new Schema();
221+
schema.type(schemaType);
222+
if (itemType != null) {
223+
Schema itemSchema = new Schema();
224+
itemSchema.type(itemType);
225+
if (itemEnum) {
226+
itemSchema.setEnum(List.of("1", "2"));
227+
}
228+
schema.setItems(itemSchema);
229+
}
230+
231+
String s = gen.getTypeDeclaration(schema);
232+
assertEquals(expected, s);
233+
}
234+
235+
static Stream<Arguments> testTypeDeclarationValues() {
236+
return Stream.of(
237+
Arguments.of(true, "string", null, false, "String"),
238+
Arguments.of(false, "string", null, false, "String"),
239+
Arguments.of(true, "array", "string", false, "List<String>"),
240+
Arguments.of(true, "array", "string", true, "List<@Valid String>"),
241+
Arguments.of(true, "array", "object", false, "List<Object>"),
242+
Arguments.of(true, "array", null, false, "List<String>") // this case logs an ERROR
243+
);
244+
}
211245
}

0 commit comments

Comments
 (0)