diff --git a/component-api/src/main/java/org/talend/sdk/component/api/configuration/ui/layout/GridLayout.java b/component-api/src/main/java/org/talend/sdk/component/api/configuration/ui/layout/GridLayout.java index e726ea64fff53..76ca5850128ac 100644 --- a/component-api/src/main/java/org/talend/sdk/component/api/configuration/ui/layout/GridLayout.java +++ b/component-api/src/main/java/org/talend/sdk/component/api/configuration/ui/layout/GridLayout.java @@ -27,10 +27,12 @@ import org.talend.sdk.component.api.meta.Documentation; @Ui -@Documentation("Advanced layout to place properties by row, this is exclusive with `@OptionsOrder`.\n" - + "\nNOTE: the logic to handle forms (gridlayout names) is to use the only layout if there is only one defined, " - + "else to check if there are `Main` and `Advanced` and if at least `Main` exists, use them, else " - + "use all available layouts.") +@Documentation(""" + Advanced layout to place properties by row, this is exclusive with `@OptionsOrder`. + + NOTE: the logic to handle forms (gridlayout names) is to use the only layout if there is only one defined, \ + else to check if there are `Main` and `Advanced` and if at least `Main` exists, use them, else \ + use all available layouts.""") @Target(TYPE) @Retention(RUNTIME) @Repeatable(GridLayouts.class) diff --git a/component-api/src/main/java/org/talend/sdk/component/api/record/Schema.java b/component-api/src/main/java/org/talend/sdk/component/api/record/Schema.java index 3614fee11a25e..2270a170eeb53 100644 --- a/component-api/src/main/java/org/talend/sdk/component/api/record/Schema.java +++ b/component-api/src/main/java/org/talend/sdk/component/api/record/Schema.java @@ -532,7 +532,7 @@ public EntriesOrder(final String fields) { if (fields == null || fields.isEmpty()) { fieldsOrder = new OrderedMap<>(Function.identity()); } else { - final List fieldList = Arrays.stream(fields.split(",")).collect(Collectors.toList()); + final List fieldList = Arrays.stream(fields.split(",")).toList(); fieldsOrder = new OrderedMap<>(Function.identity(), fieldList); } } diff --git a/component-api/src/main/java/org/talend/sdk/component/api/service/asyncvalidation/AsyncValidation.java b/component-api/src/main/java/org/talend/sdk/component/api/service/asyncvalidation/AsyncValidation.java index 437e37eda9e6b..6168ccbf8f43c 100644 --- a/component-api/src/main/java/org/talend/sdk/component/api/service/asyncvalidation/AsyncValidation.java +++ b/component-api/src/main/java/org/talend/sdk/component/api/service/asyncvalidation/AsyncValidation.java @@ -27,8 +27,11 @@ @ActionType(value = "validation", expectedReturnedType = ValidationResult.class) @Target(METHOD) @Retention(RUNTIME) -@Documentation("Mark a method as being used to validate a configuration.\n\nIMPORTANT: this is a server validation " - + "so only use it if you can't use other client side validation to implement it.") +@Documentation(""" + Mark a method as being used to validate a configuration. + + IMPORTANT: this is a server validation \ + so only use it if you can't use other client side validation to implement it.""") public @interface AsyncValidation { /** diff --git a/component-api/src/main/java/org/talend/sdk/component/api/service/discovery/DiscoverDatasetResult.java b/component-api/src/main/java/org/talend/sdk/component/api/service/discovery/DiscoverDatasetResult.java index 14bf8390e38c8..cc49255ff5722 100644 --- a/component-api/src/main/java/org/talend/sdk/component/api/service/discovery/DiscoverDatasetResult.java +++ b/component-api/src/main/java/org/talend/sdk/component/api/service/discovery/DiscoverDatasetResult.java @@ -35,7 +35,7 @@ public DiscoverDatasetResult(final List datasetDescriptionLi } @Getter - public final static class DatasetDescription { + public static final class DatasetDescription { public DatasetDescription(final String name) { this.name = name; diff --git a/component-api/src/main/java/org/talend/sdk/component/api/service/schema/Schema.java b/component-api/src/main/java/org/talend/sdk/component/api/service/schema/Schema.java index 3722653369ce0..e1b15b9581b14 100644 --- a/component-api/src/main/java/org/talend/sdk/component/api/service/schema/Schema.java +++ b/component-api/src/main/java/org/talend/sdk/component/api/service/schema/Schema.java @@ -31,9 +31,13 @@ import lombok.Data; import lombok.NoArgsConstructor; -@Partial("This API should support nested schema but the Studio is not yet ready.\n\n" - + "The cloud platform also doesn't use it yet.\n\nAlso prefer to use " - + "`org.talend.sdk.component.api.record.Schema` over this partial default implementation.") +@Partial(""" + This API should support nested schema but the Studio is not yet ready. + + The cloud platform also doesn't use it yet. + + Also prefer to use \ + `org.talend.sdk.component.api.record.Schema` over this partial default implementation.""") @Data @NoArgsConstructor @AllArgsConstructor diff --git a/component-api/src/test/java/org/talend/sdk/component/api/record/OrderedMapTest.java b/component-api/src/test/java/org/talend/sdk/component/api/record/OrderedMapTest.java index 50d42eb7e212d..c266e0bee926e 100644 --- a/component-api/src/test/java/org/talend/sdk/component/api/record/OrderedMapTest.java +++ b/component-api/src/test/java/org/talend/sdk/component/api/record/OrderedMapTest.java @@ -40,12 +40,12 @@ void orderedMapTest() { container.addValue(f1); container.addValue(f2); - List entries = container.streams().collect(Collectors.toList()); + List entries = container.streams().toList(); Assertions.assertSame("f1", entries.get(0)); Assertions.assertSame("f2", entries.get(1)); container.swap("f1", "f2"); - List entries2 = container.streams().collect(Collectors.toList()); + List entries2 = container.streams().toList(); Assertions.assertSame("f2", entries2.get(0)); Assertions.assertSame("f1", entries2.get(1)); diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/api/UiSpecService.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/api/UiSpecService.java index 893c317d46661..e85d070d55d42 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/api/UiSpecService.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/api/UiSpecService.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.form.api; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import java.util.ArrayList; @@ -113,7 +112,7 @@ public CompletionStage convert(final String family, final String lang, final prop.getName(), prop.getDisplayName(), prop.getType(), prop.getDefaultValue(), prop.getValidation(), prop.getMetadata(), prop.getPlaceholder(), prop.getProposalDisplayNames())) - .collect(toList()); + .toList(); isRootProperty = p -> p.getPath().equals(def.getName()); } else { props = node.getProperties(); diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/UiSchemaConverter.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/UiSchemaConverter.java index 62c8cf1a64c0f..53a6a0145fd22 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/UiSchemaConverter.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/UiSchemaConverter.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.form.internal.converter.impl; import static java.util.Collections.singletonMap; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.util.Collection; @@ -115,7 +114,7 @@ public CompletionStage> convert(final CompletionStage prop.getPath().startsWith(nestedPrefix) && prop.getPath().indexOf('.', from) < 0) - .collect(toList()); + .toList(); if (!nested.isEmpty()) { return new ObjectArrayWidgetConverter(schemas, properties, actions, family, client, gridLayoutFilter, jsonSchema, lang, customConverters, metadata, diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/schema/ArrayPropertyConverter.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/schema/ArrayPropertyConverter.java index a436dbcfd4e73..e480507356519 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/schema/ArrayPropertyConverter.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/schema/ArrayPropertyConverter.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.form.internal.converter.impl.schema; import static java.util.Locale.ROOT; -import static java.util.stream.Collectors.toList; import java.util.Collection; import java.util.List; @@ -50,7 +49,7 @@ public CompletionStage> convert(final CompletionStage arrayElements = - properties.stream().filter(child -> child.getPath().startsWith(prefix)).collect(toList()); + properties.stream().filter(child -> child.getPath().startsWith(prefix)).toList(); if (arrayElements.stream().anyMatch(e -> e.getPath().startsWith(prefix + '.'))) { // complex object final JsonSchema items = new JsonSchema(); diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/AbstractWidgetConverter.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/AbstractWidgetConverter.java index 67a8f57f8ccc0..e8f6152a65d6f 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/AbstractWidgetConverter.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/AbstractWidgetConverter.java @@ -86,7 +86,7 @@ protected CompletionStage> loadDynamicValues(final val.setValue((String) entry.get("id")); return val; }) - .collect(toList()); + .toList(); }) .orElse(emptyList())); } @@ -140,7 +140,7 @@ protected List toParams(final Collection toParams(final Collection ctx) { @@ -330,7 +330,6 @@ protected Map> createCondition(final PropertyContext< .collect(toList()); final Map> condition = values.size() == 1 ? values.iterator().next() : new UiSchema.ConditionBuilder().withOperator("or").withValues(values).build(); - final UiSchema.ConditionValuesBuilder rootBuilder; if (!shouldBe) { // no need to add the wrapper if we test true (default) return new UiSchema.ConditionBuilder() .withOperator("==") @@ -380,8 +379,7 @@ protected Map> toCondition(final String path, final S .withVar(path + ".length") .withValue(value instanceof String ? Integer.parseInt(String.valueOf(value)) : value) .build(); - case "contains": - case "contains(lowercase=true)": + case "contains", "contains(lowercase=true)": final UiSchema.ConditionValuesBuilder in = new UiSchema.ConditionBuilder().withOperator("in"); final Object val = strategy.endsWith("(lowercase=true)") ? ((String) value).toLowerCase(ROOT) : value; diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DataListWidgetConverter.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DataListWidgetConverter.java index 0c505de61c982..cc619a0fecf06 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DataListWidgetConverter.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DataListWidgetConverter.java @@ -90,7 +90,7 @@ protected CompletionStage> fillProposalsAndReturn(final Prope return pairs.thenApply(namedValues -> { schema.setTitleMap(namedValues); schema.setRestricted(true); - jsonSchema.setEnumValues(namedValues.stream().map(UiSchema.NameValue::getValue).collect(toList())); + jsonSchema.setEnumValues(namedValues.stream().map(UiSchema.NameValue::getValue).toList()); return context; }); } else { diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DateTimeConverter.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DateTimeConverter.java index 5ac6bd44c6d1d..2c9e1d86f92db 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DateTimeConverter.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/DateTimeConverter.java @@ -67,8 +67,7 @@ private void initDatePicker(final PropertyContext context, final UiSchema sch schema.setWidget("date"); schema.setOptions(singletonMap("dateFormat", dateFormat)); break; - case "datetime": - case "zoneddatetime": { + case "datetime", "zoneddatetime": { schema.setWidget("datetime"); final Map options = new HashMap<>(); options.put("useSeconds", useSeconds); diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/GridLayoutWidgetConverter.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/GridLayoutWidgetConverter.java index 1f1a6df5085f6..33ef251e67c55 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/GridLayoutWidgetConverter.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/GridLayoutWidgetConverter.java @@ -82,7 +82,7 @@ public CompletionStage> convert(final CompletionStage tabs = (layouts.containsKey("Main") ? Stream.of("Main", "Advanced") - : layouts.keySet().stream().sorted(String::compareToIgnoreCase)).collect(toList()); + : layouts.keySet().stream().sorted(String::compareToIgnoreCase)).toList(); final UiSchema schema = newUiSchema(context); schema.setTitle(null); diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/MultiSelectWidgetConverter.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/MultiSelectWidgetConverter.java index 637f8fb5ec493..d4f43c17d9131 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/MultiSelectWidgetConverter.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/converter/impl/widget/MultiSelectWidgetConverter.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.form.internal.converter.impl.widget; import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; import java.util.Collection; import java.util.List; @@ -69,7 +68,7 @@ public CompletionStage> convert(final CompletionStage { schema.setTitleMap(namedValues); - jsonSchema.setEnumValues(namedValues.stream().map(UiSchema.NameValue::getValue).collect(toList())); + jsonSchema.setEnumValues(namedValues.stream().map(UiSchema.NameValue::getValue).toList()); return context; }); } else { diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/BaseValidation.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/BaseValidation.java index 60493c63693bf..3d5f7010af7d3 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/BaseValidation.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/BaseValidation.java @@ -59,8 +59,7 @@ public Stream apply(final JsonValue obj) { switch (value.getValueType()) { case STRING: return onString((JsonString) value); - case TRUE: - case FALSE: + case TRUE, FALSE: return onBoolean(JsonValue.TRUE.equals(value)); case NUMBER: return onNumber((JsonNumber) value); diff --git a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/TypeValidation.java b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/TypeValidation.java index 3bcad26b568d3..9b469231397a6 100644 --- a/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/TypeValidation.java +++ b/component-form/component-form-core/src/main/java/org/talend/sdk/component/form/internal/validation/spi/ext/TypeValidation.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.form.internal.validation.spi.ext; import static java.util.Comparator.comparing; -import static java.util.stream.Collectors.toList; import java.util.Collection; import java.util.Optional; @@ -38,10 +37,10 @@ public class TypeValidation implements ValidationExtension { @Override public Optional>> create(final ValidationContext model) { final JsonValue value = model.getSchema().get("type"); - if (value instanceof JsonString) { + if (value instanceof JsonString jsonString) { return Optional .of(new Impl(model.toPointer(), model.getValueProvider(), - mapType((JsonString) value).toArray(JsonValue.ValueType[]::new))); + mapType(jsonString).toArray(JsonValue.ValueType[]::new))); } if (value instanceof JsonArray) { return Optional @@ -83,7 +82,7 @@ private Impl(final String pointer, final Function extracto .concat(Stream.of(types), Stream.of(JsonValue.ValueType.NULL)) .distinct() .sorted(comparing(JsonValue.ValueType::name)) - .collect(toList()); + .toList(); } @Override diff --git a/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/api/UiSpecServiceTest.java b/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/api/UiSpecServiceTest.java index 8a6157c18bfe9..f131174cd1bc8 100644 --- a/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/api/UiSpecServiceTest.java +++ b/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/api/UiSpecServiceTest.java @@ -23,7 +23,6 @@ import static java.util.Optional.ofNullable; import static java.util.concurrent.CompletableFuture.completedFuture; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -48,7 +47,6 @@ import java.util.concurrent.CompletionStage; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; -import java.util.stream.Collectors; import java.util.stream.Stream; import javax.json.bind.Jsonb; @@ -288,7 +286,7 @@ void optionsOrderInArray() throws Exception { .getItems() .stream() .map(UiSchema::getTitle) - .collect(toList())); + .toList()); } @Test @@ -311,12 +309,6 @@ void enumAsRestrictedList() throws Exception { @Test void optionsOrder() throws Exception { final ConfigTypeNode node = load("optionsorder.json", ConfigTypeNode.class); - final SimplePropertyDefinition root = node - .getProperties() - .stream() - .filter(it -> it.getPath().equals("configuration")) - .findFirst() - .orElseThrow(() -> new IllegalArgumentException("bad config")); final Ui payload = service.convert("FileIO", "en", node, null).toCompletableFuture().get(); final List actualOrder = payload .getUiSchema() @@ -327,7 +319,7 @@ void optionsOrder() throws Exception { .map(UiSchema::getKey) .filter(Objects::nonNull) .map(s -> s.substring(s.lastIndexOf('.') + 1)) - .collect(toList()); + .toList(); assertEquals(asList("region", "unknownRegion", "bucket", "object", "encryptDataAtRest", "kmsForDataAtRest", "format", "recordDelimiter", "specificRecordDelimiter", "fieldDelimiter", "specificFieldDelimiter", "limit"), actualOrder); @@ -462,7 +454,7 @@ void gridLayout() throws Exception { assertEquals(5, tableDataSetMain.getItems().size()); assertEquals(asList("dataStore", "commonConfig", "Query", "Ordered", "Order"), - tableDataSetMain.getItems().stream().map(UiSchema::getTitle).collect(toList())); + tableDataSetMain.getItems().stream().map(UiSchema::getTitle).toList()); final Iterator mainIt = tableDataSetMain.getItems().iterator(); final UiSchema dataStore = mainIt.next(); @@ -471,7 +463,7 @@ void gridLayout() throws Exception { final UiSchema credentials = dataStoreIt.next(); assertEquals("columns", credentials.getWidget()); assertEquals(asList("Username", "Password"), - credentials.getItems().stream().map(UiSchema::getTitle).collect(toList())); + credentials.getItems().stream().map(UiSchema::getTitle).toList()); final UiSchema tableDataSetAdvanced = tableDataSetIt.next(); assertEquals("Advanced", tableDataSetAdvanced.getTitle()); @@ -539,7 +531,7 @@ void suggestions() throws Exception { assertEquals("SuggestionForJdbcDrivers", driverTrigger.getAction()); assertNull(driverTrigger.getRemote()); assertEquals(singletonList("currentValue/configuration.driver"), - driverTrigger.getParameters().stream().map(it -> it.getKey() + '/' + it.getPath()).collect(toList())); + driverTrigger.getParameters().stream().map(it -> it.getKey() + '/' + it.getPath()).toList()); assertEquals("change", triggers.next().getOnEvent()); } @@ -658,7 +650,7 @@ void uiSchema() throws Exception { .getTitleMap() .stream() .map(UiSchema.NameValue.class::cast) - .collect(Collectors.toList()); + .toList(); assertEquals(1, titleMap.size()); final UiSchema.NameValue firstTitleMap = titleMap.iterator().next(); assertEquals("some.driver.Jdbc", firstTitleMap.getValue()); diff --git a/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/internal/validation/ValidationServiceTest.java b/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/internal/validation/ValidationServiceTest.java index 9d08afdd2efec..0103a23d423ad 100644 --- a/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/internal/validation/ValidationServiceTest.java +++ b/component-form/component-form-core/src/test/java/org/talend/sdk/component/form/internal/validation/ValidationServiceTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.form.internal.validation; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; @@ -61,7 +60,7 @@ public CompletionStage> validate(final ConfigTypeNod .getErrors() .stream() .map(e -> new ValidationError(e.getField(), e.getMessage())) - .collect(toList())); + .toList()); } public CompletionStage getValidator(final ConfigTypeNode config) { diff --git a/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilder.java b/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilder.java index ad3af841abbba..f60edc3ed8abe 100644 --- a/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilder.java +++ b/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilder.java @@ -64,7 +64,7 @@ public JsonSchema.Builder create(final Class pojo) { private JsonSchema buildSchema(final Field field) { final Type genericType = field.getGenericType(); - if ((genericType instanceof Class && CharSequence.class.isAssignableFrom((Class) genericType)) + if ((genericType instanceof Class aClass && CharSequence.class.isAssignableFrom(aClass)) || genericType == char.class || genericType == Character.class) { return schemas.computeIfAbsent((Class) genericType, k -> jsonSchema().withType("string").build()); } else if (genericType == long.class || genericType == Long.class || genericType == int.class @@ -76,15 +76,13 @@ private JsonSchema buildSchema(final Field field) { } else if (genericType == boolean.class || genericType == Boolean.class) { return schemas .computeIfAbsent((Class) genericType, k -> jsonSchema().withType("boolean").build()); - } else if (genericType instanceof Class) { - final Class clazz = (Class) genericType; + } else if (genericType instanceof Class clazz) { return ofNullable(schemas.get(clazz)).orElseGet(() -> { final JsonSchema jsonSchema = create(clazz).build(); schemas.put(clazz, jsonSchema); return jsonSchema; }); - } else if (genericType instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) genericType; + } else if (genericType instanceof ParameterizedType pt) { final Type rawType = pt.getRawType(); if (!(rawType instanceof Class)) { throw new IllegalArgumentException("Unsupported raw type: " + pt + ", this must be a Class"); @@ -92,11 +90,10 @@ private JsonSchema buildSchema(final Field field) { final Class rawClazz = (Class) rawType; if (Collection.class.isAssignableFrom(rawClazz) && pt.getActualTypeArguments().length == 1) { final Type itemType = pt.getActualTypeArguments()[0]; - if (!(itemType instanceof Class)) { + if (!(itemType instanceof Class itemClass)) { throw new IllegalArgumentException( "Unsupported generic type for item type: " + pt + ", this must be a Class"); } - final Class itemClass = (Class) itemType; final JsonSchema nested = ofNullable(schemas.get(itemType)).orElseGet(() -> { final JsonSchema jsonSchema = create(itemClass).build(); schemas.put(itemClass, jsonSchema); diff --git a/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/uischema/UiSchema.java b/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/uischema/UiSchema.java index 2c5c84fbc68a7..e6a88ff4fdcb7 100644 --- a/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/uischema/UiSchema.java +++ b/component-form/component-form-model/src/main/java/org/talend/sdk/component/form/model/uischema/UiSchema.java @@ -18,7 +18,6 @@ import static java.util.Arrays.asList; import static java.util.Collections.singletonMap; import static java.util.Collections.unmodifiableMap; -import static java.util.stream.Collectors.toList; import java.util.ArrayList; import java.util.Collection; @@ -95,7 +94,7 @@ public UiSchema copy(final boolean frozenStructure) { .withWidget(widget) .withItemWidget(itemWidget) .withType(type) - .withItems(items == null ? null : items.stream().map(it -> it.copy(frozenStructure)).collect(toList())) + .withItems(items == null ? null : items.stream().map(it -> it.copy(frozenStructure)).toList()) .withOptions(options) .withAutoFocus(autoFocus) .withDisabled(disabled) diff --git a/component-form/component-form-model/src/test/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilderTest.java b/component-form/component-form-model/src/test/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilderTest.java index 0199722125b04..0223db6be215c 100644 --- a/component-form/component-form-model/src/test/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilderTest.java +++ b/component-form/component-form-model/src/test/java/org/talend/sdk/component/form/model/jsonschema/PojoJsonSchemaBuilderTest.java @@ -53,15 +53,19 @@ private void assertForm1(final Map properties) { public static class Form1 { + @SuppressWarnings("java:S1068") private String name; + @SuppressWarnings("java:S1068") private int age; } public static class Form2 { + @SuppressWarnings("java:S1068") private String name; + @SuppressWarnings("java:S1068") private Form1 form1; } } diff --git a/component-form/component-uispec-mapper/src/main/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImpl.java b/component-form/component-uispec-mapper/src/main/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImpl.java index a325ece4d415f..c8124f4e613ec 100644 --- a/component-form/component-uispec-mapper/src/main/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImpl.java +++ b/component-form/component-uispec-mapper/src/main/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImpl.java @@ -22,7 +22,6 @@ import static java.util.Comparator.comparing; import static java.util.Comparator.comparingInt; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.lang.reflect.AnnotatedElement; @@ -81,7 +80,7 @@ private Supplier doCreateForm(final Class clazz) { return () -> Ui .ui() .withJsonSchema(ui.getJsonSchema()) - .withUiSchema(ui.getUiSchema().stream().map(it -> it.copy(true)).collect(toList())) + .withUiSchema(ui.getUiSchema().stream().map(it -> it.copy(true)).toList()) .withProperties(emptyMap()) .build(); } @@ -136,7 +135,7 @@ private UiSchema generateUiSchemas(final String keyPrefix, final AnnotatedElemen final int pos = ofNullable(it.getAnnotation(View.Schema.class)).map(View.Schema::position).orElse(-1); positions.put(it.getName(), pos < 0 ? Integer.MAX_VALUE : pos); return generateUiSchemas(nextKey, it, it.getType(), isDynamic); - }).collect(toList())); + }).toList()); current = current.getSuperclass(); } return applyConfig(element, builder, isDynamic) diff --git a/component-form/component-uispec-mapper/src/test/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImplTest.java b/component-form/component-uispec-mapper/src/test/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImplTest.java index a5d18b833868c..7fc9fc5b7bdd1 100644 --- a/component-form/component-uispec-mapper/src/test/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImplTest.java +++ b/component-form/component-uispec-mapper/src/test/java/org/talend/sdk/component/form/uispec/mapper/impl/UiSpecMapperImplTest.java @@ -84,7 +84,7 @@ public Collection get() { } @Data - public static abstract class BaseModel { + public abstract static class BaseModel { @View.Skip private String id; diff --git a/component-runtime-beam/src/it/serialization-over-cluster/pom.xml b/component-runtime-beam/src/it/serialization-over-cluster/pom.xml index 28aa40ac7bb5a..94e2112e54fd8 100644 --- a/component-runtime-beam/src/it/serialization-over-cluster/pom.xml +++ b/component-runtime-beam/src/it/serialization-over-cluster/pom.xml @@ -82,10 +82,6 @@ org.apache.maven.plugins maven-compiler-plugin 3.14.0 - - 1.8 - 1.8 - org.apache.maven.plugins diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/BaseProcessorFn.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/BaseProcessorFn.java index 096d18cd1a7d5..da51d6accf366 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/BaseProcessorFn.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/BaseProcessorFn.java @@ -65,8 +65,8 @@ abstract class BaseProcessorFn extends DoFn { BaseProcessorFn(final Processor processor) { this.processor = processor; - if (processor instanceof ProcessorImpl) { - ((ProcessorImpl) processor) + if (processor instanceof ProcessorImpl processor1) { + processor1 .getInternalConfiguration() .entrySet() .stream() diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/TalendIO.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/TalendIO.java index 92b8ad56d0183..94d8f256c0ac3 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/TalendIO.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/TalendIO.java @@ -77,8 +77,8 @@ public static Base, Mapper> read(final Mapper mapper String maxRecords = null; String maxDurationMs = null; boolean hasInternalConfParams = false; - if (mapper instanceof PartitionMapperImpl) { - Map conf = ((PartitionMapperImpl) mapper).getInternalConfiguration(); + if (mapper instanceof PartitionMapperImpl partitionMapper) { + Map conf = partitionMapper.getInternalConfiguration(); hasInternalConfParams = conf.keySet() .stream() .filter(k -> k.equals("$maxRecords") || k.equals("$maxDurationMs")) @@ -109,7 +109,7 @@ public static Write write(final Processor output) { return new Write(output); } - public static abstract class Base + public abstract static class Base extends PTransform { protected D delegate; @@ -164,8 +164,8 @@ private static class InfiniteRead extends Base, Mapp private InfiniteRead(final Mapper delegate, final long maxRecordCount, final long maxDuration) { super(delegate); // ensure we consider localConfiguration - final Map internalConf = delegate instanceof PartitionMapperImpl - ? ((PartitionMapperImpl) delegate).getInternalConfiguration() + final Map internalConf = delegate instanceof PartitionMapperImpl partitionMapper + ? partitionMapper.getInternalConfiguration() : emptyMap(); StopConfiguration fromLocalConf = (StopConfiguration) Streaming.loadStopStrategy(delegate.plugin(), internalConf); diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/chain/impl/BeamExecutor.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/chain/impl/BeamExecutor.java index d6688a385c395..13b5c95f357e7 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/chain/impl/BeamExecutor.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/chain/impl/BeamExecutor.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.chain.impl; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.util.Collection; @@ -209,7 +208,7 @@ private String toName(final String transform, final Job.Component component) { private List getEdges(final List edges, final Job.Component step, final Function componentMapper) { - return edges.stream().filter(edge -> componentMapper.apply(edge).equals(step)).collect(toList()); + return edges.stream().filter(edge -> componentMapper.apply(edge).equals(step)).toList(); } private PipelineOptions createPipelineOptions() { diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoder.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoder.java index 4a2ac4b9bb7e2..2168a8e805186 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoder.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoder.java @@ -71,7 +71,7 @@ public JsonObject decode(final InputStream inputStream) throws IOException { @Override public boolean equals(final Object obj) { - return obj instanceof JsonpJsonObjectCoder && ((JsonpJsonObjectCoder) obj).isValid(); + return obj instanceof JsonpJsonObjectCoder jsonpJsonObjectCoder && jsonpJsonObjectCoder.isValid(); } @Override diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/customizer/Indices.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/customizer/Indices.java index 42658f1349f59..926f0380044e0 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/customizer/Indices.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/customizer/Indices.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.beam.customizer; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import java.io.BufferedReader; import java.io.ByteArrayInputStream; @@ -115,7 +114,7 @@ Stream getClasses() { .lines() .map(String::trim) .filter(it -> !it.startsWith("#") && !it.isEmpty()) - .collect(toList())).stream(); + .toList()).stream(); } catch (final IOException e) { throw new IllegalStateException(e); } diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/factory/service/AutoValueFluentApiFactory.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/factory/service/AutoValueFluentApiFactory.java index fa02d34facb1f..aa9c0b5639da7 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/factory/service/AutoValueFluentApiFactory.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/factory/service/AutoValueFluentApiFactory.java @@ -131,10 +131,10 @@ private Object createValue(final Map config, final String prefix } private Object createObjectValue(final Map config, final Type paramType, final String prefix) { - if (!(paramType instanceof Class)) { + if (!(paramType instanceof Class aClass)) { throw new IllegalArgumentException("Unsupported type: " + paramType); } - final Method factory = findFactory((Class) paramType, "create"); + final Method factory = findFactory(aClass, "create"); final List> params = Stream .of(factory.getParameters()) .map(p -> new AbstractMap.SimpleEntry<>(p.getName(), @@ -164,14 +164,13 @@ private Object createPrimitiveValue(final Object v, final Type type) { if (String.class == type) { // fast path return v; } - if (type instanceof Class && ((Class) type).isInstance(v)) { + if (type instanceof Class aClass1 && aClass1.isInstance(v)) { return v; } - if (type instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) type; + if (type instanceof ParameterizedType pt) { final Type raw = pt.getRawType(); // we know what we do if we use that - if (raw instanceof Class && ((Class) raw).isInstance(v)) { + if (raw instanceof Class aClass && aClass.isInstance(v)) { return v; } } diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/AvroRecordBuilderFactoryProvider.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/AvroRecordBuilderFactoryProvider.java index 0689333b5038c..b864818123bd8 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/AvroRecordBuilderFactoryProvider.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/AvroRecordBuilderFactoryProvider.java @@ -40,8 +40,7 @@ public class AvroRecordBuilderFactoryProvider implements RecordBuilderFactoryPro @Override public RecordBuilderFactory apply(final String containerId) { switch (System.getProperty("talend.component.beam.record.factory.impl", "auto")) { - case "memory": - case "default": + case "memory", "default": return new RecordBuilderFactoryImpl(containerId); case "avro": if (!hasAvroRecordBuilderFactory()) { diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtension.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtension.java index 38a90bc6a0dc5..2725df179d041 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtension.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtension.java @@ -66,10 +66,10 @@ public boolean isActive() { @Override public T unwrap(final Class type, final Object... args) { if ("org.talend.sdk.component.design.extension.flows.FlowsFactory".equals(type.getName()) && args != null - && args.length == 1 && args[0] instanceof ComponentFamilyMeta.BaseMeta) { + && args.length == 1 && args[0] instanceof ComponentFamilyMeta.BaseMeta baseMeta) { if (args[0] instanceof ComponentFamilyMeta.ProcessorMeta) { try { - final FlowsFactory factory = FlowsFactory.get((ComponentFamilyMeta.BaseMeta) args[0]); + final FlowsFactory factory = FlowsFactory.get(baseMeta); factory.getOutputFlows(); return type.cast(factory); } catch (final Exception e) { // no @ElementListener, let's default for native transforms diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamProducerFinder.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamProducerFinder.java index ed4562a073ffd..e0ce3869304af 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamProducerFinder.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/BeamProducerFinder.java @@ -65,10 +65,10 @@ public Iterator find(final String familyName, final String inputName, fi } catch (Exception e) { log.warn("Component Kit Mapper instantiation failed, trying to wrap native beam mapper..."); final Object delegate = ((Delegated) mapper).getDelegate(); - if (delegate instanceof PTransform) { + if (delegate instanceof PTransform pTransform) { final UUID uuid = UUID.randomUUID(); QUEUE.put(uuid, new ArrayBlockingQueue<>(QUEUE_SIZE, true)); - return new QueueInput(delegate, familyName, inputName, familyName, (PTransform) delegate, + return new QueueInput(delegate, familyName, inputName, familyName, pTransform, uuid); } throw new IllegalStateException(e); diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroEntryBuilder.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroEntryBuilder.java index 64eaee291f903..69e96ba8792ab 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroEntryBuilder.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroEntryBuilder.java @@ -22,8 +22,7 @@ public class AvroEntryBuilder extends SchemaImpl.EntryImpl.BuilderImpl { @Override public Schema.Entry.Builder withElementSchema(final Schema schema) { - if (schema instanceof AvroSchema) { - final AvroSchema innerSchema = (AvroSchema) schema; + if (schema instanceof AvroSchema innerSchema) { AvroSchema avroSchema = this.authorizeNull(innerSchema); return super.withElementSchema(avroSchema); } diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecord.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecord.java index cdc831c7ed30f..e027211a653c4 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecord.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecord.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.beam.spi.record; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static org.talend.sdk.component.api.record.SchemaCompanionUtil.sanitizeName; import static org.talend.sdk.component.runtime.beam.avro.AvroSchemas.unwrapUnion; @@ -31,7 +30,6 @@ import java.util.Date; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; import javax.json.bind.annotation.JsonbTransient; @@ -50,7 +48,7 @@ public class AvroRecord implements Record, AvroPropertyMapper, Unwrappable { - public final static ZoneId UTC = ZoneId.of("UTC"); + public static final ZoneId UTC = ZoneId.of("UTC"); private static final RecordConverters RECORD_CONVERTERS = new RecordConverters(); @@ -74,8 +72,7 @@ public AvroRecord(final IndexedRecord record) { } public AvroRecord(final Record record) { - if (record instanceof AvroRecord) { - final AvroRecord avr = (AvroRecord) record; + if (record instanceof AvroRecord avr) { this.delegate = avr.delegate; this.schema = avr.schema; return; @@ -105,12 +102,12 @@ private Object directMapping(final Object value, final Schema.Entry entry) { // RecordImpl store BigDecimal directly, no any convert as not necessary, so here need to convert to string for // beam's AvroCoder which cloud platform use // also here for any Collection as Array type - if (value instanceof BigDecimal) { - return ((BigDecimal) value).toString(); + if (value instanceof BigDecimal bigDecimal) { + return bigDecimal.toString(); } - if (value instanceof Collection) { - return ((Collection) value).stream().map(v -> this.directMapping(v, entry)).collect(toList()); + if (value instanceof Collection collection) { + return collection.stream().map(v -> this.directMapping(v, entry)).toList(); } if (value instanceof RecordImpl) { return new AvroRecord((Record) value).delegate; @@ -118,28 +115,28 @@ private Object directMapping(final Object value, final Schema.Entry entry) { if (value instanceof Record) { return ((Unwrappable) value).unwrap(IndexedRecord.class); } - if (value instanceof ZonedDateTime) { - return ((ZonedDateTime) value).toInstant().toEpochMilli(); + if (value instanceof ZonedDateTime dateTime) { + return dateTime.toInstant().toEpochMilli(); } - if (value instanceof Date) { - return ((Date) value).getTime(); + if (value instanceof Date date) { + return date.getTime(); } - if (value instanceof byte[]) { - return ByteBuffer.wrap((byte[]) value); + if (value instanceof byte[] bytes) { + return ByteBuffer.wrap(bytes); } - if (value instanceof Long) { + if (value instanceof Long l) { String logicalType = entry.getLogicalType(); if (logicalType != null) { if (SchemaProperty.LogicalType.DATE.key().equals(logicalType)) { return Math.toIntExact( - Instant.ofEpochMilli((Long) value) + Instant.ofEpochMilli(l) .atZone(UTC) .toLocalDate() .toEpochDay()); // Avro stores dates as int } else if (LogicalType.TIME.key().equals(logicalType)) { // QTDI-1252: Avro time-millis logical type stores int milliseconds from 0:00:00 not from Unix Epoch - final Instant instant = Instant.ofEpochMilli((Long) value); + final Instant instant = Instant.ofEpochMilli(l); final ZonedDateTime zonedDateTime = instant.atZone(UTC); return Math.toIntExact(zonedDateTime.toLocalTime().toNanoOfDay() / 1_000_000); } @@ -225,7 +222,7 @@ public int hashCode() { private Collection doMapCollection(final Class type, final Collection collection, final org.apache.avro.Schema elementType) { return ofNullable(collection) - .map(c -> c.stream().map(item -> doMap(type, elementType, item)).collect(toList())) + .map(c -> c.stream().map(item -> doMap(type, elementType, item)).toList()) .orElse(null); } @@ -245,12 +242,13 @@ private T doMap(final Class expectedType, final org.apache.avro.Schema fi return expectedType.cast(value); } - if (value instanceof IndexedRecord && (Record.class == expectedType || Object.class == expectedType)) { - return expectedType.cast(new AvroRecord((IndexedRecord) value)); + if (value instanceof IndexedRecord indexedRecord + && (Record.class == expectedType || Object.class == expectedType)) { + return expectedType.cast(new AvroRecord(indexedRecord)); } - if (value instanceof ByteBuffer && byte[].class == expectedType) { - return expectedType.cast(((ByteBuffer) value).array()); + if (value instanceof ByteBuffer byteBuffer && byte[].class == expectedType) { + return expectedType.cast(byteBuffer.array()); } final org.apache.avro.Schema fieldSchema = unwrapUnion(fieldSchemaRaw); @@ -297,12 +295,12 @@ private T doMap(final Class expectedType, final org.apache.avro.Schema fi if (value instanceof GenericArray && !GenericArray.class.isAssignableFrom(expectedType)) { if (ZonedDateTime.class == expectedType) { - List longs = (List) ((Collection) value).stream().collect(Collectors.toList()); + List longs = (List) ((Collection) value).stream().toList(); final Instant instant = Instant.ofEpochSecond(longs.get(0), longs.get(1)); return expectedType.cast(ZonedDateTime.ofInstant(instant, UTC)); } if (Instant.class == expectedType) { - List longs = (List) ((Collection) value).stream().collect(Collectors.toList()); + List longs = (List) ((Collection) value).stream().toList(); final Instant instant = Instant.ofEpochSecond(longs.get(0), longs.get(1)); return expectedType.cast(instant); } @@ -311,8 +309,8 @@ private T doMap(final Class expectedType, final org.apache.avro.Schema fi .cast(doMapCollection(itemType, (Collection) value, fieldSchema.getElementType())); } - if (value instanceof org.joda.time.DateTime && ZonedDateTime.class == expectedType) { - final long epochMilli = ((org.joda.time.DateTime) value).getMillis(); + if (value instanceof org.joda.time.DateTime dateTime && ZonedDateTime.class == expectedType) { + final long epochMilli = dateTime.getMillis(); return expectedType.cast(ZonedDateTime.ofInstant(java.time.Instant.ofEpochMilli(epochMilli), UTC)); } @@ -338,7 +336,7 @@ private T doMap(final Class expectedType, final org.apache.avro.Schema fi if (value instanceof Utf8 && Object.class == expectedType) { return expectedType.cast(value.toString()); } - if (Collection.class.isAssignableFrom(expectedType) && value instanceof Collection) { + if (Collection.class.isAssignableFrom(expectedType) && value instanceof Collection collection) { final org.apache.avro.Schema elementType = fieldSchema.getElementType(); final org.apache.avro.Schema elementSchema = unwrapUnion(elementType); Class toType = Object.class; @@ -347,7 +345,7 @@ private T doMap(final Class expectedType, final org.apache.avro.Schema fi } else if (elementSchema.getType() == org.apache.avro.Schema.Type.ARRAY) { toType = Collection.class; } - final Collection objects = this.doMapCollection(toType, (Collection) value, elementSchema); + final Collection objects = this.doMapCollection(toType, collection, elementSchema); return expectedType.cast(objects); } return expectedType.cast(value); diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchema.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchema.java index de0cb340fb38a..930b5c654a6f9 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchema.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchema.java @@ -17,7 +17,6 @@ import static java.util.Collections.emptyList; import static java.util.Collections.emptyMap; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static org.apache.avro.Schema.Type.NULL; import static org.apache.avro.Schema.Type.UNION; @@ -145,7 +144,7 @@ public List getEntries() { .getNonNullFields() // .filter(f -> !AvroSchema.isMetadata(f)) // only data fields .map(this::fromAvro) // - .collect(toList()); + .toList(); } return entries; } @@ -165,7 +164,7 @@ public List getMetadata() { .getNonNullFields() // .filter(AvroSchema::isMetadata) // only metadata fields .map(this::fromAvro) // - .collect(Collectors.toList()); + .toList(); } } @@ -334,9 +333,7 @@ private Type doMapType(final Schema schema) { } return Type.BYTES; // very unlikely to happen but treat all available types - case MAP: - case UNION: - case NULL: + case MAP, UNION, NULL: log.warn("[doMapType] unmanaged avro type {}. Storing as Object.", schema.getType()); // the storage will be an object so returning record kind... return Type.RECORD; diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaBuilder.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaBuilder.java index b499e2f161b90..61ca360e42428 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaBuilder.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaBuilder.java @@ -26,7 +26,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import org.apache.avro.AvroTypeException; import org.apache.avro.LogicalTypes; @@ -406,7 +405,7 @@ public Schema build(final Comparator order) { return new AvroSchema(AvroSchemas.getEmptySchema()); } final List avroFields = - this.fields.streams().map(this::entryToAvroField).collect(Collectors.toList()); + this.fields.streams().map(this::entryToAvroField).toList(); final org.apache.avro.Schema record = org.apache.avro.Schema .createRecord(SchemaIdGenerator.generateRecordName(avroFields), null, "talend.component.schema", false); diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCache.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCache.java index 965e7611fd08a..14eaaadf53664 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCache.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCache.java @@ -42,8 +42,7 @@ public AvroSchema find(final Schema schema) { if (schema == null || schema instanceof AvroSchema) { return (AvroSchema) schema; } - if (schema instanceof SchemaImpl) { - final SchemaImpl realSchema = (SchemaImpl) schema; + if (schema instanceof SchemaImpl realSchema) { if ((!this.cache.containsKey(realSchema)) && this.cache.size() >= AvroSchemaCache.MAX_SIZE) { this.removeOldest(); diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaConverter.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaConverter.java index 930e44d828def..eb1aebf632547 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaConverter.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaConverter.java @@ -17,7 +17,6 @@ import static java.util.Arrays.asList; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static org.apache.avro.Schema.Type.NULL; import static org.apache.avro.Schema.Type.UNION; import static org.talend.sdk.component.runtime.beam.spi.record.SchemaIdGenerator.generateRecordName; @@ -42,7 +41,7 @@ public AvroSchema convert(final SchemaImpl schema) { final org.apache.avro.Schema avroSchema = toSchema(entry); final org.apache.avro.Schema.Field f = AvroSchemaBuilder.AvroHelper.toField(avroSchema, entry); return f; - }).collect(toList()); + }).toList(); final org.apache.avro.Schema avroSchema = org.apache.avro.Schema.createRecord(generateRecordName(fields), null, null, false); schema.getProps().forEach(avroSchema::addProp); @@ -57,7 +56,7 @@ private org.apache.avro.Schema toSchema(final Schema.Entry entry) { } if (!entry.isNullable() && schema.getType() == UNION) { return org.apache.avro.Schema - .createUnion(schema.getTypes().stream().filter(it -> it.getType() != NULL).collect(toList())); + .createUnion(schema.getTypes().stream().filter(it -> it.getType() != NULL).toList()); } return schema; } diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/SchemaIdGenerator.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/SchemaIdGenerator.java index b7ae0523b8fa8..3024aa040b27b 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/SchemaIdGenerator.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/spi/record/SchemaIdGenerator.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.spi.record; -import static java.util.stream.Collectors.toList; import static lombok.AccessLevel.PRIVATE; import java.util.List; @@ -41,6 +40,6 @@ private static long fingerprint(final List fields) { .stream() .map(it -> new Schema.Field(it.name(), it.schema(), it.doc(), it.defaultVal(), it.order())) - .collect(toList()))); + .toList())); } } diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecord.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecord.java index 5ddd6b40c0a37..2dc5115db96c3 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecord.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecord.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.beam.transform.avro; import static java.util.Arrays.asList; -import static java.util.stream.Collectors.toList; import javax.json.JsonArray; import javax.json.JsonNumber; @@ -86,8 +85,7 @@ private Schema guessSchema(final String recordName, final JsonValue element) { return INT; } return DOUBLE; - case FALSE: - case TRUE: + case FALSE, TRUE: return BOOLEAN; case NULL: return NULL; @@ -98,7 +96,7 @@ private Schema guessSchema(final String recordName, final JsonValue element) { .stream() .map(it -> new Schema.Field(it.getKey(), guessSchema(buildNextName(recordName, it.getKey()), it.getValue()), null, null)) - .collect(toList())); + .toList()); return record; case ARRAY: final JsonArray array = element.asJsonArray(); diff --git a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformer.java b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformer.java index 3d32940e7a19c..10d63ed279932 100644 --- a/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformer.java +++ b/component-runtime-beam/src/main/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformer.java @@ -87,11 +87,10 @@ public BeamIOTransformer() { @Override public byte[] transform(final ClassLoader loader, final String className, final Class classBeingRedefined, final ProtectionDomain protectionDomain, final byte[] classfileBuffer) { - if (className == null || !(loader instanceof ConfigurableClassLoader)) { + if (className == null || !(loader instanceof ConfigurableClassLoader classLoader)) { return classfileBuffer; } - final ConfigurableClassLoader classLoader = (ConfigurableClassLoader) loader; final String javaClassName = toClassName(className); if (!KnownClassesFilter.INSTANCE.accept(javaClassName) && !canBeABeamIO(classLoader, javaClassName)) { return classfileBuffer; diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/BeamIOWrappingTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/BeamIOWrappingTest.java index fe3f24fd1b55e..e3561f760a764 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/BeamIOWrappingTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/BeamIOWrappingTest.java @@ -17,7 +17,6 @@ import static java.util.Arrays.asList; import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; import static org.apache.ziplock.JarLocation.jarLocation; import static org.hamcrest.CoreMatchers.instanceOf; import static org.junit.Assert.assertEquals; @@ -70,10 +69,10 @@ public class BeamIOWrappingTest implements Serializable { @Rule - public transient final TestPipeline pipeline = TestPipeline.create(); + public final transient TestPipeline pipeline = TestPipeline.create(); @ClassRule - public static transient final TemporaryFolder TEMPORARY_FOLDER = new TemporaryFolder(); + public static final transient TemporaryFolder TEMPORARY_FOLDER = new TemporaryFolder(); @Test public void nativeBeamPipeline() { @@ -126,7 +125,7 @@ private String getPlugin() { public static class BeamSource extends DelegatingTransform> { public BeamSource(@Option("values") final Collection values) { - super(Create.of(values.stream().map(Sample::new).collect(toList())).withCoder(new SampleCoder())); + super(Create.of(values.stream().map(Sample::new).toList()).withCoder(new SampleCoder())); } private static class SampleCoder extends Coder { diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/NativeWrappedIOTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/NativeWrappedIOTest.java index 39e59272381d8..aafde29fbb618 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/NativeWrappedIOTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/NativeWrappedIOTest.java @@ -18,7 +18,6 @@ import static java.util.Collections.emptyList; import static java.util.Collections.emptyMap; import static java.util.Collections.singletonList; -import static java.util.stream.Collectors.toList; import static lombok.AccessLevel.PRIVATE; import static org.junit.Assert.assertEquals; @@ -82,7 +81,7 @@ public class NativeWrappedIOTest { .withIsolatedPackage(JdbcSource.class.getPackage().getName(), JdbcIO.class.getPackage().getName()); @Rule - public transient final TestPipeline pipeline = TestPipeline.create(); + public final transient TestPipeline pipeline = TestPipeline.create(); @Test public void dofn() { @@ -139,7 +138,7 @@ private SimpleComponentRule withIsolatedPackage(final String packageName, final isolatedPackages = Stream .concat(Stream.of(packageName), Stream.of(packages)) .filter(Objects::nonNull) - .collect(toList()); + .toList(); if (isolatedPackages.isEmpty()) { isolatedPackages = null; } diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/TalendIOTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/TalendIOTest.java index 495657321645e..14e195d111e30 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/TalendIOTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/TalendIOTest.java @@ -79,7 +79,7 @@ public class TalendIOTest implements Serializable { private static final Jsonb JSONB = JsonbBuilder.create(); @Rule - public transient final TestPipeline pipeline = TestPipeline.create(); + public final transient TestPipeline pipeline = TestPipeline.create(); @Test public void input() { @@ -243,9 +243,9 @@ public void onNext(final InputFactory input, final OutputFactory factory) { .apply(UUID.randomUUID().toString(), toSampleLength()) .apply(UUID.randomUUID().toString(), toInt()); - final List expected = data.stream().map(Sample::getData).map(String::length).collect(toList()); + final List expected = data.stream().map(Sample::getData).map(String::length).toList(); PAssert.that(out).satisfies((SerializableFunction, Void>) input -> { - final List actual = StreamSupport.stream(input.spliterator(), false).sorted().collect(toList()); + final List actual = StreamSupport.stream(input.spliterator(), false).sorted().toList(); assertEquals(expected, actual); return null; }); @@ -328,7 +328,7 @@ public static class SampleLength implements Serializable { private int len; } - private static abstract class BaseTestProcessor implements Serializable, Processor { + private abstract static class BaseTestProcessor implements Serializable, Processor { @Override public void beforeGroup() { @@ -366,7 +366,7 @@ public void stop() { } } - private static abstract class BaseTestInput implements Serializable, Input { + private abstract static class BaseTestInput implements Serializable, Input { @Override public String plugin() { @@ -394,7 +394,7 @@ public void stop() { } } - private static abstract class TheTestMapper implements Serializable, Mapper { + private abstract static class TheTestMapper implements Serializable, Mapper { @Override public boolean isStream() { diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/chain/BeamJobTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/chain/BeamJobTest.java index 5e8872cd633a0..916d0348962da 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/chain/BeamJobTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/chain/BeamJobTest.java @@ -43,7 +43,7 @@ @Slf4j class BeamJobTest implements Serializable { - private transient final PluginGenerator pluginGenerator = new PluginGenerator(); + private final transient PluginGenerator pluginGenerator = new PluginGenerator(); @Test void complex(final TestInfo info, @TempDir final Path temporaryFolder) throws IOException { diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoderTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoderTest.java index 69a3f1741fe9c..7bb2977af55ab 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoderTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/coder/JsonpJsonObjectCoderTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.coder; -import static java.util.stream.Collectors.toList; import static org.apache.ziplock.JarLocation.jarLocation; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -67,7 +66,7 @@ void iterable() throws IOException { final ByteArrayOutputStream out = new ByteArrayOutputStream(); coder.encode(() -> iterator, out); final Iterable decode = coder.decode(new ByteArrayInputStream(out.toByteArray())); - final Collection result = StreamSupport.stream(decode.spliterator(), false).collect(toList()); + final Collection result = StreamSupport.stream(decode.spliterator(), false).toList(); assertEquals(1, result.size()); assertEquals("value", result.iterator().next().getString("test")); } diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtensionTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtensionTest.java index ccc2559924129..37f9380b8b133 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtensionTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/BeamComponentExtensionTest.java @@ -17,7 +17,6 @@ import static java.util.Arrays.asList; import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; import static org.apache.ziplock.JarLocation.jarLocation; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.MatcherAssert.assertThat; @@ -138,7 +137,7 @@ public static class BeamSource extends PTransform> { private final Create.Values source; public BeamSource(final Collection values) { - this.source = Create.of(values.stream().map(Sample::new).collect(toList())); + this.source = Create.of(values.stream().map(Sample::new).toList()); } @Override diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecordTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecordTest.java index 901a4a64087c5..4b70a8a387336 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecordTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroRecordTest.java @@ -54,7 +54,6 @@ import java.util.Objects; import java.util.TimeZone; import java.util.function.Supplier; -import java.util.stream.Collectors; import javax.json.Json; import javax.json.JsonArray; @@ -674,14 +673,12 @@ void pipelineDateTimeFields() throws Exception { final Date date = new Date(new java.text.SimpleDateFormat("yyyy-MM-dd").parse("2018-12-6").getTime()); final Date datetime = new Date(); final Date time = new Date(1000 * 60 * 60 * 15 + 1000 * 60 * 20 + 39000); // 15:20:39 - final Instant timestamp = java.sql.Timestamp.valueOf("2021-04-19 13:37:07.752345").toInstant(); builder.withDateTime("t_date", date); builder.withDateTime("t_datetime", datetime); builder.withDateTime("t_time", time); final Record rec = builder.build(); final Pipeline pipeline = Pipeline.create(); - final PCollection input = pipeline.apply(Create.of(asList(rec)).withCoder(SchemaRegistryCoder.of())); // - final PCollection output = input.apply(new RecordToRecord()); + pipeline.apply(Create.of(asList(rec)).withCoder(SchemaRegistryCoder.of())).apply(new RecordToRecord()); assertEquals(org.apache.beam.sdk.PipelineResult.State.DONE, pipeline.run().waitUntilFinish()); } @@ -720,9 +717,7 @@ void pipelineDecimalFieldsWithAvroRecord() throws Exception { // should not use ReflectData for any GenericRecord implements // ReflectData.get().addLogicalTypeConversion(new Conversions.DecimalConversion()); - final PCollection input = - pipeline.apply(Create.of(asList(rec1, rec2)).withCoder(SchemaRegistryCoder.of())); // - final PCollection output = input.apply(new RecordToRecord()); + pipeline.apply(Create.of(asList(rec1, rec2)).withCoder(SchemaRegistryCoder.of())).apply(new RecordToRecord()); assertEquals(org.apache.beam.sdk.PipelineResult.State.DONE, pipeline.run().waitUntilFinish()); } @@ -750,9 +745,7 @@ void pipelineTimestampFieldsWithAvroRecord() throws Exception { final Pipeline pipeline = Pipeline.create(); - final PCollection input = - pipeline.apply(Create.of(asList(rec1, rec2)).withCoder(SchemaRegistryCoder.of())); // - final PCollection output = input.apply(new RecordToRecord()); + pipeline.apply(Create.of(asList(rec1, rec2)).withCoder(SchemaRegistryCoder.of())).apply(new RecordToRecord()); assertEquals(org.apache.beam.sdk.PipelineResult.State.DONE, pipeline.run().waitUntilFinish()); } @@ -845,7 +838,7 @@ void testUnmappedTypes() throws Exception { avro.put(4, myMap); final Record record = new AvroRecord(avro); // check avro schema mappings - final List entries = record.getSchema().getAllEntries().collect(Collectors.toList()); + final List entries = record.getSchema().getAllEntries().toList(); assertEquals(Schema.Type.BYTES, entries.get(0).getType()); assertEquals(Schema.Type.DECIMAL, entries.get(1).getType()); assertEquals(Schema.Type.STRING, entries.get(2).getType()); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCacheTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCacheTest.java index efa1a588bda6f..3e3585d052ea8 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCacheTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/spi/record/AvroSchemaCacheTest.java @@ -17,7 +17,6 @@ import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -37,7 +36,7 @@ void find() { final List threads = schemas.stream() // .map((SchemaImpl s) -> new Thread(() -> this.treat(s))) // - .collect(Collectors.toList()); // + .toList(); // threads.forEach(Thread::start); threads.forEach((Thread t) -> { try { diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/AutoKVWrapperTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/AutoKVWrapperTest.java index 556ffc0d7f487..048b10f678feb 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/AutoKVWrapperTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/AutoKVWrapperTest.java @@ -17,7 +17,6 @@ import static java.util.Arrays.asList; import static java.util.Comparator.comparing; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.talend.sdk.component.runtime.beam.transform.Pipelines.buildBasePipeline; @@ -52,13 +51,13 @@ public void test() { .stream(values.spliterator(), false) .sorted(comparing( k -> k.getValue().getArray(Record.class, "b1").iterator().next().getString("foo"))) - .collect(toList()); + .toList(); assertEquals(2, items.size()); assertEquals(2, new HashSet<>(items).size()); // ensure we got 2 ids assertEquals(asList("a", "b"), items .stream() .map(k -> k.getValue().getArray(Record.class, "b1").iterator().next().getString("foo")) - .collect(toList())); + .toList()); return null; }); assertEquals(PipelineResult.State.DONE, pipeline.run().waitUntilFinish()); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchFilterTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchFilterTest.java index 3bac7b141105c..89e79efe54dec 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchFilterTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchFilterTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.transform; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -41,7 +40,7 @@ public class RecordBranchFilterTest implements Serializable { @Test public void test() { PAssert.that(buildBasePipeline(pipeline).apply(RecordBranchFilter.of(null, "b1"))).satisfies(values -> { - final List items = StreamSupport.stream(values.spliterator(), false).collect(toList()); + final List items = StreamSupport.stream(values.spliterator(), false).toList(); assertEquals(2, items.size()); items.forEach(item -> { assertNull(item.get(Object.class, "b2")); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchMapperTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchMapperTest.java index 0132eee4018b2..1c3acb84c9da7 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchMapperTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchMapperTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.transform; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -43,7 +42,7 @@ public void test() { PAssert .that(buildBasePipeline(pipeline).apply(RecordBranchMapper.of(null, "b1", "other"))) .satisfies(values -> { - final List items = StreamSupport.stream(values.spliterator(), false).collect(toList()); + final List items = StreamSupport.stream(values.spliterator(), false).toList(); assertEquals(2, items.size()); items.forEach(item -> { final Collection other = (Collection) item.get(Object.class, "other"); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchUnwrapperTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchUnwrapperTest.java index 9153f969f798d..7d3f63eaba3eb 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchUnwrapperTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/RecordBranchUnwrapperTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.transform; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -43,7 +42,7 @@ public void test() { PAssert .that(buildBasePipeline(pipeline).apply(RecordBranchMapper.of(null, "b1", "other"))) .satisfies(values -> { - final List items = StreamSupport.stream(values.spliterator(), false).collect(toList()); + final List items = StreamSupport.stream(values.spliterator(), false).toList(); assertEquals(2, items.size()); items.forEach(item -> { final Collection other = item.getArray(Record.class, "other"); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/IndexedRecordToJsonTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/IndexedRecordToJsonTest.java index aafc805d9a6db..91e54cd459d8e 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/IndexedRecordToJsonTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/IndexedRecordToJsonTest.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.beam.transform.avro; import static java.util.Arrays.asList; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import java.util.stream.StreamSupport; @@ -52,7 +51,7 @@ public void test() { .stream(values.spliterator(), false) .map(k -> k.getString("name")) .sorted() - .collect(toList())); + .toList()); return null; }); assertEquals(PipelineResult.State.DONE, pipeline.run().waitUntilFinish()); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/JsonToIndexedRecordTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/JsonToIndexedRecordTest.java index 4e650b8c3e0e4..c3dcd22e5a270 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/JsonToIndexedRecordTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/JsonToIndexedRecordTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.transform.avro; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import java.util.List; @@ -60,7 +59,7 @@ public void test() { .apply(new JsonToIndexedRecord(createSchema()))) .satisfies(values -> { final List records = - StreamSupport.stream(values.spliterator(), false).collect(toList()); + StreamSupport.stream(values.spliterator(), false).toList(); assertEquals(2, records.size()); return null; }); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecordTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecordTest.java index aacaf79e0c294..51b38ffbd0f23 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecordTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transform/avro/SchemalessJsonToIndexedRecordTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.beam.transform.avro; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -64,7 +63,7 @@ public void test() { .setCoder(AvroCoder.of(IndexedRecord.class, createSchema()))) .satisfies(values -> { final List records = - StreamSupport.stream(values.spliterator(), false).collect(toList()); + StreamSupport.stream(values.spliterator(), false).toList(); assertEquals(2, records.size()); records.forEach(it -> assertTrue(it.toString().startsWith("{\"name\":"))); records.forEach(it -> assertTrue(it.toString().contains("\"foo\": {\"age\":"))); diff --git a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformerTest.java b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformerTest.java index 0ad33be9dbce5..a2fa679f9fdbb 100644 --- a/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformerTest.java +++ b/component-runtime-beam/src/test/java/org/talend/sdk/component/runtime/beam/transformer/BeamIOTransformerTest.java @@ -160,8 +160,8 @@ void coderSerialization() { private Object newInstance(final Class aClass, final ClassLoader validationLoader) { try { final Object instance = aClass.getConstructor().newInstance(); - if (instance instanceof SetValidator) { - ((SetValidator) instance) + if (instance instanceof SetValidator setValidator) { + setValidator .setValidator( () -> assertEquals(Thread.currentThread().getContextClassLoader(), validationLoader)); } diff --git a/component-runtime-beam/src/test/java/org/talend/test/wrapped/JdbcSource.java b/component-runtime-beam/src/test/java/org/talend/test/wrapped/JdbcSource.java index fef9652692018..c056ada2eabfb 100644 --- a/component-runtime-beam/src/test/java/org/talend/test/wrapped/JdbcSource.java +++ b/component-runtime-beam/src/test/java/org/talend/test/wrapped/JdbcSource.java @@ -81,6 +81,7 @@ public static class WorkAroundCoder extends Coder { private static final long serialVersionUID = 1L; + @SuppressWarnings("java:S1068") private transient PCollection collection; private Coder delegate; diff --git a/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/flows/ProcessorFlowsFactory.java b/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/flows/ProcessorFlowsFactory.java index fd0fabbc8d028..37ddce11cf0b8 100644 --- a/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/flows/ProcessorFlowsFactory.java +++ b/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/flows/ProcessorFlowsFactory.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.design.extension.flows; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static java.util.stream.Stream.concat; import static java.util.stream.Stream.of; @@ -49,7 +48,7 @@ public Collection getInputFlows() { .orElseGet(() -> getAfterGroup().map(it -> Stream.of(it.getParameters())).orElseGet(Stream::empty)) .filter(this::isInput) .map(this::mapInputName) - .collect(toList()); + .toList(); } @Override @@ -58,7 +57,7 @@ public Collection getOutputFlows() { getListener() .map(listener -> concat(getReturnedBranches(listener), getOutputParameters(listener))) .orElseGet(Stream::empty), - getAfterGroup().map(this::getOutputParameters).orElseGet(Stream::empty)).distinct().collect(toList()); + getAfterGroup().map(this::getOutputParameters).orElseGet(Stream::empty)).distinct().toList(); } private Optional getAfterGroup() { diff --git a/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilder.java b/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilder.java index 7b589deec12a7..7f2ce1b1fa496 100644 --- a/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilder.java +++ b/component-runtime-design-extension/src/main/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilder.java @@ -17,7 +17,6 @@ import static java.util.Collections.singletonList; import static java.util.function.Function.identity; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static org.talend.sdk.component.runtime.manager.util.Lazy.lazy; @@ -60,7 +59,7 @@ public RepositoryModel create(final ComponentManager.AllServices services, final List families = familyMetas .stream() .map(familyMeta -> createConfigForFamily(services, migrationHandlerFactory, familyMeta)) - .collect(toList()); + .toList(); return new RepositoryModel(families); } @@ -130,8 +129,8 @@ private Config createConfig(final String plugin, final ComponentManager.AllServi .setId(IdGenerator .get(plugin, c.getKey().getFamily(), c.getKey().getConfigType(), c.getKey().getConfigName())); - if (config.getJavaType() instanceof Class) { - final Class clazz = (Class) config.getJavaType(); + if (config.getJavaType() instanceof Class javaTypeClass) { + final Class clazz = javaTypeClass; final Version version = clazz.getAnnotation(Version.class); if (version != null) { c.setVersion(version.value()); @@ -169,7 +168,7 @@ private ParameterMeta translate(final ParameterMeta config, final int replacedPr .getNestedParameters() .stream() .map(it -> translate(it, replacedPrefixLen, newPrefix)) - .collect(toList()), + .toList(), config.getProposals(), config.getMetadata(), config.isLogMissingResourceBundle()); } } diff --git a/component-runtime-design-extension/src/test/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilderTest.java b/component-runtime-design-extension/src/test/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilderTest.java index 64917d63dd266..6c011036ca1fb 100644 --- a/component-runtime-design-extension/src/test/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilderTest.java +++ b/component-runtime-design-extension/src/test/java/org/talend/sdk/component/design/extension/repository/RepositoryModelBuilderTest.java @@ -21,7 +21,6 @@ import static java.util.Collections.singletonList; import static java.util.Optional.ofNullable; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static org.apache.xbean.asm9.ClassReader.EXPAND_FRAMES; import static org.apache.xbean.asm9.ClassWriter.COMPUTE_FRAMES; import static org.apache.ziplock.JarLocation.jarLocation; @@ -124,7 +123,7 @@ void notRootConfig() { }), new MigrationHandlerFactory( new ReflectionService(new ParameterModelService(registry), registry))); final List configs = - model.getFamilies().stream().flatMap(f -> f.getConfigs().get().stream()).collect(toList()); + model.getFamilies().stream().flatMap(f -> f.getConfigs().get().stream()).toList(); assertEquals(1, configs.size()); } diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/base/lang/exception/InvocationExceptionWrapper.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/base/lang/exception/InvocationExceptionWrapper.java index 8f1664df492d2..95fd645e84d99 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/base/lang/exception/InvocationExceptionWrapper.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/base/lang/exception/InvocationExceptionWrapper.java @@ -42,15 +42,14 @@ private static RuntimeException mapException(final Throwable targetException, fi if (targetException == null) { return null; } - if (targetException instanceof ComponentException) { - return (ComponentException) targetException; + if (targetException instanceof ComponentException componentException) { + return componentException; } - if (targetException instanceof DiscoverSchemaException) { - return (DiscoverSchemaException) targetException; + if (targetException instanceof DiscoverSchemaException discoverSchemaException) { + return discoverSchemaException; } - if (targetException instanceof RuntimeException + if (targetException instanceof RuntimeException cast && targetException.getClass().getName().startsWith("java.")) { - final RuntimeException cast = (RuntimeException) targetException; if (cast.getCause() == null || (cast.getCause() != null && cast.getCause().getClass().getName().startsWith("java."))) { return cast; diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/input/LocalPartitionMapper.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/input/LocalPartitionMapper.java index 65f169e23e40d..40da1370699fa 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/input/LocalPartitionMapper.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/input/LocalPartitionMapper.java @@ -61,7 +61,7 @@ public List split(final long desiredSize) { @Override public Input create() { - return input instanceof Input ? (Input) input + return input instanceof Input input1 ? input1 : new InputImpl(rootName(), name(), plugin(), input); } diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/output/ProcessorImpl.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/output/ProcessorImpl.java index 0651785de21c8..81229696456b1 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/output/ProcessorImpl.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/output/ProcessorImpl.java @@ -18,7 +18,6 @@ import static java.util.Collections.emptyList; import static java.util.Collections.emptyMap; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static org.talend.sdk.component.runtime.reflect.Parameters.isGroupBuffer; @@ -116,13 +115,13 @@ public Map getInternalConfiguration() { @Override public void beforeGroup() { if (beforeGroup == null) { - beforeGroup = findMethods(BeforeGroup.class).collect(toList()); - afterGroup = findMethods(AfterGroup.class).collect(toList()); + beforeGroup = findMethods(BeforeGroup.class).toList(); + afterGroup = findMethods(AfterGroup.class).toList(); process = findMethods(ElementListener.class).findFirst().orElse(null); // IMPORTANT: ensure you call only once the create(....), see studio integration (mojo) parameterBuilderProcess = process == null ? emptyList() - : Stream.of(process.getParameters()).map(this::buildProcessParamBuilder).collect(toList()); + : Stream.of(process.getParameters()).map(this::buildProcessParamBuilder).toList(); parameterBuilderAfterGroup = afterGroup .stream() .map(after -> new AbstractMap.SimpleEntry<>(after, Stream.of(after.getParameters()) @@ -134,7 +133,7 @@ public void beforeGroup() { } return toOutputParamBuilder(param); }) - .collect(toList()))) + .toList())) .collect(toMap(AbstractMap.SimpleEntry::getKey, AbstractMap.SimpleEntry::getValue)); forwardReturn = process != null && process.getReturnType() != void.class; diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/MappingUtils.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/MappingUtils.java index 6c5fa2a3b5fb0..151f13ce9ba70 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/MappingUtils.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/MappingUtils.java @@ -68,9 +68,9 @@ public static Object coerce(final Class expectedType, final Object value, // non-matching types if (!expectedType.isInstance(value)) { // number classes mapping - if (value instanceof Number + if (value instanceof Number number && Number.class.isAssignableFrom(PRIMITIVE_WRAPPER_MAP.getOrDefault(expectedType, expectedType))) { - return mapNumber(expectedType, (Number) value); + return mapNumber(expectedType, number); } // mapping primitive <-> Class if (isAssignableTo(value.getClass(), expectedType)) { @@ -80,21 +80,21 @@ public static Object coerce(final Class expectedType, final Object value, return String.valueOf(value); } // TCOMP-2293 support Instant - if (value instanceof Instant) { + if (value instanceof Instant instant1) { if (ZonedDateTime.class == expectedType) { - return ZonedDateTime.ofInstant((Instant) value, UTC); + return ZonedDateTime.ofInstant(instant1, UTC); } else if (java.util.Date.class == expectedType) { - return java.sql.Timestamp.from((Instant) value); + return java.sql.Timestamp.from(instant1); } else if (Long.class == expectedType) { - return ((Instant) value).toEpochMilli(); + return instant1.toEpochMilli(); } } if (value instanceof Timestamp && (java.util.Date.class == expectedType || Instant.class == expectedType)) { return value; } - if (value instanceof long[]) { - final Instant instant = Instant.ofEpochSecond(((long[]) value)[0], ((long[]) value)[1]); + if (value instanceof long[] longs) { + final Instant instant = Instant.ofEpochSecond(longs[0], longs[1]); if (ZonedDateTime.class == expectedType) { return ZonedDateTime.ofInstant(instant, UTC); } diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordBuilderFactoryImpl.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordBuilderFactoryImpl.java index 0bdd513b12fe1..b413098106fda 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordBuilderFactoryImpl.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordBuilderFactoryImpl.java @@ -37,8 +37,7 @@ public class RecordBuilderFactoryImpl implements RecordBuilderFactory, Serializa @Override public Schema.Builder newSchemaBuilder(final Schema.Type type) { switch (type) { - case RECORD: - case ARRAY: + case RECORD, ARRAY: return new SchemaImpl.BuilderImpl().withType(type); default: return Schemas.valueOf(type.name()); diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordConverters.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordConverters.java index e8fc0b07e4f4c..69d036fb1b352 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordConverters.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordConverters.java @@ -68,11 +68,11 @@ public Record toRecord(final MappingMetaRegistry registry, final T data, fin if (data == null) { return null; } - if (data instanceof Record) { - return (Record) data; + if (data instanceof Record record) { + return record; } - if (data instanceof JsonObject) { - return json2Record(recordBuilderProvider.get(), (JsonObject) data); + if (data instanceof JsonObject jsonObject) { + return json2Record(recordBuilderProvider.get(), jsonObject); } final MappingMeta meta = registry.find(data.getClass()); @@ -82,8 +82,8 @@ public Record toRecord(final MappingMetaRegistry registry, final T data, fin final Jsonb jsonb = jsonbProvider.get(); if (!(data instanceof String) && !data.getClass().isPrimitive() - && jsonb instanceof PojoJsonbProvider) { - final Jsonb pojoMapper = ((PojoJsonbProvider) jsonb).get(); + && jsonb instanceof PojoJsonbProvider pojoJsonbProvider) { + final Jsonb pojoMapper = pojoJsonbProvider.get(); final OutputRecordHolder holder = new OutputRecordHolder(data); try (final OutputRecordHolder stream = holder) { pojoMapper.toJson(data, stream); @@ -120,8 +120,7 @@ private Record json2Record(final RecordBuilderFactory factory, final JsonObject .build(), record); break; } - case TRUE: - case FALSE: + case TRUE, FALSE: builder.withBoolean(key, JsonValue.TRUE.equals(value)); break; case STRING: @@ -172,17 +171,17 @@ private Schema getArrayElementSchema(final RecordBuilderFactory factory, final L } private Object mapJson(final RecordBuilderFactory factory, final JsonValue it) { - if (it instanceof JsonObject) { - return json2Record(factory, (JsonObject) it); + if (it instanceof JsonObject jsonObject) { + return json2Record(factory, jsonObject); } - if (it instanceof JsonArray) { - return ((JsonArray) it).stream().map(i -> mapJson(factory, i)).collect(toList()); + if (it instanceof JsonArray jsonValues) { + return jsonValues.stream().map(i -> mapJson(factory, i)).collect(toList()); } - if (it instanceof JsonString) { - return ((JsonString) it).getString(); + if (it instanceof JsonString jsonString) { + return jsonString.getString(); } - if (it instanceof JsonNumber) { - return ((JsonNumber) it).numberValue(); + if (it instanceof JsonNumber jsonNumber) { + return jsonNumber.numberValue(); } if (JsonValue.FALSE.equals(it)) { return false; @@ -237,8 +236,8 @@ public static Schema toSchema(final RecordBuilderFactory factory, final Object n .withElementSchema(toSchema(factory, collection.iterator().next())) .build(); } - if (next instanceof Record) { - return ((Record) next).getSchema(); + if (next instanceof Record record) { + return record.getSchema(); } throw new IllegalArgumentException("unsupported type for " + next); } @@ -259,13 +258,12 @@ public Object toType(final MappingMetaRegistry registry, final Object data, fina } final JsonObject inputAsJson; - if (data instanceof JsonObject) { + if (data instanceof JsonObject jsonObject) { if (JsonObject.class == parameterType) { return data; } - inputAsJson = (JsonObject) data; - } else if (data instanceof Record) { - final Record record = (Record) data; + inputAsJson = jsonObject; + } else if (data instanceof Record record) { if (!JsonObject.class.isAssignableFrom(parameterType)) { final MappingMeta mappingMeta = registry.find(parameterType); if (mappingMeta.isLinearMapping()) { diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordImpl.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordImpl.java index f56961dfca2ff..e72fdf1f019e0 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordImpl.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/RecordImpl.java @@ -158,7 +158,7 @@ private void initOrderState() { final List fields = this.providedSchema.naturalOrder() .getFieldsOrder() .map(n -> this.getEntryWithErrorIfAny(this.providedSchema.getEntry(n))) - .collect(Collectors.toList()); + .toList(); this.orderState = new OrderState(fields); } } @@ -193,16 +193,16 @@ public Builder with(final Entry entry, final Object value) { if (entry.getType() == Schema.Type.DATETIME) { if (value == null) { withDateTime(entry, (ZonedDateTime) value); - } else if (value instanceof Long) { - withTimestamp(entry, (Long) value); - } else if (value instanceof Date) { - withDateTime(entry, (Date) value); - } else if (value instanceof ZonedDateTime) { - withDateTime(entry, (ZonedDateTime) value); - } else if (value instanceof Instant) { - withInstant(entry, (Instant) value); - } else if (value instanceof Temporal) { - withTimestamp(entry, ((Temporal) value).get(ChronoField.INSTANT_SECONDS) * 1000L); + } else if (value instanceof Long l) { + withTimestamp(entry, l); + } else if (value instanceof Date date) { + withDateTime(entry, date); + } else if (value instanceof ZonedDateTime zonedDateTime) { + withDateTime(entry, zonedDateTime); + } else if (value instanceof Instant instant) { + withInstant(entry, instant); + } else if (value instanceof Temporal temporal) { + withTimestamp(entry, temporal.get(ChronoField.INSTANT_SECONDS) * 1000L); } return this; } else { @@ -236,7 +236,7 @@ public Builder removeEntry(final Schema.Entry schemaEntry) { } final BuilderImpl builder = - new BuilderImpl(this.providedSchema.getAllEntries().collect(Collectors.toList()), this.values); + new BuilderImpl(this.providedSchema.getAllEntries().toList(), this.values); return builder.removeEntry(schemaEntry); } @@ -267,7 +267,7 @@ public Builder updateEntryByName(final String name, final Schema.Entry schemaEnt } final BuilderImpl builder = - new BuilderImpl(this.providedSchema.getAllEntries().collect(Collectors.toList()), + new BuilderImpl(this.providedSchema.getAllEntries().toList(), this.values); return builder.updateEntryByName(name, schemaEntry); } @@ -698,7 +698,7 @@ public void update(final Schema.Entry entry) { public Comparator buildComparator() { final List orderedFields = - this.orderedEntries.streams().map(Entry::getName).collect(Collectors.toList()); + this.orderedEntries.streams().map(Entry::getName).toList(); return EntriesOrder.of(orderedFields); } } diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/SchemaImpl.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/SchemaImpl.java index 665b30d5a4cbd..17460577aa9eb 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/SchemaImpl.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/SchemaImpl.java @@ -71,8 +71,8 @@ public class SchemaImpl implements Schema { SchemaImpl(final SchemaImpl.BuilderImpl builder) { this.type = builder.type; this.elementSchema = builder.elementSchema; - this.entries = unmodifiableList(builder.entries.streams().collect(toList())); - this.metadataEntries = unmodifiableList(builder.metadataEntries.streams().collect(toList())); + this.entries = unmodifiableList(builder.entries.streams().toList()); + this.metadataEntries = unmodifiableList(builder.metadataEntries.streams().toList()); this.props = builder.props; entriesOrder = EntriesOrder.of(getFieldsOrder()); getAllEntries().forEach(e -> entryMap.put(e.getName(), e)); @@ -99,10 +99,9 @@ public boolean equals(final Object obj) { if (obj == this) { return true; } - if (!(obj instanceof SchemaImpl)) { + if (!(obj instanceof SchemaImpl other)) { return false; } - final SchemaImpl other = (SchemaImpl) obj; if (!other.canEqual(this)) { return false; } diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/json/RecordJsonGenerator.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/json/RecordJsonGenerator.java index 889b4038aea4c..8a9c98c67d0e1 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/json/RecordJsonGenerator.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/record/json/RecordJsonGenerator.java @@ -15,8 +15,6 @@ */ package org.talend.sdk.component.runtime.record.json; -import static java.util.stream.Collectors.toList; - import java.io.OutputStream; import java.io.Writer; import java.lang.reflect.Field; @@ -153,7 +151,7 @@ public JsonGenerator write(final String name, final JsonValue value) { .map(v -> ((JsonValue) v) .getValueType() .equals(ValueType.TRUE)) - .collect(toList())); + .toList()); } else { objectBuilder .withArray(createEntryForJsonArray(name, (Collection) value), @@ -320,53 +318,48 @@ public JsonGenerator writeEnd() { final String name; Object previous = builders.getLast(); - if (previous instanceof NamedBuilder) { - final NamedBuilder namedBuilder = (NamedBuilder) previous; + if (previous instanceof NamedBuilder namedBuilder) { name = namedBuilder.name; previous = namedBuilder.builder; } else { name = null; } - if (last instanceof List) { - final List array = (List) last; - if (previous instanceof Collection) { - arrayBuilder = (Collection) previous; + if (last instanceof List array) { + if (previous instanceof Collection collection) { + arrayBuilder = collection; objectBuilder = null; arrayBuilder.add(array); - } else if (previous instanceof Record.Builder) { - objectBuilder = (Record.Builder) previous; + } else if (previous instanceof Record.Builder builder) { + objectBuilder = builder; arrayBuilder = null; objectBuilder.withArray(createEntryBuilderForArray(name, array).build(), prepareArray(array)); } else { throw new IllegalArgumentException("Unsupported previous builder: " + previous); } - } else if (last instanceof Record.Builder) { - final Record.Builder object = (Record.Builder) last; - if (previous instanceof Collection) { - arrayBuilder = (Collection) previous; + } else if (last instanceof Record.Builder object) { + if (previous instanceof Collection collection) { + arrayBuilder = collection; objectBuilder = null; arrayBuilder.add(object); - } else if (previous instanceof Record.Builder) { - objectBuilder = (Record.Builder) previous; + } else if (previous instanceof Record.Builder builder) { + objectBuilder = builder; arrayBuilder = null; objectBuilder.withRecord(name, objectBuilder.build()); } else { throw new IllegalArgumentException("Unsupported previous builder: " + previous); } - } else if (last instanceof NamedBuilder) { - final NamedBuilder namedBuilder = (NamedBuilder) last; - if (previous instanceof Record.Builder) { - objectBuilder = (Record.Builder) previous; - if (namedBuilder.builder instanceof List) { - final List array = (List) namedBuilder.builder; + } else if (last instanceof NamedBuilder namedBuilder) { + if (previous instanceof Record.Builder builder1) { + objectBuilder = builder1; + if (namedBuilder.builder instanceof List array) { objectBuilder .withArray(createEntryBuilderForArray(namedBuilder.name, array).build(), prepareArray(array)); arrayBuilder = null; - } else if (namedBuilder.builder instanceof Record.Builder) { + } else if (namedBuilder.builder instanceof Record.Builder builder) { objectBuilder - .withRecord(namedBuilder.name, ((Record.Builder) namedBuilder.builder).build()); + .withRecord(namedBuilder.name, builder.build()); arrayBuilder = null; } else { throw new IllegalArgumentException("Unsupported previous builder: " + previous); @@ -384,8 +377,8 @@ public JsonGenerator writeEnd() { private List prepareArray(final List array) { return ((Collection) array) .stream() - .map(it -> it instanceof Record.Builder ? ((Record.Builder) it).build() : it) - .collect(toList()); + .map(it -> it instanceof Record.Builder builder ? builder.build() : it) + .toList(); } private Schema.Entry createEntryForJsonArray(final String name, final Collection array) { @@ -514,8 +507,8 @@ public static class Factory implements JsonGeneratorFactory { @Override public JsonGenerator createGenerator(final Writer writer) { - if (writer instanceof OutputRecordHolder) { - return new RecordJsonGenerator(factory.get(), jsonb.get(), (OutputRecordHolder) writer); + if (writer instanceof OutputRecordHolder outputRecordHolder) { + return new RecordJsonGenerator(factory.get(), jsonb.get(), outputRecordHolder); } throw new IllegalArgumentException("Unsupported writer: " + writer); } diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/reflect/Parameters.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/reflect/Parameters.java index 8e069975fc762..a5d26d2905918 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/reflect/Parameters.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/reflect/Parameters.java @@ -32,10 +32,9 @@ public class Parameters { public static boolean isGroupBuffer(final Type type) { - if (!(type instanceof ParameterizedType)) { + if (!(type instanceof ParameterizedType parameterizedType)) { return false; } - final ParameterizedType parameterizedType = (ParameterizedType) type; if (!(parameterizedType.getRawType() instanceof Class) || parameterizedType.getActualTypeArguments().length != 1) { return false; diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/serialization/EnhancedObjectInputStream.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/serialization/EnhancedObjectInputStream.java index 2e2a1884ab8d6..f2b35784ba5f6 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/serialization/EnhancedObjectInputStream.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/serialization/EnhancedObjectInputStream.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.serialization; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import static lombok.AccessLevel.PRIVATE; @@ -128,7 +127,7 @@ static class Defaults { .of(s.split(",")) .map(String::trim) .filter(it -> !it.isEmpty()) - .collect(toList())) + .toList()) .map(l -> (Predicate) name -> l.stream().anyMatch(name::startsWith)) .orElseGet(() -> { final Collection blacklist = Stream diff --git a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/visitor/ModelVisitor.java b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/visitor/ModelVisitor.java index 82124ad6ff4cf..1b52f1b9ff546 100644 --- a/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/visitor/ModelVisitor.java +++ b/component-runtime-impl/src/main/java/org/talend/sdk/component/runtime/visitor/ModelVisitor.java @@ -15,8 +15,6 @@ */ package org.talend.sdk.component.runtime.visitor; -import static java.util.stream.Collectors.toList; - import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.lang.reflect.Parameter; @@ -129,18 +127,17 @@ private void validatePartitionMapper(final Class type) { throw new IllegalArgumentException(m + " must not have any parameter without @PartitionSize"); } final Type splitReturnType = m.getGenericReturnType(); - if (!(splitReturnType instanceof ParameterizedType)) { + if (!(splitReturnType instanceof ParameterizedType splitPt)) { throw new IllegalArgumentException(m + " must return a Collection<" + type.getName() + ">"); } - final ParameterizedType splitPt = (ParameterizedType) splitReturnType; - if (!(splitPt.getRawType() instanceof Class) - || !Collection.class.isAssignableFrom((Class) splitPt.getRawType())) { + if (!(splitPt.getRawType() instanceof Class clazz) + || !Collection.class.isAssignableFrom(clazz)) { throw new IllegalArgumentException(m + " must return a List of partition mapper, found: " + splitPt); } final Type arg = splitPt.getActualTypeArguments().length != 1 ? null : splitPt.getActualTypeArguments()[0]; - if (!(arg instanceof Class) || !type.isAssignableFrom((Class) arg)) { + if (!(arg instanceof Class aClass) || !type.isAssignableFrom(aClass)) { throw new IllegalArgumentException( m + " must return a Collection<" + type.getName() + "> but found: " + arg); } @@ -162,7 +159,7 @@ private void validatePartitionMapper(final Class type) { private void validateEmitter(final Class input) { final List producers = - Stream.of(input.getMethods()).filter(m -> m.isAnnotationPresent(Producer.class)).collect(toList()); + Stream.of(input.getMethods()).filter(m -> m.isAnnotationPresent(Producer.class)).toList(); if (producers.size() != 1) { throw new IllegalArgumentException(input + " must have a single @Producer method"); } @@ -179,7 +176,7 @@ private void validateDriverRunner(final Class standalone) { final List driverRunners = Stream .of(standalone.getMethods()) .filter(m -> m.isAnnotationPresent(RunAtDriver.class)) - .collect(toList()); + .toList(); if (driverRunners.size() != 1) { throw new IllegalArgumentException(standalone + " must have a single @RunAtDriver method"); } @@ -194,7 +191,7 @@ private void validateDriverRunner(final Class standalone) { private void validateProcessor(final Class input) { final List afterGroups = - Stream.of(input.getMethods()).filter(m -> m.isAnnotationPresent(AfterGroup.class)).collect(toList()); + Stream.of(input.getMethods()).filter(m -> m.isAnnotationPresent(AfterGroup.class)).toList(); afterGroups.forEach(m -> { final List invalidParams = Stream.of(m.getParameters()).peek(p -> { if (p.isAnnotationPresent(Output.class) && !validOutputParam(p)) { @@ -204,7 +201,7 @@ private void validateProcessor(final Class input) { .filter(p -> !p.isAnnotationPresent(Output.class)) .filter(p -> !p.isAnnotationPresent(LastGroup.class)) .filter(p -> !Parameters.isGroupBuffer(p.getParameterizedType())) - .collect(toList()); + .toList(); if (!invalidParams.isEmpty()) { throw new IllegalArgumentException("Parameter of AfterGroup method need to be annotated with Output"); } @@ -233,7 +230,7 @@ private void validateProducer(final Class input, final List afterGrou final List producers = Stream .of(input.getMethods()) .filter(m -> m.isAnnotationPresent(ElementListener.class)) - .collect(toList()); + .toList(); if (producers.size() > 1) { throw new IllegalArgumentException(input + " must have a single @ElementListener method"); } @@ -254,10 +251,9 @@ private void validateProducer(final Class input, final List afterGrou } private boolean validOutputParam(final Parameter p) { - if (!(p.getParameterizedType() instanceof ParameterizedType)) { + if (!(p.getParameterizedType() instanceof ParameterizedType pt)) { return false; } - final ParameterizedType pt = (ParameterizedType) p.getParameterizedType(); return OutputEmitter.class == pt.getRawType(); } @@ -274,7 +270,7 @@ private void validateAfterVariableContainer(final Class type) { List markedMethods = Stream .of(type.getMethods()) .filter(m -> m.isAnnotationPresent(AfterVariableContainer.class)) - .collect(toList()); + .toList(); if (markedMethods.size() > 1) { String methods = markedMethods.stream().map(Method::toGenericString).collect(Collectors.joining(",")); throw new IllegalArgumentException("The methods can't have more than 1 after variable container. " @@ -314,16 +310,15 @@ private void validateAfterVariableContainer(final Class type) { * Where the key is String and value is Object */ private static boolean isValidAfterVariableContainer(final Type type) { - if (!(type instanceof ParameterizedType)) { + if (!(type instanceof ParameterizedType paramType)) { return false; } - final ParameterizedType paramType = (ParameterizedType) type; - if (!(paramType.getRawType() instanceof Class) || paramType.getActualTypeArguments().length != 2) { + if (!(paramType.getRawType() instanceof Class containerType) + || paramType.getActualTypeArguments().length != 2) { return false; } - final Class containerType = (Class) paramType.getRawType(); return Map.class.isAssignableFrom(containerType) && paramType.getActualTypeArguments()[0].equals(String.class) && paramType.getActualTypeArguments()[1].equals(Object.class); } @@ -334,7 +329,7 @@ private static void validateAfterVariableAnnotationDeclaration(final Class ty .filter(annotation -> !SUPPORTED_AFTER_VARIABLES_TYPES.contains(annotation.type())) .map(annotation -> "The after variable with name '" + annotation.value() + "' has incorrect type: '" + annotation.type() + "'") - .collect(toList()); + .toList(); if (!incorrectDeclarations.isEmpty()) { String message = incorrectDeclarations .stream() diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/input/PartitionMapperImplTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/input/PartitionMapperImplTest.java index c81dd757014f4..1e5864e0390de 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/input/PartitionMapperImplTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/input/PartitionMapperImplTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.input; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -94,7 +93,7 @@ public long assess() { @Split public Collection split(@PartitionSize final int partitions) { - return IntStream.range(0, partitions).mapToObj(i -> new SampleMapper()).collect(toList()); + return IntStream.range(0, partitions).mapToObj(i -> new SampleMapper()).toList(); } @Emitter diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/output/ProcessorImplTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/output/ProcessorImplTest.java index 54be8bb93ed75..7e5f40e418d64 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/output/ProcessorImplTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/output/ProcessorImplTest.java @@ -19,7 +19,6 @@ import static java.util.Collections.emptyList; import static java.util.Collections.emptyMap; import static java.util.Collections.singletonList; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotSame; @@ -64,7 +63,7 @@ void bulkGroup() { final Collection data = IntStream .rangeClosed(1, 3) .mapToObj(idx -> new RecordImpl.BuilderImpl().withInt("value", idx).build()) - .collect(toList()); + .toList(); processor.beforeGroup(); data.forEach(it -> processor.onNext(n -> it, null)); assertNull(Bufferized.RECORDS); diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java index dbd66bd6d8f23..9af1027682cf3 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java @@ -115,8 +115,8 @@ void coerce() { @MethodSource("mapStringProvider") void mapString(final Class expectedType, final String inputValue, final Object expectedResult) { Object mapped = MappingUtils.coerce(expectedType, inputValue, "::testing::mapString"); - if (expectedResult instanceof byte[]) { - Assertions.assertArrayEquals((byte[]) expectedResult, (byte[]) mapped); + if (expectedResult instanceof byte[] bytes) { + Assertions.assertArrayEquals(bytes, (byte[]) mapped); } else { Assertions.assertEquals(expectedResult, mapped); } diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/OrderedMapTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/OrderedMapTest.java index d7c61fd93006b..e0b5247ba2c22 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/OrderedMapTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/OrderedMapTest.java @@ -40,12 +40,12 @@ void t1() { container.addValue(f1); container.addValue(f2); - List entries = container.streams().collect(Collectors.toList()); + List entries = container.streams().toList(); Assertions.assertEquals("f1", entries.get(0).getName()); Assertions.assertEquals("f2", entries.get(1).getName()); container.swap("f1", "f2"); - List entries2 = container.streams().collect(Collectors.toList()); + List entries2 = container.streams().toList(); Assertions.assertEquals("f2", entries2.get(0).getName()); Assertions.assertEquals("f1", entries2.get(1).getName()); diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordBuilderImplTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordBuilderImplTest.java index 074adff367fdd..142769c231547 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordBuilderImplTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordBuilderImplTest.java @@ -68,11 +68,6 @@ void providedSchemaGetSchema() { .build()) .build(); assertEquals(schema, new RecordImpl.BuilderImpl(schema).withString("name", "ok").build().getSchema()); - - Schema.EntriesOrder e = Schema.EntriesOrder.of(new RecordImpl.BuilderImpl().getCurrentEntries() - .stream() - .map(Schema.Entry::getName) - .collect(Collectors.toList())); } @Test @@ -437,11 +432,9 @@ void timestampExceedMillisecond() { assertEquals(time.toInstant(), record.getInstant("time")); int nano = time.toInstant().getNano(); - long natime = time.toInstant().toEpochMilli();/// 1000 * 1000_000_000 +nano; long ntime = time.toInstant().getEpochSecond(); Instant back1 = Instant.ofEpochSecond(ntime, nano); - Instant back2 = Instant.ofEpochSecond(natime, nano); assertEquals(time.toInstant(), back1); } @@ -862,14 +855,14 @@ void updateEntryByName_preservesOrder() { // Then order is preserved in the builder Assertions.assertEquals(3, builder.getCurrentEntries().size()); final List builderEntriesName = - builder.getCurrentEntries().stream().map(Entry::getName).collect(Collectors.toList()); + builder.getCurrentEntries().stream().map(Entry::getName).toList(); assertEquals(Arrays.asList("firstColumn_renamed", "secondColumn", "thirdColumn"), builderEntriesName); // Then order is also preserved in the built Record final Record outputRecord = builder.build(); final Schema outputRecordSchema = outputRecord.getSchema(); final List outputEntriesName = - outputRecordSchema.getEntriesOrdered().stream().map(Schema.Entry::getName).collect(Collectors.toList()); + outputRecordSchema.getEntriesOrdered().stream().map(Schema.Entry::getName).toList(); assertEquals(Arrays.asList("firstColumn_renamed", "secondColumn", "thirdColumn"), outputEntriesName); } diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordConvertersTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordConvertersTest.java index 9a68888f58202..bc4ca5ce19bd9 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordConvertersTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/RecordConvertersTest.java @@ -17,7 +17,6 @@ import static java.time.format.DateTimeFormatter.ISO_ZONED_DATE_TIME; import static java.util.Arrays.asList; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -341,7 +340,7 @@ void convertListObject(final JsonBuilderFactory jsonBuilderFactory, final JsonPr .build(), () -> jsonb, () -> new RecordBuilderFactoryImpl("test")); final Collection list = record.getArray(Record.class, "list"); - assertEquals(asList("a", "b"), list.stream().map(it -> it.getString("name")).collect(toList())); + assertEquals(asList("a", "b"), list.stream().map(it -> it.getString("name")).toList()); } } @@ -365,7 +364,7 @@ void convertListVaryingObject(final JsonBuilderFactory jsonBuilderFactory, final // // FIXME: 7/9/21 : TCOMP-1956 Assertions.assertNotNull(schema.getEntry("name1")); Assertions.assertNotNull(schema.getEntry("name2")); - assertEquals(asList("a", "b"), list.stream().map(it -> it.getString("name")).collect(toList())); + assertEquals(asList("a", "b"), list.stream().map(it -> it.getString("name")).toList()); } } @@ -412,7 +411,7 @@ void bigDecimalsInArrays(final JsonBuilderFactory jsonBuilderFactory, final Json .stream() .flatMap(a -> a.stream()) .flatMap(bd -> Stream.of(bd)) - .collect(toList())); + .toList()); } } @@ -450,8 +449,8 @@ void pojoRoundTrip(final JsonBuilderFactory jsonBuilderFactory, final JsonProvid Iterator itBool = record.getArray(Boolean.class, "jsonBoolValue").iterator(); assertTrue(itBool.next()); assertFalse(itBool.next()); - assertEquals(Arrays.stream(intAry).collect(toList()), - record.getArray(Integer.class, "intAryValue").stream().collect(toList())); + assertEquals(Arrays.stream(intAry).toList(), + record.getArray(Integer.class, "intAryValue").stream().toList()); // final PojoWrapper wrapper = (PojoWrapper) converter .toType(new MappingMetaRegistry(), record, PojoWrapper.class, @@ -472,8 +471,8 @@ void pojoRoundTrip(final JsonBuilderFactory jsonBuilderFactory, final JsonProvid ((JsonObject) wrapper.getJsonAryValue()[0]).getString("string")); assertEquals(jsonObj1.getJsonNumber("number").doubleValue(), ((JsonObject) wrapper.getJsonAryValue()[0]).getJsonNumber("number").doubleValue()); - assertEquals(Arrays.stream(intAry).collect(toList()), - Arrays.stream(wrapper.getIntAryValue()).collect(toList())); + assertEquals(Arrays.stream(intAry).toList(), + Arrays.stream(wrapper.getIntAryValue()).toList()); } @Data diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/SchemaImplTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/SchemaImplTest.java index f9e314dfe06b0..798b097689533 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/SchemaImplTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/SchemaImplTest.java @@ -28,7 +28,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.stream.Collectors; import java.util.stream.IntStream; import javax.json.Json; @@ -115,7 +114,7 @@ void getAllEntries() { Assertions.assertTrue(entries.contains(this.data2)); Assertions.assertEquals(4, schema.getAllEntries().count()); - final List metaEntries = schema.getAllEntries().filter(Entry::isMetadata).collect(Collectors.toList()); + final List metaEntries = schema.getAllEntries().filter(Entry::isMetadata).toList(); Assertions.assertEquals(2, metaEntries.size()); Assertions.assertTrue(metaEntries.contains(this.meta1)); Assertions.assertTrue(metaEntries.contains(this.meta2)); @@ -460,7 +459,6 @@ void emptyRecord() { final Schema emptySchema = new BuilderImpl() // .withType(Type.RECORD) // .build(); - List ordered = emptySchema.getEntriesOrdered(); RecordBuilderFactory factory = new RecordBuilderFactoryImpl("test"); Record record = factory.newRecordBuilder(emptySchema).build(); Assertions.assertNotNull(record); diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/ComponentManager.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/ComponentManager.java index 74187043d32da..5325c71c2883a 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/ComponentManager.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/ComponentManager.java @@ -295,7 +295,7 @@ public void run() { } static { - ComponentManager manager = SingletonHolder.buildNewComponentManager(); + ComponentManager manager = SingletonHolder.buildNewComponentManager(); // NOSONAR } } @@ -416,13 +416,13 @@ public ComponentManager(final Path m2, final String dependenciesResource, final final ClassLoader tccl = Thread.currentThread().getContextClassLoader(); internationalizationServiceFactory = new InternationalizationServiceFactory(getLocalSupplier()); - customizers = toStream(loadServiceProviders(Customizer.class, tccl)).collect(toList()); // must stay first + customizers = toStream(loadServiceProviders(Customizer.class, tccl)).toList(); // must stay first if (!customizers.isEmpty()) { customizers.forEach(c -> c.setCustomizers(customizers)); } if (!Boolean.getBoolean("talend.component.manager.classpathcontributor.skip")) { classpathContributors = - toStream(loadServiceProviders(ContainerClasspathContributor.class, tccl)).collect(toList()); + toStream(loadServiceProviders(ContainerClasspathContributor.class, tccl)).toList(); } else { classpathContributors = emptyList(); } @@ -519,8 +519,8 @@ public Path resolve(final String path) { this.extensions = toStream(loadServiceProviders(ComponentExtension.class, tccl)) .filter(ComponentExtension::isActive) .sorted(comparing(ComponentExtension::priority)) - .collect(toList()); - this.transformers = extensions.stream().flatMap(e -> e.getTransformers().stream()).collect(toList()); + .toList(); + this.transformers = extensions.stream().flatMap(e -> e.getTransformers().stream()).toList(); final Iterator recordBuilderFactoryIterator = ServiceLoader.load(RecordBuilderFactoryProvider.class, tccl).iterator(); @@ -737,7 +737,7 @@ protected List addJarContaining(final ClassLoader loader, final String r return id; }) .filter(Objects::nonNull) - .collect(toList()); + .toList(); } return emptyList(); } @@ -807,14 +807,12 @@ public ParameterMeta findDatastoreParameterMeta(final String plugin, final Strin */ public static Map jsonToMap(final JsonValue jsonValue, final String path) { final Map result = new HashMap<>(); - if (jsonValue instanceof JsonObject) { - JsonObject jsonObj = (JsonObject) jsonValue; + if (jsonValue instanceof JsonObject jsonObj) { for (String key : jsonObj.keySet()) { String newPath = path.isEmpty() ? key : path + "." + key; result.putAll(jsonToMap(jsonObj.get(key), newPath)); } - } else if (jsonValue instanceof JsonArray) { - JsonArray jsonArray = (JsonArray) jsonValue; + } else if (jsonValue instanceof JsonArray jsonArray) { for (int i = 0; i < jsonArray.size(); i++) { String newPath = path + "[" + i + "]"; result.putAll(jsonToMap(jsonArray.get(i), newPath)); @@ -875,7 +873,7 @@ public Optional createComponent(final String plugin, final String name, final int version, final Map configuration) { return findComponentInternal(plugin, name, componentType, version, configuration) // unwrap to access the actual instance which is the desired one - .map(i -> i instanceof Delegated ? ((Delegated) i).getDelegate() : i); + .map(i -> i instanceof Delegated delegated ? delegated.getDelegate() : i); } private Optional findComponentInternal(final String plugin, final String name, @@ -1030,6 +1028,8 @@ public String addPlugin(final String pluginRootFile) { return pluginId; } + // Container lifecycle is owned by ContainerManager (registered on create, closed via removePlugin) + @SuppressWarnings({ "resource", "java:S2095" }) final String id = this.container .builder(pluginRootFile) .withCustomizer(createContainerCustomizer(pluginRootFile)) @@ -1048,6 +1048,8 @@ private String findPluginId(final String pluginRootFile) { } public String addWithLocationPlugin(final String location, final String pluginRootFile) { + // Container lifecycle is owned by ContainerManager (registered on create, closed via removePlugin) + @SuppressWarnings({ "resource", "java:S2095" }) final String id = this.container .builder(pluginRootFile) .withCustomizer(createContainerCustomizer(location)) @@ -1059,6 +1061,8 @@ public String addWithLocationPlugin(final String location, final String pluginRo } protected String addPlugin(final String forcedId, final String pluginRootFile) { + // Container lifecycle is owned by ContainerManager (registered on create, closed via removePlugin) + @SuppressWarnings({ "resource", "java:S2095" }) final String id = this.container .builder(forcedId, pluginRootFile) .withCustomizer(createContainerCustomizer(forcedId)) @@ -1074,7 +1078,7 @@ private Collection findAdditionalClasspathFor(final String pluginId) { .stream() .flatMap(it -> it.findContributions(pluginId).stream()) .distinct() - .collect(toList())/* keep order */; + .toList()/* keep order */; } public void removePlugin(final String id) { @@ -1156,7 +1160,7 @@ protected static Collection createRawLocalConfigurations() { configurations .addAll(toStream( loadServiceProviders(LocalConfiguration.class, LocalConfiguration.class.getClassLoader())) - .collect(toList())); + .toList()); } configurations.addAll(asList(new LocalConfiguration() { @@ -1297,7 +1301,7 @@ Class runtimeType() { } }; - abstract public Map findMeta(ComponentFamilyMeta family); + public abstract Map findMeta(ComponentFamilyMeta family); abstract Class runtimeType(); } @@ -1369,7 +1373,7 @@ public void onCreate(final Container container) { } catch (final ClassNotFoundException e) { throw new IllegalArgumentException(e); } - }).collect(toList()); + }).toList(); if (KnownClassesFilter.INSTANCE == filter) { archive = new ClassesArchive(/* empty */); optimizedFinder = new AnnotationFinder(archive) { @@ -1388,7 +1392,7 @@ public List findAnnotatedMethods(final Class annot .flatMap(client -> Stream .of(client.getMethods()) .filter(m -> m.isAnnotationPresent(annotation))) - .collect(toList()); + .toList(); } return super.findAnnotatedMethods(annotation); } @@ -1416,9 +1420,9 @@ protected boolean isTracked(final String annotationType) { } } : optimizedFinder; } finally { - if (archive instanceof AutoCloseable) { + if (archive instanceof AutoCloseable autoCloseable) { try { - ((AutoCloseable) archive).close(); + autoCloseable.close(); } catch (final Exception e) { log.warn(e.getMessage()); } @@ -1526,7 +1530,7 @@ public T findService(final Class key) { .anyMatch(a -> a.annotationType().isAnnotationPresent(ActionType.class))) .map(serviceMethod -> createServiceMeta(container, services, componentDefaults, service, instance, serviceMethod, service)) - .collect(toList()))); + .toList())); info("Added @Service " + service + " for container-id=" + container.getId()); }); @@ -1788,7 +1792,7 @@ private Archive toArchive(final String module, final OriginalId originalId, } catch (final MalformedURLException e) { throw new IllegalStateException(e); } - }).collect(toList())); + }).toList()); } catch (final IOException e) { throw new IllegalArgumentException("Error scanning " + module, e); } @@ -1796,16 +1800,16 @@ private Archive toArchive(final String module, final OriginalId originalId, } private URL archiveToUrl(final Archive mainArchive) { - if (mainArchive instanceof JarArchive) { - return ((JarArchive) mainArchive).getUrl(); - } else if (mainArchive instanceof FileArchive) { + if (mainArchive instanceof JarArchive jarArchive) { + return jarArchive.getUrl(); + } else if (mainArchive instanceof FileArchive fileArchive) { try { - return ((FileArchive) mainArchive).getDir().toURI().toURL(); + return fileArchive.getDir().toURI().toURL(); } catch (final MalformedURLException e) { throw new IllegalStateException(e); } - } else if (mainArchive instanceof NestedJarArchive) { - return ((NestedJarArchive) mainArchive).getRootMarker(); + } else if (mainArchive instanceof NestedJarArchive entries) { + return entries.getRootMarker(); } return null; } @@ -1825,21 +1829,23 @@ private Archive toArchive(final String module, final String moduleId, final Conf final URL nestedJar = loader.getParent().getResource(ConfigurableClassLoader.NESTED_MAVEN_REPOSITORY + module); if (nestedJar != null) { - InputStream nestedStream = null; - final JarInputStream jarStream; + final InputStream nestedStream; try { nestedStream = nestedJar.openStream(); - jarStream = new JarInputStream(nestedStream); + } catch (final IOException e) { + throw new IllegalStateException(e); + } + try { + final JarInputStream jarStream = new JarInputStream(nestedStream); log.debug("Found a nested resource for " + module); return new NestedJarArchive(nestedJar, jarStream, loader); } catch (final IOException e) { - if (nestedStream != null) { - try { // normally not needed - nestedStream.close(); - } catch (final IOException e1) { - // no-op - } + try { // normally not needed + nestedStream.close(); + } catch (final IOException e1) { + // no-op } + throw new IllegalStateException(e); } } throw new IllegalArgumentException( @@ -2217,8 +2223,8 @@ private ComponentFamilyMeta getOrCreateComponent(final String component) { return this.component == null || !component.equals(this.component.getName()) ? (this.component = new ComponentFamilyMeta(plugin, asList(components.categories()), iconFinder.findIcon(familyAnnotationElement), comp, - familyAnnotationElement instanceof Class - ? getPackage((Class) familyAnnotationElement) + familyAnnotationElement instanceof Class aClass + ? getPackage(aClass) : "")) : this.component; } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/ProxyGenerator.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/ProxyGenerator.java index b89697c94b8ac..8bebcda45b63e 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/ProxyGenerator.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/ProxyGenerator.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.runtime.manager.asm; -import static java.util.stream.Collectors.toList; import static org.apache.xbean.asm9.ClassReader.SKIP_CODE; import static org.apache.xbean.asm9.ClassReader.SKIP_DEBUG; import static org.apache.xbean.asm9.ClassReader.SKIP_FRAMES; @@ -582,7 +581,7 @@ public Class generateProxy(final ClassLoader loader, final Class classToPr final Method[] interceptedMethods; if (hasInterceptors) { final Collection globalInterceptors = - Stream.of(classToProxy.getAnnotations()).filter(this::isInterceptor).collect(toList()); + Stream.of(classToProxy.getAnnotations()).filter(this::isInterceptor).toList(); final AtomicInteger methodIndex = new AtomicInteger(); interceptedMethods = Stream .of(classToProxy.getMethods()) diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java index 67a825281c2fa..557f4abebcd9d 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java @@ -182,9 +182,8 @@ public final class Unsafes { */ public static Class defineAndLoadClass(final ClassLoader classLoader, final String proxyName, final byte[] proxyBytes) { - if (classLoader instanceof ConfigurableClassLoader) { - return (Class) ((ConfigurableClassLoader) classLoader) - .registerBytecode(proxyName.replace('/', '.'), proxyBytes); + if (classLoader instanceof ConfigurableClassLoader configurableClassLoader) { + return (Class) configurableClassLoader.registerBytecode(proxyName.replace('/', '.'), proxyBytes); } Class clazz = classLoader.getClass(); diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/builtinparams/StreamingLongParamBuilder.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/builtinparams/StreamingLongParamBuilder.java index 5fd298231546a..76c81e18b9dbe 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/builtinparams/StreamingLongParamBuilder.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/builtinparams/StreamingLongParamBuilder.java @@ -29,8 +29,6 @@ public class StreamingLongParamBuilder { private final ParameterMeta root; - private final String componentClassName; - private final String name; private final String layoutType; @@ -42,7 +40,6 @@ public class StreamingLongParamBuilder { public StreamingLongParamBuilder(final ParameterMeta root, final String componentClassName, final String parameterName, final LocalConfiguration configuration) { this.root = root; - this.componentClassName = componentClassName; this.name = parameterName; this.configuration = configuration; this.layoutType = findLayoutType(); diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/DSLParser.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/DSLParser.java index 6b7e3b1a39770..852d112083a78 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/DSLParser.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/DSLParser.java @@ -84,8 +84,7 @@ private static Map parseQuery(final String query) { parameterComplete = true; pos++; break; - case '%': - case '+': + case '%', '+': // Decoding required if (parsingName) { decodeName = true; diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/JobImpl.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/JobImpl.java index a14aeb5e5c54a..93054348251aa 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/JobImpl.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/chain/internal/JobImpl.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.manager.chain.internal; import static java.util.Collections.singletonList; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static java.util.stream.Collectors.toSet; @@ -149,7 +148,7 @@ public void doBuild() { .filter(n -> edges .stream() .noneMatch(l -> l.getFrom().getNode().equals(n) || l.getTo().getNode().equals(n))) - .collect(toList()); + .toList(); orphans.forEach(o -> log.warn("component '" + o + "' is orphan in this graph. it will be ignored.")); nodes.removeAll(orphans); @@ -182,7 +181,7 @@ private void calculateGraphOrder(final int order, final Set nodes, fi .filter(others -> edge.getTo().getNode().equals(others.getTo().getNode())) .map(others -> others.getFrom().getNode()) .allMatch(startingNodes::contains)) - .collect(toList()); + .toList(); if (level.isEmpty()) { throw new IllegalStateException("the job pipeline has cyclic connection"); } @@ -258,12 +257,12 @@ public ExecutorBuilder property(final String name, final Object value) { public void run() { ExecutorBuilder runner = this; final Object o = jobProperties.get(ExecutorBuilder.class.getName()); - if (o instanceof ExecutorBuilder) { - runner = (ExecutorBuilder) o; - } else if (o instanceof Class) { - runner = newRunner((Class) o); - } else if (o instanceof String) { - final String name = ((String) o).trim(); + if (o instanceof ExecutorBuilder executorBuilder) { + runner = executorBuilder; + } else if (o instanceof Class aClass) { + runner = newRunner(aClass); + } else if (o instanceof String string) { + final String name = string.trim(); if (!"standalone".equalsIgnoreCase(name) && !"default".equalsIgnoreCase(name) && !"local".equalsIgnoreCase(name)) { if ("beam".equalsIgnoreCase(name)) { @@ -356,8 +355,8 @@ private void localRun() { .orElseThrow(() -> new IllegalStateException( "No processor found for:" + component.getNode())); final AtomicInteger maxBatchSize = new AtomicInteger(1); - if (processor instanceof ProcessorImpl) { - ((ProcessorImpl) processor) + if (processor instanceof ProcessorImpl processor1) { + processor1 .getInternalConfiguration() .entrySet() .stream() @@ -533,20 +532,20 @@ private Record pollFirst(final Map> data) { private List getConnections(final List edges, final Job.Component step, final Function direction) { - return edges.stream().filter(edge -> direction.apply(edge).equals(step)).collect(toList()); + return edges.stream().filter(edge -> direction.apply(edge).equals(step)).toList(); } public GroupKeyProvider getKeyProvider(final String componentId) { if (componentProperties.get(componentId) != null) { final Object o = componentProperties.get(componentId).get(GroupKeyProvider.class.getName()); - if (o instanceof GroupKeyProvider) { - return new GroupKeyProviderImpl((GroupKeyProvider) o); + if (o instanceof GroupKeyProvider groupKeyProvider) { + return new GroupKeyProviderImpl(groupKeyProvider); } } final Object o = jobProperties.get(GroupKeyProvider.class.getName()); - if (o instanceof GroupKeyProvider) { - return new GroupKeyProviderImpl((GroupKeyProvider) o); + if (o instanceof GroupKeyProvider groupKeyProvider) { + return new GroupKeyProviderImpl(groupKeyProvider); } final ServiceLoader services = ServiceLoader.load(GroupKeyProvider.class); diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/configuration/ConfigurationMapper.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/configuration/ConfigurationMapper.java index 29e075f327176..988700ce0729c 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/configuration/ConfigurationMapper.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/configuration/ConfigurationMapper.java @@ -19,7 +19,6 @@ import static java.util.Collections.emptyMap; import static java.util.Collections.singletonMap; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.lang.reflect.Field; @@ -57,7 +56,7 @@ private Map map(final List nestedParameters, fina case OBJECT: return map(param.getNestedParameters(), value, indexes); case ARRAY: - final Collection values = value instanceof Collection ? (Collection) value + final Collection values = value instanceof Collection collection ? collection : /* array */asList((Object[]) value); final int arrayIndex = indexes.keySet().size(); final AtomicInteger valuesIndex = new AtomicInteger(0); @@ -79,7 +78,7 @@ private Map map(final List nestedParameters, fina param.getNestedParameters() .stream() .filter(p -> !isPrimitive(p)) - .collect(toList()), + .toList(), item, indexes)); return res; }) diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorHandlerFacade.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorHandlerFacade.java index 3347344ad8679..5465c3a61d29a 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorHandlerFacade.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorHandlerFacade.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.manager.interceptor; import static java.util.Comparator.comparing; -import static java.util.stream.Collectors.toList; import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; @@ -87,17 +86,17 @@ public Object invoke(final Method method, final Object[] args) { } throw new IllegalArgumentException("No handler for " + a); })) - .collect(toList()); + .toList(); if (handlers.isEmpty()) { return (mtd, arguments) -> doInvoke(method, args); } // init all InvokerHandler final List invokerHandlers = - handlers.stream().filter(i -> i.invoker).map(InvokerHandler.class::cast).collect(toList()); + handlers.stream().filter(i -> i.invoker).map(InvokerHandler.class::cast).toList(); if (invokerHandlers.isEmpty() && handlers.size() > 1) { throw new IllegalArgumentException("Interceptors not compatible for " + m + ": " - + handlers.stream().filter(i -> !invokerHandlers.contains(i)).collect(toList())); + + handlers.stream().filter(i -> !invokerHandlers.contains(i)).toList()); } if (invokerHandlers.isEmpty()) { return handlers.iterator().next()::invoke; @@ -105,7 +104,7 @@ public Object invoke(final Method method, final Object[] args) { if (invokerHandlers.size() != handlers.size()) { throw new IllegalArgumentException("Some handlers don't take an invoker as parameter for method " + m - + ": " + handlers.stream().filter(i -> !invokerHandlers.contains(i)).collect(toList())); + + ": " + handlers.stream().filter(i -> !invokerHandlers.contains(i)).toList()); } for (int i = 0; i < invokerHandlers.size(); i++) { final InvokerHandler invokerHandler = invokerHandlers.get(i); @@ -135,8 +134,8 @@ private Object doInvoke(final Method method, final Object[] args) { return method.invoke(delegate, args); } catch (final InvocationTargetException ite) { final Throwable cause = ite.getCause(); - if (cause instanceof RuntimeException) { - throw (RuntimeException) cause; + if (cause instanceof RuntimeException runtimeException) { + throw runtimeException; } throw new IllegalStateException(cause.getMessage()); } catch (final IllegalAccessException e) { diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ComponentMetadataService.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ComponentMetadataService.java index ace93e05d6299..19c80f66948d3 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ComponentMetadataService.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ComponentMetadataService.java @@ -17,7 +17,6 @@ import static java.util.Comparator.comparing; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import java.util.Arrays; import java.util.HashMap; @@ -48,7 +47,7 @@ public class ComponentMetadataService { public ComponentMetadataService() { this.enrichers = StreamSupport .stream(ServiceLoader.load(ComponentMetadataEnricher.class).spliterator(), false) - .collect(toList()); + .toList(); } public Map getMetadata(final Class clazz) { diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ParameterModelService.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ParameterModelService.java index 42765f5e0ad96..ceb12cc206e5f 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ParameterModelService.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ParameterModelService.java @@ -86,17 +86,17 @@ public ParameterModelService(final PropertyEditorRegistry registry) { .spliteratorUnknownSize(ServiceLoader.load(ParameterExtensionEnricher.class).iterator(), Spliterator.IMMUTABLE), false) - .collect(toList()), registry); + .toList(), registry); } public boolean isService(final Param parameter) { final Class type; - if (parameter.type instanceof Class) { - type = (Class) parameter.type; - } else if (parameter.type instanceof ParameterizedType) { - final Type rawType = ((ParameterizedType) parameter.type).getRawType(); - if (rawType instanceof Class) { - type = (Class) rawType; + if (parameter.type instanceof Class aClass1) { + type = aClass1; + } else if (parameter.type instanceof ParameterizedType parameterizedType) { + final Type rawType = parameterizedType.getRawType(); + if (rawType instanceof Class aClass) { + type = aClass; } else { return false; } @@ -136,13 +136,12 @@ public Class declaringClass() { } private Stream extractTypeAnnotation(final Param parameter) { - if (parameter.type instanceof Class) { - return Stream.of(((Class) parameter.type).getAnnotations()); + if (parameter.type instanceof Class aClass) { + return Stream.of(aClass.getAnnotations()); } - if (parameter.type instanceof ParameterizedType) { - final ParameterizedType parameterizedType = (ParameterizedType) parameter.type; - if (parameterizedType.getRawType() instanceof Class) { - return Stream.of(((Class) parameterizedType.getRawType()).getAnnotations()); + if (parameter.type instanceof ParameterizedType parameterizedType) { + if (parameterizedType.getRawType() instanceof Class clazz) { + return Stream.of(clazz.getAnnotations()); } } return Stream.empty(); @@ -180,13 +179,13 @@ protected ParameterMeta buildParameter(final String name, final String prefix, f nested.addAll(meta); break; case ARRAY: - final Type nestedType = genericType instanceof Class && ((Class) genericType).isArray() - ? ((Class) genericType).getComponentType() + final Type nestedType = genericType instanceof Class aClass1 && aClass1.isArray() + ? aClass1.getComponentType() : ((ParameterizedType) genericType).getActualTypeArguments()[0]; addI18nPackageIfPossible(i18nPackages, nestedType); nested .addAll(buildParametersMetas(name + "[${index}]", normalizedPrefix + "[${index}].", nestedType, - nestedType instanceof Class ? ((Class) nestedType).getAnnotations() + nestedType instanceof Class aClass ? aClass.getAnnotations() : NO_ANNOTATIONS, i18nPackages, ignoreI18n, context)); break; @@ -197,7 +196,7 @@ protected ParameterMeta buildParameter(final String name, final String prefix, f .of(((Class>) genericType).getEnumConstants()) .map(Enum::name) // sorted() // don't sort, let the dev use the order he wants - .collect(toList())); + .toList()); break; default: } @@ -208,8 +207,8 @@ protected ParameterMeta buildParameter(final String name, final String prefix, f } private void addI18nPackageIfPossible(final Collection i18nPackages, final Type type) { - if (type instanceof Class) { - final Package typePck = ((Class) type).getPackage(); + if (type instanceof Class aClass) { + final Package typePck = aClass.getPackage(); if (typePck != null && !typePck.getName().isEmpty() && !i18nPackages.contains(typePck.getName())) { i18nPackages.add(typePck.getName()); } @@ -219,8 +218,7 @@ private void addI18nPackageIfPossible(final Collection i18nPackages, fin private Map buildExtensions(final String name, final Type genericType, final Annotation[] annotations, final BaseParameterEnricher.Context context) { return getAnnotations(genericType, annotations).distinct().flatMap(a -> enrichers.stream().map(e -> { - if (e instanceof BaseParameterEnricher) { - final BaseParameterEnricher bpe = (BaseParameterEnricher) e; + if (e instanceof BaseParameterEnricher bpe) { return bpe.withContext(context, () -> bpe.onParameterAnnotation(name, genericType, a)); } return e.onParameterAnnotation(name, genericType, a); @@ -261,9 +259,9 @@ private Stream getReflectionAnnotations(final Type genericType, fina } private boolean hasAClassFirstParameter(final Type genericType) { - return genericType instanceof ParameterizedType // if a list concat the item type annotations - && ((ParameterizedType) genericType).getActualTypeArguments().length == 1 - && ((ParameterizedType) genericType).getActualTypeArguments()[0] instanceof Class; + return genericType instanceof ParameterizedType parameterizedType // if a list concat the item type annotations + && parameterizedType.getActualTypeArguments().length == 1 + && parameterizedType.getActualTypeArguments()[0] instanceof Class; } private Stream getClassAnnotations(final Type genericType, final Annotation[] annotations) { @@ -275,8 +273,7 @@ private Stream getClassAnnotations(final Type genericType, final Ann private List buildParametersMetas(final String name, final String prefix, final Type type, final Annotation[] annotations, final Collection i18nPackages, final boolean ignoreI18n, final BaseParameterEnricher.Context context) { - if (type instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) type; + if (type instanceof ParameterizedType pt) { if (!(pt.getRawType() instanceof Class)) { throw new IllegalArgumentException("Unsupported raw type in ParameterizedType parameter: " + pt); } @@ -305,12 +302,9 @@ private List buildParametersMetas(final String name, final String .collect(toList()); } } - if (type instanceof Class) { + if (type instanceof Class aClass) { switch (findType(type)) { - case ENUM: - case STRING: - case NUMBER: - case BOOLEAN: + case ENUM, STRING, NUMBER, BOOLEAN: return singletonList(buildParameter(name, prefix, new ParameterMeta.Source() { @Override @@ -320,12 +314,12 @@ public String name() { @Override public Class declaringClass() { - return (Class) type; + return aClass; } }, type, annotations, i18nPackages, ignoreI18n, context)); default: } - return buildObjectParameters(prefix, (Class) type, i18nPackages, ignoreI18n, context); + return buildObjectParameters(prefix, aClass, i18nPackages, ignoreI18n, context); } throw new IllegalArgumentException("Unsupported parameter type: " + type); } @@ -374,8 +368,7 @@ public String findName(final AnnotatedElement parameter, final String defaultNam } private ParameterMeta.Type findType(final Type type) { - if (type instanceof Class) { - final Class clazz = (Class) type; + if (type instanceof Class clazz) { // we handled char before so we only have numbers now for primitives if (Primitives.unwrap(clazz) == boolean.class) { @@ -395,10 +388,8 @@ private ParameterMeta.Type findType(final Type type) { return ParameterMeta.Type.ARRAY; } } - if (type instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) type; - if (pt.getRawType() instanceof Class) { - final Class raw = (Class) pt.getRawType(); + if (type instanceof ParameterizedType pt) { + if (pt.getRawType() instanceof Class raw) { if (Collection.class.isAssignableFrom(raw)) { return ParameterMeta.Type.ARRAY; } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ReflectionService.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ReflectionService.java index c51d67bf8ec7c..d2d3cbd8d9471 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ReflectionService.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/ReflectionService.java @@ -111,10 +111,9 @@ public Function, Object[]> parameterFactory(final Executable Stream.of(executable.getParameters()).map(parameter -> { final String name = parameterModelService.findName(parameter, parameter.getName()); final Type parameterizedType = parameter.getParameterizedType(); - if (parameterizedType instanceof Class) { + if (parameterizedType instanceof Class configClass) { if (parameter.isAnnotationPresent(Configuration.class)) { try { - final Class configClass = (Class) parameterizedType; return createConfigFactory(precomputed, loader, contextualSupplier, parameter.getName(), parameter.getAnnotation(Configuration.class), parameter.getAnnotations(), configClass); @@ -124,8 +123,7 @@ public Function, Object[]> parameterFactory(final Executable } final Object value = precomputed.get(parameterizedType); if (value != null) { - if (value instanceof Copiable) { - final Copiable copiable = (Copiable) value; + if (value instanceof Copiable copiable) { return (Function, Object>) config -> copiable.copy(value); } return (Function, Object>) config -> value; @@ -136,11 +134,10 @@ public Function, Object[]> parameterFactory(final Executable .apply(name, (Map) config); } - if (parameterizedType instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) parameterizedType; - if (pt.getRawType() instanceof Class) { - if (Collection.class.isAssignableFrom((Class) pt.getRawType())) { - final Class collectionType = (Class) pt.getRawType(); + if (parameterizedType instanceof ParameterizedType pt) { + if (pt.getRawType() instanceof Class clazz) { + if (Collection.class.isAssignableFrom(clazz)) { + final Class collectionType = clazz; final Type itemType = pt.getActualTypeArguments()[0]; if (!(itemType instanceof Class)) { throw new IllegalArgumentException( @@ -207,7 +204,7 @@ public Function, Object[]> parameterFactory(final Executable } throw new IllegalArgumentException("Unsupported type: " + parameterizedType); - }).collect(toList()); + }).toList(); return config -> { final Map notNullConfig = ofNullable(config).orElseGet(Collections::emptyMap); @@ -429,14 +426,14 @@ private Object createObject(final ClassLoader loader, final Function arrayClass = (Class) genericType; + if (genericType instanceof Class arrayClass) { if (arrayClass.isArray()) { // we could use Array.newInstance but for now use the list, shouldn't impact // much the perf @@ -591,10 +587,8 @@ private Object createObject(final ClassLoader loader, final Function 0) { final String listName = nestedName.substring(0, idxStart); final Field field = findField(normalizeName(listName, metas), clazz); - if (field.getGenericType() instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) field.getGenericType(); - if (pt.getRawType() instanceof Class) { - final Class rawType = (Class) pt.getRawType(); + if (field.getGenericType() instanceof ParameterizedType pt) { + if (pt.getRawType() instanceof Class rawType) { if (Set.class.isAssignableFrom(rawType)) { addListElement(loader, contextualSupplier, config, prefix, preparedObjects, nestedName, listName, pt, () -> new HashSet<>(2), translate(metas, listName), precomputed); @@ -665,11 +659,10 @@ private Object createObject(final ClassLoader loader, final Function onParameterAnnotation(final String parameterName, fin final Condition condition = annotation.annotationType().getAnnotation(Condition.class); if (condition != null) { final String type = condition.value(); - if (annotation instanceof ActiveIfs) { - final ActiveIfs activeIfs = (ActiveIfs) annotation; + if (annotation instanceof ActiveIfs activeIfs) { final Map metas = Stream .of(activeIfs.value()) .map(ai -> onParameterAnnotation(parameterName, parameterType, ai)) @@ -73,8 +72,8 @@ private Map toMeta(final Annotation annotation, final String typ .collect(toMap(m -> META_PREFIX + type + "::" + m.getName(), m -> { try { final Object invoke = m.invoke(annotation); - if (invoke instanceof String[]) { - return Stream.of((String[]) invoke).collect(joining(",")); + if (invoke instanceof String[] strings) { + return Stream.of(strings).collect(joining(",")); } if (ActiveIf.class == m.getDeclaringClass() && "evaluationStrategy".equals(m.getName())) { final ActiveIf.EvaluationStrategyOption[] options = diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/DependencyParameterEnricher.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/DependencyParameterEnricher.java index b2c657929dbcb..509741e340477 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/DependencyParameterEnricher.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/DependencyParameterEnricher.java @@ -57,14 +57,13 @@ public Map onParameterAnnotation(final String parameterName, // don't work with Map (composed collection), nor List (not used in framework) private boolean isCollectionConnectorReference(final Type parameterType) { // check generic - if (!(parameterType instanceof ParameterizedType)) { + if (!(parameterType instanceof ParameterizedType parameterClass)) { return false; } - final ParameterizedType parameterClass = (ParameterizedType) parameterType; // Check it's a Collection (java.util) final Type rawType = parameterClass.getRawType(); - if ((!(rawType instanceof Class)) || !Collection.class.isAssignableFrom((Class) rawType)) { + if ((!(rawType instanceof Class aClass)) || !Collection.class.isAssignableFrom(aClass)) { return false; } @@ -79,8 +78,8 @@ private boolean isCollectionConnectorReference(final Type parameterType) { // Check if parameter is of type or subtype of ConnectorReference private boolean isConnectorReference(final Type parameterType) { - return parameterType instanceof Class - && Stream.of(((Class) parameterType).getDeclaredFields()) + return parameterType instanceof Class aClass + && Stream.of(aClass.getDeclaredFields()) .anyMatch(field -> field.isAnnotationPresent(ConnectorRef.class)); } } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/UiParameterEnricher.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/UiParameterEnricher.java index b128da1a8f6df..f5ae283e5821a 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/UiParameterEnricher.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/UiParameterEnricher.java @@ -21,7 +21,6 @@ import static java.util.Locale.ENGLISH; import static java.util.function.Function.identity; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.lang.annotation.Annotation; @@ -130,7 +129,7 @@ private Map toConfig(final Annotation annotation, final String p .of(component.getMethods()) .filter(mtd -> mtd.getDeclaringClass() == component && "value".equals(mtd.getName())) - .collect(toList()); + .toList(); final StringBuilder builder = new StringBuilder(""); for (int i = 0; i < length; i++) { final Object annot = Array.get(invoke, i); @@ -177,11 +176,11 @@ private String toString(final Annotation annotation, final Method m, } return string; } - if (invoke instanceof Class) { - return ((Class) invoke).getSimpleName().toLowerCase(ENGLISH); + if (invoke instanceof Class aClass) { + return aClass.getSimpleName().toLowerCase(ENGLISH); } - if (invoke instanceof String[]) { - return Stream.of((String[]) invoke).collect(joining(",")); + if (invoke instanceof String[] strings) { + return Stream.of(strings).collect(joining(",")); } return String.valueOf(invoke); } catch (final InvocationTargetException | IllegalAccessException e) { diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/ValidationParameterEnricher.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/ValidationParameterEnricher.java index 988609adc19c5..06c08ec042e67 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/ValidationParameterEnricher.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/parameterenricher/ValidationParameterEnricher.java @@ -49,9 +49,9 @@ public Map onParameterAnnotation(final String parameterName, fin } private Class toClass(final Type parameterType) { - return parameterType instanceof ParameterizedType - ? toClass(((ParameterizedType) parameterType).getRawType()) - : (parameterType instanceof Class ? (Class) parameterType : null); + return parameterType instanceof ParameterizedType parameterizedType + ? toClass(parameterizedType.getRawType()) + : (parameterType instanceof Class aClass ? aClass : null); } private String getValueString(final Annotation annotation) { diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/PayloadMapper.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/PayloadMapper.java index 44cb993e4d390..bdd4d8eecaeb5 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/PayloadMapper.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/PayloadMapper.java @@ -112,8 +112,7 @@ private void onProperty(final String contextualPrefix, final Collection json.add(name, v)); @@ -186,8 +185,7 @@ private JsonValue onArrayPrimitive(final ParameterMeta itemDef, final ArrayEntry case NUMBER: final Double number = Double.valueOf(value.trim()); return number == number.longValue() ? jsonp.createValue(number.longValue()) : jsonp.createValue(number); - case ENUM: - case STRING: + case ENUM, STRING: return jsonp.createValue(value); default: throw new IllegalArgumentException("Unsupported structure in " + "array: " + itemDef.getType()); diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/VisibilityService.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/VisibilityService.java index 22de0e34c3979..ee4f02618c2f7 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/VisibilityService.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/reflect/visibility/VisibilityService.java @@ -148,14 +148,14 @@ private boolean evaluate(final String expected, final JsonObject payload) { return "0".equals(expected); } final int expectedSize = Integer.parseInt(expected); - if (actual instanceof Collection) { - return expectedSize == ((Collection) actual).size(); + if (actual instanceof Collection collection1) { + return expectedSize == collection1.size(); } if (actual.getClass().isArray()) { return expectedSize == Array.getLength(actual); } - if (actual instanceof String) { - return expectedSize == ((String) actual).length(); + if (actual instanceof String s) { + return expectedSize == s.length(); } return false; default: @@ -190,8 +190,8 @@ private boolean evaluate(final String expected, final JsonObject payload) { .map(it -> it.contains(expected)) .orElse(false); } - if (actual instanceof Collection) { - final Collection collection = (Collection) actual; + if (actual instanceof Collection collectionClass) { + final Collection collection = collectionClass; return collection.stream().map(preprocessor).anyMatch(it -> it.contains(expected)); } if (actual.getClass().isArray()) { @@ -218,7 +218,7 @@ private Object extractValue(final JsonObject payload) { private Object mapValue(final JsonValue value) { switch (value.getValueType()) { case ARRAY: - return value.asJsonArray().stream().map(this::mapValue).collect(toList()); + return value.asJsonArray().stream().map(this::mapValue).toList(); case STRING: return ((JsonString) value).getString(); case TRUE: diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/InjectorImpl.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/InjectorImpl.java index 3db94016340e4..8a5725661ec00 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/InjectorImpl.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/InjectorImpl.java @@ -86,13 +86,12 @@ private void doInject(final Class type, final T instance) { }) .forEach(field -> { Object value = services.get(field.getType()); - if (value == null && field.getGenericType() instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) field.getGenericType(); - if (pt.getRawType() instanceof Class - && Collection.class.isAssignableFrom((Class) pt.getRawType())) { + if (value == null && field.getGenericType() instanceof ParameterizedType pt) { + if (pt.getRawType() instanceof Class clazz + && Collection.class.isAssignableFrom(clazz)) { final Type serviceType = pt.getActualTypeArguments()[0]; - if (serviceType instanceof Class) { - final Class serviceClass = (Class) serviceType; + if (serviceType instanceof Class stClass) { + final Class serviceClass = stClass; value = services .entrySet() .stream() diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/LocalCacheService.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/LocalCacheService.java index 342f2e370703e..7ed61f9922ecd 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/LocalCacheService.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/LocalCacheService.java @@ -29,7 +29,6 @@ import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; -import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.PreDestroy; @@ -179,10 +178,10 @@ public void clean() { if (maxEviction > 0) { elements = elements.limit(maxEviction); } - final List removableElements = elements.map(Entry::getKey).collect(Collectors.toList());// materialize - // before - // actually - // removing it + final List removableElements = elements.map(Entry::getKey).toList();// materialize + // before + // actually + // removing it removableElements.forEach(this.cache::remove); } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/RecordPointerFactoryImpl.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/RecordPointerFactoryImpl.java index 4e5bad59f9640..07e5e3bba0c4a 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/RecordPointerFactoryImpl.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/RecordPointerFactoryImpl.java @@ -15,8 +15,6 @@ */ package org.talend.sdk.component.runtime.manager.service; -import static java.util.stream.Collectors.toList; - import java.io.ObjectStreamException; import java.io.Serializable; import java.util.ArrayList; @@ -67,7 +65,7 @@ private RecordPointerImpl(final String pointer) { return s; } return s.replace("~1", "/").replace("~0", "~"); - }).collect(toList()); + }).toList(); } @Override @@ -105,8 +103,7 @@ public T getEntry(final Record target, final Class type) { private Object getValue(final Object value, final String referenceToken, final int currentPosition, final int referencePosition) { - if (value instanceof Record) { - final Record record = (Record) value; + if (value instanceof Record record) { final Object nestedVal = getRecordEntry(referenceToken, record); if (nestedVal != null) { return nestedVal; @@ -114,7 +111,7 @@ private Object getValue(final Object value, final String referenceToken, final i throw new IllegalArgumentException( "'" + record + "' contains no value for name '" + referenceToken + "'"); } - if (value instanceof Collection) { + if (value instanceof Collection array) { if (referenceToken.startsWith("+") || referenceToken.startsWith("-")) { throw new IllegalArgumentException( "An array index must not start with '" + referenceToken.charAt(0) + "'"); @@ -123,14 +120,13 @@ private Object getValue(final Object value, final String referenceToken, final i throw new IllegalArgumentException("An array index must not start with a leading '0'"); } - final Collection array = (Collection) value; try { final int arrayIndex = Integer.parseInt(referenceToken); if (arrayIndex >= array.size()) { throw new IllegalArgumentException( "'" + array + "' contains no element for index " + arrayIndex); } - return array instanceof List ? ((List) array).get(arrayIndex) + return array instanceof List list ? list.get(arrayIndex) : new ArrayList<>(array).get(arrayIndex); } catch (final NumberFormatException e) { throw new IllegalArgumentException("'" + referenceToken + "' is no valid array index", e); diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ResolverImpl.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ResolverImpl.java index 2518b8d8353b2..c2d6c09c87eb5 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ResolverImpl.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ResolverImpl.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.manager.service; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import java.io.File; import java.io.IOException; @@ -97,8 +96,8 @@ public ClassLoaderDescriptor mapDescriptorToClassLoader(final InputStream descri ofNullable(configuration.getParentClassesFilter()).orElse(it -> false), ofNullable(configuration.getClassesFilter()).orElse(it -> true), nested.toArray(new String[0]), - parent instanceof ConfigurableClassLoader - ? ((ConfigurableClassLoader) parent).getJvmMarkers() + parent instanceof ConfigurableClassLoader configurableClassLoader + ? configurableClassLoader.getJvmMarkers() : new String[] { "" }, ofNullable(configuration.getParentResourcesFilter()).orElse(it -> true)); return new ClassLoaderDescriptorImpl(volatileLoader, resolved); @@ -115,7 +114,7 @@ public Collection resolveFromDescriptor(final InputStream descriptor) { .map(Artifact::toPath) .map(fileResolver) .map(Path::toFile) - .collect(toList()); + .toList(); } catch (final IOException e) { throw new IllegalArgumentException(e); } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ServiceHelper.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ServiceHelper.java index df71b68221c60..0afa6685d1bca 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ServiceHelper.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/ServiceHelper.java @@ -57,8 +57,8 @@ public Object createServiceInstance(final ClassLoader loader, final String conta .initialize(instance, new InterceptorHandlerFacade(serviceClass.getConstructor().newInstance(), allServices)); } - if (instance instanceof BaseService) { - this.updateService((BaseService) instance, containerId, serviceClass.getName()); + if (instance instanceof BaseService baseService) { + this.updateService(baseService, containerId, serviceClass.getName()); } return instance; } catch (final InstantiationException | IllegalAccessException e) { diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/ExecutionContext.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/ExecutionContext.java index 77d718c61e877..cde7e7f7fcbe7 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/ExecutionContext.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/ExecutionContext.java @@ -226,7 +226,7 @@ public Object decode(final byte[] value, final Type expectedType) { } @AllArgsConstructor - private static abstract class BaseResponse implements Response { + private abstract static class BaseResponse implements Response { private final int status; diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/HttpClientFactoryImpl.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/HttpClientFactoryImpl.java index 48f173ee7d8f8..c5eb3d3ac9ecc 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/HttpClientFactoryImpl.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/HttpClientFactoryImpl.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.manager.service.http; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static java.util.stream.Stream.of; import static org.talend.sdk.component.runtime.base.lang.exception.InvocationExceptionWrapper.toRuntimeException; @@ -62,7 +61,7 @@ public class HttpClientFactoryImpl implements HttpClientFactory, Serializable { public static Collection createErrors(final Class api) { final Collection errors = new ArrayList<>(); final Collection methods = - of(api.getMethods()).filter(m -> m.getDeclaringClass() == api && !m.isDefault()).collect(toList()); + of(api.getMethods()).filter(m -> m.getDeclaringClass() == api && !m.isDefault()).toList(); if (!HttpClient.class.isAssignableFrom(api)) { errors.add(api.getCanonicalName() + " should extends HttpClient"); @@ -72,7 +71,7 @@ public static Collection createErrors(final Class api) { .stream() .filter(m -> !m.isAnnotationPresent(Request.class)) .map(m -> "No @Request on " + m) - .collect(toList())); + .toList()); return errors; } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/RequestParser.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/RequestParser.java index 3690f3b3ad8e2..344c343fa91c3 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/RequestParser.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/service/http/RequestParser.java @@ -93,7 +93,7 @@ interface InstanceCreator { } @AllArgsConstructor - final static class ReflectionInstanceCreator implements InstanceCreator { + static final class ReflectionInstanceCreator implements InstanceCreator { private final ReflectionService reflections; @@ -233,8 +233,8 @@ private BiFunction> buildPayloadProvider(fina if (payload == null) { return Optional.empty(); } - if (payload instanceof byte[]) { - return Optional.of((byte[]) payload); + if (payload instanceof byte[] bytes) { + return Optional.of(bytes); } if (encoders.size() == 1) { return Optional.of(encoders.values().iterator().next().encode(payload)); @@ -257,13 +257,12 @@ private Configurer findConfigurerInstance(final Method m) { static Class toClassType(final Type type) { Class cType = null; - if (type instanceof Class) { - cType = (Class) type; - } else if (type instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) type; + if (type instanceof Class aClass) { + cType = aClass; + } else if (type instanceof ParameterizedType pt) { if (pt.getRawType() == Response.class && pt.getActualTypeArguments().length == 1 - && pt.getActualTypeArguments()[0] instanceof Class) { - cType = (Class) pt.getActualTypeArguments()[0]; + && pt.getActualTypeArguments()[0] instanceof Class ptClass) { + cType = ptClass; } } @@ -412,8 +411,8 @@ public Collection apply(final Object[] args) { private Stream> mapValues(final QueryEncodable config, final String key, final Object v) { - if (v instanceof Collection) { - final Stream collection = ((Collection) v) + if (v instanceof Collection objects) { + final Stream collection = objects .stream() .filter(Objects::nonNull) .map(String::valueOf) @@ -422,7 +421,7 @@ private Stream> mapValues(final QueryEnc case MULTI: return collection.map(q -> new AbstractMap.SimpleEntry<>(key, q)); case CSV: - return of(new AbstractMap.SimpleEntry<>(key, String.join(",", collection.collect(toList())))); + return of(new AbstractMap.SimpleEntry<>(key, String.join(",", collection.toList()))); default: throw new IllegalArgumentException("Unsupported formatting: " + config); } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/util/DefaultValueInspector.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/util/DefaultValueInspector.java index c91c70e78d2f5..41c722b82d4d9 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/util/DefaultValueInspector.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/util/DefaultValueInspector.java @@ -51,14 +51,13 @@ public Instance createDemoInstance(final Object rootInstance, final ParameterMet final Type javaType = param.getJavaType(); if (javaType instanceof Class) { return new Instance(tryCreatingObjectInstance(javaType), true); - } else if (javaType instanceof ParameterizedType) { - final ParameterizedType pt = (ParameterizedType) javaType; + } else if (javaType instanceof ParameterizedType pt) { final Type rawType = pt.getRawType(); - if (rawType instanceof Class && Collection.class.isAssignableFrom((Class) rawType) + if (rawType instanceof Class aClass && Collection.class.isAssignableFrom(aClass) && pt.getActualTypeArguments().length == 1 && pt.getActualTypeArguments()[0] instanceof Class) { final Object instance = tryCreatingObjectInstance(pt.getActualTypeArguments()[0]); - final Class collectionType = (Class) rawType; + final Class collectionType = aClass; if (Set.class == collectionType) { return new Instance(singleton(instance), true); } @@ -85,9 +84,7 @@ public String findDefault(final Object instance, final ParameterMeta param) { return null; case ENUM: return ((Enum) instance).name(); - case STRING: - case NUMBER: - case BOOLEAN: + case STRING, NUMBER, BOOLEAN: return String.valueOf(instance); case ARRAY: // can be enhanced if (!param.getNestedParameters().isEmpty()) { diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/FilterFactory.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/FilterFactory.java index bcbf8c81ec0b0..ed841dc664e09 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/FilterFactory.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/FilterFactory.java @@ -34,8 +34,8 @@ public class FilterFactory { public static Filter and(final Filter first, final Filter second) { if (Stream .of(first, second) - .anyMatch(f -> !(f instanceof FilterList) - || !((FilterList) f).getFilters().stream().allMatch(PrefixFilter.class::isInstance))) { + .anyMatch(f -> !(f instanceof FilterList filterList) + || !filterList.getFilters().stream().allMatch(PrefixFilter.class::isInstance))) { throw new IllegalArgumentException("And only works with filter list of prefix filters"); // for optims } final FilterList list1 = (FilterList) first; diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/SchemaConverter.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/SchemaConverter.java index 2bf7f635b5e20..fb0b0b2348527 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/SchemaConverter.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/SchemaConverter.java @@ -32,6 +32,7 @@ import javax.json.JsonNumber; import javax.json.JsonObject; import javax.json.JsonObjectBuilder; +import javax.json.JsonReader; import javax.json.JsonString; import javax.json.JsonValue; import javax.json.spi.JsonProvider; @@ -75,8 +76,9 @@ public SchemaConverter() { @Override public Object toObjectImpl(final String s) { if (!s.isEmpty()) { - final JsonObject json = JsonProvider.provider().createReader(new StringReader(s)).readObject(); - return toSchema(json); + try (final JsonReader reader = JsonProvider.provider().createReader(new StringReader(s))) { + return toSchema(reader.readObject()); + } } return null; } @@ -98,8 +100,8 @@ private Schema toSchema(final JsonObject json) { this.addProps(builder::withProp, json); final JsonValue orderValue = json.get("order"); - if (orderValue instanceof JsonString) { - final Schema.EntriesOrder order = Schema.EntriesOrder.of(((JsonString) orderValue).getString()); + if (orderValue instanceof JsonString jsonString) { + final Schema.EntriesOrder order = Schema.EntriesOrder.of(jsonString.getString()); return builder.build(order); } else { return builder.build(); @@ -109,11 +111,11 @@ private Schema toSchema(final JsonObject json) { private void treatElementSchema(final JsonObject json, final Consumer setter) { final JsonValue elementSchema = json.get(ELEMENT_SCHEMA); - if (elementSchema instanceof JsonObject) { - final Schema schema = this.toSchema((JsonObject) elementSchema); + if (elementSchema instanceof JsonObject jsonObject) { + final Schema schema = this.toSchema(jsonObject); setter.accept(schema); - } else if (elementSchema instanceof JsonString) { - final Schema.Type innerType = Schema.Type.valueOf(((JsonString) elementSchema).getString()); + } else if (elementSchema instanceof JsonString jsonString) { + final Schema.Type innerType = Schema.Type.valueOf(jsonString.getString()); setter.accept(this.factory.newSchemaBuilder(innerType).build()); } } diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/ZonedDateTimeConverter.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/ZonedDateTimeConverter.java index 3fe3154b8dccb..b5043eee9f6f9 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/ZonedDateTimeConverter.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/xbean/converter/ZonedDateTimeConverter.java @@ -44,17 +44,17 @@ protected Object toObjectImpl(final String data) { switch (text.length()) { case 10: // YYYY-MM-dd return ZonedDateTime.of(LocalDate.parse(text), NO_TIME, ZoneId.of("UTC")); - case 18: // HH:mm:ss.SSSSSSSSS - case 15: // HH:mm:ss.SSSSSS - case 12: // HH:mm:ss.SSS - case 8: // HH:mm:ss - case 5: // HH:mm + case 18 // HH:mm:ss.SSSSSSSSS + , 15 // HH:mm:ss.SSSSSS + , 12 // HH:mm:ss.SSS + , 8 // HH:mm:ss + , 5: // HH:mm return ZonedDateTime.of(NO_DATE, LocalTime.parse(text), UTC); - case 29: // YYYY-MM-dd HH:mm:ss.SSSSSSSSS - case 26: // YYYY-MM-dd HH:mm:ss.SSSSSS - case 23: // YYYY-MM-dd HH:mm:ss.SSS - case 19: // YYYY-MM-dd HH:mm:ss - case 16: // YYYY-MM-dd HH:mm + case 29 // YYYY-MM-dd HH:mm:ss.SSSSSSSSS + , 26 // YYYY-MM-dd HH:mm:ss.SSSSSS + , 23 // YYYY-MM-dd HH:mm:ss.SSS + , 19 // YYYY-MM-dd HH:mm:ss + , 16: // YYYY-MM-dd HH:mm default: // YYYY-MM-dd HH:mm.ss+HH:mm[...] text = text.replace(' ', 'T'); if (text.contains("+") || text.contains("[")) { diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ComponentManagerTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ComponentManagerTest.java index d9ef11418ea2b..292d237a2ad35 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ComponentManagerTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ComponentManagerTest.java @@ -19,7 +19,6 @@ import static java.util.Collections.emptyMap; import static java.util.Collections.singletonList; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -219,7 +218,6 @@ void addPluginMultiThread(@TempDir final File temporaryFolder) throws Interrupte final String pluginPath = plugin.getAbsolutePath(); Thread[] th = new Thread[5]; for (int ind = 0; ind < th.length; ind++) { - final int indice = ind; th[ind] = new Thread(() -> { manager.addPlugin(pluginPath); }); @@ -466,9 +464,9 @@ private Container validateTransitiveComponent(ComponentManager manager) { .map(ContainerComponentRegistry::getComponents) .flatMap(comps -> comps.values().stream()) .flatMap(family -> family.getProcessors().values().stream()) - .collect(toList()); + .toList(); assertEquals(asList("proc", "second"), - processors.stream().map(ComponentFamilyMeta.ProcessorMeta::getName).sorted().collect(toList())); + processors.stream().map(ComponentFamilyMeta.ProcessorMeta::getName).sorted().toList()); return container; } @@ -501,7 +499,7 @@ private void doCheckRegistry(final File plugin1, final File plugin2, final Compo throws Exception { Stream.of(plugin1, plugin2).map(File::getAbsolutePath).forEach(manager::addPlugin); final List registries = - manager.find(c -> Stream.of(c.get(ContainerComponentRegistry.class))).collect(toList()); + manager.find(c -> Stream.of(c.get(ContainerComponentRegistry.class))).toList(); assertEquals(2, registries.size()); // we saw both plugin registries.forEach(registry -> { diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ReflectionServiceTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ReflectionServiceTest.java index 09a7aecc5d5c2..31aa7a8885aeb 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ReflectionServiceTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/ReflectionServiceTest.java @@ -677,8 +677,8 @@ void tables() throws NoSuchMethodException { { assertNotNull(tableOwner.table); assertEquals(2, tableOwner.table.size()); - assertEquals(Stream.of("test1", "test2").collect(toList()), - tableOwner.table.stream().map(Column::getValue1).collect(toList())); + assertEquals(Stream.of("test1", "test2").toList(), + tableOwner.table.stream().map(Column::getValue1).toList()); assertArrayEquals(IntStream.of(12, 22).toArray(), tableOwner.table.stream().mapToInt(Column::getValue2).toArray()); assertNotNull(tableOwner.table.get(1).nestedList); diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/asm/PluginGenerator.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/asm/PluginGenerator.java index 09bc562aa8d4b..b09652acbe40d 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/asm/PluginGenerator.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/asm/PluginGenerator.java @@ -33,7 +33,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; -import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.Serializable; @@ -97,7 +96,6 @@ public String map(final String key) { } } else { try { - final FileReader reader = new FileReader(clazz); outputStream.putNextEntry(new JarEntry('/' + clazz.getName())); outputStream.write(Files.readAllBytes(clazz.getAbsoluteFile().toPath())); outputStream.closeEntry(); diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/chain/JobTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/chain/JobTest.java index d95e8da65ad98..c37acc0056e8c 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/chain/JobTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/chain/JobTest.java @@ -18,7 +18,6 @@ import static java.net.URLEncoder.encode; import static java.util.Arrays.asList; import static java.util.Collections.emptyMap; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -187,7 +186,7 @@ void multipleEmitSupport(final TestInfo info, @TempDir final Path temporaryFolde .build() .run(); // {"cumulatedSize":15}.length x2 - assertEquals(asList(15, 30), outputs.stream().map(json -> json.getInt("cumulatedSize")).collect(toList())); + assertEquals(asList(15, 30), outputs.stream().map(json -> json.getInt("cumulatedSize")).toList()); } } diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/checkpoint/CheckpointInputTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/checkpoint/CheckpointInputTest.java index 2510d0a9687ea..1f31d5f995ade 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/checkpoint/CheckpointInputTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/checkpoint/CheckpointInputTest.java @@ -32,11 +32,9 @@ import java.util.function.Consumer; import java.util.function.Supplier; -import javax.json.JsonBuilderFactory; import javax.json.JsonObject; import javax.json.bind.Jsonb; import javax.json.bind.spi.JsonbProvider; -import javax.json.spi.JsonProvider; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -61,10 +59,6 @@ @Slf4j class CheckpointInputTest { - private final JsonProvider jsonp = JsonProvider.provider(); - - private final JsonBuilderFactory jsonFactory = jsonp.createBuilderFactory(emptyMap()); - private final Jsonb jsonb = JsonbProvider.provider().create().build(); private final PluginGenerator pluginGenerator = new PluginGenerator(); @@ -207,9 +201,8 @@ void studioLifecycle(@TempDir final Path temporaryFolder) { final Input input = chainedMapper.create(); // ChainedInput input.start(); // - Object rawData; int counted = 0; - while ((rawData = input.next()) != null) { + while (input.next() != null) { // data conversion of rawData to rowStruct and operate on rowStruct... if (input.isCheckpointReady()) { System.err.println(input.getCheckpoint()); @@ -241,10 +234,8 @@ void studioLifecycleWithResume(@TempDir final Path temporaryFolder) { // final Input input = chainedMapper.create(); // ChainedInput input.start((s) -> log.info("[studioLifecycleWithResume] state: {}.", s)); - Object rawData; int counted = 0; - // RowStruct rowStruct = new RowStruct(); // @Data static class RowStruct {Integer data;} - while ((rawData = input.next()) != null) { + while (input.next() != null) { // data conversion of rawData to rowStruct ... // operate on rowStruct... counted++; @@ -295,9 +286,8 @@ void resumeableInputManualUsage(@TempDir final Path temporaryFolder) throws Exce // final Input input = getInput(mgr, "resumeable-input", 1, configuration); input.start(); - Record record; int counted = 0; - while ((record = (Record) input.next()) != null) { + while (input.next() != null) { counted++; if (input.isCheckpointReady()) { assertNotNull(input.getCheckpoint()); @@ -326,9 +316,8 @@ void resumeableInputManualUsageNoCheckpoint(@TempDir final Path temporaryFolder) // final Input input = getInput(mgr, "resumeable-input", 1, configuration); input.start(); - Record record; int counted = 0; - while ((record = (Record) input.next()) != null) { + while (input.next() != null) { counted++; assertFalse(input.isCheckpointReady()); } diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorTest.java index e7a7ea4091d58..08da4f7c88da2 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/interceptor/InterceptorTest.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.runtime.manager.interceptor; import static java.lang.Thread.sleep; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.talend.sdk.component.runtime.manager.test.Serializer.roundTrip; @@ -49,7 +48,7 @@ void run(@TempDir final File temporaryFolder) throws Exception { final List collect = manager .find(c -> c.get(ComponentManager.AllServices.class).getServices().values().stream()) .filter(c -> c.getClass().getName().endsWith("SuperService$$TalendServiceProxy")) - .collect(toList()); + .toList(); assertEquals(1, collect.size()); final Object instance = collect.iterator().next(); diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/InternalizationServiceTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/InternalizationServiceTest.java index dd29a7d3e018e..741035c986ad1 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/InternalizationServiceTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/InternalizationServiceTest.java @@ -26,7 +26,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; -import org.talend.sdk.component.runtime.input.Mapper; import org.talend.sdk.component.runtime.manager.ComponentManager; import org.talend.sdk.component.runtime.manager.asm.PluginGenerator; @@ -43,8 +42,7 @@ void wrongCL(@TempDir final File temporaryFolder) { try (final ComponentManager manager = new ComponentManager(deps, "META-INF/test/dependencies", null)) { manager.addPlugin(plugin.getAbsolutePath()); try { - final Mapper mapper = - manager.findMapper("db", "input", 1, emptyMap()).orElseThrow(IllegalStateException::new); + manager.findMapper("db", "input", 1, emptyMap()).orElseThrow(IllegalStateException::new); } catch (MissingResourceException e) { fail("Bundle should have been loaded."); } diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/MavenRepositoryResolverTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/MavenRepositoryResolverTest.java index ae2afe9f5b90d..b7e234cab8882 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/MavenRepositoryResolverTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/MavenRepositoryResolverTest.java @@ -55,8 +55,6 @@ public Path discover() { }; - private final PathHandler handler = new PathHandlerImpl(); - private final PathHandler handlerNoExistCheck = new PathHandlerImpl() { @Override @@ -270,7 +268,6 @@ void discoverFromRepositoryPropertyAndSettingsKo() { @Test void discoverFromEnvironment() throws IOException { Files.createDirectories(repository.resolve("repository")); - final String vm2 = System.getenv("M2_HOME"); final Path m2 = resolver.discover(); assertNotNull(m2); assertEquals(repository.resolve("repository"), m2); diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ProducerFinderImplTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ProducerFinderImplTest.java index 79034d8e80770..8d47398eb5168 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ProducerFinderImplTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ProducerFinderImplTest.java @@ -77,8 +77,8 @@ void findException() { } private Record toRecord(final Object object) { - if (object instanceof Record) { - return (Record) object; + if (object instanceof Record record) { + return record; } return null; } diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/RecordServiceImplTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/RecordServiceImplTest.java index 059154dffe389..6e9de866e74ce 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/RecordServiceImplTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/RecordServiceImplTest.java @@ -32,7 +32,6 @@ import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; import java.util.stream.Stream; import javax.json.Json; @@ -113,7 +112,7 @@ void visit() { : Stream .of(args) .filter(it -> !(it instanceof Schema.Entry)) - .collect(Collectors.toList()))); + .toList())); switch (method.getName()) { case "get": return out.incrementAndGet(); diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ServiceHelperTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ServiceHelperTest.java index 682069c60a51b..bff9424a83266 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ServiceHelperTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/ServiceHelperTest.java @@ -44,10 +44,10 @@ void generate() throws NoSuchMethodException { } @Service - static public class Service1 { + public static class Service1 { } @Service - static public class Service2 extends BaseService { + public static class Service2 extends BaseService { } } \ No newline at end of file diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/http/RequestParserTest.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/http/RequestParserTest.java index f83e5bf0f130e..ca9ff86d1316d 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/http/RequestParserTest.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/http/RequestParserTest.java @@ -15,8 +15,6 @@ */ package org.talend.sdk.component.runtime.manager.service.http; -import static org.junit.jupiter.api.Assertions.*; - import java.lang.reflect.Type; import java.util.Collection; import java.util.HashMap; @@ -95,7 +93,6 @@ public T buildNew(Class realClass) { .getDeclaredMethod("complexe", String.class, String.class, String.class, String.class, Integer.class, Map.class)); { - final Type responseType = complexe.getResponseType(); final HttpRequestCreator creator = complexe.getRequestCreator(); Assertions.assertNotNull(creator); Map queryParams = new HashMap<>(); diff --git a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/record/FakeRecordBuilderFactoryProvider.java b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/record/FakeRecordBuilderFactoryProvider.java index bb775d965b78a..28203cf0992bb 100644 --- a/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/record/FakeRecordBuilderFactoryProvider.java +++ b/component-runtime-manager/src/test/java/org/talend/sdk/component/runtime/manager/service/record/FakeRecordBuilderFactoryProvider.java @@ -29,8 +29,7 @@ public RecordBuilderFactory apply(final String containerId) { : "org.talend.sdk.component.runtime.beam.TalendIO"; switch (System.getProperty("talend.component.beam.record.factory.impl", "auto")) { - case "memory": - case "default": + case "memory", "default": return new RecordBuilderFactoryImpl(containerId); case "avro": return new FakeRecordBuilderFactory(containerId); diff --git a/component-runtime-manager/src/test/java/org/talend/test/CheckpointInput.java b/component-runtime-manager/src/test/java/org/talend/test/CheckpointInput.java index cdebde7f2392d..72e8674ee00ee 100644 --- a/component-runtime-manager/src/test/java/org/talend/test/CheckpointInput.java +++ b/component-runtime-manager/src/test/java/org/talend/test/CheckpointInput.java @@ -15,8 +15,6 @@ */ package org.talend.test; -import static java.util.stream.Collectors.toList; - import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -68,7 +66,7 @@ public CheckpointInput(final JsonBuilderFactory factory, final Jsonb jsonb, @PostConstruct public void init() { - data = IntStream.range(0, 10).boxed().collect(toList()); + data = IntStream.range(0, 10).boxed().toList(); if (configuration.checkpoint == null) { log.info("[resume] No valid checkpoint configuration found, using start of dataset."); bookmark = 0; diff --git a/component-runtime-manager/src/test/java/org/talend/test/DataInput.java b/component-runtime-manager/src/test/java/org/talend/test/DataInput.java index 3bd4329ece799..ed8e64ae3bfcd 100644 --- a/component-runtime-manager/src/test/java/org/talend/test/DataInput.java +++ b/component-runtime-manager/src/test/java/org/talend/test/DataInput.java @@ -34,6 +34,7 @@ @Emitter(family = "db", name = "input") public class DataInput implements Serializable { + @SuppressWarnings("java:S1068") private final I18nService i18n; private static final Map> data = new HashMap<>(); @@ -76,7 +77,7 @@ public class DataInput implements Serializable { private final String tableName; - public DataInput(final @Option("tableName") String tableName, final Jsonb jsonb, final I18nService i18n) { + public DataInput(@Option("tableName") final String tableName, final Jsonb jsonb, final I18nService i18n) { this.tableName = tableName; this.jsonb = jsonb; this.i18n = i18n; diff --git a/component-runtime-manager/src/test/java/org/talend/test/MapperWithCheckpoint.java b/component-runtime-manager/src/test/java/org/talend/test/MapperWithCheckpoint.java index 060761ef60c17..498f4842acaeb 100644 --- a/component-runtime-manager/src/test/java/org/talend/test/MapperWithCheckpoint.java +++ b/component-runtime-manager/src/test/java/org/talend/test/MapperWithCheckpoint.java @@ -50,7 +50,7 @@ public class MapperWithCheckpoint implements Serializable { private int partition = -1; - public MapperWithCheckpoint(final @Option("configuration") MapperWithCheckpointConfig config, + public MapperWithCheckpoint(@Option("configuration") final MapperWithCheckpointConfig config, final RecordBuilderFactory recordBuilderFactory) { this.config = config; this.recordBuilderFactory = recordBuilderFactory; @@ -91,6 +91,7 @@ public static class MapperWithCheckpointWorker implements Serializable { private int current = 0; + @SuppressWarnings("java:S1068") private boolean newBookmark = false; public MapperWithCheckpointWorker(final RecordBuilderFactory recordBuilderFactory, int partition, diff --git a/component-runtime-manager/src/test/java/org/talend/test/ResumeableInput.java b/component-runtime-manager/src/test/java/org/talend/test/ResumeableInput.java index 76e7c62e437e5..de6c6ad6e65c9 100644 --- a/component-runtime-manager/src/test/java/org/talend/test/ResumeableInput.java +++ b/component-runtime-manager/src/test/java/org/talend/test/ResumeableInput.java @@ -49,6 +49,7 @@ @Slf4j public class ResumeableInput implements Serializable { + @SuppressWarnings("java:S1068") private final Jsonb jsonb; private final RecordBuilderFactory factory; diff --git a/component-runtime-testing/component-runtime-beam-junit/src/main/java/org/talend/sdk/component/junit/beam/Data.java b/component-runtime-testing/component-runtime-beam-junit/src/main/java/org/talend/sdk/component/junit/beam/Data.java index 61f6b8c7662cd..b03e2f9626e2a 100644 --- a/component-runtime-testing/component-runtime-beam-junit/src/main/java/org/talend/sdk/component/junit/beam/Data.java +++ b/component-runtime-testing/component-runtime-beam-junit/src/main/java/org/talend/sdk/component/junit/beam/Data.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.junit.beam; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static lombok.AccessLevel.PRIVATE; import static lombok.AccessLevel.PROTECTED; @@ -110,7 +109,7 @@ private Record map(final Map> next) { .map(it -> (Record) converters .toRecord(REGISTRY, it, () -> jsonb, () -> recordBuilderFactory)) - .collect(toList()); + .toList(); aggregator .withArray(recordBuilderFactory .newEntryBuilder() diff --git a/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProcessorTest.java b/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProcessorTest.java index 2dee79552e407..41c6a7021f01c 100644 --- a/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProcessorTest.java +++ b/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProcessorTest.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.junit.beam; import static java.util.Arrays.asList; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -50,7 +49,7 @@ public class ProcessorTest { new SimpleComponentRule(SampleProcessor.class.getPackage().getName()); @Rule - public transient final TestPipeline pipeline = TestPipeline.create(); + public final transient TestPipeline pipeline = TestPipeline.create(); @Test public void processor() { @@ -67,7 +66,7 @@ public void processor() { inputs.apply(TalendFn.asFn(processor)).apply(Data.map(processor.plugin(), Record.class)); PAssert.that(outputs).satisfies((SerializableFunction>, Void>) input -> { - final List> result = StreamSupport.stream(input.spliterator(), false).collect(toList()); + final List> result = StreamSupport.stream(input.spliterator(), false).toList(); assertEquals(2, result.size()); result.forEach(e -> assertTrue(e.containsKey("__default__") && e.containsKey("reject"))); diff --git a/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProducerFinderEnvironmentTest.java b/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProducerFinderEnvironmentTest.java index 6a55f43f0fd53..b61530a40eb08 100644 --- a/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProducerFinderEnvironmentTest.java +++ b/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/ProducerFinderEnvironmentTest.java @@ -17,7 +17,6 @@ import static java.util.Collections.singletonList; import static java.util.Collections.singletonMap; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -146,7 +145,7 @@ private void runPipeline(PTransform> transform) { .mapToObj(i -> factory.newRecordBuilder() .withString("id", "id_" + i) .build()) - .collect(toList()); + .toList(); PAssert.that(out).containsInAnyOrder(records); Assertions.assertEquals(PipelineResult.State.DONE, pipeline.run().waitUntilFinish()); } @@ -214,7 +213,7 @@ public PCollection expand(final PBegin input) { .mapToObj(i -> recordBuilderFactory.newRecordBuilder() .withString("id", "id_" + i) .build()) - .collect(toList())) + .toList()) .withCoder(SchemaRegistryCoder.of())); } } diff --git a/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/test/SampleProcessor.java b/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/test/SampleProcessor.java index 9ffefab72c48c..aeb0c739a1118 100644 --- a/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/test/SampleProcessor.java +++ b/component-runtime-testing/component-runtime-beam-junit/src/test/java/org/talend/sdk/component/junit/beam/test/SampleProcessor.java @@ -31,8 +31,8 @@ public class SampleProcessor implements Serializable { @ElementListener - public void onNext(final @Input Sample sample, final @Output OutputEmitter success, - final @Output("reject") OutputEmitter reject) { + public void onNext(@Input final Sample sample, @Output final OutputEmitter success, + @Output("reject") final OutputEmitter reject) { success.emit(sample); reject.emit(new Reject(sample, "error")); diff --git a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/DefaultResponseLocator.java b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/DefaultResponseLocator.java index 955394bb6d60c..213b75e7a8fe2 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/DefaultResponseLocator.java +++ b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/DefaultResponseLocator.java @@ -254,8 +254,7 @@ public int hashCode() { public boolean equals(final Object obj) { if (this == obj) { return true; - } else if (obj instanceof ParameterizedType) { - final ParameterizedType that = (ParameterizedType) obj; + } else if (obj instanceof ParameterizedType that) { final Type thatRawType = that.getRawType(); return that.getOwnerType() == null && (rawType == null ? thatRawType == null : rawType.equals(thatRawType)) diff --git a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/HandlerImpl.java b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/HandlerImpl.java index 6bb9f4e155ab6..95671c8e62e4e 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/HandlerImpl.java +++ b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/HandlerImpl.java @@ -182,8 +182,7 @@ public synchronized void close() { } }); if (!(handler.getExecutor() instanceof AutoCloseable) - && handler.getExecutor() instanceof ExecutorService) { - final ExecutorService executorService = (ExecutorService) handler.getExecutor(); + && handler.getExecutor() instanceof ExecutorService executorService) { executorService.shutdownNow(); // we don't need to wait here } } diff --git a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/PassthroughHandler.java b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/PassthroughHandler.java index cbc7f5656dc21..ddc316335c4fa 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/PassthroughHandler.java +++ b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/impl/PassthroughHandler.java @@ -108,8 +108,7 @@ private void doHttpRequest(final FullHttpRequest request, final ChannelHandlerCo final HttpURLConnection connection = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY); connection.setConnectTimeout(30000); connection.setReadTimeout(20000); - if (connection instanceof HttpsURLConnection && api.getSslContext() != null) { - final HttpsURLConnection httpsURLConnection = (HttpsURLConnection) connection; + if (connection instanceof HttpsURLConnection httpsURLConnection && api.getSslContext() != null) { httpsURLConnection.setHostnameVerifier((h, s) -> true); httpsURLConnection.setSSLSocketFactory(api.getSslContext().getSocketFactory()); } diff --git a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/junit5/JUnit5HttpApi.java b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/junit5/JUnit5HttpApi.java index c263e2e6473f0..526afef80b709 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/junit5/JUnit5HttpApi.java +++ b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/internal/junit5/JUnit5HttpApi.java @@ -85,7 +85,7 @@ public Class injectionMarker() { public void beforeEach(final ExtensionContext extensionContext) { // test name final ResponseLocator responseLocator = getResponseLocator(); - if (!(responseLocator instanceof DefaultResponseLocator)) { + if (!(responseLocator instanceof DefaultResponseLocator defaultResponseLocator)) { return; } final String test = extensionContext.getTestMethod().map(m -> { @@ -99,7 +99,7 @@ public void beforeEach(final ExtensionContext extensionContext) { .orElseGet(() -> m.getDeclaringClass().getName() + "_" + m.getName() + (displayName.equals(m.getName()) ? "" : ("_" + displayName))); }).orElse(null); - ((DefaultResponseLocator) responseLocator).setTest(test); + defaultResponseLocator.setTest(test); } @Override diff --git a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/junit4/JUnit4HttpApiPerMethodConfigurator.java b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/junit4/JUnit4HttpApiPerMethodConfigurator.java index 89ca1f43af794..d7d751a522303 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/junit4/JUnit4HttpApiPerMethodConfigurator.java +++ b/component-runtime-testing/component-runtime-http-junit/src/main/java/org/talend/sdk/component/junit/http/junit4/JUnit4HttpApiPerMethodConfigurator.java @@ -36,18 +36,14 @@ public Statement apply(final Statement base, final Description description) { @Override public void evaluate() throws Throwable { final ResponseLocator responseLocator = server.getResponseLocator(); - if (responseLocator instanceof DefaultResponseLocator) { - final DefaultResponseLocator defaultResponseLocator = - (DefaultResponseLocator) responseLocator; + if (responseLocator instanceof DefaultResponseLocator defaultResponseLocator) { defaultResponseLocator.setTest(description.getClassName() + "_" + description.getMethodName()); } try { base.evaluate(); } finally { - if (responseLocator instanceof DefaultResponseLocator) { + if (responseLocator instanceof DefaultResponseLocator defaultResponseLocator) { if (Handlers.isActive("capture")) { - final DefaultResponseLocator defaultResponseLocator = - (DefaultResponseLocator) responseLocator; defaultResponseLocator.flush(Handlers.getBaseCapture()); } } diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/BaseComponentsHandler.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/BaseComponentsHandler.java index d990259660ffe..fae27822dbdac 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/BaseComponentsHandler.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/BaseComponentsHandler.java @@ -22,7 +22,6 @@ import static java.util.concurrent.TimeUnit.MINUTES; import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static org.apache.ziplock.JarLocation.jarLocation; import static org.junit.Assert.fail; import static org.talend.sdk.component.junit.SimpleFactory.configurationByExample; @@ -116,7 +115,7 @@ public T injectServices(final T instance) { public BaseComponentsHandler withIsolatedPackage(final String packageName, final String... packages) { isolatedPackages = Stream.concat(Stream.of(packageName), Stream.of(packages)) .filter(Objects::nonNull) - .collect(toList()); + .toList(); if (isolatedPackages.isEmpty()) { isolatedPackages = null; } @@ -371,7 +370,7 @@ public List collectAsList(final Class recordType, final Mapper mapper) @Override public List collectAsList(final Class recordType, final Mapper mapper, final int maxRecords) { - return collect(recordType, mapper, maxRecords).collect(toList()); + return collect(recordType, mapper, maxRecords).toList(); } @Override @@ -501,7 +500,7 @@ public List getCollectedData(final Class recordType) { .stream() .filter(r -> recordType.isInstance(r) || r instanceof JsonObject || r instanceof Record) .map(r -> mapRecord(state, recordType, r)) - .collect(toList()); + .toList(); } public void resetState() { diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/RecordAsserts.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/RecordAsserts.java index e59de576c8655..a706de9274b97 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/RecordAsserts.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/RecordAsserts.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.junit; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.io.Serializable; @@ -50,7 +49,7 @@ public Void apply(final Iterable>> input) { .of(u1, u2) .filter(Objects::nonNull) .flatMap(Collection::stream) - .collect(toList()))); + .toList())); // if we want to validate some outputs which are not here it means the // validation fails diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/delegate/DelegatingRunner.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/delegate/DelegatingRunner.java index 8fc1ec1f86f4f..00c5157d8fc72 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/delegate/DelegatingRunner.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/delegate/DelegatingRunner.java @@ -47,8 +47,8 @@ public DelegatingRunner(final Class testClass) throws InitializationError { } catch (final InstantiationException | NoSuchMethodException | IllegalAccessException e) { throw new IllegalArgumentException(e); } catch (final InvocationTargetException e) { - if (e.getCause() instanceof InitializationError) { - throw (InitializationError) e.getCause(); + if (e.getCause() instanceof InitializationError initializationError) { + throw initializationError; } throw new IllegalStateException(e.getTargetException()); } diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/BaseEnvironmentProvider.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/BaseEnvironmentProvider.java index 6b22de2fc15b4..8eedb4a57b2c8 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/BaseEnvironmentProvider.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/BaseEnvironmentProvider.java @@ -15,8 +15,6 @@ */ package org.talend.sdk.component.junit.environment; -import static java.util.stream.Collectors.toList; - import java.lang.annotation.Annotation; import java.util.Collection; import java.util.stream.Stream; @@ -47,7 +45,7 @@ public final AutoCloseable start(final Class clazz, final Annotation[] annota System.clearProperty(p.value()); } }; - }).collect(toList()); + }).toList(); return (AutoCloseable) () -> releases.forEach(Runnable::run); }) .orElseGet(() -> () -> { diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/DecoratingEnvironmentProvider.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/DecoratingEnvironmentProvider.java index 0323dcbdca40c..9fa6246256c7f 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/DecoratingEnvironmentProvider.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/DecoratingEnvironmentProvider.java @@ -32,8 +32,8 @@ public AutoCloseable start(final Class clazz, final Annotation[] annotations) } public String getName() { - return (provider instanceof BaseEnvironmentProvider - ? ((BaseEnvironmentProvider) provider).getName() + return (provider instanceof BaseEnvironmentProvider baseEnvironmentProvider + ? baseEnvironmentProvider.getName() : provider.getClass().getSimpleName()).replace("Environment", ""); } diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/MultiEnvironmentsRunner.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/MultiEnvironmentsRunner.java index a3ed168137f1b..fc5d3dc54ace1 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/MultiEnvironmentsRunner.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/environment/MultiEnvironmentsRunner.java @@ -32,8 +32,7 @@ public MultiEnvironmentsRunner(final Class testClass) throws InitializationEr @Override public void run(final RunNotifier notifier) { configuration.stream().forEach(e -> { - if (e instanceof DecoratingEnvironmentProvider) { - final DecoratingEnvironmentProvider dep = (DecoratingEnvironmentProvider) e; + if (e instanceof DecoratingEnvironmentProvider dep) { if (!dep.isActive()) { notifier.fireTestFinished(Description.createTestDescription(getTestClass(), dep.getName())); return; diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/lang/StreamDecorator.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/lang/StreamDecorator.java index 717808045992b..1401af809e539 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/lang/StreamDecorator.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit/lang/StreamDecorator.java @@ -54,17 +54,17 @@ public Object invoke(final Object proxy, final Method method, final Object[] arg } }); if (stream) { - if (result instanceof Stream) { - return decorate((Stream) result, Stream.class, leafDecorator); + if (result instanceof Stream stream1) { + return decorate(stream1, Stream.class, leafDecorator); } - if (result instanceof IntStream) { - return decorate((IntStream) result, IntStream.class, leafDecorator); + if (result instanceof IntStream intStream) { + return decorate(intStream, IntStream.class, leafDecorator); } - if (result instanceof LongStream) { - return decorate((LongStream) result, LongStream.class, leafDecorator); + if (result instanceof LongStream longStream) { + return decorate(longStream, LongStream.class, leafDecorator); } - if (result instanceof DoubleStream) { - return decorate((DoubleStream) result, DoubleStream.class, leafDecorator); + if (result instanceof DoubleStream doubleStream) { + return decorate(doubleStream, DoubleStream.class, leafDecorator); } } return result; diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit5/environment/EnvironmentalContext.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit5/environment/EnvironmentalContext.java index 488f0856fe0f8..b3b7ec5302a81 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit5/environment/EnvironmentalContext.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/junit5/environment/EnvironmentalContext.java @@ -130,8 +130,8 @@ public ConditionEvaluationResult evaluateExecutionCondition(final ExtensionConte } private boolean isActive() { - return provider instanceof DecoratingEnvironmentProvider - && ((DecoratingEnvironmentProvider) provider).isActive(); + return provider instanceof DecoratingEnvironmentProvider decoratingEnvironmentProvider + && decoratingEnvironmentProvider.isActive(); } @Override diff --git a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/maven/MavenDecrypter.java b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/maven/MavenDecrypter.java index bc5f3dc3f8839..671958e76ffd0 100644 --- a/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/maven/MavenDecrypter.java +++ b/component-runtime-testing/component-runtime-junit/src/main/java/org/talend/sdk/component/maven/MavenDecrypter.java @@ -29,7 +29,6 @@ import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import java.util.stream.Stream; import javax.crypto.Cipher; @@ -77,7 +76,7 @@ public MavenDecrypter(final File settings, final File settingsSecurity) { } public MavenDecrypter(final List settings, final File settingsSecurity) { - this.settings = settings.stream().filter(File::exists).collect(Collectors.toList()); + this.settings = settings.stream().filter(File::exists).toList(); this.settingsSecurity = settingsSecurity; } @@ -156,7 +155,7 @@ private static List findSettingsFiles() { findMavenHome(M2_HOME), findMavenHome(MAVEN_HOME)) .filter(Objects::nonNull) - .collect(Collectors.toList()); + .toList(); } private static File findMavenHome(final String mavenHome) { diff --git a/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit/SimpleComponentRuleTest.java b/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit/SimpleComponentRuleTest.java index be62d062097fb..a12cbac2c6fb3 100644 --- a/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit/SimpleComponentRuleTest.java +++ b/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit/SimpleComponentRuleTest.java @@ -17,7 +17,6 @@ import static java.util.Arrays.asList; import static java.util.concurrent.TimeUnit.MINUTES; -import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; @@ -209,7 +208,7 @@ protected Stream findMethods(final Class marker) { latch.countDown(); final Stream collect = COMPONENT_FACTORY.collect(String.class, mapper, 2, 2); - final List threads = collect.collect(toList()); + final List threads = collect.toList(); assertEquals(threads.toString(), 2, threads.size()); threads.forEach(n -> assertTrue(n, n.startsWith("SimpleComponentRule-pool-"))); } diff --git a/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit5/ComponentExtensionTest.java b/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit5/ComponentExtensionTest.java index 9163ccf9e82d2..584052325e380 100644 --- a/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit5/ComponentExtensionTest.java +++ b/component-runtime-testing/component-runtime-junit/src/test/java/org/talend/sdk/component/junit5/ComponentExtensionTest.java @@ -17,7 +17,6 @@ import static java.util.Arrays.asList; import static java.util.concurrent.TimeUnit.MINUTES; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNull; @@ -140,7 +139,7 @@ protected Stream findMethods(final Class marker) { latch.countDown(); final Stream collect = handler.collect(String.class, mapper, 2, 2); - final List threads = collect.collect(toList()); + final List threads = collect.toList(); assertEquals(2, threads.size(), threads.toString()); threads.forEach(n -> Assertions.assertTrue(n.startsWith("ComponentExtension-pool-"), n)); } diff --git a/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/internal/BaseSpark.java b/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/internal/BaseSpark.java index e0e95ee569275..10ea85ed6d95d 100644 --- a/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/internal/BaseSpark.java +++ b/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/internal/BaseSpark.java @@ -21,7 +21,6 @@ import static java.util.Optional.of; import static java.util.Optional.ofNullable; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import static org.apache.ziplock.JarLocation.jarLocation; @@ -102,7 +101,7 @@ public abstract class BaseSpark> { protected abstract File getRoot(); - protected final static String EXTRA_JVM_ARGS = + protected static final String EXTRA_JVM_ARGS = "--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED"; public T withSlaves(final int slaves) { @@ -196,7 +195,7 @@ protected Instances start() { () -> isOpen(host, slavePort), "org.apache.spark.deploy.worker.Worker", "--host", host, "--port", Integer.toString(slavePort), "--webui-port", Integer.toString(slavePort + 1), getSparkMaster()); - }).collect(toList()); + }).toList(); slaves.stream().peek(s -> closingTasks.add(s::close)).map(m -> new Thread(m::close)).forEach(t -> { Runtime.getRuntime().addShutdownHook(t); closingTasks.add(() -> Runtime.getRuntime().removeShutdownHook(t)); @@ -305,8 +304,9 @@ private File buildSparkHome(final Version version) { fail(e.getMessage()); } - try (final JarOutputStream file = new JarOutputStream(new FileOutputStream(new File(sparkHome, - version.libFolder() + "/spark-assembly-" + sparkVersion + "-hadoop2.6.0.jar")))) { + try (final FileOutputStream fos = new FileOutputStream(new File(sparkHome, + version.libFolder() + "/spark-assembly-" + sparkVersion + "-hadoop2.6.0.jar")); + final JarOutputStream file = new JarOutputStream(fos)) { file.putNextEntry(new ZipEntry("META-INF/marker")); file.write("just to let spark find the jar".getBytes(StandardCharsets.UTF_8)); } catch (final IOException e) { @@ -452,6 +452,9 @@ public void submit(final Class main, final String... args) { args == null ? Stream.empty() : Stream.of(args)) .toArray(String[]::new); LOGGER.info("Submitting: " + asList(submitArgs)); + // Monitor is a long-running Thread; closed in the success branch below + // and via the cleanup task / shutdown hook fallback (see config.cleanupTasks). + @SuppressWarnings({ "resource", "java:S2095" }) final SparkProcessMonitor monitor = new SparkProcessMonitor(config.get(), "spark-submit-" + main.getSimpleName() + "-monitor", () -> true, submitArgs); final Thread hook = new Thread(monitor::close); @@ -629,7 +632,7 @@ public synchronized void run() { .of(new File(System.getProperty("java.home"), "bin/java").getAbsolutePath(), "-cp", classpath), Stream.of(mainAndArgs)) - .collect(toList())); + .toList()); final Map environment = builder.environment(); final String jvmVersion = System.getProperty("java.version", "1.8"); // poor check - suppose using at least jvm 8... diff --git a/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/junit5/internal/SparkExtension.java b/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/junit5/internal/SparkExtension.java index acd1fd6c04c4e..0c8b3f407d907 100644 --- a/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/junit5/internal/SparkExtension.java +++ b/component-runtime-testing/component-runtime-testing-spark/src/main/java/org/talend/sdk/component/runtime/testing/spark/junit5/internal/SparkExtension.java @@ -67,11 +67,11 @@ public void beforeAll(final ExtensionContext extensionContext) throws Exception final Instances instances = start(); if (instances.getException() != null) { instances.close(); - if (instances.getException() instanceof Exception) { - throw (Exception) instances.getException(); + if (instances.getException() instanceof Exception exception) { + throw exception; } - if (instances.getException() instanceof Error) { - throw (Error) instances.getException(); + if (instances.getException() instanceof Error error) { + throw error; } throw new IllegalStateException(instances.getException()); } diff --git a/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/BulkReadResource.java b/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/BulkReadResource.java index ff00a5129d741..58654b9b5a1ab 100644 --- a/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/BulkReadResource.java +++ b/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/BulkReadResource.java @@ -45,20 +45,36 @@ public interface BulkReadResource { description = "The request payloads.", content = @Content(mediaType = APPLICATION_JSON)) CompletionStage bulk(@RequestBody( - description = "The requests list as json objects containing a list of request objects. \n" + - "If your request contains multiple identifiers, you must use a list of string. \n" + - "Example : \n" + - "`{ \n" + - "\"requests\" : [ \n" + - "{ \n" + - " \"path\" : \"/api/v1/component/index\", \n" + - " \"queryParameters\" : {\"identifiers\" : [\"12345\", \"6789A\"]}, \n" + - " \"verb\" : \"GET\", \n" + - " \"headers\" : {...}, \n" + - "}, \n" + - "{ [...]} \n" + - "] \n" + - "}`", + description = """ + The request body is a JSON object containing a list of request objects. + If your request contains multiple identifiers, you must use a list of strings. + Example: + + ```json + { + "requests": [ + { + "path": "/api/v1/component/index", + "queryParameters": { + "identifiers": [ + "12345", + "6789A" + ] + }, + "verb": "GET", + "headers": {} + }, + { + "path": "/api/v1/component/details", + "queryParameters": { + "identifier": "12345" + }, + "verb": "GET", + "headers": {} + } + ] + } + ```""", required = true, content = @Content(mediaType = APPLICATION_JSON)) final BulkRequests requests); } diff --git a/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/ComponentResource.java b/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/ComponentResource.java index 5c9a626c8d155..9922127b9baa2 100644 --- a/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/ComponentResource.java +++ b/component-server-parent/component-server-api/src/main/java/org/talend/sdk/component/server/api/ComponentResource.java @@ -215,8 +215,10 @@ ComponentDetailList getDetail( // @Unused, only for sample class SampleErrorForBulk { + @SuppressWarnings("java:S1068") private ErrorPayload error1; + @SuppressWarnings("java:S1068") private ErrorPayload error2; } } diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/configuration/ComponentServerConfiguration.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/configuration/ComponentServerConfiguration.java index 847360ece24c9..b0d36c0a521d7 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/configuration/ComponentServerConfiguration.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/configuration/ComponentServerConfiguration.java @@ -96,13 +96,16 @@ public class ComponentServerConfiguration { private Boolean supportsEnvironment; @Inject - @Documentation("A folder available for the server - don't forget to mount it in docker if you are using the " - + "image - which accepts subfolders named as component plugin id " - + "(generally the artifactId or jar name without the version, ex: jdbc). Each family folder can contain:\n\n" - + "- a `user-configuration.properties` file which will be merged with component configuration system " - + "(see services). This properties file enables the function `userJar(xxxx)` to replace the jar named `xxxx` " - + "by its virtual gav (`groupId:artifactId:version`),\n" - + "- a list of jars which will be merged with component family classpath\n") + @Documentation(""" + A folder available for the server - don't forget to mount it in docker if you are using the \ + image - which accepts subfolders named as component plugin id \ + (generally the artifactId or jar name without the version, ex: jdbc). Each family folder can contain: + + - a `user-configuration.properties` file which will be merged with component configuration system \ + (see services). This properties file enables the function `userJar(xxxx)` to replace the jar named `xxxx` \ + by its virtual gav (`groupId:artifactId:version`), + - a list of jars which will be merged with component family classpath + """) @ConfigProperty(name = "talend.component.server.user.extensions.location") private Optional userExtensions; diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ActionResourceImpl.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ActionResourceImpl.java index b49d797e7a1d9..ce048abbddfa2 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ActionResourceImpl.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ActionResourceImpl.java @@ -18,7 +18,6 @@ import static java.util.Arrays.asList; import static java.util.Optional.ofNullable; import static java.util.function.Function.identity; -import static java.util.stream.Collectors.toList; import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE; import java.util.Collection; @@ -124,7 +123,7 @@ public boolean test(final String family) { return new ActionList(Stream .concat(findDeployedActions(typeMatcher, componentMatcher, locale), findVirtualActions(typeMatcher, componentMatcher, locale)) - .collect(toList())); + .toList()); } private CompletableFuture doExecuteLocalAction(final String family, final String type, @@ -181,8 +180,7 @@ private CompletableFuture doExecuteLocalAction(final String family, fi } else { cause = e.getCause(); } - if (cause instanceof WebApplicationException) { - final WebApplicationException wae = (WebApplicationException) cause; + if (cause instanceof WebApplicationException wae) { final Response response = wae.getResponse(); String message = ""; if (wae.getResponse().getEntity() instanceof ErrorPayload) { @@ -212,12 +210,11 @@ private CompletableFuture doExecuteLocalAction(final String family, fi private Response onError(final Throwable re) { log.warn(re.getMessage(), re); - if (re.getCause() instanceof WebApplicationException) { - return ((WebApplicationException) re.getCause()).getResponse(); + if (re.getCause() instanceof WebApplicationException wae) { + return wae.getResponse(); } - if (re instanceof ComponentException) { - final ComponentException ce = (ComponentException) re; + if (re instanceof ComponentException ce) { throw new WebApplicationException(Response .status(ce.getErrorOrigin() == ComponentException.ErrorOrigin.USER ? 400 : ce.getErrorOrigin() == ComponentException.ErrorOrigin.BACKEND ? 456 : 520, @@ -262,6 +259,6 @@ private Stream findDeployedActions(final Predicate typeMatch .map(s -> new ActionItem(s.getFamily(), s.getType(), s.getAction(), propertiesService .buildProperties(s.getParameters().get(), c.getLoader(), locale, null) - .collect(toList())))); + .toList()))); } } diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/BulkReadResourceImpl.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/BulkReadResourceImpl.java index 62462b5af9021..9d8343b185470 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/BulkReadResourceImpl.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/BulkReadResourceImpl.java @@ -19,7 +19,6 @@ import static java.util.Optional.ofNullable; import static java.util.concurrent.CompletableFuture.completedFuture; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import java.io.ByteArrayInputStream; @@ -116,6 +115,7 @@ public class BulkReadResourceImpl implements BulkReadResource { "{\"code\":\"UNAUTHORIZED\",\"description\":\"Forbidden endpoint in bulk mode.\"}")) .readObject()); + @SuppressWarnings("java:S1068") private final BulkResponses.Result forbiddenResponse = new BulkResponses.Result(Response.Status.FORBIDDEN.getStatusCode(), emptyMap(), Json.createReader(new StringReader( @@ -148,7 +148,7 @@ public CompletionStage bulk(final BulkRequests requests) { return completedFuture(invalidResponse); } return doExecute(request, uriInfo); - }).collect(toList()); + }).toList(); return CompletableFuture .allOf(responses.toArray(EMPTY_PROMISES)) .handle((ignored, error) -> new BulkResponses(responses.stream().map(it -> { @@ -163,7 +163,7 @@ public CompletionStage bulk(final BulkRequests requests) { .entity(new ErrorPayload(ErrorDictionary.UNEXPECTED, e.getMessage())) .build()); } - }).collect(toList()))); + }).toList())); } private boolean isBlacklisted(final BulkRequests.Request request) { diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ComponentResourceImpl.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ComponentResourceImpl.java index 8e1990c87a52a..2af65907b3e92 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ComponentResourceImpl.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ComponentResourceImpl.java @@ -20,7 +20,6 @@ import static java.util.Collections.singletonList; import static java.util.Optional.ofNullable; import static java.util.function.UnaryOperator.identity; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE; import static javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION; @@ -359,7 +358,7 @@ public ComponentIndices getIndex(final String language, final boolean includeIco detail.getLinks(), detail.getMetadata()))) .filter(filter) - .collect(toList())); + .toList()); }); } @@ -549,15 +548,14 @@ public Response getIconIndex(final String theme) { @Override public Map migrate(final String id, final int version, final Map config) { - final Map configuration = config.entrySet().stream().map(e -> { + config.entrySet().forEach(e -> { if (e.getValue().startsWith(BASE64_PREFIX)) { final String value = new String(Base64 .getUrlDecoder() .decode(e.getValue().substring(BASE64_PREFIX.length()).getBytes(StandardCharsets.UTF_8))); e.setValue(value); } - return e; - }).collect(toMap(Entry::getKey, Entry::getValue)); + }); if (virtualComponents.isExtensionEntity(id)) { return config; } @@ -640,7 +638,7 @@ public ComponentDetailList getDetail(final String language, final String[] ids) componentDetail.setDisplayName(bundle.displayName().orElse(meta.getName())); componentDetail.setProperties(propertiesService .buildProperties(meta.getParameterMetas().get(), container.getLoader(), locale, null) - .collect(toList())); + .toList()); componentDetail.setActions(actionsService .findActions(meta.getParent().getName(), container, locale, meta, meta.getParent().findBundle(container.getLoader(), locale))); @@ -651,7 +649,7 @@ public ComponentDetailList getDetail(final String language, final String[] ids) errors.put(id, new ErrorPayload(COMPONENT_MISSING, "No component '" + id + "'")); return null; }); - }).filter(Objects::nonNull).collect(toList()); + }).filter(Objects::nonNull).toList(); if (!errors.isEmpty()) { throw new WebApplicationException(Response.status(Response.Status.BAD_REQUEST).entity(errors).build()); @@ -743,13 +741,13 @@ private DependencyDefinition getDependenciesFor(final ComponentFamilyMeta.BaseMe final Stream deps = c.findDependencies(); final Stream artifacts; if (configuration.getAddExtensionDependencies() && extension != null) { - final List dependencies = deps.collect(toList()); + final List dependencies = deps.toList(); final Stream addDeps = getExtensionDependencies(extension, dependencies); artifacts = Stream.concat(dependencies.stream(), addDeps); } else { artifacts = deps; } - return artifacts.map(Artifact::toCoordinate).collect(toList()); + return artifacts.map(Artifact::toCoordinate).toList(); }).orElseThrow(() -> new IllegalArgumentException("Can't find container '" + meta.getId() + "'"))); } @@ -794,7 +792,7 @@ private ComponentIndex toComponentIndex(final Container container, final Locale .map(category -> parentBundle.category(category) .orElseGet(() -> category.replace("/" + meta.getParent().getName() + "/", "/" + familyDisplayName + "/"))) - .collect(toList())) + .toList()) .orElseGet(Collections::emptyList); return new ComponentIndex( new ComponentId(meta.getId(), meta.getParent().getId(), plugin, diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImpl.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImpl.java index 4625e44cc8302..2189934eb1c46 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImpl.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImpl.java @@ -18,7 +18,6 @@ import static java.util.Collections.singletonList; import static java.util.Optional.ofNullable; import static java.util.function.Function.identity; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static java.util.stream.Collectors.toSet; @@ -190,8 +189,7 @@ public Map migrate(final String id, final int version, final Map return migrated; } catch (final Exception e) { // contract of migrate() do not impose to throw a ComponentException, so not likely to happen... - if (e instanceof ComponentException) { - final ComponentException ce = (ComponentException) e; + if (e instanceof ComponentException ce) { throw new WebApplicationException(Response .status(ce.getErrorOrigin() == ComponentException.ErrorOrigin.USER ? 400 : ce.getErrorOrigin() == ComponentException.ErrorOrigin.BACKEND ? 456 : 520, @@ -245,7 +243,7 @@ private Stream createNode(final String parentId, final String fa forcedPrefix + p.getPath().substring(prefixLen), p.getName(), p.getDisplayName(), p.getType(), p.getDefaultValue(), p.getValidation(), p.getMetadata(), p.getPlaceholder(), p.getProposalDisplayNames())) - .collect(toList())); + .toList()); } node.setEdges(c.getChildConfigs().stream().map(Config::getId).collect(toSet())); diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/DocumentationResourceImpl.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/DocumentationResourceImpl.java index fdd74de61792b..ef32ccd436887 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/DocumentationResourceImpl.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/DocumentationResourceImpl.java @@ -253,7 +253,7 @@ private static class DocumentationCache { String selectById(final String name, final String value, final DocumentationSegment segment) { final List lines; try (final BufferedReader reader = new BufferedReader(new StringReader(value))) { - lines = reader.lines().collect(toList()); + lines = reader.lines().toList(); } catch (final IOException e) { throw new IllegalArgumentException(e); } diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/EnvironmentResourceImpl.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/EnvironmentResourceImpl.java index 50df7a436cba7..60d25d05ed0b5 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/EnvironmentResourceImpl.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/EnvironmentResourceImpl.java @@ -18,7 +18,6 @@ import java.util.Date; import java.util.Spliterator; import java.util.Spliterators; -import java.util.concurrent.atomic.AtomicReference; import java.util.stream.StreamSupport; import javax.annotation.PostConstruct; @@ -37,8 +36,6 @@ @ApplicationScoped public class EnvironmentResourceImpl implements EnvironmentResource { - private final AtomicReference environment = new AtomicReference<>(); - @Inject @ConfigProperty(name = "git.build.version") private String version; diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/error/DefaultExceptionHandler.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/error/DefaultExceptionHandler.java index f6cbe9244fe66..e3efdaf8db3a2 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/error/DefaultExceptionHandler.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/error/DefaultExceptionHandler.java @@ -52,14 +52,14 @@ private void init() { public Response toResponse(final Throwable exception) { log.error("[DefaultExceptionHandler#toResponse] Throwable: ", exception); final Response response; - if (exception instanceof WebApplicationException) { - response = ((WebApplicationException) exception).getResponse(); + if (exception instanceof WebApplicationException applicationException) { + response = applicationException.getResponse(); } else { final Optional optCause = Optional.ofNullable(exception.getCause()); if (optCause.isPresent()) { final Throwable cause = optCause.get(); - if (cause instanceof WebApplicationException) { - response = ((WebApplicationException) cause).getResponse(); + if (cause instanceof WebApplicationException webApplicationException) { + response = webApplicationException.getResponse(); } else { response = Response .status(Response.Status.INTERNAL_SERVER_ERROR) diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/memory/AsyncContextImpl.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/memory/AsyncContextImpl.java index 1dea4226e58bc..57fd73eeb947c 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/memory/AsyncContextImpl.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/memory/AsyncContextImpl.java @@ -63,6 +63,9 @@ AsyncContext start() { return this; } + @SuppressWarnings("java:S6201") + // unconditional patterns in instanceof are not supported in -source 17 + // TODO: remove the @SuppressWarnings and apply S6201 when java 21+ only is supported. public void onError(final Throwable throwable) { final AsyncEvent event = new AsyncEvent(this, request, response, throwable); executeOnListeners(l -> l.onError(event), null); @@ -106,12 +109,10 @@ public boolean hasOriginalRequestAndResponse() { @Override public void dispatch() { final ServletRequest servletRequest = getRequest(); - if (!(servletRequest instanceof HttpServletRequest)) { + if (!(servletRequest instanceof HttpServletRequest sr)) { throw new IllegalStateException("Not a http request: " + servletRequest); } - final HttpServletRequest sr = (HttpServletRequest) servletRequest; - String path = sr.getRequestURI(); final String cpath = sr.getContextPath(); if (cpath.length() > 1) { @@ -128,11 +129,10 @@ public void dispatch(final String path) { @Override public void dispatch(final ServletContext context, final String path) { final ServletRequest servletRequest = getRequest(); - if (!(servletRequest instanceof HttpServletRequest)) { + if (!(servletRequest instanceof HttpServletRequest request)) { throw new IllegalStateException("Not a http request: " + servletRequest); } - final HttpServletRequest request = (HttpServletRequest) servletRequest; if (request.getAttribute(ASYNC_REQUEST_URI) == null) { request.setAttribute(ASYNC_REQUEST_URI, request.getRequestURI()); request.setAttribute(ASYNC_CONTEXT_PATH, request.getContextPath()); diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/security/SecurityUtils.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/security/SecurityUtils.java index 72fd6abf0b875..69d6b661a3656 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/security/SecurityUtils.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/security/SecurityUtils.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.server.front.security; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.util.Collection; @@ -48,7 +47,7 @@ public Map decrypt(final Collection spec, final M .flatMap(s -> flatten(s) .filter(p -> Boolean.parseBoolean(p.getMetadata().getOrDefault(CREDENTIAL, "false")))) .map(m -> m.getPath()) - .collect(toList()); + .toList(); return Stream.concat(vault.decrypt(config.entrySet() .stream() @@ -67,7 +66,7 @@ public List findCipheredKeys(final ParameterMeta meta, final Map Boolean.parseBoolean(p.getMetadata().getOrDefault(CREDENTIAL, "false"))) .map(m -> m.getPath()) - .collect(toList()); + .toList(); } private Stream flatten(final ParameterMeta meta) { diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/mdc/MdcRequestBinder.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/mdc/MdcRequestBinder.java index 3b87aeb82b4c4..b6a1f84e06a0e 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/mdc/MdcRequestBinder.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/mdc/MdcRequestBinder.java @@ -51,8 +51,8 @@ public void init(final FilterConfig filterConfig) { @Override public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException { - if (request instanceof HttpServletRequest) { - ThreadContext.putAll(createContext((HttpServletRequest) request)); + if (request instanceof HttpServletRequest httpServletRequest) { + ThreadContext.putAll(createContext(httpServletRequest)); } chain.doFilter(request, response); } diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ActionsService.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ActionsService.java index c23d2dc4f2afb..7d07a0dae1886 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ActionsService.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ActionsService.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.server.service; import static java.util.Collections.singleton; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; import java.util.Collection; @@ -94,8 +93,8 @@ private Collection findActions(final String family, final Set toStream(final Collection parameterMetas) { diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ComponentManagerService.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ComponentManagerService.java index edd9d0f533459..3f122a1285e45 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ComponentManagerService.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ComponentManagerService.java @@ -414,7 +414,7 @@ private Runnable postDeploy(final Container plugin) { .stream() .flatMap(c -> c.getActions().stream()) .map(actionDao::createOrUpdate) - .collect(toList()); + .toList(); final Collection families = plugin .get(ContainerComponentRegistry.class) @@ -422,18 +422,18 @@ private Runnable postDeploy(final Container plugin) { .values() .stream() .map(componentFamilyDao::createOrUpdate) - .collect(toList()); + .toList(); final Collection configs = ofNullable(plugin.get(RepositoryModel.class)) .map(r -> r .getFamilies() .stream() .flatMap(f -> configAsStream(f.getConfigs().get().stream())) - .collect(toList())) + .toList()) .orElse(emptyList()) .stream() .map(configurationDao::createOrUpdate) - .collect(toList()); + .toList(); return () -> { virtualDependenciesService.onUnDeploy(plugin); diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ExtensionComponentMetadataManager.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ExtensionComponentMetadataManager.java index da20d0b20305d..dc6f956364a86 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ExtensionComponentMetadataManager.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/ExtensionComponentMetadataManager.java @@ -19,7 +19,6 @@ import static java.util.Optional.ofNullable; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.function.Function.identity; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import java.io.BufferedOutputStream; @@ -119,7 +118,7 @@ public void registerComponents(final Collection components) { .concat(createBuiltInLinks(it), it.getLinks() == null ? Stream.empty() : it.getLinks().stream()) .distinct() - .collect(toList()), + .toList(), singletonMap("mapper::infinite", "false"))) .collect(toMap(it -> it.getId().getId(), identity(), (a, b) -> { throw new IllegalArgumentException(a + " and " + b + " are conflicting"); diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/IconResolver.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/IconResolver.java index 28a6ebf1c5ffe..d6559b4f654af 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/IconResolver.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/IconResolver.java @@ -19,7 +19,6 @@ import static java.util.Optional.of; import static java.util.Optional.ofNullable; import static java.util.function.Function.identity; -import static java.util.stream.Collectors.toList; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; @@ -70,7 +69,7 @@ protected void init() { .getIconExtensions() .stream() .filter(it -> !it.endsWith(".svg")) - .collect(toList()); + .toList(); log.info("[IconResolver] SVG supported: {}, patterns: {}.", isSupportsSvg(), patterns); } diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/PropertyValidationService.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/PropertyValidationService.java index 007e68d9aca4a..b10b7b7361da8 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/PropertyValidationService.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/PropertyValidationService.java @@ -16,7 +16,6 @@ package org.talend.sdk.component.server.service; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import java.util.Collection; import java.util.Map; @@ -48,7 +47,7 @@ private void initMapper() { } else if (Boolean.class == f.getType()) { valueConverter = Boolean::parseBoolean; } else if (Collection.class == f.getType()) { - valueConverter = s -> Stream.of(s.split(",")).collect(toList()); + valueConverter = s -> Stream.of(s.split(",")).toList(); } else { valueConverter = s -> s; } @@ -67,7 +66,7 @@ private void initMapper() { return true; }) .orElse(false); - }).collect(toList()); + }).toList(); propertyValidationCreator = config -> { final PropertyValidation validation = new PropertyValidation(); if (validationSetters.stream().filter(s -> s.apply(validation, config)).count() == 0) { diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/SimpleQueryLanguageCompiler.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/SimpleQueryLanguageCompiler.java index 853f6c1fbe185..62441e3766733 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/SimpleQueryLanguageCompiler.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/SimpleQueryLanguageCompiler.java @@ -145,10 +145,10 @@ private Predicate toPredicate(final String key, final String operator, fi .orElseThrow(() -> new IllegalArgumentException("Missing evaluator for '" + mapName + "'")); return new ComparePredicate<>(comparator, t -> { final Object map = evaluator.apply(t); - if (!(map instanceof Map)) { + if (!(map instanceof Map map1)) { throw new IllegalArgumentException(map + " is not a map"); } - return ((Map) map).get(mapKey); + return map1.get(mapKey); }, expectedValue); } } @@ -184,8 +184,7 @@ private Token nextToken(final char[] buffer, final int from) { } final String string = new String(buffer, actualFrom, idx - actualFrom); switch (string) { - case "AND": - case "OR": + case "AND", "OR": return new Token(idx, TokenType.COMBINER, string); default: return new Token(idx, TokenType.VALUE, string); diff --git a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/VirtualDependenciesService.java b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/VirtualDependenciesService.java index 03920e0e33770..c0e011ede03af 100644 --- a/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/VirtualDependenciesService.java +++ b/component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/service/VirtualDependenciesService.java @@ -22,7 +22,6 @@ import static java.util.Optional.ofNullable; import static java.util.function.Function.identity; import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static lombok.AccessLevel.PACKAGE; @@ -227,7 +226,8 @@ private byte[] generateConfigurationJar(final String family, final Properties us mainAttributes.putValue("Created-By", "Talend Component Kit Server"); mainAttributes.putValue("Talend-Time", Long.toString(System.currentTimeMillis())); mainAttributes.putValue("Talend-Family-Name", family); - try (final JarOutputStream jar = new JarOutputStream(new BufferedOutputStream(outputStream), manifest)) { + try (final BufferedOutputStream buffered = new BufferedOutputStream(outputStream); + final JarOutputStream jar = new JarOutputStream(buffered, manifest)) { jar.putNextEntry(new JarEntry("TALEND-INF/local-configuration.properties")); userConfiguration.store(jar, "Configuration of the family " + family); jar.closeEntry(); @@ -300,9 +300,8 @@ private Map findJars(final Path familyFolder, final String famil if (!Files.isDirectory(familyFolder)) { return emptyMap(); } - try { - return Files - .list(familyFolder) + try (final Stream files = Files.list(familyFolder)) { + return files .filter(file -> file.getFileName().toString().endsWith(".jar")) .collect(toMap(it -> { try { @@ -398,10 +397,10 @@ public String get(final String key) { @Override public Set keys() { final ClassLoader loader = Thread.currentThread().getContextClassLoader(); - if (!(loader instanceof ConfigurableClassLoader)) { + if (!(loader instanceof ConfigurableClassLoader configurableClassLoader)) { return emptySet(); } - final String id = ((ConfigurableClassLoader) loader).getId(); + final String id = configurableClassLoader.getId(); final Enrichment enrichment = delegate.getEnrichmentFor(id); if (enrichment == null || enrichment.customConfiguration == null) { return emptySet(); @@ -421,7 +420,7 @@ public UserContainerClasspathContributor() { @Override public Collection findContributions(final String pluginId) { delegate.onDeploy(pluginId); - return delegate.userArtifactsFor(pluginId).collect(toList()); + return delegate.userArtifactsFor(pluginId).toList(); } @Override diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ActionResourceImplTest.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ActionResourceImplTest.java index c1b6724a612fb..2ef141529f2ae 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ActionResourceImplTest.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ActionResourceImplTest.java @@ -195,14 +195,38 @@ void checkSchemaSerialization() { .request(APPLICATION_JSON_TYPE) .post(Entity.entity(emptyMap(), APPLICATION_JSON_TYPE), String.class); final String expected = - "{\n \"entries\":[\n {\n \"elementSchema\":{\n \"entries\":[\n ],\n" + - " \"metadata\":[\n ],\n \"props\":{\n\n },\n \"type\":\"STRING\"\n" - + - " },\n \"errorCapable\":false," + - "\n \"metadata\":false,\n \"name\":\"array\",\n \"nullable\":false,\n" + - " \"props\":{\n\n },\n \"type\":\"ARRAY\",\n" + - " \"valid\":true\n }\n ],\n \"metadata\":[\n" + - " ],\n \"props\":{\n \"talend.fields.order\":\"array\"\n },\n \"type\":\"RECORD\"\n}"; + """ + { + "entries":[ + { + "elementSchema":{ + "entries":[ + ], + "metadata":[ + ], + "props":{ + + }, + "type":"STRING" + }, + "errorCapable":false, + "metadata":false, + "name":"array", + "nullable":false, + "props":{ + + }, + "type":"ARRAY", + "valid":true + } + ], + "metadata":[ + ], + "props":{ + "talend.fields.order":"array" + }, + "type":"RECORD" + }"""; assertEquals(expected, schema); } diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImplTest.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImplTest.java index e896a26dda780..a2575d0b2cfba 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImplTest.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/ConfigurationTypeResourceImplTest.java @@ -128,13 +128,6 @@ void migrateUnexpectedWithNPE() { @Test void migrateWithEncrypted() { - final JsonBuilderFactory factory = JsonProvider.provider().createBuilderFactory(emptyMap()); - final JsonObject json = factory - .createObjectBuilder() - .add("configuration.url", "vault:v1:hcccVPODe9oZpcr/sKam8GUrbacji8VkuDRGfuDt7bg7VA==") - .add("configuration.username", "username0") - .add("configuration.password", "vault:v1:hcccVPODe9oZpcr/sKam8GUrbacji8VkuDRGfuDt7bg7VA==") - .build(); final Map config = base .path("/configurationtype/migrate/amRiYy1jb21wb25lbnQjamRiYyNkYXRhc2V0I2pkYmM/-2") .request(APPLICATION_JSON_TYPE) diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/DocumentationResourceImplTest.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/DocumentationResourceImplTest.java index 15987a29a4eb9..9ac18db9cfc59 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/DocumentationResourceImplTest.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/DocumentationResourceImplTest.java @@ -48,87 +48,195 @@ class DocumentationResourceImplTest { void selectById() { final String foo = new DocumentationResourceImpl() .selectById("Foo1", - "== Foo0\n\n00000\n\n" + "=== Configuration\n\nWhatever0\n\n== Foo1\n\nThe description\n\n" - + "=== Configuration\n\nWhatever1\n\n" - + "== Foo2\n\n2222\n\n=== Configuration\n\nWhatever2", + """ + == Foo0 + + 00000 + + === Configuration + + Whatever0 + + == Foo1 + + The description + + === Configuration + + Whatever1 + + == Foo2 + + 2222 + + === Configuration + + Whatever2""", DocumentationResourceImpl.DocumentationSegment.DESCRIPTION); assertEquals("The description", foo.trim()); } @RepeatedTest(2) void selectByIdUsingComments() { - final String content = "//component_start:my\n" + "\n" + "== my\n" + "\n" + "super my component\n" + "\n" - + "//configuration_start\n" + "\n" + "=== Configuration\n" + "\n" - + "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|configuration|configuration configuration|-|Always enabled|configuration|-\n" - + "|input|the input value|-|Always enabled|configuration.input|-\n" - + "|nested|it is nested|-|Always enabled|configuration.nested|dataset\n" - + "|datastore|the datastore|-|Always enabled|configuration.nested.datastore|datastore\n" - + "|user|the user to log in|unknown|Always enabled|configuration.nested.user|dataset\n" + "|===\n" - + "\n" + "//configuration_end\n" + "\n" + "//component_end:my\n" + "\n" + "//component_start:my2\n" - + "\n" + "== my2\n" + "\n" + "super my component2\n" + "\n" + "//configuration_start\n" + "\n" - + "=== Configuration\n" + "\n" + "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|ds|ds configuration|-|Always enabled|ds|dataset\n" - + "|datastore|the datastore|-|Always enabled|ds.datastore|datastore\n" + "|===\n" + "\n" - + "//configuration_end\n" + "\n" + "//component_end:my2\n" + "\n" + "//component_start:my3\n" + "\n" - + "== my2\n" + "\n" + "super my componentv3\n" + "\n" + "//configuration_start\n" + "\n" - + "=== Configuration\n" + "\n" + "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|datastore|the datastore|-|Always enabled|ds.datastore|datastore\n" + "|===\n" + "\n" - + "//configuration_end\n" + "\n" + "//component_end:my3\n"; + final String content = """ + //component_start:my + + == my + + super my component + + //configuration_start + + === Configuration + + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |configuration|configuration configuration|-|Always enabled|configuration|- + |input|the input value|-|Always enabled|configuration.input|- + |nested|it is nested|-|Always enabled|configuration.nested|dataset + |datastore|the datastore|-|Always enabled|configuration.nested.datastore|datastore + |user|the user to log in|unknown|Always enabled|configuration.nested.user|dataset + |=== + + //configuration_end + + //component_end:my + + //component_start:my2 + + == my2 + + super my component2 + + //configuration_start + + === Configuration + + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |ds|ds configuration|-|Always enabled|ds|dataset + |datastore|the datastore|-|Always enabled|ds.datastore|datastore + |=== + + //configuration_end + + //component_end:my2 + + //component_start:my3 + + == my2 + + super my componentv3 + + //configuration_start + + === Configuration + + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |datastore|the datastore|-|Always enabled|ds.datastore|datastore + |=== + + //configuration_end + + //component_end:my3 + """; final DocumentationResourceImpl impl = new DocumentationResourceImpl(); assertEquals("super my component", impl.selectById("my", content, DocumentationResourceImpl.DocumentationSegment.DESCRIPTION).trim()); - assertEquals("[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|configuration|configuration configuration|-|Always enabled|configuration|-\n" - + "|input|the input value|-|Always enabled|configuration.input|-\n" - + "|nested|it is nested|-|Always enabled|configuration.nested|dataset\n" - + "|datastore|the datastore|-|Always enabled|configuration.nested.datastore|datastore\n" - + "|user|the user to log in|unknown|Always enabled|configuration.nested.user|dataset\n" + "|===", + assertEquals(""" + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |configuration|configuration configuration|-|Always enabled|configuration|- + |input|the input value|-|Always enabled|configuration.input|- + |nested|it is nested|-|Always enabled|configuration.nested|dataset + |datastore|the datastore|-|Always enabled|configuration.nested.datastore|datastore + |user|the user to log in|unknown|Always enabled|configuration.nested.user|dataset + |===""", impl.selectById("my", content, DocumentationResourceImpl.DocumentationSegment.CONFIGURATION).trim()); assertEquals( - "== my\n" + "\n" + "super my component\n" + "\n" + "//configuration_start\n" + "\n" - + "=== Configuration\n" + "\n" + "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|configuration|configuration configuration|-|Always enabled|configuration|-\n" - + "|input|the input value|-|Always enabled|configuration.input|-\n" - + "|nested|it is nested|-|Always enabled|configuration.nested|dataset\n" - + "|datastore|the datastore|-|Always enabled|configuration.nested.datastore|datastore\n" - + "|user|the user to log in|unknown|Always enabled|configuration.nested.user|dataset\n" - + "|===\n" + "\n" + "//configuration_end", + """ + == my + + super my component + + //configuration_start + + === Configuration + + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |configuration|configuration configuration|-|Always enabled|configuration|- + |input|the input value|-|Always enabled|configuration.input|- + |nested|it is nested|-|Always enabled|configuration.nested|dataset + |datastore|the datastore|-|Always enabled|configuration.nested.datastore|datastore + |user|the user to log in|unknown|Always enabled|configuration.nested.user|dataset + |=== + + //configuration_end""", impl.selectById("my", content, DocumentationResourceImpl.DocumentationSegment.ALL).trim()); assertEquals("super my component2", impl.selectById("my2", content, DocumentationResourceImpl.DocumentationSegment.DESCRIPTION).trim()); assertEquals( - "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|ds|ds configuration|-|Always enabled|ds|dataset\n" - + "|datastore|the datastore|-|Always enabled|ds.datastore|datastore\n" + "|===", + """ + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |ds|ds configuration|-|Always enabled|ds|dataset + |datastore|the datastore|-|Always enabled|ds.datastore|datastore + |===""", impl.selectById("my2", content, DocumentationResourceImpl.DocumentationSegment.CONFIGURATION).trim()); assertEquals( - "== my2\n" + "\n" + "super my component2\n" + "\n" + "//configuration_start\n" + "\n" - + "=== Configuration\n" + "\n" + "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|ds|ds configuration|-|Always enabled|ds|dataset\n" - + "|datastore|the datastore|-|Always enabled|ds.datastore|datastore\n" + "|===\n" + "\n" - + "//configuration_end", + """ + == my2 + + super my component2 + + //configuration_start + + === Configuration + + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |ds|ds configuration|-|Always enabled|ds|dataset + |datastore|the datastore|-|Always enabled|ds.datastore|datastore + |=== + + //configuration_end""", impl.selectById("my2", content, DocumentationResourceImpl.DocumentationSegment.ALL).trim()); assertEquals("super my componentv3", impl.selectById("my3", content, DocumentationResourceImpl.DocumentationSegment.DESCRIPTION).trim()); assertEquals( - "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|datastore|the datastore|-|Always enabled|ds.datastore|datastore\n" + "|===", + """ + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |datastore|the datastore|-|Always enabled|ds.datastore|datastore + |===""", impl.selectById("my3", content, DocumentationResourceImpl.DocumentationSegment.CONFIGURATION).trim()); assertEquals( - "== my2\n" + "\n" + "super my componentv3\n" + "\n" + "//configuration_start\n" + "\n" - + "=== Configuration\n" + "\n" + "[cols=\"d,d,m,a,e,d\",options=\"header\"]\n" + "|===\n" - + "|Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type\n" - + "|datastore|the datastore|-|Always enabled|ds.datastore|datastore\n" + "|===\n" + "\n" - + "//configuration_end", + """ + == my2 + + super my componentv3 + + //configuration_start + + === Configuration + + [cols="d,d,m,a,e,d",options="header"] + |=== + |Display Name|Description|Default Value|Enabled If|Configuration Path|Configuration Type + |datastore|the datastore|-|Always enabled|ds.datastore|datastore + |=== + + //configuration_end""", impl.selectById("my3", content, DocumentationResourceImpl.DocumentationSegment.ALL).trim()); } diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/beam/BeamActionSerializationTest.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/beam/BeamActionSerializationTest.java index 6bd4f20eb9c44..aca38045c874a 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/beam/BeamActionSerializationTest.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/front/beam/BeamActionSerializationTest.java @@ -42,15 +42,38 @@ void checkSchemaSerialization() { .queryParam("lang", "it") .request(APPLICATION_JSON_TYPE) .post(Entity.entity(emptyMap(), APPLICATION_JSON_TYPE), String.class); - final String attended = "{\n" + " \"entries\":[\n" + " {\n" + " \"elementSchema\":{\n" - + " \"entries\":[\n" + " ],\n" + " \"metadata\":[\n" + " ],\n" - + " \"props\":{\n" + "\n" + " },\n" + " \"type\":\"STRING\"\n" + " },\n" - + " \"errorCapable\":false,\n \"metadata\":false,\n" - + " \"name\":\"array\",\n" + " \"nullable\":false,\n" - + " \"props\":{\n" + "\n" + " },\n" + " \"type\":\"ARRAY\",\n" + - " \"valid\":true\n }\n" + " ],\n" - + " \"metadata\":[\n" + " ],\n" + " \"props\":{\n" + " \"talend.fields.order\":\"array\"\n" - + " },\n" + " \"type\":\"RECORD\"\n" + "}"; + final String attended = """ + { + "entries":[ + { + "elementSchema":{ + "entries":[ + ], + "metadata":[ + ], + "props":{ + + }, + "type":"STRING" + }, + "errorCapable":false, + "metadata":false, + "name":"array", + "nullable":false, + "props":{ + + }, + "type":"ARRAY", + "valid":true + } + ], + "metadata":[ + ], + "props":{ + "talend.fields.order":"array" + }, + "type":"RECORD" + }"""; assertEquals(attended, schema); } } diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/PropertiesServiceTest.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/PropertiesServiceTest.java index 718a3a497a730..e99a1c606b86a 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/PropertiesServiceTest.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/PropertiesServiceTest.java @@ -72,7 +72,7 @@ void gridLayoutTranslation() throws NoSuchMethodException { new BaseParameterEnricher.Context(new LocalConfigurationService(emptyList(), "test"))); final List props = propertiesService .buildProperties(params, Thread.currentThread().getContextClassLoader(), Locale.ROOT, null) - .collect(toList()); + .toList(); assertEquals(3, props.size()); final Map metadata = props.iterator().next().getMetadata(); @@ -109,7 +109,7 @@ void booleanDefault() throws NoSuchMethodException { new BaseParameterEnricher.Context( new LocalConfigurationService(emptyList(), "tools"))), Thread.currentThread().getContextClassLoader(), Locale.ROOT, null) - .collect(toList()); + .toList(); assertEquals("true", props.stream().filter(p -> p.getName().equals("val")).findFirst().get().getDefaultValue()); } @@ -129,7 +129,7 @@ private List getProperties(final String locale) { return propertiesService .buildProperties(singletonList(config), getClass().getClassLoader(), Locale.forLanguageTag(locale), null) - .collect(toList()); + .toList(); } @Test diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/VirtualDependenciesServiceTemplatingTest.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/VirtualDependenciesServiceTemplatingTest.java index 3e9bd13d60867..c53a70cce6e37 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/VirtualDependenciesServiceTemplatingTest.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/service/VirtualDependenciesServiceTemplatingTest.java @@ -50,9 +50,14 @@ private static Stream replaceGavConfigurationSource() { "a=virtual.talend.component.server.generated.foo_plugin:dummy:jar:unknown\nc=d"), new Pair("a=b\nc=userJar(dummy)", "a=b\nc=virtual.talend.component.server.generated.foo_plugin:dummy:jar:unknown"), - new Pair("a=b\n" + "c=userJar(dummy)\n" + "another[0]=userJar(other)", "a=b\n" - + "c=virtual.talend.component.server.generated.foo_plugin:dummy:jar:unknown\n" - + "another[0]=virtual.talend.component.server.generated.foo_plugin:other:jar:unknown")); + new Pair(""" + a=b + c=userJar(dummy) + another[0]=userJar(other)""", + """ + a=b + c=virtual.talend.component.server.generated.foo_plugin:dummy:jar:unknown + another[0]=virtual.talend.component.server.generated.foo_plugin:other:jar:unknown""")); } @ToString diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/InitTestInfra.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/InitTestInfra.java index 97549a5974636..c7b0be2e5ed8d 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/InitTestInfra.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/InitTestInfra.java @@ -350,8 +350,20 @@ private File createJdbcPlugin(final File target) { out.putNextEntry(new JarEntry("TALEND-INF/documentation.adoc")); out - .write(("== input\n\ndesc\n\n=== Configuration\n\nSomething1\n\n" - + "== output\n\n=== Configuration\n\nSomething else") + .write((""" + == input + + desc + + === Configuration + + Something1 + + == output + + === Configuration + + Something else""") .getBytes(StandardCharsets.UTF_8)); out.closeEntry(); } catch (final IOException e) { diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/custom/CustomService.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/custom/CustomService.java index 4a656073b25aa..34423c3afb962 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/custom/CustomService.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/custom/CustomService.java @@ -15,8 +15,6 @@ */ package org.talend.sdk.component.server.test.custom; -import static java.util.stream.Collectors.toList; - import java.io.IOException; import java.io.InputStream; import java.io.Serializable; @@ -53,7 +51,7 @@ public SuggestionValues get(final LocalConfiguration configuration) throws IOExc .of("i.m.a.virtual.configuration.entry", "i.m.another.virtual.configuration.entry") .map(key -> new SuggestionValues.Item(key, configuration.get(key)))) - .collect(toList())); + .toList()); } @Action("unknownException") diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/jdbc/JdbcOutput.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/jdbc/JdbcOutput.java index 285bf4ac0f20b..2af3e73c55cbc 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/jdbc/JdbcOutput.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/jdbc/JdbcOutput.java @@ -35,6 +35,7 @@ @FixedSchema(value = "jdbc_discover_schema", flows = { "reject" }) public class JdbcOutput implements Serializable { + @SuppressWarnings("java:S1068") private final ConfigWrapper dataset; public JdbcOutput(@Option("configuration") final ConfigWrapper dataset) { diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/migration/MigrationDataSet.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/migration/MigrationDataSet.java index 27ed192e0530d..7e0f34c1074a1 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/migration/MigrationDataSet.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/test/migration/MigrationDataSet.java @@ -28,7 +28,7 @@ @Version(migrationHandler = AbstractMigrationHandler.DataSetHandler.class) public class MigrationDataSet implements Serializable { - public final static int Version = -1; + public static final int Version = -1; @Option private final MigrationDataStore dataStore; diff --git a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/tomcat/GenerateCertificateAndActivateHttpsTest.java b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/tomcat/GenerateCertificateAndActivateHttpsTest.java index 409c81ce10376..5c4f31aba5009 100644 --- a/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/tomcat/GenerateCertificateAndActivateHttpsTest.java +++ b/component-server-parent/component-server/src/test/java/org/talend/sdk/component/server/tomcat/GenerateCertificateAndActivateHttpsTest.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.server.tomcat; -import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -55,7 +54,7 @@ void generate() throws Exception { return (Runnable) () -> System.clearProperty(it.getKey()); } return (Runnable) () -> System.setProperty(it.getKey(), property); - }).collect(toList()); + }).toList(); try { final Meecrowave.Builder builder = new Meecrowave.Builder(); assertTrue(cert.exists()); diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ApiDemoEndpoints.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ApiDemoEndpoints.java index 0a789fcf3cf76..22eee58850939 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ApiDemoEndpoints.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ApiDemoEndpoints.java @@ -88,6 +88,7 @@ public class ApiDemoEndpoints { public static final String VALUE_ACCESS_CONTROL_ALLOW_METHODS = "GET, POST, DELETE, PUT, PATCH, OPTIONS"; + @SuppressWarnings("java:S1068") private final byte[] ENVIRONMENT; private final Object ACTION_INDEX; @@ -100,6 +101,7 @@ public class ApiDemoEndpoints { private final Object COMPONENT_DEPENDENCIES; + @SuppressWarnings("java:S1068") private final Object COMPONENT_DEPENDENCY; private final Object COMPONENT_ICON; diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ProjectResource.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ProjectResource.java index 6e1c23fbcd32c..f3bc9d74c2b46 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ProjectResource.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/ProjectResource.java @@ -20,7 +20,6 @@ import static java.util.Collections.singletonList; import static java.util.Optional.ofNullable; import static java.util.function.Function.identity; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE; @@ -216,7 +215,7 @@ private ProjectRequest toRequest(final ProjectModel model) { ofNullable(model.getDescription()) .orElse("An application generated by the Talend Component Kit Starter"), "jar", group, ofNullable(model.getArtifact()).orElse("application"), - ofNullable(model.getVersion()).orElse("0.0.1-SNAPSHOT"), "1.8"), + ofNullable(model.getVersion()).orElse("0.0.1-SNAPSHOT"), "17"), rootPackage, ofNullable(model.getFacets()).orElse(emptyList()), ofNullable(model.getSources()) .map(s -> s @@ -226,7 +225,7 @@ rootPackage, ofNullable(model.getFacets()).orElse(emptyList()), .getStructure(), toStructure(i.isGenericOutput(), i.getOutputStructure(), false, reusableConfigs))) - .collect(toList())) + .toList()) .orElse(emptyList()), ofNullable(model.getProcessors()) .map(s -> s @@ -236,7 +235,7 @@ rootPackage, ofNullable(model.getFacets()).orElse(emptyList()), .getStructure(), mapStructures(i.getInputStructures(), reusableConfigs), mapStructures(i.getOutputStructures(), reusableConfigs))) - .collect(toList())) + .toList()) .orElse(emptyList()), reusableConfigs.values(), model.getFamily(), model.getCategory(), model.getOpenapi()); } @@ -303,6 +302,6 @@ private ProjectRequest.StructureConfiguration toStructure(final boolean generic, e.getModel() != null ? toStructure(false, e.getModel(), false, reusableConfigs).getStructure() : null); - }).filter(Objects::nonNull).collect(toList())), generic); + }).filter(Objects::nonNull).toList()), generic); } } diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/RRDEndpoint.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/RRDEndpoint.java index d17cf1177b6ae..b910dfcf6a278 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/RRDEndpoint.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/front/RRDEndpoint.java @@ -15,7 +15,6 @@ */ package org.talend.sdk.component.starter.server.front; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE; @@ -111,7 +110,7 @@ private Collection mapPoints(final boolean skipNan, final FetchData data, .range(0, timestamps.length) .filter(idx -> !skipNan || !Double.isNaN(values[idx])) .mapToObj(idx -> new Point(timestamps[idx], Double.isNaN(values[idx]) ? 0 : values[idx])) - .collect(toList()); + .toList(); } private String getMetricName(final String it) { diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/ProjectGenerator.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/ProjectGenerator.java index a5c24b22d2300..41b33028498ae 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/ProjectGenerator.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/ProjectGenerator.java @@ -239,7 +239,7 @@ private Map> generateFacetFiles(final ProjectReques versionSnapshot) .peek(file -> files.put(file.getPath(), file.getContent())) .map(FacetGenerator.InMemoryFile::getPath) - .collect(toList()); + .toList(); })); } diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/codenvy/CodenvyFacet.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/codenvy/CodenvyFacet.java index e609c90ec791c..e6fcd4854c345 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/codenvy/CodenvyFacet.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/codenvy/CodenvyFacet.java @@ -57,10 +57,13 @@ public Category category() { @Override public String readme() { - return "Codenvy allows you to code on this project from any web browser if you host your sources in a Github repository.\n\n" - + "Click on this link and the project " + "will be opened on your account, ready to develop:\n\n" - + "image:http://beta.codenvy.com/factory/resources/codenvy-contribute.svg[" - + "Codenvy,link=http://codenvy.io/f?url=https://github.com/@organization@/@repository@,window=\"_blank\"]"; + return """ + Codenvy allows you to code on this project from any web browser if you host your sources in a GitHub repository. + + Click on this link and the project will be opened on your account, ready to develop: + + image:http://beta.codenvy.com/factory/resources/codenvy-contribute.svg[\ + Codenvy,link=http://codenvy.io/f?url=https://github.com/@organization@/@repository@,window="_blank"]"""; } @Override diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java index d51c551e324b7..8256f968832e2 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java @@ -18,7 +18,6 @@ import static java.util.Collections.emptyList; import static java.util.Locale.ENGLISH; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; import static org.talend.sdk.component.starter.server.service.Strings.capitalize; @@ -154,7 +153,7 @@ public Stream create(final String tuple, final Buil if (sources != null && !sources.isEmpty()) { files .addAll(createSourceFiles(tuple, iconResourcesDirectory, sources, mainJava, serviceName) - .collect(toList())); + .toList()); messageProperties.put(tuple + ".source", new TreeMap() { @@ -180,7 +179,7 @@ public Stream create(final String tuple, final Buil if (processors != null && !processors.isEmpty()) { files .addAll(createProcessorFiles(tuple, iconResourcesDirectory, processors, mainJava, serviceName) - .collect(toList())); + .toList()); messageProperties.put(tuple + ".output", new TreeMap() { { @@ -223,7 +222,7 @@ public Stream create(final String tuple, final Buil } }); } - files.addAll(generateProperties(build.getMainResourcesDirectory(), messageProperties).collect(toList())); + files.addAll(generateProperties(build.getMainResourcesDirectory(), messageProperties).toList()); return files.stream(); } @@ -306,7 +305,7 @@ private Stream createProcessorFiles(final String pa generateModel(null, processorPackage, mainJava, e.getValue().getStructure(), outputClassName, files); return new Connection(e.getKey(), javaName, outputClassName, isDefault(e.getKey())); - }).sorted(connectionComparator).collect(toList()) : emptyList(); + }).sorted(connectionComparator).toList() : emptyList(); final List inputNames = processor.getInputStructures() != null ? processor.getInputStructures().entrySet().stream().map(e -> { @@ -319,7 +318,7 @@ private Stream createProcessorFiles(final String pa generateModel(null, processorPackage, mainJava, e.getValue().getStructure(), inputClassName, files); return new Connection(e.getKey(), javaName, inputClassName, isDefault(e.getKey())); - }).sorted(connectionComparator).collect(toList()) + }).sorted(connectionComparator).toList() : emptyList(); generateConfiguration(null, processorPackage, mainJava, processor.getConfiguration(), @@ -440,7 +439,7 @@ private void generateModel(final String root, final String packageBase, final St generateModel((root == null ? "" : root) + capitalize(cn), pck, mainJava, e.getNestedType(), cn, files); }), false)) - .collect(toList())); + .toList()); } } }))); @@ -485,7 +484,7 @@ private void generateConfiguration(final String root, final String packageBase, } return new Property(name, capitalize(name), javaConfigType, isCredential(name, e.getType())); - }).collect(toList()) : emptyList(); + }).toList() : emptyList(); imports.sort(String::compareTo); put("imports", imports); diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/travis/TravisFacet.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/travis/TravisFacet.java index adcdae8c25db4..279d2475bfada 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/travis/TravisFacet.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/travis/TravisFacet.java @@ -34,11 +34,20 @@ public class TravisFacet implements FacetGenerator { public void register(@Observes final GeneratorRegistration init) { init.registerFacetType(this); - travisYml = new InMemoryFile(".travis.yml", "language: java\njdk:\n- oraclejdk8\nenv:\n" + " global:\n" - + " - MAVEN_OPTS=\"-Dmaven.artifact.threads=64 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn\"\n" - + "cache:\n" + " directories:\n - \"$HOME/.m2\"\n" - + "install: mvn clean install -DskipTests -Dinvoker.skip=true --batch-mode\n" - + "script: mvn clean install -e --batch-mode\n"); + travisYml = new InMemoryFile(".travis.yml", + """ + language: java + jdk: + - oraclejdk8 + env: + global: + - MAVEN_OPTS="-Dmaven.artifact.threads=64 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" + cache: + directories: + - "$HOME/.m2" + install: mvn clean install -DskipTests -Dinvoker.skip=true --batch-mode + script: mvn clean install -e --batch-mode + """); } @Override @@ -50,11 +59,13 @@ public Stream create(final String packageBase, final Build build, @Override public String readme() { - return "The .travis.yml file created at the root of the project is preconfigured to be able to build " - + "a common component. It caches the maven repository to speed up builds and decrease the maven " - + "log level to avoid to reach Travis CI output limit too fast for no reason.\n\n" - + "More information can be found at " - + "link:https://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI[Get Started with Travis CI]."; + return """ + The .travis.yml file created at the root of the project is preconfigured to be able to build \ + a common component. It caches the maven repository to speed up builds and decrease the maven \ + log level to avoid to reach Travis CI output limit too fast for no reason. + + More information can be found at \ + link:https://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI[Get Started with Travis CI]."""; } @Override diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/util/NameConventions.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/util/NameConventions.java index 1a2b385dc6cd0..199b0f6f9924f 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/util/NameConventions.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/util/NameConventions.java @@ -71,8 +71,7 @@ public String toJavaConfigType(final String root, final String pack, final Proje return "boolean"; case "double": return "double"; - case "int": - case "integer": + case "int", "integer": return "int"; case "uri": // todo: import return "java.net.URI"; diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/wadl/WADLFacet.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/wadl/WADLFacet.java index 9beffe2eca03c..7bf719e83b6dd 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/wadl/WADLFacet.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/wadl/WADLFacet.java @@ -53,18 +53,30 @@ public void register(@Observes final GeneratorRegistration init) { @Override public String readme() { - return "Generates the needed classes to call HTTP endpoints defined by a WADL located at `src/main/resources/wadl/client.xml`.\n" - + "The `wadl2java` CXF plugin generates interfaces representing the endpoints and you can create a client using CXF `JAXRSClientFactoryBean` " - + "class:\n\n" + "[source,java]\n" + "----\n" - + "import org.talend.sdk.component.api.service.Service;\n\n" - + "import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;\n\n" + "@Service\n" - + "public class MyService {\n" + " public MyGeneratedEndpointApi newClient(final String url) {\n" - + " return JAXRSClientFactoryBean.create(url, MyGeneratedEndpointApi.class);\n" + " }\n" + "}\n" - + "----\n\n" - + "Don't forget you need to build once the project to have the generated interfaces and be able to write your client from the " - + "using the sources created in `generated-sources` folder.\n\n" - + "TIP: you can customize the way the client is created from the interface - including the providers/serializers used,\n" - + "more details available at http://cxf.apache.org/docs/jax-rs-client-api.html."; + return """ + Generates the needed classes to call HTTP endpoints defined by a WADL located at `src/main/resources/wadl/client.xml`. + The `wadl2java` CXF plugin generates interfaces representing the endpoints and you can create a client using CXF `JAXRSClientFactoryBean` \ + class: + + [source,java] + ---- + import org.talend.sdk.component.api.service.Service; + + import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean; + + @Service + public class MyService { + public MyGeneratedEndpointApi newClient(final String url) { + return JAXRSClientFactoryBean.create(url, MyGeneratedEndpointApi.class); + } + } + ---- + + Don't forget you need to build once the project to have the generated interfaces and be able to write your client \ + using the sources created in `generated-sources` folder. + + TIP: you can customize the way the client is created from the interface - including the providers/serializers used, + more details available at http://cxf.apache.org/docs/jax-rs-client-api.html."""; } @Override diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/OpenAPIGenerator.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/OpenAPIGenerator.java index 85fef061d3bd0..55150ffe893f2 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/OpenAPIGenerator.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/OpenAPIGenerator.java @@ -99,8 +99,6 @@ public Collection generate(final String family, fin final ApiModel api = getApiModel(apiType, openapi); log.warn("[generate] {}", api.getInfo()); - final String defaultUrl = api.getDefaultUrl(); - final String pck = '/' + basePackage.replace('.', '/') + '/'; final String javaBase = build.getMainJavaDirectory() + pck; final String resourcesBase = build.getMainResourcesDirectory() + pck; @@ -141,8 +139,10 @@ private Collection toFiles(final String basePackage renderer.render("generator/openapi/connection.mustache", new ConnectionModel(basePackage)))); payloads .add(new FacetGenerator.InMemoryFile(resourcesBaseFolder + "connection/Messages.properties", - "APIConnection.baseUrl._displayName = Base URL\n" - + "APIConnection.baseUrl._placeholder = Base URL...\n")); + """ + APIConnection.baseUrl._displayName = Base URL + APIConnection.baseUrl._placeholder = Base URL... + """)); final Collection