diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/AsyncUploadResult.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/AsyncUploadResult.java index fa34dba4eb..16d3e9e0da 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/AsyncUploadResult.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/AsyncUploadResult.java @@ -3,8 +3,9 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; @@ -12,6 +13,7 @@ @Value.Immutable @JsonSerialize(as = ImmutableAsyncUploadResult.class) @JsonDeserialize(as = ImmutableAsyncUploadResult.class) +@JsonPropertyOrder({ "status", "bytes_processed", "error", "file", "mta_id", "schema_version", "client_actions" }) public interface AsyncUploadResult { enum JobStatus { diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileMetadata.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileMetadata.java index c3f4221bd9..38cb2ae794 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileMetadata.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileMetadata.java @@ -11,14 +11,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableFileMetadata.class) @JsonDeserialize(as = ImmutableFileMetadata.class) +@JsonPropertyOrder({ "id", "name", "size", "digest", "digestAlgorithm", "space", "namespace" }) public abstract class FileMetadata implements AuditableConfiguration { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileUrl.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileUrl.java index ca562ac85b..fec8c5d6f2 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileUrl.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/FileUrl.java @@ -1,14 +1,16 @@ package org.cloudfoundry.multiapps.controller.api.model; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; @Value.Immutable @JsonSerialize(as = ImmutableFileUrl.class) @JsonDeserialize(as = ImmutableFileUrl.class) +@JsonPropertyOrder({ "file_url", "credentials" }) public interface FileUrl { @Value.Parameter diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Info.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Info.java index 39ea13d05f..adf3fa3430 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Info.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Info.java @@ -4,14 +4,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableInfo.class) @JsonDeserialize(as = ImmutableInfo.class) +@JsonPropertyOrder({ "api_version" }) public interface Info { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Log.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Log.java index 4ab8727b3b..a5a1c362f0 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Log.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Log.java @@ -6,14 +6,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableLog.class) @JsonDeserialize(as = ImmutableLog.class) +@JsonPropertyOrder({ "id", "lastModified", "content", "size", "displayName", "description", "externalInfo" }) public interface Log { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Message.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Message.java index 895a7828f8..dcfb058312 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Message.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Message.java @@ -6,14 +6,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableMessage.class) @JsonDeserialize(as = ImmutableMessage.class) +@JsonPropertyOrder({ "id", "text", "timestamp", "type" }) public interface Message { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Metadata.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Metadata.java index 8a5468a921..c266be4db3 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Metadata.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Metadata.java @@ -4,14 +4,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableMetadata.class) @JsonDeserialize(as = ImmutableMetadata.class) +@JsonPropertyOrder({ "id", "version", "namespace" }) public interface Metadata { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Module.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Module.java index cbad31f998..6acf5c4dda 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Module.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Module.java @@ -7,14 +7,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableModule.class) @JsonDeserialize(as = ImmutableModule.class) +@JsonPropertyOrder({ "moduleName", "appName", "createdOn", "updatedOn", "providedDendencyNames", "services", "uris" }) public interface Module { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Mta.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Mta.java index 217921f50f..a86253d0a2 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Mta.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Mta.java @@ -7,14 +7,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableMta.class) @JsonDeserialize(as = ImmutableMta.class) +@JsonPropertyOrder({ "metadata", "modules", "services" }) public interface Mta { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Operation.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Operation.java index 9aa5af8ac6..5049266880 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Operation.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/Operation.java @@ -18,14 +18,16 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; @Value.Immutable @JsonSerialize(as = ImmutableOperation.class) @JsonDeserialize(as = ImmutableOperation.class) +@JsonPropertyOrder({ "processId", "processType", "startedAt", "endedAt", "spaceId", "mtaId", "namespace", "user", "acquiredLock", "state", "errorType", "messages", "parameters" }) public abstract class Operation implements AuditableConfiguration { public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ISO_ZONED_DATE_TIME; @@ -61,48 +63,61 @@ public static List getFinalStates() { } @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract String getProcessId(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) @JsonSerialize(using = ProcessTypeSerializer.class) @JsonDeserialize(using = ProcessTypeDeserializer.class) public abstract ProcessType getProcessType(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) @JsonSerialize(using = ZonedDateTimeSerializer.class) @JsonDeserialize(using = ZonedDateTimeDeserializer.class) public abstract ZonedDateTime getStartedAt(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) @JsonSerialize(using = ZonedDateTimeSerializer.class) @JsonDeserialize(using = ZonedDateTimeDeserializer.class) public abstract ZonedDateTime getEndedAt(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract String getSpaceId(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract String getMtaId(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract String getNamespace(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract String getUser(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) @JsonProperty("acquiredLock") public abstract Boolean hasAcquiredLock(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract State getState(); @Nullable + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract ErrorType getErrorType(); + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract List getMessages(); @AllowNulls + @ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY) public abstract Map getParameters(); @Override diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/OperationMetadata.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/OperationMetadata.java index e608716908..163f22cc80 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/OperationMetadata.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/OperationMetadata.java @@ -6,8 +6,8 @@ import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableOperationMetadata.class) diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ParameterMetadata.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ParameterMetadata.java index f25a683cdb..ea586393e4 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ParameterMetadata.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ParameterMetadata.java @@ -4,8 +4,8 @@ import org.cloudfoundry.multiapps.controller.api.model.parameters.ParameterConverter; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableParameterMetadata.class) diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessType.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessType.java index 89470aec0d..1bd6dce742 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessType.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessType.java @@ -4,8 +4,10 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; // An enum is NOT used here intentionally. This allows other projects to extend this class if they want to add another process type. +@JsonPropertyOrder({ "name" }) public class ProcessType { private static final String DEPLOY_NAME = "DEPLOY"; diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeDeserializer.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeDeserializer.java index e9508b477d..99e362f975 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeDeserializer.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeDeserializer.java @@ -1,10 +1,9 @@ package org.cloudfoundry.multiapps.controller.api.model; -import java.io.IOException; - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.deser.std.StdDeserializer; public class ProcessTypeDeserializer extends StdDeserializer { @@ -15,9 +14,8 @@ public ProcessTypeDeserializer() { } @Override - public ProcessType deserialize(JsonParser parser, DeserializationContext context) throws IOException { - String processType = parser.getCodec() - .readValue(parser, String.class); + public ProcessType deserialize(JsonParser parser, DeserializationContext context) throws JacksonException { + String processType = context.readValue(parser, String.class); return ProcessType.fromString(processType); } diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeSerializer.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeSerializer.java index 700866eee2..d4cc48551c 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeSerializer.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ProcessTypeSerializer.java @@ -1,10 +1,9 @@ package org.cloudfoundry.multiapps.controller.api.model; -import java.io.IOException; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ser.std.StdSerializer; public class ProcessTypeSerializer extends StdSerializer { @@ -15,7 +14,7 @@ public ProcessTypeSerializer() { } @Override - public void serialize(ProcessType value, JsonGenerator generator, SerializerProvider provider) throws IOException { + public void serialize(ProcessType value, JsonGenerator generator, SerializationContext context) throws JacksonException { if (value != null) { generator.writeString(value.getName()); } else { diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/UserCredentials.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/UserCredentials.java index 5c3c6a8d9e..5ca5b0e73c 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/UserCredentials.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/UserCredentials.java @@ -4,12 +4,14 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableUserCredentials.class) @JsonDeserialize(as = ImmutableUserCredentials.class) +@JsonPropertyOrder({ "username", "password" }) public interface UserCredentials { @Nullable diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeDeserializer.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeDeserializer.java index 15736a8124..5501e9dd42 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeDeserializer.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeDeserializer.java @@ -1,11 +1,11 @@ package org.cloudfoundry.multiapps.controller.api.model; -import java.io.IOException; import java.time.ZonedDateTime; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.deser.std.StdDeserializer; public class ZonedDateTimeDeserializer extends StdDeserializer { @@ -16,9 +16,8 @@ public ZonedDateTimeDeserializer() { } @Override - public ZonedDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException { - String zonedDateTime = parser.getCodec() - .readValue(parser, String.class); + public ZonedDateTime deserialize(JsonParser parser, DeserializationContext context) throws JacksonException { + String zonedDateTime = context.readValue(parser, String.class); return ZonedDateTime.parse(zonedDateTime, Operation.DATE_TIME_FORMATTER); } diff --git a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeSerializer.java b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeSerializer.java index 423fe0808a..f76a3f219e 100644 --- a/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeSerializer.java +++ b/multiapps-controller-api/src/main/java/org/cloudfoundry/multiapps/controller/api/model/ZonedDateTimeSerializer.java @@ -1,11 +1,11 @@ package org.cloudfoundry.multiapps.controller.api.model; -import java.io.IOException; import java.time.ZonedDateTime; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ser.std.StdSerializer; public class ZonedDateTimeSerializer extends StdSerializer { @@ -16,7 +16,7 @@ public ZonedDateTimeSerializer() { } @Override - public void serialize(ZonedDateTime value, JsonGenerator generator, SerializerProvider provider) throws IOException { + public void serialize(ZonedDateTime value, JsonGenerator generator, SerializationContext context) throws JacksonException { if (value != null) { generator.writeString(Operation.DATE_TIME_FORMATTER.format(value)); } else { diff --git a/multiapps-controller-client/src/main/java/module-info.java b/multiapps-controller-client/src/main/java/module-info.java index 4201bc0a0b..58e045b50c 100644 --- a/multiapps-controller-client/src/main/java/module-info.java +++ b/multiapps-controller-client/src/main/java/module-info.java @@ -16,7 +16,7 @@ requires spring.security.oauth2.core; requires transitive spring.web; - requires com.fasterxml.jackson.databind; + requires tools.jackson.databind; requires org.apache.commons.collections4; requires org.apache.commons.io; requires org.apache.commons.logging; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogEntity.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogEntity.java index 69301aeda1..90f86cf1c9 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogEntity.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogEntity.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.facade.adapters; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonDeserialize; import org.immutables.value.Value; import java.util.Map; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogsResponse.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogsResponse.java index 0617ded5f3..ca47055364 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogsResponse.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/adapters/ApplicationLogsResponse.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRootName; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonDeserialize; import org.immutables.value.Value; import java.util.List; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/BitsData.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/BitsData.java index e8b2a5d548..e34b3bec7b 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/BitsData.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/BitsData.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.facade.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudApplication.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudApplication.java index f3ed3eb59b..cc6f64498f 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudApplication.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudApplication.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudAsyncJob.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudAsyncJob.java index 394a40c3b7..f1ea00849e 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudAsyncJob.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudAsyncJob.java @@ -3,8 +3,8 @@ import org.cloudfoundry.client.v3.jobs.JobState; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudBuild.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudBuild.java index 6992277f62..1242b414e1 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudBuild.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudBuild.java @@ -4,8 +4,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableCloudBuild.ImmutableCreatedBy; import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableCloudBuild.ImmutablePackageInfo; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudDomain.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudDomain.java index 93ecbab450..9943f6d3a2 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudDomain.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudDomain.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableCloudDomain.class) diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudEvent.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudEvent.java index 3afabb6db0..f7c4a13ca5 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudEvent.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudEvent.java @@ -5,8 +5,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableCloudEvent.ImmutableParticipant; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudJob.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudJob.java index 431c2350ee..0f1d19ebb0 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudJob.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudJob.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudMetadata.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudMetadata.java index 8565216bbf..0ca695ff20 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudMetadata.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudMetadata.java @@ -5,8 +5,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudOrganization.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudOrganization.java index 2e5231e7e2..0ded9f1e65 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudOrganization.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudOrganization.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableCloudOrganization.class) diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudPackage.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudPackage.java index fe9ddd124d..402d0476bd 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudPackage.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudPackage.java @@ -9,8 +9,8 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Messages; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudProcess.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudProcess.java index ef141ae3fe..e054c64b17 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudProcess.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudProcess.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.facade.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudRoute.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudRoute.java index c769706512..2b54b5de40 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudRoute.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudRoute.java @@ -5,8 +5,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBinding.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBinding.java index bceb94223b..6fc2b5137c 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBinding.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBinding.java @@ -5,8 +5,8 @@ import org.cloudfoundry.Nullable; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableCloudServiceBinding.class) diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBroker.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBroker.java index bfc6170166..6fb3dcccc4 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBroker.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceBroker.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceInstance.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceInstance.java index 78db202828..afa7ab0e04 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceInstance.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceInstance.java @@ -7,8 +7,8 @@ import org.cloudfoundry.client.v3.serviceinstances.ServiceInstanceType; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceKey.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceKey.java index a77cad1967..81a1a5190c 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceKey.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceKey.java @@ -5,8 +5,8 @@ import org.cloudfoundry.AllowNulls; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceOffering.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceOffering.java index a7a29cec57..f8567ce770 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceOffering.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServiceOffering.java @@ -5,8 +5,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServicePlan.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServicePlan.java index 02dddfb231..0f7bd5dc9e 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServicePlan.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudServicePlan.java @@ -4,8 +4,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudSpace.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudSpace.java index 7af5890352..cbb9eb9966 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudSpace.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudSpace.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudStack.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudStack.java index 269dc5b6df..35d34969c7 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudStack.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudStack.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudTask.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudTask.java index f37f9d8f99..1884d8de5f 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudTask.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/CloudTask.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.facade.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableCloudTask.ImmutableLimits; import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableCloudTask.ImmutableResult; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerCredentials.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerCredentials.java index 00530d05d3..0b9b2216ba 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerCredentials.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerCredentials.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableDockerCredentials.class) diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerData.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerData.java index d250baa17b..254f505a9b 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerData.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerData.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.facade.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerInfo.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerInfo.java index 84491ce5ff..6913d55b5f 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerInfo.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DockerInfo.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DropletInfo.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DropletInfo.java index 22376f1a69..d5f3537be6 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DropletInfo.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/DropletInfo.java @@ -4,8 +4,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ErrorDetails.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ErrorDetails.java index de2672a9e8..5be7165423 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ErrorDetails.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ErrorDetails.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstanceInfo.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstanceInfo.java index bb5c93580b..15f3d0e5d1 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstanceInfo.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstanceInfo.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.facade.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstancesInfo.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstancesInfo.java index e569e52821..e732258979 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstancesInfo.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/InstancesInfo.java @@ -5,8 +5,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableInstancesInfo.class) diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Lifecycle.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Lifecycle.java index f448f2c668..9a7f3ae9c5 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Lifecycle.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Lifecycle.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.facade.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.cloudfoundry.AllowNulls; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/RouteDestination.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/RouteDestination.java index b8b23d5093..be600100d0 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/RouteDestination.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/RouteDestination.java @@ -4,8 +4,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/SecurityGroupRule.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/SecurityGroupRule.java index 38047bfb58..7c2beb00cf 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/SecurityGroupRule.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/SecurityGroupRule.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ServiceCredentialBindingOperation.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ServiceCredentialBindingOperation.java index 4f202834cc..9ec50e6ef4 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ServiceCredentialBindingOperation.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/ServiceCredentialBindingOperation.java @@ -8,8 +8,8 @@ import org.cloudfoundry.client.v3.LastOperation; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java index 7171e76a5e..0f2c1e1f5b 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java @@ -3,8 +3,8 @@ import java.util.List; import java.util.Map; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.SkipNulls; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Upload.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Upload.java index bcd8f3afc9..0d367ad543 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Upload.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Upload.java @@ -2,8 +2,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/dto/ApplicationToCreateDto.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/dto/ApplicationToCreateDto.java index e23244f2f4..c9cea6e9a7 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/dto/ApplicationToCreateDto.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/dto/ApplicationToCreateDto.java @@ -6,8 +6,8 @@ import org.cloudfoundry.client.v3.Metadata; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudRoute; import org.cloudfoundry.multiapps.controller.client.facade.domain.Staging; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/oauth2/Oauth2AccessTokenResponse.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/oauth2/Oauth2AccessTokenResponse.java index c38781e8cd..ec89aa9fe1 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/oauth2/Oauth2AccessTokenResponse.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/oauth2/Oauth2AccessTokenResponse.java @@ -3,8 +3,8 @@ import org.immutables.value.Value; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableOauth2AccessTokenResponse.class) diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandler.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandler.java index 8b439225f5..98b7cd54b1 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandler.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandler.java @@ -1,18 +1,22 @@ package org.cloudfoundry.multiapps.controller.client.facade.rest; import java.io.IOException; +import java.net.URI; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import com.fasterxml.jackson.databind.ObjectMapper; import org.cloudfoundry.multiapps.controller.client.facade.CloudOperationException; import org.cloudfoundry.multiapps.controller.client.facade.util.CloudUtil; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.client.ClientHttpResponse; import org.springframework.web.client.DefaultResponseErrorHandler; import org.springframework.web.client.RestClientException; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.json.JsonMapper; public class CloudControllerResponseErrorHandler extends DefaultResponseErrorHandler { @@ -22,14 +26,15 @@ private static CloudOperationException getException(ClientHttpResponse response) String statusText = response.getStatusText(); Long retryAfterSeconds = extractRetryAfterSeconds(response, statusCode); - ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally + ObjectMapper mapper = JsonMapper.builder() + .build(); // can reuse, share globally if (response.getBody() != null) { try { @SuppressWarnings("unchecked") Map responseBody = mapper.readValue(response.getBody(), Map.class); String description = getTrimmedDescription(responseBody); return new CloudOperationException(statusCode, statusText, description, null, retryAfterSeconds); - } catch (IOException e) { + } catch (JacksonException e) { // Fall through. Handled below. } } @@ -80,7 +85,7 @@ private static String concatenateErrorMessages(List> errors) } @Override - public void handleError(ClientHttpResponse response) throws IOException { + public void handleError(URI url, HttpMethod method, ClientHttpResponse response) throws IOException { HttpStatus statusCode = HttpStatus.valueOf(response.getStatusCode() .value()); switch (statusCode.series()) { diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/util/JsonUtil.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/util/JsonUtil.java index 593d6b9375..11bc70114d 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/util/JsonUtil.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/util/JsonUtil.java @@ -1,6 +1,5 @@ package org.cloudfoundry.multiapps.controller.client.facade.util; -import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.ArrayList; @@ -12,11 +11,11 @@ import org.apache.commons.logging.LogFactory; import org.springframework.http.MediaType; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; +import tools.jackson.core.JacksonException; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectWriter; +import tools.jackson.databind.json.JsonMapper; /** * Some JSON helper utilities used by the Cloud Foundry Java client. @@ -30,7 +29,8 @@ public class JsonUtil { protected static final Log logger = LogFactory.getLog(JsonUtil.class); - private static final ObjectMapper mapper = new ObjectMapper(); + private static final ObjectMapper mapper = JsonMapper.builder() + .build(); public static List convertJsonToList(String json) { List retList = new ArrayList<>(); @@ -38,7 +38,7 @@ public static List convertJsonToList(String json) { try { retList = mapper.readValue(json, new TypeReference>() { }); - } catch (IOException e) { + } catch (JacksonException e) { logger.warn("Error while reading Java List from JSON response: " + json, e); } } @@ -51,7 +51,7 @@ public static Map convertJsonToMap(String json) { try { retMap = mapper.readValue(json, new TypeReference>() { }); - } catch (IOException e) { + } catch (JacksonException e) { logger.warn("Error while reading Java Map from JSON response: " + json, e); } } @@ -71,18 +71,11 @@ public static String convertToJson(Object value, boolean shouldPrettyPrint) { } private static String convertToJsonStringUsingWriter(ObjectWriter writer, Object value) { - if (value == null || writer.canSerialize(value.getClass())) { - try { - return writer.writeValueAsString(value); - } catch (IOException e) { - logger.warn("Error while serializing " + value + " to JSON", e); - return null; - } - - } else { - throw new IllegalArgumentException("Value of type " + value.getClass() - .getName() - + " can not be serialized to JSON."); + try { + return writer.writeValueAsString(value); + } catch (JacksonException e) { + logger.warn("Error while serializing " + value + " to JSON", e); + return null; } } @@ -90,12 +83,9 @@ private static String convertToJsonStringUsingWriter(ObjectWriter writer, Object public static List> convertToJsonList(InputStream jsonInputStream) { try { return mapper.readValue(jsonInputStream, List.class); - } catch (JsonParseException | JsonMappingException e) { + } catch (JacksonException e) { logger.error("Unable to parse JSON from InputStream", e); throw new IllegalArgumentException("Unable to parse JSON from InputStream", e); - } catch (IOException e) { - logger.error("Unable to process InputStream", e); - throw new IllegalArgumentException("Unable to parse JSON from InputStream", e); } } diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/BindingDetails.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/BindingDetails.java index 81d04f6b01..9ec0ac9070 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/BindingDetails.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/BindingDetails.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.lib.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudApplicationExtended.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudApplicationExtended.java index bb7a2fa8e2..2c031201c1 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudApplicationExtended.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudApplicationExtended.java @@ -4,8 +4,8 @@ import java.util.Map; import java.util.Set; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.AllowNulls; import org.cloudfoundry.multiapps.common.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudApplication; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudRouteExtended.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudRouteExtended.java index a6ab632f5a..588132be2c 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudRouteExtended.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudRouteExtended.java @@ -2,8 +2,8 @@ import java.util.List; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudRoute; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudServiceInstanceExtended.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudServiceInstanceExtended.java index 3e0c375695..edc4826a91 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudServiceInstanceExtended.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/lib/domain/CloudServiceInstanceExtended.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.client.lib.domain; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudServiceInstance; import org.immutables.value.Value; diff --git a/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/FailConfiguration.java b/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/FailConfiguration.java index fd7e2cdf75..6de8a10159 100644 --- a/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/FailConfiguration.java +++ b/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/FailConfiguration.java @@ -5,8 +5,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableFailConfiguration.class) diff --git a/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/ServiceBrokerConfiguration.java b/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/ServiceBrokerConfiguration.java index 0b7877eeef..4c4fe6ede3 100644 --- a/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/ServiceBrokerConfiguration.java +++ b/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/broker/ServiceBrokerConfiguration.java @@ -5,8 +5,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; @Value.Immutable diff --git a/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandlerTest.java b/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandlerTest.java index ddf3219cf4..0dcb049525 100644 --- a/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandlerTest.java +++ b/multiapps-controller-client/src/test/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerResponseErrorHandlerTest.java @@ -60,7 +60,7 @@ void testWith429AndRetryAfterHeader() { HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.RETRY_AFTER, "60"); ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.TOO_MANY_REQUESTS, toInputStream("{}"), headers); - CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); + CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); assertEquals(HttpStatus.TOO_MANY_REQUESTS, e.getStatusCode()); assertEquals(60L, e.getRetryAfterSeconds()); } @@ -68,7 +68,7 @@ void testWith429AndRetryAfterHeader() { @Test void testWith429WithoutRetryAfterHeader() { ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.TOO_MANY_REQUESTS, toInputStream("{}")); - CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); + CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); assertEquals(HttpStatus.TOO_MANY_REQUESTS, e.getStatusCode()); assertNull(e.getRetryAfterSeconds()); } @@ -78,7 +78,7 @@ void testWith429AndZeroRetryAfterHeaderIsAccepted() { HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.RETRY_AFTER, "0"); ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.TOO_MANY_REQUESTS, toInputStream("{}"), headers); - CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); + CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); assertEquals(0L, e.getRetryAfterSeconds()); } @@ -87,7 +87,7 @@ void testWith429AndNegativeRetryAfterHeaderIsIgnored() { HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.RETRY_AFTER, "-1"); ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.TOO_MANY_REQUESTS, toInputStream("{}"), headers); - CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); + CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); assertNull(e.getRetryAfterSeconds()); } @@ -96,7 +96,7 @@ void testWith429AndNonNumericRetryAfterHeader() { HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.RETRY_AFTER, "not-a-number"); ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.TOO_MANY_REQUESTS, toInputStream("{}"), headers); - CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); + CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); assertEquals(HttpStatus.TOO_MANY_REQUESTS, e.getStatusCode()); assertNull(e.getRetryAfterSeconds()); } @@ -104,7 +104,7 @@ void testWith429AndNonNumericRetryAfterHeader() { @Test void testNon429DoesNotSetRetryAfterSeconds() { ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.INTERNAL_SERVER_ERROR, toInputStream("{}")); - CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); + CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, e.getStatusCode()); assertNull(e.getRetryAfterSeconds()); } @@ -115,15 +115,18 @@ void testWith429RetainsRetryAfterAndDescriptionWhenBodyPresent() { headers.add(HttpHeaders.RETRY_AFTER, "30"); ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.TOO_MANY_REQUESTS, toInputStream("{\"description\":\"rate limit exceeded\"}"), headers); - CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); + CloudOperationException e = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); assertEquals(HttpStatus.TOO_MANY_REQUESTS, e.getStatusCode()); assertEquals(30L, e.getRetryAfterSeconds()); assertEquals("rate limit exceeded", e.getDescription()); } private void testWithError(ClientHttpResponseMock response, CloudOperationException expectedException) { - CloudOperationException exception = assertThrows(CloudOperationException.class, () -> handler.handleError(response)); - assertEquals(expectedException.getStatusCode(), exception.getStatusCode()); + CloudOperationException exception = assertThrows(CloudOperationException.class, () -> handler.handleError(null, null, response)); + assertEquals(expectedException.getStatusCode() + .value(), + exception.getStatusCode() + .value()); assertEquals(expectedException.getStatusText(), exception.getStatusText()); assertEquals(expectedException.getDescription(), exception.getDescription()); } @@ -132,7 +135,7 @@ private void testWithError(ClientHttpResponseMock response, CloudOperationExcept void testWithNonClientOrServerError() { HttpStatus statusCode = HttpStatus.PERMANENT_REDIRECT; ClientHttpResponseMock response = new ClientHttpResponseMock(HttpStatus.PERMANENT_REDIRECT, null); - RestClientException exception = assertThrows(RestClientException.class, () -> handler.handleError(response)); + RestClientException exception = assertThrows(RestClientException.class, () -> handler.handleError(null, null, response)); assertEquals("Unknown status code [" + statusCode + "]", exception.getMessage()); } @@ -171,11 +174,6 @@ public HttpStatus getStatusCode() { return statusCode; } - @Override - public int getRawStatusCode() { - return statusCode.value(); - } - @Override public String getStatusText() { return statusCode.getReasonPhrase(); diff --git a/multiapps-controller-core/src/main/java/module-info.java b/multiapps-controller-core/src/main/java/module-info.java index b00243ee13..1e7397eb7d 100644 --- a/multiapps-controller-core/src/main/java/module-info.java +++ b/multiapps-controller-core/src/main/java/module-info.java @@ -48,8 +48,8 @@ requires org.cloudfoundry.client; requires com.fasterxml.jackson.annotation; - requires com.fasterxml.jackson.core; - requires com.fasterxml.jackson.databind; + requires tools.jackson.core; + requires tools.jackson.databind; requires com.google.common; requires java.sql; requires jakarta.xml.bind; diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/application/health/model/ApplicationHealthResult.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/application/health/model/ApplicationHealthResult.java index 84100d2f0e..b5b1e9c1fb 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/application/health/model/ApplicationHealthResult.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/application/health/model/ApplicationHealthResult.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.core.application.health.model; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.immutables.value.Value; @Value.Immutable diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/CustomControllerClient.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/CustomControllerClient.java index 3f6e307c11..bacef68f93 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/CustomControllerClient.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/CustomControllerClient.java @@ -12,6 +12,7 @@ import org.cloudfoundry.multiapps.controller.core.cf.CloudControllerHeaderConfiguration; import org.cloudfoundry.multiapps.controller.core.util.ApplicationConfiguration; import org.springframework.util.LinkedMultiValueMap; +import org.springframework.http.HttpHeaders; import org.springframework.util.MultiValueMap; import org.springframework.web.reactive.function.client.WebClient; @@ -47,7 +48,7 @@ protected List getListOfResources(ResourcesResponseMapper responseMapp private PaginationV3 addPageOfResources(String uri, ResourcesResponseMapper responseMapper) { String responseString = webClient.get() .uri(uri) - .headers(httpHeaders -> httpHeaders.addAll(generateRequestHeaders())) + .headers(httpHeaders -> httpHeaders.addAll(new HttpHeaders(generateRequestHeaders()))) .retrieve() .bodyToMono(String.class) .block(); diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/ResponseUrisV3.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/ResponseUrisV3.java index c80811890f..7bb28b9984 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/ResponseUrisV3.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/clients/ResponseUrisV3.java @@ -30,7 +30,7 @@ public UriComponents getUriComponents(String uriKey) { private UriComponents retrieveUriFromUrl(String url) { String decodedUrl = URLDecoder.decode(url, StandardCharsets.UTF_8); - return UriComponentsBuilder.fromHttpUrl(decodedUrl) + return UriComponentsBuilder.fromUriString(decodedUrl) .host(null) .scheme(null) .build(); diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/MtaMetadata.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/MtaMetadata.java index 28c7897d24..220dd4bb02 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/MtaMetadata.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/MtaMetadata.java @@ -6,8 +6,8 @@ import org.cloudfoundry.multiapps.mta.model.Version; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonDeserialize(builder = ImmutableMtaMetadata.Builder.class) diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/processor/BaseMtaMetadataParser.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/processor/BaseMtaMetadataParser.java index 0d48225484..8fd07623fd 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/processor/BaseMtaMetadataParser.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/processor/BaseMtaMetadataParser.java @@ -13,7 +13,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; public class BaseMtaMetadataParser { diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthCheckOperation.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthCheckOperation.java index b05113a1bf..a8db1e15e3 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthCheckOperation.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthCheckOperation.java @@ -12,8 +12,8 @@ import org.cloudfoundry.multiapps.controller.api.model.ZonedDateTimeSerializer; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableHealthCheckOperation.class) diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMta.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMta.java index c9b1306e0c..2348cfcc86 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMta.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMta.java @@ -5,8 +5,8 @@ import org.cloudfoundry.multiapps.controller.core.cf.metadata.MtaMetadata; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableDeployedMta.class) diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaApplication.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaApplication.java index 786aafff15..d04afe076b 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaApplication.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaApplication.java @@ -2,8 +2,8 @@ import java.util.List; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudApplication; import org.immutables.value.Value; diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaService.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaService.java index 94817644fd..5861728431 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaService.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaService.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.core.model; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudServiceInstance; import org.immutables.value.Value; diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaServiceKey.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaServiceKey.java index 1cfc63078c..91b63bcfbe 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaServiceKey.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DeployedMtaServiceKey.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.core.model; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudServiceKey; import org.immutables.value.Value; diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DynamicResolvableParameter.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DynamicResolvableParameter.java index 09899329ca..0dd8eca555 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DynamicResolvableParameter.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/DynamicResolvableParameter.java @@ -3,8 +3,8 @@ import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableDynamicResolvableParameter.class) diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/ExternalLoggingServiceConfiguration.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/ExternalLoggingServiceConfiguration.java index 7da95fb789..edcd79ab7b 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/ExternalLoggingServiceConfiguration.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/ExternalLoggingServiceConfiguration.java @@ -2,8 +2,8 @@ import java.util.List; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/IncrementalAppInstanceUpdateConfiguration.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/IncrementalAppInstanceUpdateConfiguration.java index c1d078497a..9efebf0ab2 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/IncrementalAppInstanceUpdateConfiguration.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/IncrementalAppInstanceUpdateConfiguration.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.core.model; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.controller.client.facade.Nullable; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudApplication; import org.immutables.value.Value; diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/MtaDescriptorPropertiesResolverContext.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/MtaDescriptorPropertiesResolverContext.java index 660b48944d..5556cebabb 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/MtaDescriptorPropertiesResolverContext.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/model/MtaDescriptorPropertiesResolverContext.java @@ -7,8 +7,8 @@ import org.cloudfoundry.multiapps.controller.persistence.services.ConfigurationEntryService; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableMtaDescriptorPropertiesResolverContext.class) diff --git a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/detect/DeployedMtaDetectorTest.java b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/detect/DeployedMtaDetectorTest.java index e61ff34873..e97dc89f10 100644 --- a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/detect/DeployedMtaDetectorTest.java +++ b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/detect/DeployedMtaDetectorTest.java @@ -8,7 +8,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.multiapps.common.test.TestUtil; import org.cloudfoundry.multiapps.common.test.Tester; diff --git a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/entity/processor/MtaMetadataEntityAggregatorTest.java b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/entity/processor/MtaMetadataEntityAggregatorTest.java index 9ee7e714b9..4f3b91a5a0 100644 --- a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/entity/processor/MtaMetadataEntityAggregatorTest.java +++ b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/cf/metadata/entity/processor/MtaMetadataEntityAggregatorTest.java @@ -4,7 +4,7 @@ import java.util.List; import java.util.stream.Stream; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.cloudfoundry.multiapps.common.test.TestUtil; import org.cloudfoundry.multiapps.common.test.Tester; import org.cloudfoundry.multiapps.common.test.Tester.Expectation; diff --git a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthTest.java b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthTest.java index e1a6d8b6ca..01aac200ad 100644 --- a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthTest.java +++ b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/health/model/HealthTest.java @@ -12,7 +12,7 @@ import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; class HealthTest { diff --git a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/common/AbstractConfigurationReferencesResolverTest.java b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/common/AbstractConfigurationReferencesResolverTest.java index 5c95d4f5c3..39afd627d6 100644 --- a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/common/AbstractConfigurationReferencesResolverTest.java +++ b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/common/AbstractConfigurationReferencesResolverTest.java @@ -31,7 +31,7 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; public abstract class AbstractConfigurationReferencesResolverTest { protected static class ServiceMockConfiguration { diff --git a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/v2/ConfigurationFilterParserTest.java b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/v2/ConfigurationFilterParserTest.java index cadaf5ea42..7d3446472f 100644 --- a/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/v2/ConfigurationFilterParserTest.java +++ b/multiapps-controller-core/src/test/java/org/cloudfoundry/multiapps/controller/core/helpers/v2/ConfigurationFilterParserTest.java @@ -21,7 +21,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; class ConfigurationFilterParserTest { diff --git a/multiapps-controller-persistence/src/main/java/module-info.java b/multiapps-controller-persistence/src/main/java/module-info.java index 5924369930..4614076e8a 100644 --- a/multiapps-controller-persistence/src/main/java/module-info.java +++ b/multiapps-controller-persistence/src/main/java/module-info.java @@ -34,7 +34,7 @@ requires com.azure.storage.blob; requires com.azure.core.http.jdk.httpclient; requires com.fasterxml.jackson.annotation; - requires com.fasterxml.jackson.databind; + requires tools.jackson.databind; requires com.google.auth; requires com.google.auth.oauth2; requires com.google.auto.service; diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/dto/ApplicationShutdown.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/dto/ApplicationShutdown.java index 93e0a5dc33..351beb0f3d 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/dto/ApplicationShutdown.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/dto/ApplicationShutdown.java @@ -2,8 +2,8 @@ import java.time.LocalDateTime; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.immutables.value.Value; @Value.Immutable diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/AccessToken.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/AccessToken.java index 9196885d57..19a0edb8bd 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/AccessToken.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/AccessToken.java @@ -2,8 +2,8 @@ import java.time.LocalDateTime; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationEntry.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationEntry.java index 5413e43e1f..e581b6dd42 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationEntry.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationEntry.java @@ -10,8 +10,8 @@ import org.cloudfoundry.multiapps.mta.model.ConfigurationIdentifier; import org.cloudfoundry.multiapps.mta.model.Version; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; public class ConfigurationEntry implements AuditableConfiguration { diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ExternalOperationLogEntry.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ExternalOperationLogEntry.java index f729c5fe63..ed3a94f117 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ExternalOperationLogEntry.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ExternalOperationLogEntry.java @@ -1,8 +1,8 @@ package org.cloudfoundry.multiapps.controller.persistence.model; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/FileEntry.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/FileEntry.java index ce08e8cd9e..bca3251a32 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/FileEntry.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/FileEntry.java @@ -6,8 +6,8 @@ import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableFileEntry.class) diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/LoggingConfiguration.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/LoggingConfiguration.java index f873fc8d95..998fd55b2d 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/LoggingConfiguration.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/LoggingConfiguration.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.persistence.model; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/OperationLogEntry.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/OperationLogEntry.java index 711c6f6dd0..01edb82b42 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/OperationLogEntry.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/OperationLogEntry.java @@ -1,7 +1,7 @@ package org.cloudfoundry.multiapps.controller.persistence.model; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ProgressMessage.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ProgressMessage.java index 029d55b075..15f5671fb6 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ProgressMessage.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/ProgressMessage.java @@ -5,8 +5,8 @@ import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableProgressMessage.class) diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/SecretToken.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/SecretToken.java index 055d9112c0..d6904fea96 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/SecretToken.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/SecretToken.java @@ -2,8 +2,8 @@ import java.time.LocalDateTime; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.immutables.value.Value; @Value.Immutable diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializer.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializer.java index 47085dfbe7..96ca27c2ca 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializer.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializer.java @@ -1,12 +1,11 @@ package org.cloudfoundry.multiapps.controller.persistence.model.adapter; -import java.io.IOException; - import org.cloudfoundry.multiapps.mta.model.Version; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.deser.std.StdDeserializer; public class VersionJsonDeserializer extends StdDeserializer { @@ -17,9 +16,8 @@ public VersionJsonDeserializer() { } @Override - public Version deserialize(JsonParser parser, DeserializationContext context) throws IOException { - String value = parser.getCodec() - .readValue(parser, String.class); + public Version deserialize(JsonParser parser, DeserializationContext context) throws JacksonException { + String value = context.readValue(parser, String.class); return Version.parseVersion(value); } diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializer.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializer.java index 65d5efa1ed..8550d8a5b1 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializer.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializer.java @@ -1,12 +1,11 @@ package org.cloudfoundry.multiapps.controller.persistence.model.adapter; -import java.io.IOException; - import org.cloudfoundry.multiapps.mta.model.Version; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ser.std.StdSerializer; public class VersionJsonSerializer extends StdSerializer { @@ -17,7 +16,7 @@ public VersionJsonSerializer() { } @Override - public void serialize(Version value, JsonGenerator generator, SerializerProvider provider) throws IOException { + public void serialize(Version value, JsonGenerator generator, SerializationContext context) throws JacksonException { if (value != null) { generator.writeString(value.toString()); } else { diff --git a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/services/ConfigurationEntryService.java b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/services/ConfigurationEntryService.java index 02c6efb1cb..dad82f0fe9 100644 --- a/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/services/ConfigurationEntryService.java +++ b/multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/services/ConfigurationEntryService.java @@ -20,7 +20,7 @@ import org.cloudfoundry.multiapps.controller.persistence.query.impl.ConfigurationEntryQueryImpl; import org.cloudfoundry.multiapps.mta.model.Version; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; @Named public class ConfigurationEntryService extends PersistenceService { diff --git a/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationFilterTest.java b/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationFilterTest.java index 4d21808055..77b3e1fde7 100644 --- a/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationFilterTest.java +++ b/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/ConfigurationFilterTest.java @@ -12,7 +12,7 @@ import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; class ConfigurationFilterTest { diff --git a/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializerTest.java b/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializerTest.java index a58be12464..9af19e7188 100644 --- a/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializerTest.java +++ b/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonDeserializerTest.java @@ -1,7 +1,5 @@ package org.cloudfoundry.multiapps.controller.persistence.model.adapter; -import java.io.IOException; - import org.cloudfoundry.multiapps.common.ParsingException; import org.cloudfoundry.multiapps.mta.model.Version; import org.junit.jupiter.api.Assertions; @@ -11,17 +9,16 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.core.exc.StreamReadException; +import tools.jackson.databind.DeserializationContext; class VersionJsonDeserializerTest { @Mock private JsonParser parser; @Mock - private ObjectCodec codec; - @Mock private DeserializationContext context; private VersionJsonDeserializer deserializer; @@ -31,13 +28,11 @@ void setUp() throws Exception { MockitoAnnotations.openMocks(this) .close(); deserializer = new VersionJsonDeserializer(); - Mockito.when(parser.getCodec()) - .thenReturn(codec); } @Test - void testDeserializeReadsStringAndParsesVersion() throws IOException { - Mockito.when(codec.readValue(parser, String.class)) + void testDeserializeReadsStringAndParsesVersion() { + Mockito.when(context.readValue(parser, String.class)) .thenReturn("1.2.3"); Version result = deserializer.deserialize(parser, context); @@ -46,36 +41,36 @@ void testDeserializeReadsStringAndParsesVersion() throws IOException { } @Test - void testDeserializeThrowsForNullValue() throws IOException { - Mockito.when(codec.readValue(parser, String.class)) + void testDeserializeThrowsForNullValue() { + Mockito.when(context.readValue(parser, String.class)) .thenReturn(null); Assertions.assertThrows(ParsingException.class, () -> deserializer.deserialize(parser, context)); } @Test - void testDeserializeThrowsForEmptyValue() throws IOException { - Mockito.when(codec.readValue(parser, String.class)) + void testDeserializeThrowsForEmptyValue() { + Mockito.when(context.readValue(parser, String.class)) .thenReturn(""); Assertions.assertThrows(ParsingException.class, () -> deserializer.deserialize(parser, context)); } @Test - void testDeserializeThrowsForUnparseableValue() throws IOException { - Mockito.when(codec.readValue(parser, String.class)) + void testDeserializeThrowsForUnparseableValue() { + Mockito.when(context.readValue(parser, String.class)) .thenReturn("not-a-version"); Assertions.assertThrows(ParsingException.class, () -> deserializer.deserialize(parser, context)); } @Test - void testDeserializePropagatesIOExceptionFromCodec() throws IOException { - IOException failure = new IOException("read failed"); - Mockito.when(codec.readValue(parser, String.class)) + void testDeserializePropagatesExceptionFromContext() { + JacksonException failure = new StreamReadException("read failed"); + Mockito.when(context.readValue(parser, String.class)) .thenThrow(failure); - IOException thrown = Assertions.assertThrows(IOException.class, () -> deserializer.deserialize(parser, context)); + JacksonException thrown = Assertions.assertThrows(JacksonException.class, () -> deserializer.deserialize(parser, context)); Assertions.assertSame(failure, thrown); } } diff --git a/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializerTest.java b/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializerTest.java index a5ae3505b3..eba47121ef 100644 --- a/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializerTest.java +++ b/multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/model/adapter/VersionJsonSerializerTest.java @@ -1,7 +1,5 @@ package org.cloudfoundry.multiapps.controller.persistence.model.adapter; -import java.io.IOException; - import org.cloudfoundry.multiapps.mta.model.Version; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; @@ -10,15 +8,15 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; +import tools.jackson.core.JsonGenerator; +import tools.jackson.databind.SerializationContext; class VersionJsonSerializerTest { @Mock private JsonGenerator generator; @Mock - private SerializerProvider serializerProvider; + private SerializationContext serializationContext; private VersionJsonSerializer serializer; @@ -30,18 +28,18 @@ void setUp() throws Exception { } @Test - void testSerializeWritesStringForNonNullVersion() throws IOException { + void testSerializeWritesStringForNonNullVersion() { Version version = Version.parseVersion("1.2.3"); - serializer.serialize(version, generator, serializerProvider); + serializer.serialize(version, generator, serializationContext); Mockito.verify(generator) .writeString(version.toString()); } @Test - void testSerializeWritesNullForNullVersion() throws IOException { - serializer.serialize(null, generator, serializerProvider); + void testSerializeWritesNullForNullVersion() { + serializer.serialize(null, generator, serializationContext); Mockito.verify(generator) .writeNull(); diff --git a/multiapps-controller-process/src/main/java/module-info.java b/multiapps-controller-process/src/main/java/module-info.java index 6a67ce6fab..045404b5f4 100644 --- a/multiapps-controller-process/src/main/java/module-info.java +++ b/multiapps-controller-process/src/main/java/module-info.java @@ -24,8 +24,8 @@ requires transitive org.cloudfoundry.multiapps.controller.core; requires org.cloudfoundry.client; - requires com.fasterxml.jackson.core; - requires com.fasterxml.jackson.databind; + requires tools.jackson.core; + requires tools.jackson.databind; requires com.google.common; requires flowable.bpmn.model; requires flowable.engine.common; diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/context/ApplicationToUploadContext.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/context/ApplicationToUploadContext.java index 6584ad9d58..fd6769bf7e 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/context/ApplicationToUploadContext.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/context/ApplicationToUploadContext.java @@ -7,8 +7,8 @@ import org.cloudfoundry.multiapps.controller.process.util.StepLogger; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableApplicationToUploadContext.class) diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessDuration.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessDuration.java index a191960702..8948cd5e67 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessDuration.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessDuration.java @@ -3,8 +3,8 @@ import org.cloudfoundry.multiapps.controller.api.model.Operation; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableDynatraceProcessDuration.class) diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessEvent.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessEvent.java index 1de0c87b2e..9f7452be51 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessEvent.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DynatraceProcessEvent.java @@ -3,8 +3,8 @@ import org.cloudfoundry.multiapps.common.Nullable; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableDynatraceProcessEvent.class) diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DyntraceProcessEntity.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DyntraceProcessEntity.java index e4c61cf72d..9c867d0ed7 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DyntraceProcessEntity.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/dynatrace/DyntraceProcessEntity.java @@ -5,8 +5,8 @@ import org.cloudfoundry.multiapps.controller.api.model.ProcessTypeDeserializer; import org.cloudfoundry.multiapps.controller.api.model.ProcessTypeSerializer; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; public interface DyntraceProcessEntity { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializer.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializer.java index c4a438cb2f..703d93384b 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializer.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializer.java @@ -2,20 +2,20 @@ import java.text.MessageFormat; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; -import com.fasterxml.jackson.core.JacksonException; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.IntNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.fasterxml.jackson.databind.node.TextNode; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.DeserializationFeature; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.json.JsonMapper; +import tools.jackson.databind.node.ArrayNode; +import tools.jackson.databind.node.IntNode; +import tools.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.StringNode; import org.cloudfoundry.multiapps.common.SLException; import org.cloudfoundry.multiapps.controller.process.Constants; import org.cloudfoundry.multiapps.controller.process.Messages; @@ -26,7 +26,9 @@ public class SecretTokenSerializer implements Serializer { - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper().enable(DeserializationFeature.FAIL_ON_TRAILING_TOKENS); + private static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder() + .enable(DeserializationFeature.FAIL_ON_TRAILING_TOKENS) + .build(); private final Serializer serializer; @@ -227,7 +229,7 @@ private JsonNode processJsonValue(JsonNode currentNode, boolean censor, AtomicBo } private JsonNode processObjectNode(JsonNode currentNode, boolean censor, AtomicBoolean changed) { - ObjectNode objectNode = currentNode.deepCopy(); + ObjectNode objectNode = (ObjectNode) currentNode.deepCopy(); List fields = collectObjectNodeFields(objectNode); processObjectNodeFields(fields, objectNode, changed, censor); @@ -236,13 +238,7 @@ private JsonNode processObjectNode(JsonNode currentNode, boolean censor, AtomicB } private List collectObjectNodeFields(ObjectNode objectNode) { - List fields = new ArrayList<>(); - Iterator fieldsIterator = objectNode.fieldNames(); - - while (fieldsIterator.hasNext()) { - fields.add(fieldsIterator.next()); - } - return fields; + return new ArrayList<>(objectNode.propertyNames()); } private void processObjectNodeFields(List fields, ObjectNode objectNode, AtomicBoolean changed, boolean censor) { @@ -270,7 +266,7 @@ private void determineWhetherToEncodeOrDecode(JsonNode childNode, JsonNode proce } private JsonNode processArrayNode(JsonNode currentNode, boolean censor, AtomicBoolean changed) { - ArrayNode arrayNode = currentNode.deepCopy(); + ArrayNode arrayNode = (ArrayNode) currentNode.deepCopy(); for (int i = 0; i < arrayNode.size(); i++) { arrayNode.set(i, processJsonValue(arrayNode.get(i), censor, changed)); } @@ -354,14 +350,14 @@ private static boolean looksLikeStandardInteger(String numberString) { private static JsonNode forceToInteger(String numberString) { if (!looksLikeStandardInteger(numberString)) { - return TextNode.valueOf(numberString); + return StringNode.valueOf(numberString); } try { int parsedNumber = Integer.parseInt(numberString); return IntNode.valueOf(parsedNumber); } catch (NumberFormatException e) { - return TextNode.valueOf(numberString); + return StringNode.valueOf(numberString); } } diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/StepsUtil.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/StepsUtil.java index 8a1036276a..a0e19dc63a 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/StepsUtil.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/StepsUtil.java @@ -12,7 +12,7 @@ import java.util.UUID; import java.util.stream.Collectors; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.apache.commons.lang3.StringUtils; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.multiapps.common.SLException; diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/UploadAppStep.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/UploadAppStep.java index 3874382dbb..93d976c937 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/UploadAppStep.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/UploadAppStep.java @@ -8,7 +8,7 @@ import java.util.UUID; import java.util.concurrent.ExecutorService; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import jakarta.inject.Inject; import jakarta.inject.Named; import org.cloudfoundry.multiapps.common.util.JsonUtil; diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ArchiveEntryWithStreamPositions.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ArchiveEntryWithStreamPositions.java index bb2d544ba0..1864e56aaf 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ArchiveEntryWithStreamPositions.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ArchiveEntryWithStreamPositions.java @@ -6,8 +6,8 @@ import org.cloudfoundry.multiapps.controller.process.Messages; import org.immutables.value.Value; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; @Value.Immutable @JsonSerialize(as = ImmutableArchiveEntryWithStreamPositions.class) diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchToProcessSerializationAdapter.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchToProcessSerializationAdapter.java index 0e928640d1..4e67a945a2 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchToProcessSerializationAdapter.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchToProcessSerializationAdapter.java @@ -15,7 +15,7 @@ import org.flowable.common.engine.api.variable.VariableContainer; import org.flowable.variable.api.delegate.VariableScope; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; /** * diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchesToProcessSerializationAdapter.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchesToProcessSerializationAdapter.java index e5d3eb387b..6930d443bf 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchesToProcessSerializationAdapter.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/BatchesToProcessSerializationAdapter.java @@ -15,7 +15,7 @@ import org.flowable.common.engine.api.variable.VariableContainer; import org.flowable.variable.api.delegate.VariableScope; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; /** * diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariable.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariable.java index 96ad2b0605..b5a63da153 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariable.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariable.java @@ -7,7 +7,7 @@ import org.flowable.common.engine.api.variable.VariableContainer; import org.immutables.value.Value; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; @Value.Immutable public abstract class JsonBinaryListVariable implements ListVariable> { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariableAllowingNulls.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariableAllowingNulls.java index 6e87846b1d..4959de3d60 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariableAllowingNulls.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryListVariableAllowingNulls.java @@ -8,7 +8,7 @@ import org.flowable.common.engine.api.variable.VariableContainer; import org.immutables.value.Value; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; @Value.Immutable public abstract class JsonBinaryListVariableAllowingNulls implements ListVariable> { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryVariable.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryVariable.java index 8e6654a325..e827f1a3eb 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryVariable.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonBinaryVariable.java @@ -4,7 +4,7 @@ import org.flowable.common.engine.api.variable.VariableContainer; import org.immutables.value.Value; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; @Value.Immutable public abstract class JsonBinaryVariable implements Variable { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringListVariable.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringListVariable.java index 2e3f94fa59..5c5255acc2 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringListVariable.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringListVariable.java @@ -7,7 +7,7 @@ import org.flowable.common.engine.api.variable.VariableContainer; import org.immutables.value.Value; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; @Value.Immutable public abstract class JsonStringListVariable implements ListVariable> { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringVariable.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringVariable.java index ce0867b0f8..6731e3dfd9 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringVariable.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/JsonStringVariable.java @@ -4,7 +4,7 @@ import org.flowable.common.engine.api.variable.VariableContainer; import org.immutables.value.Value; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; @Value.Immutable public abstract class JsonStringVariable implements Variable { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variable.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variable.java index d26508618c..9a80336103 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variable.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variable.java @@ -4,7 +4,7 @@ import org.cloudfoundry.multiapps.common.Nullable; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; public interface Variable { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variables.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variables.java index efe9f0f026..a518686484 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variables.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/variables/Variables.java @@ -10,7 +10,7 @@ import java.util.Set; import java.util.UUID; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudApplication; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudPackage; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudRoute; diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializerTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializerTest.java index ee28eeafdc..90947fa3a7 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializerTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/security/SecretTokenSerializerTest.java @@ -5,8 +5,8 @@ import java.util.List; import java.util.Set; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.json.JsonMapper; import org.cloudfoundry.multiapps.controller.process.security.store.SecretTokenStore; import org.cloudfoundry.multiapps.controller.process.security.util.SecretTokenUtil; import org.cloudfoundry.multiapps.controller.process.variables.Serializer; @@ -238,7 +238,7 @@ void testSerializeAndDeserializeWhenJsonNumberFieldCoercedToInt() throws Excepti assertFalse(tokenizedJsonResult.contains("\"instancesNumber\":7")); String valueAtFirst = serializer.deserialize(tokenizedJsonResult); - JsonNode root = new ObjectMapper().readTree(valueAtFirst); + JsonNode root = JsonMapper.builder().build().readTree(valueAtFirst); assertTrue(root.get("instancesNumber") .isInt()); assertEquals(7, root.get("instancesNumber") @@ -267,7 +267,7 @@ void testSerializeAndDeserializeWhenArrayOfObjectsHasNumberFieldsCoercedToInt() assertFalse(tokenizedJsonResult.contains("\"instancesNumber\":\"3\"")); String valueAtFirst = serializer.deserialize(tokenizedJsonResult); - JsonNode root = new ObjectMapper().readTree(valueAtFirst); + JsonNode root = JsonMapper.builder().build().readTree(valueAtFirst); JsonNode arrayFromJson = root.get("array"); assertEquals(3, arrayFromJson.get(0) .get("instancesNumber") diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudDeployModelStepTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudDeployModelStepTest.java index bf8de9dc31..e14cf8e9ff 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudDeployModelStepTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudDeployModelStepTest.java @@ -1,6 +1,6 @@ package org.cloudfoundry.multiapps.controller.process.steps; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.cloudfoundry.multiapps.common.test.TestUtil; import org.cloudfoundry.multiapps.common.test.Tester.Expectation; import org.cloudfoundry.multiapps.common.util.JsonUtil; diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudUndeployModelStepTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudUndeployModelStepTest.java index 83c6942a5f..471dd5a719 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudUndeployModelStepTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/BuildCloudUndeployModelStepTest.java @@ -6,7 +6,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.cloudfoundry.multiapps.common.test.TestUtil; import org.cloudfoundry.multiapps.common.test.Tester; import org.cloudfoundry.multiapps.common.test.Tester.Expectation; diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/DeleteIdleRoutesStepTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/DeleteIdleRoutesStepTest.java index 7174392423..ca15788fd9 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/DeleteIdleRoutesStepTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/DeleteIdleRoutesStepTest.java @@ -5,7 +5,7 @@ import java.util.Set; import java.util.stream.Stream; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.apache.commons.collections4.CollectionUtils; import org.cloudfoundry.multiapps.common.SLException; import org.cloudfoundry.multiapps.common.test.TestUtil; diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PublishConfigurationEntriesStepTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PublishConfigurationEntriesStepTest.java index 39579c07f8..f4c834caee 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PublishConfigurationEntriesStepTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PublishConfigurationEntriesStepTest.java @@ -5,7 +5,7 @@ import java.util.Objects; import java.util.stream.Stream; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.apache.commons.collections4.CollectionUtils; import org.cloudfoundry.multiapps.common.test.TestUtil; import org.cloudfoundry.multiapps.common.util.JsonUtil; diff --git a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/SecurityConfiguration.java b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/SecurityConfiguration.java index 26c84f5d20..09b3cc4df1 100644 --- a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/SecurityConfiguration.java +++ b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/SecurityConfiguration.java @@ -20,8 +20,6 @@ import org.springframework.security.web.authentication.switchuser.SwitchUserFilter; import org.springframework.security.web.csrf.CsrfFilter; -import static org.springframework.security.web.util.matcher.AntPathRequestMatcher.antMatcher; - @ComponentScan(basePackageClasses = org.cloudfoundry.multiapps.controller.PackageMarker.class) @EnableWebSecurity public class SecurityConfiguration { @@ -45,34 +43,28 @@ public SecurityConfiguration(AuthenticationLoaderFilter authenticationLoaderFilt @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { - return http.sessionManagement() - .sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED) - .and() - .authorizeRequests() - .requestMatchers(antMatcher(HttpMethod.GET, "/**")) - .hasAnyAuthority(TokenFactory.SCOPE_CC_READ, TokenFactory.SCOPE_CC_ADMIN) - .requestMatchers(antMatcher(HttpMethod.POST, "/**")) - .hasAnyAuthority(TokenFactory.SCOPE_CC_WRITE, TokenFactory.SCOPE_CC_ADMIN) - .requestMatchers(antMatcher(HttpMethod.PUT, "/**")) - .hasAnyAuthority(TokenFactory.SCOPE_CC_WRITE, TokenFactory.SCOPE_CC_ADMIN) - .requestMatchers(antMatcher(HttpMethod.DELETE, "/**")) - .hasAnyAuthority(TokenFactory.SCOPE_CC_WRITE, TokenFactory.SCOPE_CC_ADMIN) - .and() + return http.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)) + .authorizeHttpRequests(authorize -> authorize.requestMatchers(HttpMethod.GET, "/**") + .hasAnyAuthority(TokenFactory.SCOPE_CC_READ, TokenFactory.SCOPE_CC_ADMIN) + .requestMatchers(HttpMethod.POST, "/**") + .hasAnyAuthority(TokenFactory.SCOPE_CC_WRITE, TokenFactory.SCOPE_CC_ADMIN) + .requestMatchers(HttpMethod.PUT, "/**") + .hasAnyAuthority(TokenFactory.SCOPE_CC_WRITE, TokenFactory.SCOPE_CC_ADMIN) + .requestMatchers(HttpMethod.DELETE, "/**") + .hasAnyAuthority(TokenFactory.SCOPE_CC_WRITE, TokenFactory.SCOPE_CC_ADMIN)) .addFilterBefore(authenticationLoaderFilter, AbstractPreAuthenticatedProcessingFilter.class) .addFilterBefore(exceptionHandlerFilter, AuthenticationLoaderFilter.class) .addFilterAfter(requestSizeFilter, AuthenticationLoaderFilter.class) .addFilterAfter(csrfHeadersFilter, CsrfFilter.class) .addFilterAfter(compositeUriAuthorizationFilter, SwitchUserFilter.class) - .exceptionHandling() - .accessDeniedHandler(accessDeniedHandler()) - .and() + .exceptionHandling(exceptionHandling -> exceptionHandling.accessDeniedHandler(accessDeniedHandler())) .build(); } @Bean public WebSecurityCustomizer webSecurityCustomizer() { return web -> web.ignoring() - .requestMatchers(antMatcher("/public/**")); + .requestMatchers("/public/**"); } @Bean diff --git a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/WebMvcConfiguration.java b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/WebMvcConfiguration.java index 3951b17720..24f8de468c 100644 --- a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/WebMvcConfiguration.java +++ b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/configuration/WebMvcConfiguration.java @@ -16,13 +16,11 @@ import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer; +import org.springframework.http.converter.json.JacksonJsonHttpMessageConverter; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import org.springframework.web.util.UrlPathHelper; +import tools.jackson.databind.json.JsonMapper; @Configuration @EnableWebMvc @@ -39,19 +37,6 @@ public void addInterceptors(InterceptorRegistry registry) { customHandlerInterceptors.forEach(registry::addInterceptor); } - @Override - public void configurePathMatch(PathMatchConfigurer configurer) { - configurer.setUseSuffixPatternMatch(false); - UrlPathHelper urlPathHelper = new UrlPathHelper(); - urlPathHelper.setUrlDecode(false); - configurer.setUrlPathHelper(urlPathHelper); - } - - @Override - public void configureContentNegotiation(ContentNegotiationConfigurer configurer) { - configurer.favorPathExtension(false); - } - @Override public void configureMessageConverters(List> converters) { converters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8)); @@ -59,14 +44,14 @@ public void configureMessageConverters(List> converters) converters.add(new XmlNamespaceIgnoringHttpMessageConverter()); } - private MappingJackson2HttpMessageConverter createJsonHttpMessageConverter() { - MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(JsonUtil.getObjectMapper(JsonSerializationStrategy.DEFAULT)); - mappingJackson2HttpMessageConverter.setSupportedMediaTypes(buildSupportedMediaTypes(mappingJackson2HttpMessageConverter)); - return mappingJackson2HttpMessageConverter; + private JacksonJsonHttpMessageConverter createJsonHttpMessageConverter() { + JacksonJsonHttpMessageConverter jacksonJsonHttpMessageConverter = new JacksonJsonHttpMessageConverter((JsonMapper) JsonUtil.getObjectMapper(JsonSerializationStrategy.DEFAULT)); + jacksonJsonHttpMessageConverter.setSupportedMediaTypes(buildSupportedMediaTypes(jacksonJsonHttpMessageConverter)); + return jacksonJsonHttpMessageConverter; } - private List buildSupportedMediaTypes(MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter) { - List supportedMediaTypes = new ArrayList<>(mappingJackson2HttpMessageConverter.getSupportedMediaTypes()); + private List buildSupportedMediaTypes(JacksonJsonHttpMessageConverter jacksonJsonHttpMessageConverter) { + List supportedMediaTypes = new ArrayList<>(jacksonJsonHttpMessageConverter.getSupportedMediaTypes()); supportedMediaTypes.add(MediaType.APPLICATION_JSON); return supportedMediaTypes; } diff --git a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/security/CompositeUriAuthorizationFilter.java b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/security/CompositeUriAuthorizationFilter.java index 89725fcfb7..fc38832d92 100644 --- a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/security/CompositeUriAuthorizationFilter.java +++ b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/security/CompositeUriAuthorizationFilter.java @@ -44,7 +44,8 @@ protected boolean ensureUserIsAuthorized(HttpServletRequest request, HttpServlet return true; } catch (Exception e) { ResponseEntity responseEntity = exceptionMapper.handleException(e); - ServletUtil.send(response, responseEntity.getStatusCodeValue(), responseEntity.getBody()); + ServletUtil.send(response, responseEntity.getStatusCode() + .value(), responseEntity.getBody()); return false; } } diff --git a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/upload/UploadFromUrlContext.java b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/upload/UploadFromUrlContext.java index c1ef04215d..2f64ddd0e5 100644 --- a/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/upload/UploadFromUrlContext.java +++ b/multiapps-controller-web/src/main/java/org/cloudfoundry/multiapps/controller/web/upload/UploadFromUrlContext.java @@ -2,8 +2,8 @@ import java.time.LocalDateTime; import java.util.concurrent.atomic.AtomicLong; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import tools.jackson.databind.annotation.JsonDeserialize; +import tools.jackson.databind.annotation.JsonSerialize; import org.cloudfoundry.Nullable; import org.cloudfoundry.multiapps.controller.api.model.UserCredentials; import org.cloudfoundry.multiapps.controller.persistence.model.AsyncUploadJobEntry; diff --git a/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/api/impl/MtasApiServiceImplTest.java b/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/api/impl/MtasApiServiceImplTest.java index c6dcb2d16b..638fa88a89 100644 --- a/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/api/impl/MtasApiServiceImplTest.java +++ b/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/api/impl/MtasApiServiceImplTest.java @@ -7,7 +7,7 @@ import java.util.UUID; import java.util.stream.Collectors; -import com.fasterxml.jackson.core.type.TypeReference; +import tools.jackson.core.type.TypeReference; import org.cloudfoundry.multiapps.common.ConflictException; import org.cloudfoundry.multiapps.common.NotFoundException; import org.cloudfoundry.multiapps.common.test.TestUtil; diff --git a/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/CFExceptionMapperTest.java b/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/CFExceptionMapperTest.java index d485ee1610..87e5b3b872 100644 --- a/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/CFExceptionMapperTest.java +++ b/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/CFExceptionMapperTest.java @@ -30,7 +30,8 @@ class CFExceptionMapperTest { @MethodSource void testHandleException(Exception exception, RestResponse expectedResponse) { ResponseEntity response = exceptionMapper.handleException(exception); - assertEquals(expectedResponse.getStatus(), response.getStatusCodeValue()); + assertEquals(expectedResponse.getStatus(), response.getStatusCode() + .value()); assertEquals(expectedResponse.getEntity(), response.getBody()); } @@ -69,7 +70,8 @@ void testHandleExceptionForCloudOperationExceptionWithAllHttpStatuses(HttpStatus expectedMessage.append(httpStatus.getReasonPhrase()); RestResponse expectedResponse = new RestResponse(httpStatus.value(), expectedMessage.toString()); - assertEquals(expectedResponse.getStatus(), response.getStatusCodeValue()); + assertEquals(expectedResponse.getStatus(), response.getStatusCode() + .value()); assertEquals(expectedResponse.getEntity(), response.getBody()); } diff --git a/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/RestResponse.java b/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/RestResponse.java index 78d0111058..f135514888 100644 --- a/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/RestResponse.java +++ b/multiapps-controller-web/src/test/java/org/cloudfoundry/multiapps/controller/web/resources/RestResponse.java @@ -18,7 +18,8 @@ public RestResponse(int status, Object entity) { } public RestResponse(ResponseEntity response) { - this.status = response.getStatusCodeValue(); + this.status = response.getStatusCode() + .value(); this.entity = response.getBody(); } diff --git a/pom.xml b/pom.xml index da9c54a4ea..2244624b60 100644 --- a/pom.xml +++ b/pom.xml @@ -25,12 +25,12 @@ 4.5.0 2.6 5.6.4 - 4.0.9 + 5.0.2 7.2.0 - 6.2.19 - 6.5.11 + 7.0.9 + 7.1.1 7.0.2 - 2.21 + 2.22 3.2.3 2.22.3 4.33.0 @@ -49,7 +49,7 @@ 1.1.1 1.21.0 - 2.52.0 + 2.53.0-SNAPSHOT 4.0.0 4.0.5 4.0.7 @@ -716,6 +716,9 @@ ${jackson-annotations.version} + com.fasterxml.jackson.core jackson-core