From d2087554f78c26f6766f266e63e70fb49c1fcb8a Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Thu, 21 Nov 2019 20:33:55 +0100 Subject: [PATCH 1/8] Use custom annotations to avoid Jackson dependency --- docker-java-api/pom.xml | 6 - .../dockerjava/api/annotation/FieldName.java | 12 ++ .../api/annotation/FromPrimitive.java | 11 ++ .../api/annotation/ToPrimitive.java | 11 ++ .../api/command/CreateContainerResponse.java | 6 +- .../api/command/CreateImageResponse.java | 4 +- .../api/command/CreateNetworkResponse.java | 6 +- .../api/command/CreateSecretResponse.java | 4 +- .../api/command/CreateServiceResponse.java | 4 +- .../api/command/CreateVolumeResponse.java | 8 +- .../api/command/ExecCreateCmdResponse.java | 4 +- .../dockerjava/api/command/GraphData.java | 12 +- .../dockerjava/api/command/GraphDriver.java | 6 +- .../dockerjava/api/command/HealthState.java | 8 +- .../api/command/HealthStateLog.java | 10 +- .../api/command/InspectContainerResponse.java | 109 +++++++------ .../api/command/InspectExecResponse.java | 38 ++--- .../api/command/InspectImageResponse.java | 38 ++--- .../api/command/InspectVolumeResponse.java | 8 +- .../api/command/ListVolumesResponse.java | 4 +- .../github/dockerjava/api/command/RootFS.java | 6 +- .../api/command/TopContainerResponse.java | 6 +- .../dockerjava/api/model/AuthConfig.java | 18 +-- .../api/model/AuthConfigurations.java | 4 +- .../dockerjava/api/model/AuthResponse.java | 6 +- .../dockerjava/api/model/BindOptions.java | 4 +- .../dockerjava/api/model/BindPropagation.java | 14 +- .../github/dockerjava/api/model/Binds.java | 59 ++------ .../dockerjava/api/model/BlkioRateDevice.java | 6 +- .../dockerjava/api/model/BlkioStatEntry.java | 10 +- .../api/model/BlkioStatsConfig.java | 18 +-- .../api/model/BlkioWeightDevice.java | 6 +- .../api/model/BuildResponseItem.java | 4 - .../dockerjava/api/model/ChangeLog.java | 6 +- .../dockerjava/api/model/ClusterInfo.java | 12 +- .../dockerjava/api/model/Container.java | 32 ++-- .../dockerjava/api/model/ContainerConfig.java | 48 +++--- .../api/model/ContainerDNSConfig.java | 8 +- .../api/model/ContainerHostConfig.java | 4 +- .../dockerjava/api/model/ContainerMount.java | 16 +- .../api/model/ContainerNetwork.java | 32 ++-- .../api/model/ContainerNetworkSettings.java | 4 +- .../dockerjava/api/model/ContainerPort.java | 10 +- .../dockerjava/api/model/ContainerSpec.java | 46 +++--- .../api/model/ContainerSpecConfig.java | 8 +- .../api/model/ContainerSpecFile.java | 10 +- .../api/model/ContainerSpecPrivileges.java | 6 +- .../ContainerSpecPrivilegesCredential.java | 6 +- ...ContainerSpecPrivilegesSELinuxContext.java | 12 +- .../api/model/ContainerSpecSecret.java | 8 +- .../dockerjava/api/model/CpuStatsConfig.java | 10 +- .../dockerjava/api/model/CpuUsageConfig.java | 10 +- .../github/dockerjava/api/model/Device.java | 8 +- .../github/dockerjava/api/model/Driver.java | 6 +- .../dockerjava/api/model/DriverStatus.java | 6 +- .../github/dockerjava/api/model/Endpoint.java | 8 +- .../api/model/EndpointResolutionMode.java | 6 +- .../dockerjava/api/model/EndpointSpec.java | 6 +- .../api/model/EndpointVirtualIP.java | 6 +- .../dockerjava/api/model/ErrorDetail.java | 4 +- .../dockerjava/api/model/ErrorResponse.java | 7 +- .../github/dockerjava/api/model/Event.java | 20 +-- .../dockerjava/api/model/EventActor.java | 6 +- .../dockerjava/api/model/EventType.java | 8 +- .../dockerjava/api/model/ExposedPort.java | 50 +----- .../dockerjava/api/model/ExposedPorts.java | 64 ++------ .../dockerjava/api/model/ExternalCA.java | 8 +- .../api/model/ExternalCAProtocol.java | 4 +- .../dockerjava/api/model/GenericResource.java | 6 +- .../dockerjava/api/model/HealthCheck.java | 12 +- .../dockerjava/api/model/HostConfig.java | 143 +++++++++--------- .../github/dockerjava/api/model/Image.java | 14 +- .../com/github/dockerjava/api/model/Info.java | 106 ++++++------- .../api/model/InfoRegistryConfig.java | 16 +- .../dockerjava/api/model/Isolation.java | 8 +- .../github/dockerjava/api/model/Links.java | 58 ++----- .../dockerjava/api/model/LocalNodeState.java | 8 +- .../dockerjava/api/model/LogConfig.java | 17 +-- .../github/dockerjava/api/model/LxcConf.java | 6 +- .../api/model/MemoryStatsConfig.java | 12 +- .../github/dockerjava/api/model/Mount.java | 16 +- .../dockerjava/api/model/MountType.java | 8 +- .../github/dockerjava/api/model/Network.java | 46 +++--- .../api/model/NetworkAttachmentConfig.java | 6 +- .../dockerjava/api/model/NetworkSettings.java | 40 ++--- .../com/github/dockerjava/api/model/Node.java | 10 +- .../dockerjava/api/model/ObjectVersion.java | 4 +- .../github/dockerjava/api/model/PeerNode.java | 6 +- .../dockerjava/api/model/PidsStatsConfig.java | 4 +- .../dockerjava/api/model/PortConfig.java | 16 +- .../api/model/PortConfigProtocol.java | 6 +- .../github/dockerjava/api/model/Ports.java | 99 +++++------- .../dockerjava/api/model/PruneResponse.java | 4 +- .../api/model/PullResponseItem.java | 3 - .../dockerjava/api/model/Reachability.java | 8 +- .../api/model/ResourceRequirements.java | 6 +- .../dockerjava/api/model/ResourceSpecs.java | 6 +- .../dockerjava/api/model/ResourceVersion.java | 4 +- .../dockerjava/api/model/ResponseItem.java | 40 +++-- .../dockerjava/api/model/RestartPolicy.java | 6 +- .../dockerjava/api/model/SearchItem.java | 12 +- .../github/dockerjava/api/model/Secret.java | 12 +- .../dockerjava/api/model/SecretSpec.java | 8 +- .../github/dockerjava/api/model/Service.java | 16 +- .../api/model/ServiceModeConfig.java | 6 +- .../api/model/ServicePlacement.java | 6 +- .../model/ServiceReplicatedModeOptions.java | 4 +- .../api/model/ServiceRestartCondition.java | 8 +- .../api/model/ServiceRestartPolicy.java | 10 +- .../dockerjava/api/model/ServiceSpec.java | 18 +-- .../api/model/ServiceUpdateState.java | 10 +- .../api/model/ServiceUpdateStatus.java | 10 +- .../api/model/StatisticNetworksConfig.java | 18 +-- .../dockerjava/api/model/Statistics.java | 18 +-- .../dockerjava/api/model/StatsConfig.java | 70 ++++----- .../github/dockerjava/api/model/Swarm.java | 4 +- .../dockerjava/api/model/SwarmCAConfig.java | 6 +- .../api/model/SwarmDispatcherConfig.java | 4 +- .../dockerjava/api/model/SwarmInfo.java | 20 +-- .../dockerjava/api/model/SwarmJoinTokens.java | 6 +- .../dockerjava/api/model/SwarmNode.java | 18 +-- .../api/model/SwarmNodeAvailability.java | 8 +- .../api/model/SwarmNodeDescription.java | 10 +- .../api/model/SwarmNodeEngineDescription.java | 8 +- .../api/model/SwarmNodeManagerStatus.java | 8 +- .../api/model/SwarmNodePlatform.java | 6 +- .../api/model/SwarmNodePluginDescription.java | 6 +- .../api/model/SwarmNodeResources.java | 6 +- .../dockerjava/api/model/SwarmNodeRole.java | 6 +- .../dockerjava/api/model/SwarmNodeSpec.java | 10 +- .../dockerjava/api/model/SwarmNodeState.java | 10 +- .../dockerjava/api/model/SwarmNodeStatus.java | 4 +- .../api/model/SwarmNodeVersion.java | 4 +- .../api/model/SwarmOrchestration.java | 4 +- .../dockerjava/api/model/SwarmRaftConfig.java | 10 +- .../dockerjava/api/model/SwarmSpec.java | 14 +- .../dockerjava/api/model/SwarmVersion.java | 4 +- .../com/github/dockerjava/api/model/Task.java | 28 ++-- .../dockerjava/api/model/TaskDefaults.java | 4 +- .../github/dockerjava/api/model/TaskSpec.java | 18 +-- .../dockerjava/api/model/TaskState.java | 4 +- .../dockerjava/api/model/TaskStatus.java | 12 +- .../api/model/TaskStatusContainerStatus.java | 8 +- .../api/model/ThrottlingDataConfig.java | 8 +- .../dockerjava/api/model/TmpfsOptions.java | 6 +- .../github/dockerjava/api/model/Ulimit.java | 8 +- .../dockerjava/api/model/UpdateConfig.java | 14 +- .../api/model/UpdateContainerResponse.java | 4 +- .../api/model/UpdateFailureAction.java | 8 +- .../dockerjava/api/model/UpdateOrder.java | 6 +- .../github/dockerjava/api/model/Version.java | 26 ++-- .../api/model/VersionComponent.java | 8 +- .../dockerjava/api/model/VersionPlatform.java | 4 +- .../github/dockerjava/api/model/Volume.java | 12 +- .../dockerjava/api/model/VolumeBinds.java | 69 +++------ .../dockerjava/api/model/VolumeOptions.java | 8 +- .../github/dockerjava/api/model/VolumeRW.java | 61 ++------ .../github/dockerjava/api/model/Volumes.java | 74 +++------ .../dockerjava/api/model/VolumesFrom.java | 42 +---- .../dockerjava/api/model/VolumesRW.java | 73 +++------ .../dockerjava/api/model/WaitResponse.java | 4 +- docker-java-core/pom.xml | 6 + .../dockerjava/core/DockerClientConfig.java | 13 +- ...ckerJavaJacksonAnnotationIntrospector.java | 76 ++++++++++ .../core/async/JsonStreamProcessor.java | 4 +- .../filter/ResponseStatusExceptionFilter.java | 4 +- .../netty/NettyInvocationBuilder.java | 7 +- .../dockerjava/netty/NettyWebTarget.java | 4 +- .../netty/handler/JsonRequestHandler.java | 8 +- .../handler/JsonResponseCallbackHandler.java | 7 +- .../api/model/BindPropagationTest.java | 24 +++ .../dockerjava/api/model/BindsTest.java | 34 +++++ .../api/model/ExposedPortsTest.java | 34 +++++ .../dockerjava/api/model/LinksTest.java | 35 +++++ .../dockerjava/api/model/VolumeBindsTest.java | 13 ++ .../dockerjava/api/model/VolumesRWTest.java | 35 +++++ .../dockerjava/api/model/VolumesTest.java | 34 +++++ 177 files changed, 1454 insertions(+), 1514 deletions(-) create mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java create mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java create mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java create mode 100644 docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java create mode 100644 docker-java/src/test/java/com/github/dockerjava/api/model/BindPropagationTest.java create mode 100644 docker-java/src/test/java/com/github/dockerjava/api/model/BindsTest.java create mode 100644 docker-java/src/test/java/com/github/dockerjava/api/model/ExposedPortsTest.java create mode 100644 docker-java/src/test/java/com/github/dockerjava/api/model/LinksTest.java create mode 100644 docker-java/src/test/java/com/github/dockerjava/api/model/VolumesRWTest.java create mode 100644 docker-java/src/test/java/com/github/dockerjava/api/model/VolumesTest.java diff --git a/docker-java-api/pom.xml b/docker-java-api/pom.xml index b8b0af838..decb2a966 100644 --- a/docker-java-api/pom.xml +++ b/docker-java-api/pom.xml @@ -16,12 +16,6 @@ Java API Client for Docker - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - org.slf4j slf4j-api diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java new file mode 100644 index 000000000..c939a6509 --- /dev/null +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java @@ -0,0 +1,12 @@ +package com.github.dockerjava.api.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) +@Retention(RetentionPolicy.RUNTIME) +public @interface FieldName { + String value(); +} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java new file mode 100644 index 000000000..f6e37df30 --- /dev/null +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java @@ -0,0 +1,11 @@ +package com.github.dockerjava.api.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.CONSTRUCTOR}) +@Retention(RetentionPolicy.RUNTIME) +public @interface FromPrimitive { +} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java new file mode 100644 index 000000000..cb4689d5e --- /dev/null +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java @@ -0,0 +1,11 @@ +package com.github.dockerjava.api.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface ToPrimitive { +} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java index b19f8c6ae..5fa9b67b4 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -13,10 +13,10 @@ @ToString public class CreateContainerResponse { - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("Warnings") + @FieldName("Warnings") private String[] warnings; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java index 09b1929c0..528945a78 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,7 +14,7 @@ @ToString public class CreateImageResponse { - @JsonProperty("status") + @FieldName("status") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java index a816f3f3a..92702a185 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -8,10 +8,10 @@ @ToString public class CreateNetworkResponse { - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("Warnings") + @FieldName("Warnings") private String[] warnings; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java index c9da4c3ba..a381a4009 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -10,7 +10,7 @@ @EqualsAndHashCode @ToString public class CreateSecretResponse { - @JsonProperty("ID") + @FieldName("ID") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java index 1cbd421b9..cd2d60db5 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -10,7 +10,7 @@ @EqualsAndHashCode @ToString public class CreateServiceResponse { - @JsonProperty("ID") + @FieldName("ID") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java index a6dffb94d..728dc9c89 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -12,13 +12,13 @@ @ToString public class CreateVolumeResponse { - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Driver") + @FieldName("Driver") private String driver; - @JsonProperty("Mountpoint") + @FieldName("Mountpoint") private String mountpoint; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java index e751896de..47ab09933 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -8,7 +8,7 @@ @ToString public class ExecCreateCmdResponse { - @JsonProperty("Id") + @FieldName("Id") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java index 7852e8d59..2b927136a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,19 +14,19 @@ @ToString public class GraphData { - @JsonProperty("RootDir") + @FieldName("RootDir") private String rootDir; - @JsonProperty("DeviceId") + @FieldName("DeviceId") private String deviceId; - @JsonProperty("DeviceName") + @FieldName("DeviceName") private String deviceName; - @JsonProperty("DeviceSize") + @FieldName("DeviceSize") private String deviceSize; - @JsonProperty("dir") + @FieldName("dir") private String dir; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java index 5ba4d456e..32c32fe77 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class GraphDriver { /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("Data") + @FieldName("Data") private GraphData data; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java index cd7290785..62c61cb0d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java @@ -1,17 +1,17 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.util.List; public class HealthState { - @JsonProperty("Status") + @FieldName("Status") private String status; - @JsonProperty("FailingStreak") + @FieldName("FailingStreak") private Integer failingStreak; - @JsonProperty("Log") + @FieldName("Log") private List log; public String getStatus() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java index d68dcb74f..a03fa592f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; public class HealthStateLog { - @JsonProperty("Start") + @FieldName("Start") private String start; - @JsonProperty("End") + @FieldName("End") private String end; - @JsonProperty("ExitCode") + @FieldName("ExitCode") private Long exitCode; - @JsonProperty("Output") + @FieldName("Output") private String output; public String getStart() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java index 06e18fa21..fbacf008b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java @@ -1,7 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import com.github.dockerjava.api.model.ContainerConfig; import com.github.dockerjava.api.model.HostConfig; import com.github.dockerjava.api.model.NetworkSettings; @@ -26,94 +25,94 @@ @ToString public class InspectContainerResponse { - @JsonProperty("Args") + @FieldName("Args") private String[] args; - @JsonProperty("Config") + @FieldName("Config") private ContainerConfig config; - @JsonProperty("Created") + @FieldName("Created") private String created; - @JsonProperty("Driver") + @FieldName("Driver") private String driver; - @JsonProperty("ExecDriver") + @FieldName("ExecDriver") private String execDriver; - @JsonProperty("HostConfig") + @FieldName("HostConfig") private HostConfig hostConfig; - @JsonProperty("HostnamePath") + @FieldName("HostnamePath") private String hostnamePath; - @JsonProperty("HostsPath") + @FieldName("HostsPath") private String hostsPath; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ - @JsonProperty("LogPath") + @FieldName("LogPath") private String logPath; - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("SizeRootFs") + @FieldName("SizeRootFs") private Integer sizeRootFs; - @JsonProperty("Image") + @FieldName("Image") private String imageId; - @JsonProperty("MountLabel") + @FieldName("MountLabel") private String mountLabel; - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ - @JsonProperty("RestartCount") + @FieldName("RestartCount") private Integer restartCount; - @JsonProperty("NetworkSettings") + @FieldName("NetworkSettings") private NetworkSettings networkSettings; - @JsonProperty("Path") + @FieldName("Path") private String path; - @JsonProperty("ProcessLabel") + @FieldName("ProcessLabel") private String processLabel; - @JsonProperty("ResolvConfPath") + @FieldName("ResolvConfPath") private String resolvConfPath; - @JsonProperty("ExecIDs") + @FieldName("ExecIDs") private List execIds; - @JsonProperty("State") + @FieldName("State") private ContainerState state; - @JsonProperty("Volumes") + @FieldName("Volumes") private VolumeBinds volumes; - @JsonProperty("VolumesRW") + @FieldName("VolumesRW") private VolumesRW volumesRW; - @JsonProperty("Node") + @FieldName("Node") private Node node; - @JsonProperty("Mounts") + @FieldName("Mounts") private List mounts; - @JsonProperty("GraphDriver") + @FieldName("GraphDriver") private GraphDriver graphDriver; /** * @since {@link RemoteApiVersion#VERSION_1_30} */ - @JsonProperty("Platform") + @FieldName("Platform") private String platform; public String getId() { @@ -160,7 +159,6 @@ public String getResolvConfPath() { return resolvConfPath; } - @JsonIgnore public VolumeBind[] getVolumes() { return volumes == null ? null : volumes.getBinds(); } @@ -168,7 +166,6 @@ public VolumeBind[] getVolumes() { /** * @deprecated As of {@link RemoteApiVersion#VERSION_1_20} use {@link #getMounts()} instead */ - @JsonIgnore @Deprecated @CheckForNull public VolumeRW[] getVolumesRW() { @@ -257,35 +254,35 @@ public class ContainerState { * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @JsonProperty("Status") + @FieldName("Status") private String status; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @JsonProperty("Running") + @FieldName("Running") private Boolean running; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @JsonProperty("Paused") + @FieldName("Paused") private Boolean paused; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @JsonProperty("Restarting") + @FieldName("Restarting") private Boolean restarting; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @JsonProperty("OOMKilled") + @FieldName("OOMKilled") private Boolean oomKilled; /** @@ -294,49 +291,49 @@ public class ContainerState { * @since {@link RemoteApiVersion#UNKNOWN_VERSION} */ @CheckForNull - @JsonProperty("Dead") + @FieldName("Dead") private Boolean dead; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @JsonProperty("Pid") + @FieldName("Pid") private Long pid; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @JsonProperty("ExitCode") + @FieldName("ExitCode") private Long exitCode; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @JsonProperty("Error") + @FieldName("Error") private String error; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @JsonProperty("StartedAt") + @FieldName("StartedAt") private String startedAt; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @JsonProperty("FinishedAt") + @FieldName("FinishedAt") private String finishedAt; /** * @since Docker version 1.12 */ - @JsonProperty("Health") + @FieldName("Health") private HealthState health; /** @@ -462,42 +459,42 @@ public static class Mount { * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @JsonProperty("Source") + @FieldName("Source") private String source; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @JsonProperty("Destination") + @FieldName("Destination") private Volume destination; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @JsonProperty("Driver") + @FieldName("Driver") private String driver; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @JsonProperty("Mode") + @FieldName("Mode") private String mode; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @JsonProperty("RW") + @FieldName("RW") private Boolean rw; @CheckForNull @@ -583,25 +580,25 @@ public Mount withSource(String source) { @ToString public class Node { - @JsonProperty("ID") + @FieldName("ID") private String id; - @JsonProperty("IP") + @FieldName("IP") private String ip; - @JsonProperty("Addr") + @FieldName("Addr") private String addr; - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Cpus") + @FieldName("Cpus") private Integer cpus; - @JsonProperty("Memory") + @FieldName("Memory") private Long memory; - @JsonProperty("Labels") + @FieldName("Labels") private Map labels; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java index 06d904dc8..7a6b4ea15 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java @@ -2,7 +2,7 @@ import java.util.List; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import com.github.dockerjava.api.model.NetworkSettings; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -12,56 +12,56 @@ @EqualsAndHashCode @ToString public class InspectExecResponse { - @JsonProperty("ID") + @FieldName("ID") private String id; - @JsonProperty("OpenStdin") + @FieldName("OpenStdin") private Boolean openStdin; - @JsonProperty("OpenStderr") + @FieldName("OpenStderr") private Boolean openStderr; - @JsonProperty("OpenStdout") + @FieldName("OpenStdout") private Boolean openStdout; - @JsonProperty("Running") + @FieldName("Running") private Boolean running; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("CanRemove") + @FieldName("CanRemove") private Boolean canRemove; - @JsonProperty("ExitCode") + @FieldName("ExitCode") private Long exitCode; - @JsonProperty("ProcessConfig") + @FieldName("ProcessConfig") private ProcessConfig processConfig; /** * @deprecated @since {@link RemoteApiVersion#VERSION_1_22} */ @Deprecated - @JsonProperty("Container") + @FieldName("Container") private Container container; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("ContainerID") + @FieldName("ContainerID") private String containerID; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("DetachKeys") + @FieldName("DetachKeys") private String detachKeys; /** * @since {@link RemoteApiVersion#VERSION_1_25} */ - @JsonProperty("Pid") + @FieldName("Pid") private Long pid; public String getId() { @@ -154,19 +154,19 @@ public Long getPidLong() { @ToString public class ProcessConfig { - @JsonProperty("arguments") + @FieldName("arguments") private List arguments; - @JsonProperty("entrypoint") + @FieldName("entrypoint") private String entryPoint; - @JsonProperty("privileged") + @FieldName("privileged") private Boolean privileged; - @JsonProperty("tty") + @FieldName("tty") private Boolean tty; - @JsonProperty("user") + @FieldName("user") private String user; public List getArguments() { @@ -192,7 +192,7 @@ public String getUser() { public class Container { - @JsonProperty("NetworkSettings") + @FieldName("NetworkSettings") private NetworkSettings networkSettings; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java index b8590bfc6..18fa9a5ed 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import com.github.dockerjava.api.model.ContainerConfig; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,67 +17,67 @@ @ToString public class InspectImageResponse { - @JsonProperty("Architecture") + @FieldName("Architecture") private String arch; - @JsonProperty("Author") + @FieldName("Author") private String author; - @JsonProperty("Comment") + @FieldName("Comment") private String comment; - @JsonProperty("Config") + @FieldName("Config") private ContainerConfig config; - @JsonProperty("Container") + @FieldName("Container") private String container; - @JsonProperty("ContainerConfig") + @FieldName("ContainerConfig") private ContainerConfig containerConfig; - @JsonProperty("Created") + @FieldName("Created") private String created; - @JsonProperty("DockerVersion") + @FieldName("DockerVersion") private String dockerVersion; - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("Os") + @FieldName("Os") private String os; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @JsonProperty("OsVersion") + @FieldName("OsVersion") private String osVersion; - @JsonProperty("Parent") + @FieldName("Parent") private String parent; - @JsonProperty("Size") + @FieldName("Size") private Long size; - @JsonProperty("RepoTags") + @FieldName("RepoTags") private List repoTags; - @JsonProperty("RepoDigests") + @FieldName("RepoDigests") private List repoDigests; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("VirtualSize") + @FieldName("VirtualSize") private Long virtualSize; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("GraphDriver") + @FieldName("GraphDriver") private GraphDriver graphDriver; - @JsonProperty("RootFS") + @FieldName("RootFS") private RootFS rootFS; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java index 020e0f9ae..18071d59f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -12,13 +12,13 @@ @ToString public class InspectVolumeResponse { - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Driver") + @FieldName("Driver") private String driver; - @JsonProperty("Mountpoint") + @FieldName("Mountpoint") private String mountpoint; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java index 4e1b449f8..4981070cb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java @@ -2,7 +2,7 @@ import java.util.List; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,7 +14,7 @@ @ToString public class ListVolumesResponse { - @JsonProperty("Volumes") + @FieldName("Volumes") private List volumes; public List getVolumes() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java index e4cc0ec54..06d7d906a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,10 +16,10 @@ @ToString public class RootFS { - @JsonProperty("Type") + @FieldName("Type") private String type; - @JsonProperty("Layers") + @FieldName("Layers") private List layers; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java index 6f7b1d49f..f73932335 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -13,10 +13,10 @@ @ToString public class TopContainerResponse { - @JsonProperty("Titles") + @FieldName("Titles") private String[] titles; - @JsonProperty("Processes") + @FieldName("Processes") private String[][] processes; public String[] getTitles() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java index 1b6a01ea1..cccc2474e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,37 +19,37 @@ public class AuthConfig implements Serializable { */ public static final String DEFAULT_SERVER_ADDRESS = "https://index.docker.io/v1/"; - @JsonProperty("username") + @FieldName("username") private String username; - @JsonProperty("password") + @FieldName("password") private String password; - @JsonProperty("email") + @FieldName("email") private String email; - @JsonProperty("serveraddress") + @FieldName("serveraddress") private String registryAddress = DEFAULT_SERVER_ADDRESS; - @JsonProperty("auth") + @FieldName("auth") private String auth; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("registrytoken") + @FieldName("registrytoken") private String registrytoken; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_23} */ - @JsonProperty("identitytoken") + @FieldName("identitytoken") private String identitytoken; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @JsonProperty("stackOrchestrator") + @FieldName("stackOrchestrator") private String stackOrchestrator; public String getUsername() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java index baa8fc0b4..3f78e1b5c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java @@ -4,12 +4,12 @@ import java.util.Map; import java.util.TreeMap; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; public class AuthConfigurations implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("configs") + @FieldName("configs") private Map configs = new TreeMap<>(); public void addConfig(AuthConfig authConfig) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java index 89069fe54..aae21db8d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import javax.annotation.Nonnull; @@ -12,13 +12,13 @@ public class AuthResponse implements Serializable { /** * @since 1.23 */ - @JsonProperty("Status") + @FieldName("Status") private String status; /** * @since 1.23 */ - @JsonProperty("IdentityToken") + @FieldName("IdentityToken") private String identityToken; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java index 340921f01..3bbfdea0b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,7 +17,7 @@ public class BindOptions implements Serializable { /** * @since 1.24 */ - @JsonProperty("Propagation") + @FieldName("Propagation") BindPropagation propagation; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java index 81a189e77..a5a57f20c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java @@ -1,26 +1,26 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum BindPropagation { - @JsonProperty("rprivate") + @FieldName("rprivate") R_PRIVATE, - @JsonProperty("private") + @FieldName("private") PRIVATE, - @JsonProperty("rshared") + @FieldName("rshared") R_SHARED, - @JsonProperty("shared") + @FieldName("shared") SHARED, - @JsonProperty("rslave") + @FieldName("rslave") R_SLAVE, - @JsonProperty("slave") + @FieldName("slave") SLAVE } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java index a7957a945..0b974c29c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java @@ -1,25 +1,11 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import java.util.stream.Stream; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; -@JsonSerialize(using = Binds.Serializer.class) -@JsonDeserialize(using = Binds.Deserializer.class) public class Binds implements Serializable { private static final long serialVersionUID = 1L; @@ -33,39 +19,16 @@ public Bind[] getBinds() { return binds; } - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(Binds binds, JsonGenerator jsonGen, SerializerProvider serProvider) throws IOException, - JsonProcessingException { - - // - jsonGen.writeStartArray(); - for (Bind bind : binds.getBinds()) { - jsonGen.writeString(bind.toString()); - } - jsonGen.writeEndArray(); - // - } - + @ToPrimitive + public String[] toPrimitive() { + return Stream.of(binds).map(Bind::toString).toArray(String[]::new); } - public static class Deserializer extends JsonDeserializer { - @Override - public Binds deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - - List binds = new ArrayList<>(); - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - for (Iterator it = node.elements(); it.hasNext();) { - - JsonNode field = it.next(); - binds.add(Bind.parse(field.asText())); - - } - return new Binds(binds.toArray(new Bind[0])); - } + @FromPrimitive + public static Binds fromPrimitive(String[] binds) { + return new Binds( + Stream.of(binds).map(Bind::parse).toArray(Bind[]::new) + ); } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java index e26fc0d6f..c552b3110 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -11,10 +11,10 @@ public class BlkioRateDevice implements Serializable { public static final long serialVersionUID = 1L; - @JsonProperty("Path") + @FieldName("Path") private String path; - @JsonProperty("Rate") + @FieldName("Rate") private Long rate; public String getPath() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java index d47b2fe42..fc729fb1d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,13 +14,13 @@ @ToString public class BlkioStatEntry implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("major") + @FieldName("major") Long major; - @JsonProperty("minor") + @FieldName("minor") Long minor; - @JsonProperty("op") + @FieldName("op") String op; - @JsonProperty("value") + @FieldName("value") Long value; public Long getMajor() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java index 55479d024..43fcb4030 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,28 +18,28 @@ public class BlkioStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("io_service_bytes_recursive") + @FieldName("io_service_bytes_recursive") private List ioServiceBytesRecursive; - @JsonProperty("io_serviced_recursive") + @FieldName("io_serviced_recursive") private List ioServicedRecursive; - @JsonProperty("io_queue_recursive") + @FieldName("io_queue_recursive") private List ioQueueRecursive; - @JsonProperty("io_service_time_recursive") + @FieldName("io_service_time_recursive") private List ioServiceTimeRecursive; - @JsonProperty("io_wait_time_recursive") + @FieldName("io_wait_time_recursive") private List ioWaitTimeRecursive; - @JsonProperty("io_merged_recursive") + @FieldName("io_merged_recursive") private List ioMergedRecursive; - @JsonProperty("io_time_recursive") + @FieldName("io_time_recursive") private List ioTimeRecursive; - @JsonProperty("sectors_recursive") + @FieldName("sectors_recursive") private List sectorsRecursive; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java index 24b4d87f5..51c7e20a0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -11,10 +11,10 @@ public class BlkioWeightDevice implements Serializable { public static final long serialVersionUID = 1L; - @JsonProperty("Path") + @FieldName("Path") private String path; - @JsonProperty("Weight") + @FieldName("Weight") private Integer weight; public String getPath() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java index b781bac9f..a9f468432 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java @@ -1,7 +1,5 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonIgnore; - /** * Represents a build response stream item */ @@ -13,7 +11,6 @@ public class BuildResponseItem extends ResponseItem { /** * Returns whether the stream field indicates a successful build operation */ - @JsonIgnore public boolean isBuildSuccessIndicated() { if (isErrorIndicated() || getStream() == null) { return false; @@ -22,7 +19,6 @@ public boolean isBuildSuccessIndicated() { return getStream().contains(BUILD_SUCCESS); } - @JsonIgnore public String getImageId() { if (!isBuildSuccessIndicated()) { return null; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java index 922e2e2b3..154ba08e0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,10 +16,10 @@ public class ChangeLog implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Path") + @FieldName("Path") private String path; - @JsonProperty("Kind") + @FieldName("Kind") private Integer kind; public String getPath() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java index 40055106b..b9eec9b4f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -23,31 +23,31 @@ public class ClusterInfo implements Serializable { /** * @since 1.24 */ - @JsonProperty("CreatedAt") + @FieldName("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @JsonProperty("Spec") + @FieldName("Spec") private SwarmSpec spec; /** * @since 1.24 */ - @JsonProperty("ID") + @FieldName("ID") private String id; /** * @since 1.24 */ - @JsonProperty("UpdatedAt") + @FieldName("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @JsonProperty("Version") + @FieldName("Version") private ResourceVersion version; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java index e2723a96b..ee663a51f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import com.github.dockerjava.api.command.ListContainersCmd; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,46 +20,46 @@ public class Container implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Command") + @FieldName("Command") private String command; - @JsonProperty("Created") + @FieldName("Created") private Long created; - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("Image") + @FieldName("Image") private String image; /** * @since since {@link RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("ImageID") + @FieldName("ImageID") private String imageId; - @JsonProperty("Names") + @FieldName("Names") private String[] names; - @JsonProperty("Ports") + @FieldName("Ports") public ContainerPort[] ports; - @JsonProperty("Labels") + @FieldName("Labels") public Map labels; - @JsonProperty("Status") + @FieldName("Status") private String status; /** * @since ~{@link RemoteApiVersion#VERSION_1_23} */ - @JsonProperty("State") + @FieldName("State") private String state; /** * @since ~{@link RemoteApiVersion#VERSION_1_19} */ - @JsonProperty("SizeRw") + @FieldName("SizeRw") private Long sizeRw; /** @@ -67,13 +67,13 @@ public class Container implements Serializable { * * @since ~{@link RemoteApiVersion#VERSION_1_19} */ - @JsonProperty("SizeRootFs") + @FieldName("SizeRootFs") private Long sizeRootFs; /** * @since ~{@link RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("HostConfig") + @FieldName("HostConfig") private ContainerHostConfig hostConfig; /** @@ -82,13 +82,13 @@ public class Container implements Serializable { * * @since ~{@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("NetworkSettings") + @FieldName("NetworkSettings") private ContainerNetworkSettings networkSettings; /** * @since ~{@link RemoteApiVersion#VERSION_1_23} */ - @JsonProperty("Mounts") + @FieldName("Mounts") private List mounts; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java index a84835277..401ead4fb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java @@ -1,7 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,73 +18,72 @@ public class ContainerConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("AttachStderr") + @FieldName("AttachStderr") private Boolean attachStderr; - @JsonProperty("AttachStdin") + @FieldName("AttachStdin") private Boolean attachStdin; - @JsonProperty("AttachStdout") + @FieldName("AttachStdout") private Boolean attachStdout; - @JsonProperty("Cmd") + @FieldName("Cmd") private String[] cmd; - @JsonProperty("Domainname") + @FieldName("Domainname") private String domainName; - @JsonProperty("Entrypoint") + @FieldName("Entrypoint") private String[] entrypoint; - @JsonProperty("Env") + @FieldName("Env") private String[] env; - @JsonProperty("ExposedPorts") + @FieldName("ExposedPorts") private ExposedPorts exposedPorts; - @JsonProperty("Hostname") + @FieldName("Hostname") private String hostName; - @JsonProperty("Image") + @FieldName("Image") private String image; - @JsonProperty("Labels") + @FieldName("Labels") private Map labels; - @JsonProperty("MacAddress") + @FieldName("MacAddress") private String macAddress; - @JsonProperty("NetworkDisabled") + @FieldName("NetworkDisabled") private Boolean networkDisabled; - @JsonProperty("OnBuild") + @FieldName("OnBuild") private String[] onBuild; - @JsonProperty("OpenStdin") + @FieldName("OpenStdin") private Boolean stdinOpen; - @JsonProperty("PortSpecs") + @FieldName("PortSpecs") private String[] portSpecs; - @JsonProperty("StdinOnce") + @FieldName("StdinOnce") private Boolean stdInOnce; - @JsonProperty("Tty") + @FieldName("Tty") private Boolean tty; - @JsonProperty("User") + @FieldName("User") private String user; - @JsonProperty("Volumes") + @FieldName("Volumes") private Map volumes; - @JsonProperty("WorkingDir") + @FieldName("WorkingDir") private String workingDir; - @JsonProperty("Healthcheck") + @FieldName("Healthcheck") private HealthCheck healthCheck; - @JsonIgnore public ExposedPort[] getExposedPorts() { return exposedPorts != null ? exposedPorts.getExposedPorts() : null; } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java index c60414f81..bd54100a0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,11 +17,11 @@ public class ContainerDNSConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Nameservers") + @FieldName("Nameservers") private List nameservers; - @JsonProperty("Search") + @FieldName("Search") private List search; - @JsonProperty("Options") + @FieldName("Options") private List options; public List getNameservers() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java index 590d22a92..b0b160974 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,7 +17,7 @@ public class ContainerHostConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("NetworkMode") + @FieldName("NetworkMode") private String networkMode; public String getNetworkMode() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java index 48b4c9f47..942fc4c26 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,25 +16,25 @@ public class ContainerMount implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Name") + @FieldName("Name") String name; - @JsonProperty("Source") + @FieldName("Source") String source; - @JsonProperty("Destination") + @FieldName("Destination") String destination; - @JsonProperty("Driver") + @FieldName("Driver") String driver; - @JsonProperty("Mode") + @FieldName("Mode") String mode; - @JsonProperty("RW") + @FieldName("RW") boolean rw; - @JsonProperty("Propagation") + @FieldName("Propagation") String propagation; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java index 52acf4c77..94a8ae361 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java @@ -1,7 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -26,13 +25,13 @@ public class ContainerNetwork implements Serializable { /** * FIXME verify */ - @JsonProperty("IPAMConfig") + @FieldName("IPAMConfig") private Ipam ipamConfig; /** * FIXME verify */ - @JsonProperty("Links") + @FieldName("Links") private Links links; /** @@ -41,34 +40,34 @@ public class ContainerNetwork implements Serializable { * * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("Aliases") + @FieldName("Aliases") private List aliases; - @JsonProperty("NetworkID") + @FieldName("NetworkID") private String networkID; - @JsonProperty("EndpointID") + @FieldName("EndpointID") private String endpointId; - @JsonProperty("Gateway") + @FieldName("Gateway") private String gateway; - @JsonProperty("IPAddress") + @FieldName("IPAddress") private String ipAddress; - @JsonProperty("IPPrefixLen") + @FieldName("IPPrefixLen") private Integer ipPrefixLen; - @JsonProperty("IPv6Gateway") + @FieldName("IPv6Gateway") private String ipV6Gateway; - @JsonProperty("GlobalIPv6Address") + @FieldName("GlobalIPv6Address") private String globalIPv6Address; - @JsonProperty("GlobalIPv6PrefixLen") + @FieldName("GlobalIPv6PrefixLen") private Integer globalIPv6PrefixLen; - @JsonProperty("MacAddress") + @FieldName("MacAddress") private String macAddress; /** @@ -227,7 +226,6 @@ public ContainerNetwork withIpV6Gateway(String ipV6Gateway) { * @see #links */ @CheckForNull - @JsonIgnore public Link[] getLinks() { return links == null ? new Link[0] : links.getLinks(); } @@ -285,10 +283,10 @@ public ContainerNetwork withNetworkID(String networkID) { */ public static class Ipam { - @JsonProperty("IPv4Address") + @FieldName("IPv4Address") private String ipv4Address; - @JsonProperty("IPv6Address") + @FieldName("IPv6Address") private String ipv6Address; public String getIpv4Address() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java index 19e249e29..bf4fab6c0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -21,7 +21,7 @@ public class ContainerNetworkSettings implements Serializable { /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("Networks") + @FieldName("Networks") private Map networks; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java index b22aecc0e..06ecdc2b8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,16 +16,16 @@ public class ContainerPort implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("IP") + @FieldName("IP") private String ip; - @JsonProperty("PrivatePort") + @FieldName("PrivatePort") private Integer privatePort; - @JsonProperty("PublicPort") + @FieldName("PublicPort") private Integer publicPort; - @JsonProperty("Type") + @FieldName("Type") private String type; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java index f56399ce8..0d0ad6217 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -22,143 +22,143 @@ public class ContainerSpec implements Serializable { /** * @since 1.24 */ - @JsonProperty("Image") + @FieldName("Image") private String image; /** * @since 1.24 */ - @JsonProperty("Labels") + @FieldName("Labels") private Map labels; /** * @since 1.24 */ - @JsonProperty("Command") + @FieldName("Command") private List command; /** * @since 1.24 */ - @JsonProperty("Args") + @FieldName("Args") private List args; /** * @since 1.24 */ - @JsonProperty("Env") + @FieldName("Env") private List env; /** * @since 1.24 */ - @JsonProperty("Dir") + @FieldName("Dir") private String dir; /** * @since 1.24 */ - @JsonProperty("User") + @FieldName("User") private String user; /** * @since 1.24 */ - @JsonProperty("Groups") + @FieldName("Groups") private String groups; /** * @since 1.24 */ - @JsonProperty("TTY") + @FieldName("TTY") private Boolean tty; /** * @since 1.24 */ - @JsonProperty("Mounts") + @FieldName("Mounts") private List mounts; /** * @since 1.24 */ - @JsonProperty("Duration") + @FieldName("Duration") private Long duration; /** * @since 1.24 */ - @JsonProperty("StopGracePeriod") + @FieldName("StopGracePeriod") private Long stopGracePeriod; /** * @since 1.25 * Specification for DNS related configurations in resolver configuration file */ - @JsonProperty("DNSConfig") + @FieldName("DNSConfig") private ContainerDNSConfig dnsConfig; /** * @since 1.26 * Open stdin */ - @JsonProperty("OpenStdin") + @FieldName("OpenStdin") private Boolean openStdin; /** * @since 1.26 * Mount the container's root filesystem as read only. */ - @JsonProperty("ReadOnly") + @FieldName("ReadOnly") private Boolean readOnly; /** * @since 1.26 * A list of hostnames/IP mappings to add to the container's /etc/hosts file. */ - @JsonProperty("Hosts") + @FieldName("Hosts") private List hosts; /** * @since 1.26 * The hostname to use for the container, as a valid RFC 1123 hostname */ - @JsonProperty("Hostname") + @FieldName("Hostname") private String hostname; /** * @since 1.26 * Secrets contains references to zero or more secrets that will be exposed to the service. */ - @JsonProperty("Secrets") + @FieldName("Secrets") private List secrets; /** * @since 1.26 * A test to perform to check that the container is healthy. */ - @JsonProperty("HealthCheck") + @FieldName("HealthCheck") private HealthCheck healthCheck; /** * @since 1.28 * Signal to stop the container. */ - @JsonProperty("StopSignal") + @FieldName("StopSignal") private String stopSignal; /** * @since 1.29 * Security options for the container */ - @JsonProperty("Privileges") + @FieldName("Privileges") private ContainerSpecPrivileges privileges; /** * @since 1.29 * Configs contains references to zero or more configs that will be exposed to the service. */ - @JsonProperty("Configs") + @FieldName("Configs") private List configs; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java index 274ad8f55..b2943905f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -15,13 +15,13 @@ @ToString public class ContainerSpecConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("File") + @FieldName("File") private ContainerSpecFile file; - @JsonProperty("ConfigID") + @FieldName("ConfigID") private String configID; - @JsonProperty("ConfigName") + @FieldName("ConfigName") private String configName; public ContainerSpecFile getFile() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java index cf8471d7c..baf089f22 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,22 +16,22 @@ public class ContainerSpecFile implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Name") + @FieldName("Name") private String name; /** * UID represents the file UID. */ - @JsonProperty("UID") + @FieldName("UID") private String uid; /** * GID represents the file GID. */ - @JsonProperty("GID") + @FieldName("GID") private String gid; /** * Mode represents the FileMode of the file. */ - @JsonProperty("Mode") + @FieldName("Mode") private Long mode; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java index a5bb69391..dc51bd14e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,10 +16,10 @@ public class ContainerSpecPrivileges implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("CredentialSpec") + @FieldName("CredentialSpec") private ContainerSpecPrivilegesCredential credentialSpec; - @JsonProperty("SELinuxContext") + @FieldName("SELinuxContext") private ContainerSpecPrivilegesSELinuxContext seLinuxContext; public ContainerSpecPrivilegesCredential getCredentialSpec() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java index 8a4294f01..1b2b93c6b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -21,7 +21,7 @@ public class ContainerSpecPrivilegesCredential implements Serializable { * `CredentialSpecs` subdirectory in the docker data directory, which defaults to * C:\ProgramData\Docker\ on Windows. */ - @JsonProperty("File") + @FieldName("File") private String file; /** @@ -31,7 +31,7 @@ public class ContainerSpecPrivilegesCredential implements Serializable { * HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs * */ - @JsonProperty("Registry") + @FieldName("Registry") private String registry; public String getFile() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java index c7fa68af8..e5c633f32 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -15,19 +15,19 @@ @ToString public class ContainerSpecPrivilegesSELinuxContext implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Disable") + @FieldName("Disable") private Boolean disable; - @JsonProperty("User") + @FieldName("User") private String user; - @JsonProperty("Role") + @FieldName("Role") private String role; - @JsonProperty("Type") + @FieldName("Type") private String type; - @JsonProperty("Level") + @FieldName("Level") private String level; public Boolean getDisable() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java index e92b2b07f..41880b61b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,13 +16,13 @@ public class ContainerSpecSecret implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("File") + @FieldName("File") private ContainerSpecFile file; - @JsonProperty("SecretID") + @FieldName("SecretID") private String secretId; - @JsonProperty("SecretName") + @FieldName("SecretName") private String secretName; public ContainerSpecFile getFile() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java index fce6e610d..a7920ed7f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,16 +13,16 @@ public class CpuStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("cpu_usage") + @FieldName("cpu_usage") private CpuUsageConfig cpuUsage; - @JsonProperty("system_cpu_usage") + @FieldName("system_cpu_usage") private Long systemCpuUsage; - @JsonProperty("online_cpus") + @FieldName("online_cpus") private Long onlineCpus; - @JsonProperty("throttling_data") + @FieldName("throttling_data") private ThrottlingDataConfig throttlingData; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java index e9e4d2212..4e9a91d78 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -14,16 +14,16 @@ public class CpuUsageConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("total_usage") + @FieldName("total_usage") private Long totalUsage; - @JsonProperty("percpu_usage") + @FieldName("percpu_usage") private List percpuUsage; - @JsonProperty("usage_in_kernelmode") + @FieldName("usage_in_kernelmode") private Long usageInKernelmode; - @JsonProperty("usage_in_usermode") + @FieldName("usage_in_usermode") private Long usageInUsermode; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java index 09223e52a..478b0b4bf 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java @@ -2,7 +2,7 @@ import static java.util.Objects.requireNonNull; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,13 +17,13 @@ public class Device implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("CgroupPermissions") + @FieldName("CgroupPermissions") private String cGroupPermissions = ""; - @JsonProperty("PathOnHost") + @FieldName("PathOnHost") private String pathOnHost = null; - @JsonProperty("PathInContainer") + @FieldName("PathInContainer") private String pathInContainer = null; public Device() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java index cde23cb2b..5570a54af 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class Driver implements Serializable { /** * @since 1.24 */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since 1.24 */ - @JsonProperty("Options") + @FieldName("Options") private Map options; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java index cca52f1d0..8fdbf6bdb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,10 +14,10 @@ public class DriverStatus implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Root Dir") + @FieldName("Root Dir") private String rootDir; - @JsonProperty("Dirs") + @FieldName("Dirs") private Integer dirs; public String getRootDir() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java index eb6c982ed..0d2785342 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,19 +18,19 @@ public class Endpoint implements Serializable { /** * @since 1.24 */ - @JsonProperty("Spec") + @FieldName("Spec") private EndpointSpec spec; /** * @since 1.24 */ - @JsonProperty("Ports") + @FieldName("Ports") private PortConfig[] ports; /** * @since 1.24 */ - @JsonProperty("VirtualIPs") + @FieldName("VirtualIPs") private EndpointVirtualIP[] virtualIPs; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java index b67cea38b..02ffa9909 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java @@ -1,16 +1,16 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum EndpointResolutionMode { - @JsonProperty("vip") + @FieldName("vip") VIP, - @JsonProperty("dnsrr") + @FieldName("dnsrr") DNSRR } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java index 75b5056f0..59f7a734f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class EndpointSpec implements Serializable { /** * @since 1.24 */ - @JsonProperty("Mode") + @FieldName("Mode") EndpointResolutionMode mode; /** * @since 1.24 */ - @JsonProperty("Ports") + @FieldName("Ports") List ports; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java index fad960fb7..8c425c471 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class EndpointVirtualIP implements Serializable { /** * @since 1.24 */ - @JsonProperty("NetworkID") + @FieldName("NetworkID") private String networkID; /** * @since 1.24 */ - @JsonProperty("Addr") + @FieldName("Addr") private String addr; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java index 10c3310d1..aebcbff55 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java @@ -1,13 +1,13 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.io.Serializable; public class ErrorDetail implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty + @FieldName("message") private String message; public String getMessage() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java index ef4f93eb1..49abb8cff 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java @@ -1,16 +1,17 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.io.Serializable; +@Deprecated public class ErrorResponse implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty + @FieldName("errorDetail") private ErrorDetail errorDetail; - @JsonProperty + @FieldName("error") private String error; public ErrorDetail getErrorDetail() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java index 59ecc67bd..5cc1ea970 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,55 +19,55 @@ public class Event implements Serializable { /** * @since 1.16 */ - @JsonProperty("status") + @FieldName("status") private String status; /** * @since 1.16 */ - @JsonProperty("id") + @FieldName("id") private String id; /** * @since 1.16 */ - @JsonProperty("from") + @FieldName("from") private String from; /** * ?? */ - @JsonProperty("node") + @FieldName("node") private Node node; /* * @since 1. */ - @JsonProperty("Type") + @FieldName("Type") private EventType type; /** * @since 1.22 */ - @JsonProperty("Action") + @FieldName("Action") private String action; /** * @since 1.22 */ - @JsonProperty("Actor") + @FieldName("Actor") private EventActor actor; /** * @since 1.16 */ - @JsonProperty("time") + @FieldName("time") private Long time; /** * @since 1.21 */ - @JsonProperty("timeNano") + @FieldName("timeNano") private Long timeNano; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java index e05414d34..cb9ab91d6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,13 +20,13 @@ public class EventActor implements Serializable { /** * @since 1.22 */ - @JsonProperty("ID") + @FieldName("ID") private String id; /** * @since 1.22 */ - @JsonProperty("Attributes") + @FieldName("Attributes") private Map attributes; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java index 697c1e429..268220bb3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import javax.annotation.Nonnull; import java.util.HashMap; @@ -43,12 +43,12 @@ public enum EventType { this.value = value; } - @JsonValue + @ToPrimitive public String getValue() { return value; } - @JsonCreator + @FromPrimitive public static EventType forValue(String s) { return EVENT_TYPES.get(s); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java index 1d0ac8bc8..dd921a2e6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java @@ -3,22 +3,9 @@ import static com.github.dockerjava.api.model.InternetProtocol.TCP; import static com.github.dockerjava.api.model.InternetProtocol.UDP; -import java.io.IOException; import java.io.Serializable; -import java.util.Map.Entry; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import com.github.dockerjava.api.model.Ports.Binding; import lombok.EqualsAndHashCode; @@ -27,8 +14,6 @@ * {@link InternetProtocol}. It can be published by Docker by {@link Ports#bind(ExposedPort, Binding) binding} it to a host port, * represented by a {@link Binding}. */ -@JsonDeserialize(using = ExposedPort.Deserializer.class) -@JsonSerialize(using = ExposedPort.Serializer.class) @EqualsAndHashCode public class ExposedPort implements Serializable { private static final long serialVersionUID = 1L; @@ -120,6 +105,7 @@ public static ExposedPort udp(int port) { * @throws IllegalArgumentException * if the specification cannot be parsed */ + @FromPrimitive public static ExposedPort parse(String serialized) throws IllegalArgumentException { try { String[] parts = serialized.split("/"); @@ -143,36 +129,8 @@ public static ExposedPort parse(String serialized) throws IllegalArgumentExcepti * @return a string representation of this {@link ExposedPort} */ @Override + @ToPrimitive public String toString() { return port + "/" + protocol.toString(); } - - public static class Deserializer extends JsonDeserializer { - @Override - public ExposedPort deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - if (!node.equals(NullNode.getInstance())) { - Entry field = node.fields().next(); - return ExposedPort.parse(field.getKey()); - } else { - return null; - } - } - } - - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(ExposedPort exposedPort, JsonGenerator jsonGen, SerializerProvider serProvider) - throws IOException, JsonProcessingException { - - jsonGen.writeStartObject(); - jsonGen.writeFieldName(exposedPort.toString()); - jsonGen.writeEndObject(); - } - - } - } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java index c20e84cec..e9ccbdb23 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java @@ -1,27 +1,14 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; -@JsonSerialize(using = ExposedPorts.Serializer.class) -@JsonDeserialize(using = ExposedPorts.Deserializer.class) public class ExposedPorts implements Serializable { private static final long serialVersionUID = 1L; @@ -39,40 +26,19 @@ public ExposedPort[] getExposedPorts() { return exposedPorts; } - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(ExposedPorts exposedPorts, JsonGenerator jsonGen, SerializerProvider serProvider) - throws IOException, JsonProcessingException { - - jsonGen.writeStartObject(); - for (ExposedPort exposedPort : exposedPorts.getExposedPorts()) { - jsonGen.writeFieldName(exposedPort.toString()); - jsonGen.writeStartObject(); - jsonGen.writeEndObject(); - } - jsonGen.writeEndObject(); - } - + @FromPrimitive + public static ExposedPorts fromPrimitive(Map object) { + return new ExposedPorts( + object.keySet().stream().map(ExposedPort::parse).toArray(ExposedPort[]::new) + ); } - public static class Deserializer extends JsonDeserializer { - @Override - public ExposedPorts deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - - List exposedPorts = new ArrayList<>(); - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - for (Iterator> it = node.fields(); it.hasNext();) { - - Map.Entry field = it.next(); - if (!field.getValue().equals(NullNode.getInstance())) { - exposedPorts.add(ExposedPort.parse(field.getKey())); - } - } - return new ExposedPorts(exposedPorts.toArray(new ExposedPort[0])); - } + @ToPrimitive + public Map toPrimitive() { + return Stream.of(exposedPorts).collect(Collectors.toMap( + ExposedPort::toString, + __ -> new Object() + )); } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java index 95a80eb03..b46ce5c25 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,19 +20,19 @@ public class ExternalCA implements Serializable { /** * @since 1.24 */ - @JsonProperty("Protocol") + @FieldName("Protocol") private ExternalCAProtocol protocol; /** * @since 1.24 */ - @JsonProperty("URL") + @FieldName("URL") private String url; /** * @since 1.24 */ - @JsonProperty("Options") + @FieldName("Options") private Map options; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java index b4268a3eb..792abb8b3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java @@ -1,12 +1,12 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum ExternalCAProtocol { - @JsonProperty("cfssl") + @FieldName("cfssl") CFSSL } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java index 9b994d8dd..77491e971 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java @@ -1,15 +1,15 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.io.Serializable; public abstract class GenericResource implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Kind") + @FieldName("Kind") String kind; - @JsonProperty("Value") + @FieldName("Value") T value = null; public String getKind() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java index e21a0763f..9c6dce43a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java @@ -15,7 +15,7 @@ */ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -31,28 +31,28 @@ public class HealthCheck implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Interval") + @FieldName("Interval") private Long interval; - @JsonProperty("Timeout") + @FieldName("Timeout") private Long timeout; /** * @since 1.26 */ - @JsonProperty("Test") + @FieldName("Test") private List test; /** * @since 1.26 */ - @JsonProperty("Retries") + @FieldName("Retries") private Integer retries; /** * @since 1.26 */ - @JsonProperty("StartPeriod") + @FieldName("StartPeriod") private Long startPeriod; public Long getInterval() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java index bcae9a4cc..c312a78ba 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java @@ -1,7 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -28,265 +27,264 @@ public static HostConfig newHostConfig() { return new HostConfig(); } - @JsonProperty("Binds") + @FieldName("Binds") private Binds binds; - @JsonProperty("BlkioWeight") + @FieldName("BlkioWeight") private Integer blkioWeight; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("BlkioWeightDevice") + @FieldName("BlkioWeightDevice") private List blkioWeightDevice; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("BlkioDeviceReadBps") + @FieldName("BlkioDeviceReadBps") private List blkioDeviceReadBps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("BlkioDeviceWriteBps") + @FieldName("BlkioDeviceWriteBps") private List blkioDeviceWriteBps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("BlkioDeviceReadIOps") + @FieldName("BlkioDeviceReadIOps") private List blkioDeviceReadIOps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("BlkioDeviceWriteIOps") + @FieldName("BlkioDeviceWriteIOps") private List blkioDeviceWriteIOps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("MemorySwappiness") + @FieldName("MemorySwappiness") private Long memorySwappiness; - @JsonProperty("NanoCPUs") + @FieldName("NanoCPUs") private Long nanoCPUs; - @JsonProperty("CapAdd") + @FieldName("CapAdd") private Capability[] capAdd; - @JsonProperty("CapDrop") + @FieldName("CapDrop") private Capability[] capDrop; - @JsonProperty("ContainerIDFile") + @FieldName("ContainerIDFile") private String containerIDFile; - @JsonProperty("CpuPeriod") + @FieldName("CpuPeriod") private Long cpuPeriod; - @JsonProperty("CpuRealtimePeriod") + @FieldName("CpuRealtimePeriod") private Long cpuRealtimePeriod; - @JsonProperty("CpuRealtimeRuntime") + @FieldName("CpuRealtimeRuntime") private Long cpuRealtimeRuntime; - @JsonProperty("CpuShares") + @FieldName("CpuShares") private Integer cpuShares; /** * @since ~{@link RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("CpuQuota") + @FieldName("CpuQuota") private Long cpuQuota; - @JsonProperty("CpusetCpus") + @FieldName("CpusetCpus") private String cpusetCpus; - @JsonProperty("CpusetMems") + @FieldName("CpusetMems") private String cpusetMems; - @JsonProperty("Devices") + @FieldName("Devices") private Device[] devices; - @JsonProperty("DeviceCgroupRules") + @FieldName("DeviceCgroupRules") private List deviceCgroupRules; /** * @since {@link RemoteApiVersion#VERSION_1_25} */ - @JsonProperty("DiskQuota") + @FieldName("DiskQuota") private Long diskQuota; - @JsonProperty("Dns") + @FieldName("Dns") private String[] dns; - @JsonProperty("DnsOptions") + @FieldName("DnsOptions") private List dnsOptions; - @JsonProperty("DnsSearch") + @FieldName("DnsSearch") private String[] dnsSearch; - @JsonProperty("ExtraHosts") + @FieldName("ExtraHosts") private String[] extraHosts; - @JsonProperty("GroupAdd") + @FieldName("GroupAdd") private List groupAdd; - @JsonProperty("IpcMode") + @FieldName("IpcMode") private String ipcMode; - @JsonProperty("Cgroup") + @FieldName("Cgroup") private String cgroup; - @JsonProperty("Links") + @FieldName("Links") private Links links; - @JsonProperty("LogConfig") + @FieldName("LogConfig") private LogConfig logConfig; - @JsonProperty("LxcConf") + @FieldName("LxcConf") private LxcConf[] lxcConf; - @JsonProperty("Memory") + @FieldName("Memory") private Long memory; - @JsonProperty("MemorySwap") + @FieldName("MemorySwap") private Long memorySwap; /** * @since {@link RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("MemoryReservation") + @FieldName("MemoryReservation") private Long memoryReservation; /** * @since {@link RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("KernelMemory") + @FieldName("KernelMemory") private Long kernelMemory; - @JsonProperty("NetworkMode") + @FieldName("NetworkMode") private String networkMode; - @JsonProperty("OomKillDisable") + @FieldName("OomKillDisable") private Boolean oomKillDisable; - @JsonProperty("Init") + @FieldName("Init") private Boolean init; /** * @since {@link RemoteApiVersion#VERSION_1_25} */ - @JsonProperty("AutoRemove") + @FieldName("AutoRemove") private Boolean autoRemove; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("OomScoreAdj") + @FieldName("OomScoreAdj") private Integer oomScoreAdj; - @JsonProperty("PortBindings") + @FieldName("PortBindings") private Ports portBindings; - @JsonProperty("Privileged") + @FieldName("Privileged") private Boolean privileged; - @JsonProperty("PublishAllPorts") + @FieldName("PublishAllPorts") private Boolean publishAllPorts; - @JsonProperty("ReadonlyRootfs") + @FieldName("ReadonlyRootfs") private Boolean readonlyRootfs; - @JsonProperty("RestartPolicy") + @FieldName("RestartPolicy") private RestartPolicy restartPolicy; - @JsonProperty("Ulimits") + @FieldName("Ulimits") private Ulimit[] ulimits; - @JsonProperty("CpuCount") + @FieldName("CpuCount") private Long cpuCount; - @JsonProperty("CpuPercent") + @FieldName("CpuPercent") private Long cpuPercent; - @JsonProperty("IOMaximumIOps") + @FieldName("IOMaximumIOps") private Long ioMaximumIOps; - @JsonProperty("IOMaximumBandwidth") + @FieldName("IOMaximumBandwidth") private Long ioMaximumBandwidth; - @JsonProperty("VolumesFrom") + @FieldName("VolumesFrom") private VolumesFrom[] volumesFrom; - @JsonProperty("Mounts") + @FieldName("Mounts") private List mounts; - @JsonProperty("PidMode") + @FieldName("PidMode") private String pidMode; - @JsonProperty("Isolation") + @FieldName("Isolation") private Isolation isolation; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("SecurityOpt") + @FieldName("SecurityOpt") private List securityOpts; - @JsonProperty("StorageOpt") + @FieldName("StorageOpt") private Map storageOpt; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("CgroupParent") + @FieldName("CgroupParent") private String cgroupParent; /** * @since {@link RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("VolumeDriver") + @FieldName("VolumeDriver") private String volumeDriver; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("ShmSize") + @FieldName("ShmSize") private Long shmSize; /** * @since ~{@link RemoteApiVersion#VERSION_1_23} */ - @JsonProperty("PidsLimit") + @FieldName("PidsLimit") private Long pidsLimit; /** * @since ~{@link RemoteApiVersion#VERSION_1_30} */ - @JsonProperty("Runtime") + @FieldName("Runtime") private String runtime; /** * @since ~{@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("Tmpfs") + @FieldName("Tmpfs") private Map tmpFs; - @JsonProperty("UTSMode") + @FieldName("UTSMode") private String utSMode; - @JsonProperty("UsernsMode") + @FieldName("UsernsMode") private String usernsMode; - @JsonProperty("Sysctls") + @FieldName("Sysctls") private Map sysctls; - @JsonProperty("ConsoleSize") + @FieldName("ConsoleSize") private List consoleSize; - @JsonIgnore public Bind[] getBinds() { return (binds == null) ? new Bind[0] : binds.getBinds(); } @@ -344,12 +342,10 @@ public String[] getExtraHosts() { return extraHosts; } - @JsonIgnore public Link[] getLinks() { return (links == null) ? new Link[0] : links.getLinks(); } - @JsonIgnore public LogConfig getLogConfig() { return (logConfig == null) ? new LogConfig() : logConfig; } @@ -539,7 +535,6 @@ public Map getTmpFs() { * Parse the network mode as specified at * {@see https://github.com/docker/engine-api/blob/master/types/container/hostconfig_unix.go} */ - @JsonIgnore public boolean isUserDefinedNetwork() { return networkMode != null && !PREDEFINED_NETWORKS.contains(networkMode) && !networkMode.startsWith("container:"); } @@ -548,12 +543,10 @@ public String getRuntime() { return runtime; } - @JsonIgnore public void setBinds(Bind... binds) { this.binds = new Binds(binds); } - @JsonIgnore public void setLinks(Link... links) { this.links = new Links(links); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java index e6552eb35..ee1fae275 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,22 +16,22 @@ public class Image implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Created") + @FieldName("Created") private Long created; - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("ParentId") + @FieldName("ParentId") private String parentId; - @JsonProperty("RepoTags") + @FieldName("RepoTags") private String[] repoTags; - @JsonProperty("Size") + @FieldName("Size") private Long size; - @JsonProperty("VirtualSize") + @FieldName("VirtualSize") private Long virtualSize; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java index e472fa622..42b27d36b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -22,214 +22,214 @@ public class Info implements Serializable { /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("Architecture") + @FieldName("Architecture") private String architecture; - @JsonProperty("Containers") + @FieldName("Containers") private Integer containers; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("ContainersStopped") + @FieldName("ContainersStopped") private Integer containersStopped; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("ContainersPaused") + @FieldName("ContainersPaused") private Integer containersPaused; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("ContainersRunning") + @FieldName("ContainersRunning") private Integer containersRunning; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("CpuCfsPeriod") + @FieldName("CpuCfsPeriod") private Boolean cpuCfsPeriod; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("CpuCfsQuota") + @FieldName("CpuCfsQuota") private Boolean cpuCfsQuota; - @JsonProperty("CPUShares") + @FieldName("CPUShares") private Boolean cpuShares; - @JsonProperty("CPUSet") + @FieldName("CPUSet") private Boolean cpuSet; - @JsonProperty("Debug") + @FieldName("Debug") private Boolean debug; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("DiscoveryBackend") + @FieldName("DiscoveryBackend") private String discoveryBackend; - @JsonProperty("DockerRootDir") + @FieldName("DockerRootDir") private String dockerRootDir; - @JsonProperty("Driver") + @FieldName("Driver") private String driver; - @JsonProperty("DriverStatus") + @FieldName("DriverStatus") private List> driverStatuses; - @JsonProperty("SystemStatus") + @FieldName("SystemStatus") private List systemStatus; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("Plugins") + @FieldName("Plugins") private Map> plugins; - @JsonProperty("ExecutionDriver") + @FieldName("ExecutionDriver") private String executionDriver; - @JsonProperty("LoggingDriver") + @FieldName("LoggingDriver") private String loggingDriver; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("ExperimentalBuild") + @FieldName("ExperimentalBuild") private Boolean experimentalBuild; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("HttpProxy") + @FieldName("HttpProxy") private String httpProxy; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("HttpsProxy") + @FieldName("HttpsProxy") private String httpsProxy; - @JsonProperty("ID") + @FieldName("ID") private String id; - @JsonProperty("IPv4Forwarding") + @FieldName("IPv4Forwarding") private Boolean ipv4Forwarding; - @JsonProperty("BridgeNfIptables") + @FieldName("BridgeNfIptables") private Boolean bridgeNfIptables; - @JsonProperty("BridgeNfIp6tables") + @FieldName("BridgeNfIp6tables") private Boolean bridgeNfIp6tables; - @JsonProperty("Images") + @FieldName("Images") private Integer images; - @JsonProperty("IndexServerAddress") + @FieldName("IndexServerAddress") private String indexServerAddress; - @JsonProperty("InitPath") + @FieldName("InitPath") private String initPath; - @JsonProperty("InitSha1") + @FieldName("InitSha1") private String initSha1; - @JsonProperty("KernelVersion") + @FieldName("KernelVersion") private String kernelVersion; - @JsonProperty("Labels") + @FieldName("Labels") private String[] labels; - @JsonProperty("MemoryLimit") + @FieldName("MemoryLimit") private Boolean memoryLimit; - @JsonProperty("MemTotal") + @FieldName("MemTotal") private Long memTotal; - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("NCPU") + @FieldName("NCPU") private Integer ncpu; - @JsonProperty("NEventsListener") + @FieldName("NEventsListener") private Integer nEventsListener; - @JsonProperty("NFd") + @FieldName("NFd") private Integer nfd; - @JsonProperty("NGoroutines") + @FieldName("NGoroutines") private Integer nGoroutines; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("NoProxy") + @FieldName("NoProxy") private String noProxy; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("OomKillDisable") + @FieldName("OomKillDisable") private Boolean oomKillDisable; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("OSType") + @FieldName("OSType") private String osType; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("OomScoreAdj") + @FieldName("OomScoreAdj") private Integer oomScoreAdj; - @JsonProperty("OperatingSystem") + @FieldName("OperatingSystem") private String operatingSystem; - @JsonProperty("RegistryConfig") + @FieldName("RegistryConfig") private InfoRegistryConfig registryConfig; - @JsonProperty("Sockets") + @FieldName("Sockets") private String[] sockets; - @JsonProperty("SwapLimit") + @FieldName("SwapLimit") private Boolean swapLimit; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("SystemTime") + @FieldName("SystemTime") private String systemTime; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @JsonProperty("ServerVersion") + @FieldName("ServerVersion") private String serverVersion; - @JsonProperty("ClusterStore") + @FieldName("ClusterStore") private String clusterStore; - @JsonProperty("ClusterAdvertise") + @FieldName("ClusterAdvertise") private String clusterAdvertise; /** * @since 1.24 */ - @JsonProperty("Swarm") + @FieldName("Swarm") private SwarmInfo swarm; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @JsonProperty("Isolation") + @FieldName("Isolation") private String isolation; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java index 8c4d9f35d..a478c1b48 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,16 +17,16 @@ public final class InfoRegistryConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("IndexConfigs") + @FieldName("IndexConfigs") private Map indexConfigs; - @JsonProperty("InsecureRegistryCIDRs") + @FieldName("InsecureRegistryCIDRs") private List insecureRegistryCIDRs; /** * //FIXME unknown field */ - @JsonProperty("Mirrors") + @FieldName("Mirrors") private Object mirrors; /** @@ -83,16 +83,16 @@ public InfoRegistryConfig withMirrors(Object mirrors) { @EqualsAndHashCode @ToString public static final class IndexConfig { - @JsonProperty("Mirrors") + @FieldName("Mirrors") private List mirrors; - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Official") + @FieldName("Official") private Boolean official; - @JsonProperty("Secure") + @FieldName("Secure") private Boolean secure; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java index c59c8848f..145c10fa1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import java.io.Serializable; @@ -18,12 +18,12 @@ public enum Isolation implements Serializable { this.value = value; } - @JsonValue + @ToPrimitive public String getValue() { return value; } - @JsonCreator + @FromPrimitive public static Isolation fromValue(String text) { for (Isolation b : Isolation.values()) { if (String.valueOf(b.value).equals(text)) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java index 1c32984ee..c36a61b2d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java @@ -1,26 +1,12 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; import java.util.List; +import java.util.stream.Stream; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; -@JsonSerialize(using = Links.Serializer.class) -@JsonDeserialize(using = Links.Deserializer.class) public class Links implements Serializable { private static final long serialVersionUID = 1L; @@ -38,37 +24,15 @@ public Link[] getLinks() { return links; } - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(final Links links, final JsonGenerator jsonGen, final SerializerProvider serProvider) - throws IOException, JsonProcessingException { - jsonGen.writeStartArray(); - for (final Link link : links.getLinks()) { - jsonGen.writeString(link.toString()); - } - jsonGen.writeEndArray(); - } - + @FromPrimitive + public static Links fromPrimitive(String[] links) { + return new Links( + Stream.of(links).map(Link::parse).toArray(Link[]::new) + ); } - public static class Deserializer extends JsonDeserializer { - - @Override - public Links deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - final List binds = new ArrayList<>(); - final ObjectCodec oc = jsonParser.getCodec(); - final JsonNode node = oc.readTree(jsonParser); - for (final Iterator it = node.elements(); it.hasNext();) { - - final JsonNode element = it.next(); - if (!element.equals(NullNode.getInstance())) { - binds.add(Link.parse(element.asText())); - } - } - return new Links(binds.toArray(new Link[0])); - } + @ToPrimitive + public String[] toPrimitive() { + return Stream.of(links).map(Link::toString).toArray(String[]::new); } - } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java index 07e2e4158..92d68f6fb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import javax.annotation.Nonnull; import java.util.HashMap; @@ -40,12 +40,12 @@ public enum LocalNodeState { this.value = value; } - @JsonValue + @ToPrimitive public String getValue() { return value; } - @JsonCreator + @FromPrimitive public static LocalNodeState forValue(String s) { return TYPES.get(s); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java index 4ea19041e..3223dc5ec 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java @@ -1,9 +1,8 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonValue; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.ToPrimitive; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -21,10 +20,10 @@ public class LogConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Type") + @FieldName("Type") public LoggingType type = null; - @JsonProperty("Config") + @FieldName("Config") public Map config; public LogConfig(LoggingType type, Map config) { @@ -48,12 +47,10 @@ public LogConfig setType(LoggingType type) { return this; } - @JsonIgnore public Map getConfig() { return config; } - @JsonIgnore public LogConfig setConfig(Map config) { this.config = config; return this; @@ -79,12 +76,12 @@ public enum LoggingType { this.type = type; } - @JsonValue + @ToPrimitive public String getType() { return type; } - @JsonCreator + @FromPrimitive @CheckForNull public static LoggingType fromValue(String text) { for (LoggingType b : LoggingType.values()) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java index ddf1bbae0..c566baff2 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java @@ -1,16 +1,16 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.io.Serializable; public class LxcConf implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Key") + @FieldName("Key") public String key; - @JsonProperty("Value") + @FieldName("Value") public String value; public LxcConf(String key, String value) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java index 12e6abccf..4fe383a4b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,19 +13,19 @@ public class MemoryStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("stats") + @FieldName("stats") private StatsConfig stats; - @JsonProperty("usage") + @FieldName("usage") private Long usage; - @JsonProperty("max_usage") + @FieldName("max_usage") private Long maxUsage; - @JsonProperty("failcnt") + @FieldName("failcnt") private Long failcnt; - @JsonProperty("limit") + @FieldName("limit") private Long limit; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java index 7254ccb19..a37032fd2 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,43 +18,43 @@ public class Mount implements Serializable { /** * @since 1.24 */ - @JsonProperty("Type") + @FieldName("Type") private MountType type; /** * @since 1.24 */ - @JsonProperty("Source") + @FieldName("Source") private String source; /** * @since 1.24 */ - @JsonProperty("Target") + @FieldName("Target") private String target; /** * @since 1.24 */ - @JsonProperty("ReadOnly") + @FieldName("ReadOnly") private Boolean readOnly; /** * @since 1.24 */ - @JsonProperty("BindOptions") + @FieldName("BindOptions") private BindOptions bindOptions; /** * @since 1.24 */ - @JsonProperty("VolumeOptions") + @FieldName("VolumeOptions") private VolumeOptions volumeOptions; /** * @since 1.29 */ - @JsonProperty("TmpfsOptions") + @FieldName("TmpfsOptions") private TmpfsOptions tmpfsOptions; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java index 62557df47..c1033c0f9 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum MountType { - @JsonProperty("bind") + @FieldName("bind") BIND, - @JsonProperty("volume") + @FieldName("volume") VOLUME, //@since 1.29 - @JsonProperty("tmpfs") + @FieldName("tmpfs") TMPFS } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java index 0187d73f4..9e718cd9a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -15,37 +15,37 @@ public class Network implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Scope") + @FieldName("Scope") private String scope; - @JsonProperty("Driver") + @FieldName("Driver") private String driver; - @JsonProperty("EnableIPv6") + @FieldName("EnableIPv6") private Boolean enableIPv6; - @JsonProperty("Internal") + @FieldName("Internal") private Boolean internal; - @JsonProperty("IPAM") + @FieldName("IPAM") private Ipam ipam; - @JsonProperty("Containers") + @FieldName("Containers") private Map containers; - @JsonProperty("Options") + @FieldName("Options") private Map options; - @JsonProperty("Attachable") + @FieldName("Attachable") private Boolean attachable; - @JsonProperty("Labels") + @FieldName("Labels") public Map labels; public String getId() { @@ -96,16 +96,16 @@ public Map getLabels() { @ToString public static class ContainerNetworkConfig { - @JsonProperty("EndpointID") + @FieldName("EndpointID") private String endpointId; - @JsonProperty("MacAddress") + @FieldName("MacAddress") private String macAddress; - @JsonProperty("IPv4Address") + @FieldName("IPv4Address") private String ipv4Address; - @JsonProperty("IPv6Address") + @FieldName("IPv6Address") private String ipv6Address; public String getEndpointId() { @@ -129,13 +129,13 @@ public String getIpv6Address() { @ToString public static class Ipam { - @JsonProperty("Driver") + @FieldName("Driver") private String driver; - @JsonProperty("Config") + @FieldName("Config") private List config = new ArrayList<>(); - @JsonProperty("Options") + @FieldName("Options") private Map options = null; public String getDriver() { @@ -167,16 +167,16 @@ public Ipam withDriver(String driver) { public static class Config { - @JsonProperty("Subnet") + @FieldName("Subnet") private String subnet; - @JsonProperty("IPRange") + @FieldName("IPRange") private String ipRange; - @JsonProperty("Gateway") + @FieldName("Gateway") private String gateway; - @JsonProperty("NetworkID") + @FieldName("NetworkID") private String networkID; public String getSubnet() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java index 2afa87b73..965334800 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class NetworkAttachmentConfig implements Serializable { /** * @since 1.24 */ - @JsonProperty("Target") + @FieldName("Target") private String target; /** * @since 1.24 */ - @JsonProperty("Aliases") + @FieldName("Aliases") private List aliases; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java index 3ef92ac64..0761d815e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java @@ -3,7 +3,7 @@ */ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,61 +20,61 @@ public class NetworkSettings implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Bridge") + @FieldName("Bridge") private String bridge; - @JsonProperty("SandboxID") + @FieldName("SandboxID") private String sandboxId; - @JsonProperty("HairpinMode") + @FieldName("HairpinMode") private Boolean hairpinMode; - @JsonProperty("LinkLocalIPv6Address") + @FieldName("LinkLocalIPv6Address") private String linkLocalIPv6Address; - @JsonProperty("LinkLocalIPv6PrefixLen") + @FieldName("LinkLocalIPv6PrefixLen") private Integer linkLocalIPv6PrefixLen; - @JsonProperty("Ports") + @FieldName("Ports") private Ports ports; - @JsonProperty("SandboxKey") + @FieldName("SandboxKey") private String sandboxKey; - @JsonProperty("SecondaryIPAddresses") + @FieldName("SecondaryIPAddresses") private Object secondaryIPAddresses; - @JsonProperty("SecondaryIPv6Addresses") + @FieldName("SecondaryIPv6Addresses") private Object secondaryIPv6Addresses; - @JsonProperty("EndpointID") + @FieldName("EndpointID") private String endpointID; - @JsonProperty("Gateway") + @FieldName("Gateway") private String gateway; - @JsonProperty("PortMapping") + @FieldName("PortMapping") private Map> portMapping; - @JsonProperty("GlobalIPv6Address") + @FieldName("GlobalIPv6Address") private String globalIPv6Address; - @JsonProperty("GlobalIPv6PrefixLen") + @FieldName("GlobalIPv6PrefixLen") private Integer globalIPv6PrefixLen; - @JsonProperty("IPAddress") + @FieldName("IPAddress") private String ipAddress; - @JsonProperty("IPPrefixLen") + @FieldName("IPPrefixLen") private Integer ipPrefixLen; - @JsonProperty("IPv6Gateway") + @FieldName("IPv6Gateway") private String ipV6Gateway; - @JsonProperty("MacAddress") + @FieldName("MacAddress") private String macAddress; - @JsonProperty("Networks") + @FieldName("Networks") private Map networks; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java index 2b12ab48f..ab7147c26 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,16 +14,16 @@ public class Node implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Id") + @FieldName("Id") private String id; - @JsonProperty("Addr") + @FieldName("Addr") private String addr; - @JsonProperty("Ip") + @FieldName("Ip") private String ip; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java index 0b0259049..2ecdf4adb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.io.Serializable; @@ -16,7 +16,7 @@ public class ObjectVersion implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Index") + @FieldName("Index") private Long index = null; public Long getIndex() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java index e20af63b9..ed15d3137 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class PeerNode implements Serializable { /** * @since 1.24 */ - @JsonProperty("NodeID") + @FieldName("NodeID") private String nodeID; /** * @since 1.24 */ - @JsonProperty("Addr") + @FieldName("Addr") private String addr; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java index c3d13596f..ad890f4f0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,7 +13,7 @@ public class PidsStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("current") + @FieldName("current") private Long current; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java index 57f2f61b0..92f1d333d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,25 +18,25 @@ public class PortConfig implements Serializable { /** * @since 1.24 */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since 1.24 */ - @JsonProperty("Protocol") + @FieldName("Protocol") private PortConfigProtocol protocol; /** * @since 1.24 */ - @JsonProperty("TargetPort") + @FieldName("TargetPort") private int targetPort; /** * @since 1.24 */ - @JsonProperty("PublishedPort") + @FieldName("PublishedPort") private int publishedPort; /** @@ -44,7 +44,7 @@ public class PortConfig implements Serializable { * docker 1.13 * https://github.com/mrjana/docker/blob/14ac9f60d0174256e0713701ebffaf5ca827da71/api/types/swarm/network.go */ - @JsonProperty("PublishMode") + @FieldName("PublishMode") private PublishMode publishMode; /** @@ -122,10 +122,10 @@ public PortConfig withPublishMode(PublishMode publishMode) { public enum PublishMode { //ingress load balancing using routing mesh. - @JsonProperty("ingress") + @FieldName("ingress") ingress, //direct host level access on the host where the task is running. - @JsonProperty("host") + @FieldName("host") host } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java index f47b06f1d..1ca5953d9 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java @@ -1,16 +1,16 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum PortConfigProtocol { - @JsonProperty("tcp") + @FieldName("tcp") TCP, - @JsonProperty("udp") + @FieldName("udp") UDP } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java index a2ae85e23..92fe49ae6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java @@ -1,25 +1,16 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import lombok.EqualsAndHashCode; -import java.io.IOException; import java.io.Serializable; import java.util.HashMap; -import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * A container for port bindings, made available as a {@link Map} via its {@link #getBindings()} method. @@ -31,8 +22,6 @@ * @see NetworkSettings#getPorts() */ @SuppressWarnings(value = "checkstyle:equalshashcode") -@JsonDeserialize(using = Ports.Deserializer.class) -@JsonSerialize(using = Ports.Serializer.class) public class Ports implements Serializable { private static final long serialVersionUID = 1L; @@ -259,60 +248,40 @@ public String toString() { } } - public static class Deserializer extends JsonDeserializer { - @Override - public Ports deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - - Ports out = new Ports(); - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - for (Iterator> it = node.fields(); it.hasNext();) { + @FromPrimitive + public static Ports fromPrimitive(Map>> map) { + Ports out = new Ports(); + for (Entry>> entry : map.entrySet()) { + ExposedPort exposedPort = ExposedPort.parse(entry.getKey()); - Map.Entry portNode = it.next(); - JsonNode bindingsArray = portNode.getValue(); - if (bindingsArray.equals(NullNode.getInstance())) { - out.bind(ExposedPort.parse(portNode.getKey()), null); - } else { - for (int i = 0; i < bindingsArray.size(); i++) { - JsonNode bindingNode = bindingsArray.get(i); - if (!bindingNode.equals(NullNode.getInstance())) { - String hostIp = bindingNode.get("HostIp").textValue(); - String hostPort = bindingNode.get("HostPort").textValue(); - out.bind(ExposedPort.parse(portNode.getKey()), new Binding(hostIp, hostPort)); - } - } + if (entry.getValue() == null) { + out.bind(exposedPort, null); + } else { + for (Map binding : entry.getValue()) { + out.bind(exposedPort, new Binding(binding.get("HostIp"), binding.get("HostPort"))); } } - return out; } + return out; } - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(Ports portBindings, JsonGenerator jsonGen, SerializerProvider serProvider) - throws IOException, JsonProcessingException { - - jsonGen.writeStartObject(); - for (Entry entry : portBindings.getBindings().entrySet()) { - jsonGen.writeFieldName(entry.getKey().toString()); - if (entry.getValue() != null) { - jsonGen.writeStartArray(); - for (Binding binding : entry.getValue()) { - jsonGen.writeStartObject(); - jsonGen.writeStringField("HostIp", binding.getHostIp() == null ? "" : binding.getHostIp()); - jsonGen.writeStringField("HostPort", binding.getHostPortSpec() == null ? "" : binding.getHostPortSpec()); - jsonGen.writeEndObject(); - } - jsonGen.writeEndArray(); - } else { - jsonGen.writeNull(); - } - } - jsonGen.writeEndObject(); - } - + @ToPrimitive + public Map>> toPrimitive() { + // Use reduce-like collect to be able to put nulls into the values + return ports.entrySet().stream().collect( + HashMap::new, + (map, entry) -> { + List> value = entry.getValue() == null ? null : Stream.of(entry.getValue()) + .map(binding -> { + Map result = new HashMap<>(); + result.put("HostIp", binding.getHostIp() == null ? "" : binding.getHostIp()); + result.put("HostPort", binding.getHostPortSpec() == null ? "" : binding.getHostPortSpec()); + return result; + }) + .collect(Collectors.toList()); + map.put(entry.getKey().toString(), value); + }, + HashMap::putAll + ); } - } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java index 3efaf47c1..24e06fd44 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,7 +14,7 @@ public class PruneResponse implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("SpaceReclaimed") + @FieldName("SpaceReclaimed") private Long spaceReclaimed; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java index 66a559934..e64eb74b6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java @@ -1,7 +1,5 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonIgnore; - /** * Represents a pull response stream item */ @@ -24,7 +22,6 @@ public class PullResponseItem extends ResponseItem { * * @returns true: status indicates that pull was successful, false: status doesn't indicate a successful pull */ - @JsonIgnore public boolean isPullSuccessIndicated() { if (isErrorIndicated() || getStatus() == null) { return false; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java index a536080c3..e37d6355e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java @@ -1,18 +1,18 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum Reachability { - @JsonProperty("unknown") + @FieldName("unknown") UNKNOWN, - @JsonProperty("unreachable") + @FieldName("unreachable") UNREACHABLE, - @JsonProperty("reachable") + @FieldName("reachable") REACHABLE } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java index 463b22011..cb5f16161 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class ResourceRequirements implements Serializable { /** * @since 1.24 */ - @JsonProperty("Limits") + @FieldName("Limits") private ResourceSpecs limits; /** * @since 1.24 */ - @JsonProperty("Reservations") + @FieldName("Reservations") private ResourceSpecs reservations; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java index 86ab24b52..37c23cae0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class ResourceSpecs implements Serializable { /** * @since 1.24 */ - @JsonProperty("MemoryBytes") + @FieldName("MemoryBytes") private Long memoryBytes; /** * @since 1.24 */ - @JsonProperty("NanoCPUs") + @FieldName("NanoCPUs") private Long nanoCPUs; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java index 4838b78d7..4586fd9c4 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class ResourceVersion implements Serializable { /** * @since 1.24 */ - @JsonProperty("Index") + @FieldName("Index") private Long index; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java index d0f797a71..2f91af2e3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java @@ -1,7 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,39 +15,39 @@ public class ResponseItem implements Serializable { private static final long serialVersionUID = -5187169652557467828L; - @JsonProperty("stream") + @FieldName("stream") private String stream; - @JsonProperty("status") + @FieldName("status") private String status; - @JsonProperty("progressDetail") + @FieldName("progressDetail") private ProgressDetail progressDetail; @Deprecated - @JsonProperty("progress") + @FieldName("progress") private String progress; - @JsonProperty("id") + @FieldName("id") private String id; - @JsonProperty("from") + @FieldName("from") private String from; - @JsonProperty("time") + @FieldName("time") private Long time; - @JsonProperty("errorDetail") + @FieldName("errorDetail") private ErrorDetail errorDetail; @Deprecated - @JsonProperty("error") + @FieldName("error") private String error; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("aux") + @FieldName("aux") private AuxDetail aux; @CheckForNull @@ -110,7 +109,6 @@ public AuxDetail getAux() { * * @returns true: the error field indicates an error, false: the error field doesn't indicate an error */ - @JsonIgnore public boolean isErrorIndicated() { // check both the deprecated and current error fields, just in case return getError() != null || getErrorDetail() != null; @@ -121,13 +119,13 @@ public boolean isErrorIndicated() { public static class ProgressDetail implements Serializable { private static final long serialVersionUID = -1954994695645715264L; - @JsonProperty("current") + @FieldName("current") Long current; - @JsonProperty("total") + @FieldName("total") Long total; - @JsonProperty("start") + @FieldName("start") Long start; @CheckForNull @@ -151,10 +149,10 @@ public Long getStart() { public static class ErrorDetail implements Serializable { private static final long serialVersionUID = -9136704865403084083L; - @JsonProperty("code") + @FieldName("code") Integer code; - @JsonProperty("message") + @FieldName("message") String message; @CheckForNull @@ -173,13 +171,13 @@ public String getMessage() { public static class AuxDetail implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Size") + @FieldName("Size") private Integer size; - @JsonProperty("Tag") + @FieldName("Tag") private String tag; - @JsonProperty("Digest") + @FieldName("Digest") private String digest; @CheckForNull diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java index 114d9f0d8..25aabb2bd 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import java.io.Serializable; @@ -30,10 +30,10 @@ public class RestartPolicy implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("MaximumRetryCount") + @FieldName("MaximumRetryCount") private Integer maximumRetryCount = 0; - @JsonProperty("Name") + @FieldName("Name") private String name = ""; public RestartPolicy() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java index a77f38053..2d04339a7 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,19 +16,19 @@ public class SearchItem implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("star_count") + @FieldName("star_count") private Integer starCount; - @JsonProperty("is_official") + @FieldName("is_official") private Boolean isOfficial; - @JsonProperty("is_trusted") + @FieldName("is_trusted") private Boolean isTrusted; - @JsonProperty("name") + @FieldName("name") private String name; - @JsonProperty("description") + @FieldName("description") private String description; public Integer getStarCount() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java index 20680f5fb..bc3766b97 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.io.Serializable; import java.util.Date; @@ -16,31 +16,31 @@ public class Secret implements Serializable { /** * @since 1.24 */ - @JsonProperty("ID") + @FieldName("ID") private String id; /** * @since 1.24 */ - @JsonProperty("CreatedAt") + @FieldName("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @JsonProperty("UpdatedAt") + @FieldName("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @JsonProperty("Spec") + @FieldName("Spec") private ServiceSpec spec; /** * @since 1.24 */ - @JsonProperty("Version") + @FieldName("Version") private ResourceVersion version; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java index 572c0c90e..04a7de0b1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,19 +20,19 @@ public class SecretSpec implements Serializable { /** * @since 1.25 */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since 1.25 */ - @JsonProperty("Data") + @FieldName("Data") private String data; /** * @since 1.25 */ - @JsonProperty("Labels") + @FieldName("Labels") private Map labels; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java index 63b3b4757..ef141b5dd 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -21,43 +21,43 @@ public class Service implements Serializable { /** * @since 1.24 */ - @JsonProperty("ID") + @FieldName("ID") private String id; /** * @since 1.24 */ - @JsonProperty("CreatedAt") + @FieldName("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @JsonProperty("UpdatedAt") + @FieldName("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @JsonProperty("Spec") + @FieldName("Spec") private ServiceSpec spec; /** * @since 1.24 */ - @JsonProperty("Endpoint") + @FieldName("Endpoint") private Endpoint endpoint; /** * @since 1.24 */ - @JsonProperty("UpdateStatus") + @FieldName("UpdateStatus") private ServiceUpdateStatus updateStatus; /** * @since 1.24 */ - @JsonProperty("Version") + @FieldName("Version") private ResourceVersion version; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java index c179271bf..7790d3578 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class ServiceModeConfig implements Serializable { /** * @since 1.24 */ - @JsonProperty("Replicated") + @FieldName("Replicated") private ServiceReplicatedModeOptions replicated; /** * @since 1.24 */ - @JsonProperty("Global") + @FieldName("Global") private ServiceGlobalModeOptions global; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java index 9c2f0223a..d98eff709 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class ServicePlacement implements Serializable { /** * @since 1.24 */ - @JsonProperty("Constraints") + @FieldName("Constraints") private List constraints; /** * @since 1.30 */ - @JsonProperty("Platforms") + @FieldName("Platforms") private List platforms; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java index c28a09370..1d394c14d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,7 +17,7 @@ public class ServiceReplicatedModeOptions implements Serializable { /** * @since 1.24 */ - @JsonProperty("Replicas") + @FieldName("Replicas") private long replicas; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java index 639c84b2c..cb89e1f34 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum ServiceRestartCondition { - @JsonProperty("on-failure") + @FieldName("on-failure") ON_FAILURE, - @JsonProperty("any") + @FieldName("any") ANY, - @JsonProperty("none") + @FieldName("none") NONE } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java index 8b55315e0..5e41986cc 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,25 +18,25 @@ public class ServiceRestartPolicy implements Serializable { /** * @since 1.24 */ - @JsonProperty("Condition") + @FieldName("Condition") private ServiceRestartCondition condition; /** * @since 1.24 */ - @JsonProperty("Delay") + @FieldName("Delay") private Long delay; /** * @since 1.24 */ - @JsonProperty("MaxAttempts") + @FieldName("MaxAttempts") private Long maxAttempts; /** * @since 1.24 */ - @JsonProperty("Window") + @FieldName("Window") private Long window; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java index b5ca4a5dd..7d5356ecd 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,49 +20,49 @@ public class ServiceSpec implements Serializable { /** * @since 1.24 */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since 1.24 */ - @JsonProperty("TaskTemplate") + @FieldName("TaskTemplate") private TaskSpec taskTemplate; /** * @since 1.24 */ - @JsonProperty("Mode") + @FieldName("Mode") private ServiceModeConfig mode; /** * @since 1.24 */ - @JsonProperty("UpdateConfig") + @FieldName("UpdateConfig") private UpdateConfig updateConfig; /** * @since 1.24 */ - @JsonProperty("Networks") + @FieldName("Networks") private List networks; /** * @since 1.24 */ - @JsonProperty("EndpointSpec") + @FieldName("EndpointSpec") private EndpointSpec endpointSpec; /** * @since 1.24 */ - @JsonProperty("Labels") + @FieldName("Labels") private Map labels; /** * @since 1.28 */ - @JsonProperty("RollbackConfig") + @FieldName("RollbackConfig") private UpdateConfig rollbackConfig; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java index e748bbd4a..7dd0f6b20 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java @@ -1,20 +1,20 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum ServiceUpdateState { - @JsonProperty("updating") + @FieldName("updating") UPDATING, - @JsonProperty("paused") + @FieldName("paused") PAUSED, - @JsonProperty("completed") + @FieldName("completed") COMPLETED, - @JsonProperty("rollback_completed") + @FieldName("rollback_completed") ROLLBACK_COMPLETED } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java index ee457d9f8..3dc989c2c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,25 +19,25 @@ public class ServiceUpdateStatus implements Serializable { /** * @since 1.24 */ - @JsonProperty("State") + @FieldName("State") private ServiceUpdateState state; /** * @since 1.24 */ - @JsonProperty("StartedAt") + @FieldName("StartedAt") private Date startedAt; /** * @since 1.24 */ - @JsonProperty("CompletedAt") + @FieldName("CompletedAt") private Date completedAt; /** * @since 1.24 */ - @JsonProperty("Message") + @FieldName("Message") private String message; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java index d22b6a787..518d75d17 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,28 +17,28 @@ public class StatisticNetworksConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("rx_bytes") + @FieldName("rx_bytes") private Long rxBytes; - @JsonProperty("rx_dropped") + @FieldName("rx_dropped") private Long rxDropped; - @JsonProperty("rx_errors") + @FieldName("rx_errors") private Long rxErrors; - @JsonProperty("rx_packets") + @FieldName("rx_packets") private Long rxPackets; - @JsonProperty("tx_bytes") + @FieldName("tx_bytes") private Long txBytes; - @JsonProperty("tx_dropped") + @FieldName("tx_dropped") private Long txDropped; - @JsonProperty("tx_errors") + @FieldName("tx_errors") private Long txErrors; - @JsonProperty("tx_packets") + @FieldName("tx_packets") private Long txPackets; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java index 2bbc91777..5a2ec7d9d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java @@ -5,7 +5,7 @@ import javax.annotation.CheckForNull; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,42 +17,42 @@ public class Statistics implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("read") + @FieldName("read") private String read; /** * @since Docker Remote API 1.21 */ @CheckForNull - @JsonProperty("networks") + @FieldName("networks") private Map networks; /** * @deprecated as of Docker Remote API 1.21, replaced by {@link #networks} */ @Deprecated - @JsonProperty("network") + @FieldName("network") private Map network; - @JsonProperty("memory_stats") + @FieldName("memory_stats") private MemoryStatsConfig memoryStats; - @JsonProperty("blkio_stats") + @FieldName("blkio_stats") private BlkioStatsConfig blkioStats; - @JsonProperty("cpu_stats") + @FieldName("cpu_stats") private CpuStatsConfig cpuStats; /** * @since Docker Remote API 1.19 */ - @JsonProperty("precpu_stats") + @FieldName("precpu_stats") private CpuStatsConfig preCpuStats; /** * @since Docker Remote API 1.23 */ - @JsonProperty("pids_stats") + @FieldName("pids_stats") private PidsStatsConfig pidsStats; public String getRead() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java index 19b95a7ff..7a80d89d3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -8,106 +8,106 @@ public class StatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("active_anon") + @FieldName("active_anon") private Long activeAnon; - @JsonProperty("active_file") + @FieldName("active_file") private Long activeFile; - @JsonProperty("cache") + @FieldName("cache") private Long cache; - @JsonProperty("dirty") + @FieldName("dirty") private Long dirty; - @JsonProperty("hierarchical_memory_limit") + @FieldName("hierarchical_memory_limit") private Long hierarchicalMemoryLimit; - @JsonProperty("hierarchical_memsw_limit") + @FieldName("hierarchical_memsw_limit") private Long hierarchicalMemswLimit; - @JsonProperty("inactive_anon") + @FieldName("inactive_anon") private Long inactiveAnon; - @JsonProperty("inactive_file") + @FieldName("inactive_file") private Long inactiveFile; - @JsonProperty("mapped_file") + @FieldName("mapped_file") private Long mappedFile; - @JsonProperty("pgfault") + @FieldName("pgfault") private Long pgfault; - @JsonProperty("pgmajfault") + @FieldName("pgmajfault") private Long pgmajfault; - @JsonProperty("pgpgin") + @FieldName("pgpgin") private Long pgpgin; - @JsonProperty("pgpgout") + @FieldName("pgpgout") private Long pgpgout; - @JsonProperty("rss") + @FieldName("rss") private Long rss; - @JsonProperty("rss_huge") + @FieldName("rss_huge") private Long rssHuge; - @JsonProperty("swap") + @FieldName("swap") private Long swap; - @JsonProperty("total_active_anon") + @FieldName("total_active_anon") private Long totalActiveAnon; - @JsonProperty("total_active_file") + @FieldName("total_active_file") private Long totalActiveFile; - @JsonProperty("total_cache") + @FieldName("total_cache") private Long totalCache; - @JsonProperty("total_dirty") + @FieldName("total_dirty") private Long totalDirty; - @JsonProperty("total_inactive_anon") + @FieldName("total_inactive_anon") private Long totalInactiveAnon; - @JsonProperty("total_inactive_file") + @FieldName("total_inactive_file") private Long totalInactiveFile; - @JsonProperty("total_mapped_file") + @FieldName("total_mapped_file") private Long totalMappedFile; - @JsonProperty("total_pgfault") + @FieldName("total_pgfault") private Long totalPgfault; - @JsonProperty("total_pgmajfault") + @FieldName("total_pgmajfault") private Long totalPgmajfault; - @JsonProperty("total_pgpgin") + @FieldName("total_pgpgin") private Long totalPgpgin; - @JsonProperty("total_pgpgout") + @FieldName("total_pgpgout") private Long totalPgpgout; - @JsonProperty("total_rss") + @FieldName("total_rss") private Long totalRss; - @JsonProperty("total_rss_huge") + @FieldName("total_rss_huge") private Long totalRssHuge; - @JsonProperty("total_swap") + @FieldName("total_swap") private Long totalSwap; - @JsonProperty("total_unevictable") + @FieldName("total_unevictable") private Long totalUnevictable; - @JsonProperty("total_writeback") + @FieldName("total_writeback") private Long totalWriteback; - @JsonProperty("unevictable") + @FieldName("unevictable") private Long unevictable; - @JsonProperty("writeback") + @FieldName("writeback") private Long writeback; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java index 0554c53f1..00b907220 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.util.Date; @@ -14,7 +14,7 @@ public class Swarm extends ClusterInfo { /** * @since 1.24 */ - @JsonProperty("JoinTokens") + @FieldName("JoinTokens") private SwarmJoinTokens joinTokens; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java index 6f632aa1b..36e32f24a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,13 +20,13 @@ public class SwarmCAConfig implements Serializable { /** * @since 1.24 */ - @JsonProperty("NodeCertExpiry") + @FieldName("NodeCertExpiry") private Long nodeCertExpiry; /** * @since 1.24 */ - @JsonProperty("ExternalCAs") + @FieldName("ExternalCAs") private List externalCA; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java index bc8fd4305..5d5c50c4d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,7 +20,7 @@ public class SwarmDispatcherConfig implements Serializable { /** * @since 1.24 */ - @JsonProperty("HeartbeatPeriod") + @FieldName("HeartbeatPeriod") private Long heartbeatPeriod; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java index 3fd8e8704..3f8721ae6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,55 +19,55 @@ public class SwarmInfo implements Serializable { /** * @since 1.24 */ - @JsonProperty("NodeID") + @FieldName("NodeID") private String nodeID; /** * @since 1.24 */ - @JsonProperty("NodeAddr") + @FieldName("NodeAddr") private String nodeAddr; /** * @since 1.24 */ - @JsonProperty("LocalNodeState") + @FieldName("LocalNodeState") private LocalNodeState localNodeState; /** * @since 1.24 */ - @JsonProperty("ControlAvailable") + @FieldName("ControlAvailable") private Boolean controlAvailable; /** * @since 1.24 */ - @JsonProperty("Error") + @FieldName("Error") private String error; /** * @since 1.24 */ - @JsonProperty("RemoteManagers") + @FieldName("RemoteManagers") private List remoteManagers; /** * @since 1.24 */ - @JsonProperty("Nodes") + @FieldName("Nodes") private Integer nodes; /** * @since 1.24 */ - @JsonProperty("Managers") + @FieldName("Managers") private Integer managers; /** * @since 1.24 */ - @JsonProperty("ClusterInfo") + @FieldName("ClusterInfo") private ClusterInfo clusterInfo; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java index 06b1f3a78..444a81893 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmJoinTokens implements Serializable { /** * @since 1.24 */ - @JsonProperty("Worker") + @FieldName("Worker") private String worker; /** * @since 1.24 */ - @JsonProperty("Manager") + @FieldName("Manager") private String manager; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java index cdb17c20d..9a749d2b3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -22,49 +22,49 @@ public class SwarmNode implements Serializable { /** * @since 1.24 */ - @JsonProperty("ID") + @FieldName("ID") private String id; /** * @since 1.24 */ - @JsonProperty("Version") + @FieldName("Version") private ObjectVersion version; /** * @since 1.24 */ - @JsonProperty("CreatedAt") + @FieldName("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @JsonProperty("UpdatedAt") + @FieldName("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @JsonProperty("Spec") + @FieldName("Spec") private SwarmNodeSpec spec; /** * @since 1.24 */ - @JsonProperty("Description") + @FieldName("Description") private SwarmNodeDescription description; /** * @since 1.24 */ - @JsonProperty("Status") + @FieldName("Status") private SwarmNodeStatus status; /** * @since 1.24 */ - @JsonProperty("ManagerStatus") + @FieldName("ManagerStatus") private SwarmNodeManagerStatus managerStatus; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java index 1ab24146f..33bc40da6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java @@ -1,18 +1,18 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum SwarmNodeAvailability { - @JsonProperty("active") + @FieldName("active") ACTIVE, - @JsonProperty("pause") + @FieldName("pause") PAUSE, - @JsonProperty("drain") + @FieldName("drain") DRAIN } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java index d0c35c873..f59b557de 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,25 +18,25 @@ public class SwarmNodeDescription implements Serializable { /** * @since 1.24 */ - @JsonProperty("Hostname") + @FieldName("Hostname") private String hostname; /** * @since 1.24 */ - @JsonProperty("Platform") + @FieldName("Platform") private SwarmNodePlatform platform; /** * @since 1.24 */ - @JsonProperty("Resources") + @FieldName("Resources") private SwarmNodeResources resources; /** * @since 1.24 */ - @JsonProperty("Engine") + @FieldName("Engine") private SwarmNodeEngineDescription engine; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java index 41c369d09..e87017616 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,19 +20,19 @@ public class SwarmNodeEngineDescription implements Serializable { /** * @since 1.24 */ - @JsonProperty("EngineVersion") + @FieldName("EngineVersion") private String engineVersion; /** * @since 1.24 */ - @JsonProperty("Labels") + @FieldName("Labels") private Map labels; /** * @since 1.24 */ - @JsonProperty("Plugins") + @FieldName("Plugins") private SwarmNodePluginDescription[] plugins; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java index 07a0e448b..1c852c332 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,19 +19,19 @@ public class SwarmNodeManagerStatus implements Serializable { /** * @since 1.24 */ - @JsonProperty("Leader") + @FieldName("Leader") private boolean leader; /** * @since 1.24 */ - @JsonProperty("Reachability") + @FieldName("Reachability") private Reachability reachability; /** * @since 1.24 */ - @JsonProperty("Addr") + @FieldName("Addr") private String addr; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java index 3b3747d5f..206994e7c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmNodePlatform implements Serializable { /** * @since 1.24 */ - @JsonProperty("Architecture") + @FieldName("Architecture") private String architecture; /** * @since 1.24 */ - @JsonProperty("OS") + @FieldName("OS") private String os; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java index d05bfb9c9..b3df2d6bd 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmNodePluginDescription implements Serializable { /** * @since 1.24 */ - @JsonProperty("Type") + @FieldName("Type") private String type; /** * @since 1.24 */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java index 05f6d0203..e9466c708 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmNodeResources implements Serializable { /** * @since 1.24 */ - @JsonProperty("NanoCPUs") + @FieldName("NanoCPUs") private Long nanoCPUs; /** * @since 1.24 */ - @JsonProperty("MemoryBytes") + @FieldName("MemoryBytes") private Long memoryBytes; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java index 224fd70f5..5a75fc0b1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java @@ -1,15 +1,15 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum SwarmNodeRole { - @JsonProperty("worker") + @FieldName("worker") WORKER, - @JsonProperty("manager") + @FieldName("manager") MANAGER } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java index 5162bdff7..f9a5e76d1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,25 +20,25 @@ public class SwarmNodeSpec implements Serializable { /** * @since 1.24 */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** * @since 1.24 */ - @JsonProperty("Role") + @FieldName("Role") private SwarmNodeRole role; /** * @since 1.24 */ - @JsonProperty("Availability") + @FieldName("Availability") private SwarmNodeAvailability availability; /** * @since 1.24 */ - @JsonProperty("Labels") + @FieldName("Labels") public Map labels; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java index 6a2776716..62882172e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java @@ -1,21 +1,21 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum SwarmNodeState { - @JsonProperty("unknown") + @FieldName("unknown") UNKNOWN, - @JsonProperty("down") + @FieldName("down") DOWN, - @JsonProperty("ready") + @FieldName("ready") READY, - @JsonProperty("disconnected") + @FieldName("disconnected") DISCONNECTED } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java index ba99a194a..dfe089025 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class SwarmNodeStatus implements Serializable { /** * @since 1.24 */ - @JsonProperty("State") + @FieldName("State") private SwarmNodeState state; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java index 35cbba491..ced0c023d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,7 +20,7 @@ public class SwarmNodeVersion implements Serializable { /** * @since 1.24 */ - @JsonProperty("Index") + @FieldName("Index") private long index; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java index 60cc1f32d..c8fcfefaf 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class SwarmOrchestration implements Serializable { /** * @since 1.24 */ - @JsonProperty("TaskHistoryRetentionLimit") + @FieldName("TaskHistoryRetentionLimit") private int taskHistoryRententionLimit; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java index 16553defc..8c83162ef 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,25 +19,25 @@ public class SwarmRaftConfig implements Serializable { /** * @since 1.24 */ - @JsonProperty("LogEntriesForSlowFollowers") + @FieldName("LogEntriesForSlowFollowers") private long logEntriesForSlowFollowers; /** * @since 1.24 */ - @JsonProperty("HeartbeatTick") + @FieldName("HeartbeatTick") private int heartbeatTick; /** * @since 1.24 */ - @JsonProperty("SnapshotInterval") + @FieldName("SnapshotInterval") private long snapshotInterval; /** * @since 1.24 */ - @JsonProperty("ElectionTick") + @FieldName("ElectionTick") private int electionTick; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java index bbc8f6db6..33412366b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,38 +20,38 @@ public class SwarmSpec implements Serializable { /** * @since 1.24 */ - @JsonProperty("Dispatcher") + @FieldName("Dispatcher") private SwarmDispatcherConfig dispatcher; /** * @since 1.24 */ - @JsonProperty("Orchestration") + @FieldName("Orchestration") private SwarmOrchestration orchestration; /** * @since 1.24 */ - @JsonProperty("CAConfig") + @FieldName("CAConfig") private SwarmCAConfig caConfig; /** * @since 1.24 */ - @JsonProperty("Raft") + @FieldName("Raft") private SwarmRaftConfig raft; /** * @since 1.24 */ - @JsonProperty("TaskDefaults") + @FieldName("TaskDefaults") private TaskDefaults taskDefaults; /** * @since 1.24 */ - @JsonProperty("Name") + @FieldName("Name") private String name; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java index 2d7fc3e43..e74d3638c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class SwarmVersion implements Serializable { /** * @since 1.24 */ - @JsonProperty("Index") + @FieldName("Index") private long index; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java index 46585eed8..170a246c0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,43 +16,43 @@ public class Task implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("ID") + @FieldName("ID") private String id = null; - @JsonProperty("Version") + @FieldName("Version") private ObjectVersion version = null; - @JsonProperty("CreatedAt") + @FieldName("CreatedAt") private String createdAt = null; - @JsonProperty("UpdatedAt") + @FieldName("UpdatedAt") private String updatedAt = null; - @JsonProperty("Name") + @FieldName("Name") private String name = null; - @JsonProperty("Labels") + @FieldName("Labels") private Map labels = null; - @JsonProperty("Spec") + @FieldName("Spec") private TaskSpec spec = null; - @JsonProperty("ServiceID") + @FieldName("ServiceID") private String serviceId = null; - @JsonProperty("Slot") + @FieldName("Slot") private Integer slot = null; - @JsonProperty("NodeID") + @FieldName("NodeID") private String nodeId = null; - @JsonProperty("AssignedGenericResources") + @FieldName("AssignedGenericResources") private List assignedGenericResources = null; - @JsonProperty("Status") + @FieldName("Status") private TaskStatus status = null; - @JsonProperty("DesiredState") + @FieldName("DesiredState") private TaskState desiredState = null; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java index c385bd1b9..d3142a02b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,7 +20,7 @@ public class TaskDefaults implements Serializable { /** * @since 1.24 */ - @JsonProperty("LogDriver") + @FieldName("LogDriver") private Driver logDriver; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java index bef5e579d..811f64a9e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,31 +19,31 @@ public class TaskSpec implements Serializable { /** * @since 1.24 */ - @JsonProperty("ContainerSpec") + @FieldName("ContainerSpec") private ContainerSpec containerSpec; /** * @since 1.24 */ - @JsonProperty("Resources") + @FieldName("Resources") private ResourceRequirements resources; /** * @since 1.24 */ - @JsonProperty("RestartPolicy") + @FieldName("RestartPolicy") private ServiceRestartPolicy restartPolicy; /** * @since 1.24 */ - @JsonProperty("Placement") + @FieldName("Placement") private ServicePlacement placement; /** * @since 1.24 */ - @JsonProperty("LogDriver") + @FieldName("LogDriver") private Driver logDriver; /** @@ -51,19 +51,19 @@ public class TaskSpec implements Serializable { * a counter that triggers an update even if no relevant parameters have been changed * a random value will work if it is incrementing. */ - @JsonProperty("ForceUpdate") + @FieldName("ForceUpdate") private Integer forceUpdate; /** * @since 1.25 */ - @JsonProperty("Networks") + @FieldName("Networks") private List networks; /** * @since 1.30 */ - @JsonProperty("Runtime") + @FieldName("Runtime") private String runtime; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java index 0a2cb55d8..06300c52a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonCreator; +import com.github.dockerjava.api.annotation.FromPrimitive; /** * @since {@link RemoteApiVersion#VERSION_1_24} @@ -47,7 +47,7 @@ public String getValue() { return value; } - @JsonCreator + @FromPrimitive public static TaskState forValue(String s) { return TaskState.valueOf(s.toUpperCase()); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java index a335350e4..1e57ea84b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,19 +14,19 @@ public class TaskStatus implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Timestamp") + @FieldName("Timestamp") private String timestamp = null; - @JsonProperty("State") + @FieldName("State") private TaskState state = null; - @JsonProperty("Message") + @FieldName("Message") private String message = null; - @JsonProperty("Err") + @FieldName("Err") private String err = null; - @JsonProperty("ContainerStatus") + @FieldName("ContainerStatus") private TaskStatusContainerStatus containerStatus = null; public String getTimestamp() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java index 0349e301f..8dc8dce72 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,13 +14,13 @@ public class TaskStatusContainerStatus implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("ContainerID") + @FieldName("ContainerID") private String containerID = null; - @JsonProperty("PID") + @FieldName("PID") private Long pid = null; - @JsonProperty("ExitCode") + @FieldName("ExitCode") private Long exitCode = null; public String getContainerID() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java index ce29b7057..b287bc81e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,13 +13,13 @@ public class ThrottlingDataConfig implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("periods") + @FieldName("periods") private Long periods; - @JsonProperty("throttled_periods") + @FieldName("throttled_periods") private Long throttledPeriods; - @JsonProperty("throttled_time") + @FieldName("throttled_time") private Long throttledTime; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java index b2dc02a30..b535b7d45 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -13,12 +13,12 @@ @ToString public class TmpfsOptions implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("SizeBytes") + @FieldName("SizeBytes") //The size for the tmpfs mount in bytes. private Long sizeBytes; //The permission mode for the tmpfs mount in an integer. - @JsonProperty("Mode") + @FieldName("Mode") private Integer mode; public Long getSizeBytes() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java index b71c8c40a..95f812bdf 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,13 +16,13 @@ public class Ulimit implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Soft") + @FieldName("Soft") private Integer soft; - @JsonProperty("Hard") + @FieldName("Hard") private Integer hard; public Ulimit() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java index ee5d4a740..713ab6a21 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,37 +18,37 @@ public class UpdateConfig implements Serializable { /** * @since 1.24 */ - @JsonProperty("Parallelism") + @FieldName("Parallelism") private Long parallelism; /** * @since 1.24 */ - @JsonProperty("Delay") + @FieldName("Delay") private Long delay; /** * @since 1.24 */ - @JsonProperty("FailureAction") + @FieldName("FailureAction") private UpdateFailureAction failureAction; /** * @since 1.25 */ - @JsonProperty("MaxFailureRatio") + @FieldName("MaxFailureRatio") private Float maxFailureRatio; /** * @since 1.25 */ - @JsonProperty("Monitor") + @FieldName("Monitor") private Long monitor; /** * @since 1.36 */ - @JsonProperty("Order") + @FieldName("Order") private UpdateOrder order; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java index 5b7b849b5..17290cbff 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import javax.annotation.CheckForNull; import java.util.List; @@ -15,7 +15,7 @@ public class UpdateContainerResponse extends ResponseItem { private static final long serialVersionUID = 1L; - @JsonProperty("Warnings") + @FieldName("Warnings") private List warnings; @CheckForNull diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java index f4b1fb009..710e2f52b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum UpdateFailureAction { - @JsonProperty("pause") + @FieldName("pause") PAUSE, - @JsonProperty("continue") + @FieldName("continue") CONTINUE, - @JsonProperty("rollback") + @FieldName("rollback") ROLLBACK } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java index 3f74388de..a3729fbc3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java @@ -1,14 +1,14 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; /** * @since {@link RemoteApiVersion#VERSION_1_36} */ public enum UpdateOrder { - @JsonProperty("stop-first") + @FieldName("stop-first") STOP_FIRST, - @JsonProperty("start-first") + @FieldName("start-first") START_FIRST } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java index 2ac89e88b..10906daf8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import com.github.dockerjava.api.command.VersionCmd; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,55 +20,55 @@ public class Version implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("ApiVersion") + @FieldName("ApiVersion") private String apiVersion; - @JsonProperty("Arch") + @FieldName("Arch") private String arch; - @JsonProperty("GitCommit") + @FieldName("GitCommit") private String gitCommit; - @JsonProperty("GoVersion") + @FieldName("GoVersion") private String goVersion; - @JsonProperty("KernelVersion") + @FieldName("KernelVersion") private String kernelVersion; - @JsonProperty("Os") + @FieldName("Os") private String operatingSystem; - @JsonProperty("Version") + @FieldName("Version") private String version; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @JsonProperty("BuildTime") + @FieldName("BuildTime") private String buildTime; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @JsonProperty("Experimental") + @FieldName("Experimental") private Boolean experimental; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @JsonProperty("MinAPIVersion") + @FieldName("MinAPIVersion") private String minAPIVersion; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_35} */ - @JsonProperty("Platform") + @FieldName("Platform") private VersionPlatform platform; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_35} */ - @JsonProperty("Components") + @FieldName("Components") private List components; public String getVersion() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java index bee6774ba..6cdd6ebeb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class VersionComponent implements Serializable { public static final long serialVersionUID = 1L; - @JsonProperty("Details") + @FieldName("Details") private Map details; - @JsonProperty("Name") + @FieldName("Name") private String name; - @JsonProperty("Version") + @FieldName("Version") private String version; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java index 96b389ef6..c09370407 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,7 +18,7 @@ public class VersionPlatform implements Serializable { public static final long serialVersionUID = 1L; - @JsonProperty("Name") + @FieldName("Name") private String name; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java index aad95a265..af249eaf3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java @@ -1,11 +1,12 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import lombok.EqualsAndHashCode; import javax.annotation.Nonnull; import java.io.Serializable; +import java.util.Map; /** * Represents a bind mounted volume in a Docker container. @@ -29,9 +30,9 @@ public class Volume implements Serializable { * @return a volume instance referring to the given path. */ @Nonnull - @JsonCreator - public static Volume parse(@JsonProperty("path") String path) { - return new Volume(path); + @FromPrimitive + public static Volume parse(Map primitive) { + return new Volume(primitive.get("path")); } private String path; @@ -50,6 +51,7 @@ public String getPath() { } @Override + @ToPrimitive public String toString() { return getPath(); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java index 3c1d4ab47..3570efbda 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java @@ -1,28 +1,13 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; -// This is not going to be serialized -@JsonDeserialize(using = VolumeBinds.Deserializer.class) -@JsonSerialize(using = VolumeBinds.Serializer.class) public class VolumeBinds implements Serializable { private static final long serialVersionUID = 1L; @@ -36,41 +21,21 @@ public VolumeBind[] getBinds() { return binds; } - public static final class Serializer extends JsonSerializer { - - @Override - public void serialize(VolumeBinds value, JsonGenerator jgen, SerializerProvider provider) throws IOException, - JsonProcessingException { - jgen.writeStartObject(); - for (final VolumeBind bind : value.binds) { - jgen.writeStringField(bind.getContainerPath(), bind.getHostPath()); - } - jgen.writeEndObject(); - } + @FromPrimitive + public static VolumeBinds fromPrimitive(Map primitive) { + return new VolumeBinds( + primitive.entrySet().stream() + .map(it -> new VolumeBind(it.getValue(), it.getKey())) + .toArray(VolumeBind[]::new) + ); } - public static final class Deserializer extends JsonDeserializer { - @Override - public VolumeBinds deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - - List binds = new ArrayList<>(); - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - for (Iterator> it = node.fields(); it.hasNext();) { - Map.Entry field = it.next(); - JsonNode value = field.getValue(); - if (!value.equals(NullNode.getInstance())) { - if (!value.isTextual()) { - throw deserializationContext.mappingException("Expected path for '" + field.getKey() - + "'in host but got '" + value + "'."); - } - VolumeBind bind = new VolumeBind(value.asText(), field.getKey()); - binds.add(bind); - } - } - return new VolumeBinds(binds.toArray(new VolumeBind[binds.size()])); - } + @ToPrimitive + public Map toPrimitive() { + return Stream.of(binds).collect(Collectors.toMap( + VolumeBind::getContainerPath, + VolumeBind::getHostPath + )); } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java index f0d98fc25..a98e51225 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,19 +18,19 @@ public class VolumeOptions implements Serializable { /** * @since 1.24 */ - @JsonProperty("NoCopy") + @FieldName("NoCopy") private Boolean noCopy; /** * @since 1.24 */ - @JsonProperty("Labels") + @FieldName("Labels") private Map labels; /** * @since 1.24 */ - @JsonProperty("DriverConfig") + @FieldName("DriverConfig") private Driver driverConfig; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java index 0c698ae6c..ff969e1f1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java @@ -1,21 +1,12 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; +import java.util.Collections; +import java.util.Map; import java.util.Map.Entry; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import lombok.EqualsAndHashCode; /** @@ -24,28 +15,26 @@ * @see Bind * @deprecated since {@link RemoteApiVersion#VERSION_1_20} */ -@JsonDeserialize(using = VolumeRW.Deserializer.class) -@JsonSerialize(using = VolumeRW.Serializer.class) @Deprecated @EqualsAndHashCode public class VolumeRW implements Serializable { private static final long serialVersionUID = 1L; - private Volume volume; + private String volume; private AccessMode accessMode = AccessMode.rw; public VolumeRW(Volume volume) { - this.volume = volume; + this.volume = volume.getPath(); } public VolumeRW(Volume volume, AccessMode accessMode) { - this.volume = volume; + this.volume = volume.getPath(); this.accessMode = accessMode; } public Volume getVolume() { - return volume; + return new Volume(volume); } public AccessMode getAccessMode() { @@ -63,35 +52,15 @@ public String toString() { return getVolume() + ":" + getAccessMode(); } - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(VolumeRW volumeRW, JsonGenerator jsonGen, SerializerProvider serProvider) - throws IOException, JsonProcessingException { - - jsonGen.writeStartObject(); - jsonGen.writeFieldName(volumeRW.getVolume().getPath()); - jsonGen.writeString(Boolean.toString(volumeRW.getAccessMode().toBoolean())); - jsonGen.writeEndObject(); - } - + @FromPrimitive + public static VolumeRW fromPrimitive(Map map) { + Entry entry = map.entrySet().iterator().next(); + return new VolumeRW(new Volume(entry.getKey()), AccessMode.fromBoolean(entry.getValue())); } - public static class Deserializer extends JsonDeserializer { - @Override - public VolumeRW deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - if (!node.equals(NullNode.getInstance())) { - Entry field = node.fields().next(); - String volume = field.getKey(); - AccessMode accessMode = AccessMode.fromBoolean(field.getValue().asBoolean()); - return new VolumeRW(new Volume(volume), accessMode); - } else { - return null; - } - } + @ToPrimitive + public Map toPrimitive() { + return Collections.singletonMap(volume, accessMode.toBoolean()); } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java index b6844b987..3e3d34051 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java @@ -1,80 +1,44 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; -@JsonSerialize(using = Volumes.Serializer.class) -@JsonDeserialize(using = Volumes.Deserializer.class) public class Volumes implements Serializable { private static final long serialVersionUID = 1L; - private Volume[] volumes; + private String[] volumes; public Volumes(Volume... volumes) { - this.volumes = volumes; + this.volumes = Stream.of(volumes).map(Volume::getPath).toArray(String[]::new); } public Volumes(List volumes) { - this.volumes = volumes.toArray(new Volume[volumes.size()]); + this.volumes = volumes.stream().map(Volume::getPath).toArray(String[]::new); } public Volume[] getVolumes() { - return volumes; + return Stream.of(volumes).map(Volume::new).toArray(Volume[]::new); } - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(Volumes volumes, JsonGenerator jsonGen, SerializerProvider serProvider) - throws IOException, JsonProcessingException { - - jsonGen.writeStartObject(); - for (Volume volume : volumes.getVolumes()) { - jsonGen.writeFieldName(volume.getPath()); - jsonGen.writeStartObject(); - jsonGen.writeEndObject(); - } - jsonGen.writeEndObject(); - } - + @FromPrimitive + public static Volumes fromPrimitive(Map map) { + return new Volumes( + map.keySet().stream().map(Volume::new).toArray(Volume[]::new) + ); } - public static class Deserializer extends JsonDeserializer { - @Override - public Volumes deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - - List volumes = new ArrayList<>(); - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - for (Iterator> it = node.fields(); it.hasNext();) { - - Map.Entry field = it.next(); - if (!field.getValue().equals(NullNode.getInstance())) { - String path = field.getKey(); - Volume volume = new Volume(path); - volumes.add(volume); - } - } - return new Volumes(volumes.toArray(new Volume[0])); - } + @ToPrimitive + public Map toPrimitive() { + return Stream.of(volumes).collect(Collectors.toMap( + it -> it, + __ -> new Object() + )); } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java index b70fa0384..d7a8f8498 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java @@ -1,23 +1,11 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; import lombok.EqualsAndHashCode; -@JsonSerialize(using = VolumesFrom.Serializer.class) -@JsonDeserialize(using = VolumesFrom.Deserializer.class) @EqualsAndHashCode public class VolumesFrom implements Serializable { private static final long serialVersionUID = 1L; @@ -52,6 +40,7 @@ public AccessMode getAccessMode() { * @throws IllegalArgumentException * if the specification cannot be parsed */ + @FromPrimitive public static VolumesFrom parse(String serialized) { try { String[] parts = serialized.split(":"); @@ -79,32 +68,9 @@ public static VolumesFrom parse(String serialized) { * @return a string representation of this {@link VolumesFrom} */ @Override + @ToPrimitive public String toString() { return container + ":" + accessMode.toString(); } - public static class Serializer extends JsonSerializer { - - @Override - public void serialize(VolumesFrom volumeFrom, JsonGenerator jsonGen, SerializerProvider serProvider) - throws IOException, JsonProcessingException { - - jsonGen.writeString(volumeFrom.toString()); - - } - - } - - public static class Deserializer extends JsonDeserializer { - @Override - public VolumesFrom deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - return VolumesFrom.parse(node.asText()); - - } - } - } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java index 8fcaffb8d..ab9aee2ea 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java @@ -1,28 +1,14 @@ package com.github.dockerjava.api.model; -import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.node.NullNode; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.ToPrimitive; // This is not going to be serialized -@JsonSerialize(using = VolumesRW.Serializer.class) -@JsonDeserialize(using = VolumesRW.Deserializer.class) public class VolumesRW implements Serializable { private static final long serialVersionUID = 1L; @@ -36,45 +22,20 @@ public VolumeRW[] getVolumesRW() { return volumesRW; } - public static final class Serializer extends JsonSerializer { - - @Override - public void serialize(VolumesRW value, JsonGenerator jgen, SerializerProvider provider) throws IOException, - JsonProcessingException { - jgen.writeStartObject(); - for (final VolumeRW volumeRW : value.volumesRW) { - jgen.writeBooleanField(volumeRW.getVolume().getPath(), volumeRW.getAccessMode().toBoolean()); - } - jgen.writeEndObject(); - } - + @FromPrimitive + public static VolumesRW fromPrimitive(Map map) { + return new VolumesRW( + map.entrySet().stream() + .map(entry -> new VolumeRW(new Volume(entry.getKey()), AccessMode.fromBoolean(entry.getValue()))) + .toArray(VolumeRW[]::new) + ); } - public static final class Deserializer extends JsonDeserializer { - @Override - public VolumesRW deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JsonProcessingException { - - List volumesRW = new ArrayList<>(); - ObjectCodec oc = jsonParser.getCodec(); - JsonNode node = oc.readTree(jsonParser); - - for (Iterator> it = node.fields(); it.hasNext();) { - Map.Entry field = it.next(); - JsonNode value = field.getValue(); - - if (!value.equals(NullNode.getInstance())) { - if (!value.isBoolean()) { - throw deserializationContext.mappingException("Expected access mode for '" + field.getKey() - + "' in host but got '" + value + "'."); - } - - VolumeRW bind = new VolumeRW(new Volume(field.getKey()), AccessMode.fromBoolean(value.asBoolean())); - volumesRW.add(bind); - } - } - return new VolumesRW(volumesRW.toArray(new VolumeRW[volumesRW.size()])); - } + @ToPrimitive + public Map toPrimitive() { + return Stream.of(volumesRW).collect(Collectors.toMap( + it -> it.getVolume().getPath(), + it -> it.getAccessMode().toBoolean() + )); } - } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java index d80343057..4373e2b5a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.github.dockerjava.api.annotation.FieldName; import java.io.Serializable; @@ -10,7 +10,7 @@ public class WaitResponse implements Serializable { private static final long serialVersionUID = 1L; - @JsonProperty("StatusCode") + @FieldName("StatusCode") private Integer statusCode; public Integer getStatusCode() { diff --git a/docker-java-core/pom.xml b/docker-java-core/pom.xml index df1a74d1e..3fa7ce306 100644 --- a/docker-java-core/pom.xml +++ b/docker-java-core/pom.xml @@ -46,6 +46,12 @@ ${commons-lang.version} + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + com.google.guava guava diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java index 226b95c05..867446232 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java @@ -5,8 +5,11 @@ import java.net.URI; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import com.github.dockerjava.api.model.AuthConfig; import com.github.dockerjava.api.model.AuthConfigurations; @@ -40,7 +43,7 @@ public interface DockerClientConfig { SSLConfig getSSLConfig(); default ObjectMapper getObjectMapper() { - return DefaultObjectMapperHolder.INSTANCE.getObjectMapper(); + return DefaultObjectMapperHolder.INSTANCE.getObjectMapper().copy(); } } @@ -49,8 +52,12 @@ enum DefaultObjectMapperHolder { private final ObjectMapper objectMapper = new ObjectMapper() // TODO .setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL) - // TODO .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS) - .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + .setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE) + .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY) + .setVisibility(PropertyAccessor.CREATOR, JsonAutoDetect.Visibility.ANY) + .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) + .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS) + .setAnnotationIntrospector(new DockerJavaJacksonAnnotationIntrospector()); public ObjectMapper getObjectMapper() { return objectMapper; diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java new file mode 100644 index 000000000..a1084cce5 --- /dev/null +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java @@ -0,0 +1,76 @@ +package com.github.dockerjava.core; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.PropertyName; +import com.fasterxml.jackson.databind.cfg.MapperConfig; +import com.fasterxml.jackson.databind.introspect.Annotated; +import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector; +import com.fasterxml.jackson.databind.util.ClassUtil; +import com.github.dockerjava.api.annotation.FromPrimitive; +import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.ToPrimitive; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +public class DockerJavaJacksonAnnotationIntrospector extends JacksonAnnotationIntrospector { + + @Override + public String[] findEnumValues(Class enumType, Enum[] enumValues, String[] names) { + Map expl = new HashMap<>(); + for (Field f : ClassUtil.getDeclaredFields(enumType)) { + if (!f.isEnumConstant()) { + continue; + } + FieldName prop = f.getAnnotation(FieldName.class); + if (prop != null) { + expl.put(f.getName(), prop.value()); + } + } + if (expl.isEmpty()) { + return super.findEnumValues(enumType, enumValues, names); + } + + for (int i = 0; i < enumValues.length; ++i) { + names[i] = expl.getOrDefault(enumValues[i].name(), names[i]); + } + return names; + } + + @Override + public JsonCreator.Mode findCreatorAnnotation(MapperConfig config, Annotated a) { + if (a.hasAnnotation(FromPrimitive.class)) { + return JsonCreator.Mode.DEFAULT; + } + return super.findCreatorAnnotation(config, a); + } + + @Override + public Boolean hasAsValue(Annotated a) { + if (a.hasAnnotation(ToPrimitive.class)) { + return true; + } + return super.hasAsValue(a); + } + + @Override + public PropertyName findNameForSerialization(Annotated a) { + FieldName fieldName = a.getAnnotation(FieldName.class); + if (fieldName != null) { + return PropertyName.construct(fieldName.value()); + } + + return super.findNameForSerialization(a); + } + + @Override + public PropertyName findNameForDeserialization(Annotated a) { + FieldName fieldName = a.getAnnotation(FieldName.class); + if (fieldName != null) { + return PropertyName.construct(fieldName.value()); + } + + return super.findNameForDeserialization(a); + } +} diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java b/docker-java-core/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java index 7ad1c135a..0a849f4f3 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/async/JsonStreamProcessor.java @@ -9,10 +9,10 @@ import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; -import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import com.github.dockerjava.api.async.ResultCallback; +import com.github.dockerjava.core.DefaultDockerClientConfig; /** * @@ -30,7 +30,7 @@ public class JsonStreamProcessor implements ResponseStreamProcessor { @Deprecated public JsonStreamProcessor(Class clazz) { this( - new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES), + DefaultDockerClientConfig.createDefaultConfigBuilder().build().getObjectMapper(), clazz ); } diff --git a/docker-java-transport-jersey/src/main/java/com/github/dockerjava/jaxrs/filter/ResponseStatusExceptionFilter.java b/docker-java-transport-jersey/src/main/java/com/github/dockerjava/jaxrs/filter/ResponseStatusExceptionFilter.java index c0c6e3d48..d696bc800 100644 --- a/docker-java-transport-jersey/src/main/java/com/github/dockerjava/jaxrs/filter/ResponseStatusExceptionFilter.java +++ b/docker-java-transport-jersey/src/main/java/com/github/dockerjava/jaxrs/filter/ResponseStatusExceptionFilter.java @@ -9,7 +9,7 @@ import javax.ws.rs.client.ClientResponseFilter; import javax.ws.rs.core.MediaType; -import com.fasterxml.jackson.databind.DeserializationFeature; +import com.github.dockerjava.core.DefaultDockerClientConfig; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +40,7 @@ public class ResponseStatusExceptionFilter implements ClientResponseFilter { @Deprecated public ResponseStatusExceptionFilter() { - this(new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)); + this(DefaultDockerClientConfig.createDefaultConfigBuilder().build().getObjectMapper()); } public ResponseStatusExceptionFilter(ObjectMapper objectMapper) { diff --git a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyInvocationBuilder.java b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyInvocationBuilder.java index 7478b83f6..8830edb77 100644 --- a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyInvocationBuilder.java +++ b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyInvocationBuilder.java @@ -2,12 +2,11 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.exception.DockerClientException; import com.github.dockerjava.api.model.Frame; +import com.github.dockerjava.core.DefaultDockerClientConfig; import com.github.dockerjava.core.InvocationBuilder; import com.github.dockerjava.core.async.ResultCallbackTemplate; import com.github.dockerjava.netty.handler.FramedResponseStreamHandler; @@ -86,14 +85,14 @@ public void onNext(Void object) { @Deprecated public NettyInvocationBuilder(ChannelProvider channelProvider, String resource) { this( - new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES), + DefaultDockerClientConfig.createDefaultConfigBuilder().build().getObjectMapper(), channelProvider, resource ); } public NettyInvocationBuilder(ObjectMapper objectMapper, ChannelProvider channelProvider, String resource) { - this.objectMapper = objectMapper.copy().disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); + this.objectMapper = objectMapper; this.channelProvider = channelProvider; this.resource = resource; } diff --git a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyWebTarget.java b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyWebTarget.java index e209cd231..492308ad6 100644 --- a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyWebTarget.java +++ b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/NettyWebTarget.java @@ -12,8 +12,8 @@ import java.util.Objects; import java.util.Set; -import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.github.dockerjava.core.DefaultDockerClientConfig; import com.github.dockerjava.core.WebTarget; import com.google.common.collect.ImmutableSet; import io.netty.handler.codec.http.HttpConstants; @@ -50,7 +50,7 @@ public class NettyWebTarget implements WebTarget { @Deprecated public NettyWebTarget(ChannelProvider channelProvider, String host) { this( - new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES), + DefaultDockerClientConfig.createDefaultConfigBuilder().build().getObjectMapper(), channelProvider, host, ImmutableList.of(), diff --git a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonRequestHandler.java b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonRequestHandler.java index 963937061..30e1831f8 100644 --- a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonRequestHandler.java +++ b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonRequestHandler.java @@ -1,6 +1,6 @@ package com.github.dockerjava.netty.handler; -import com.fasterxml.jackson.databind.SerializationFeature; +import com.github.dockerjava.core.DefaultDockerClientConfig; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; @@ -17,11 +17,7 @@ @Deprecated public class JsonRequestHandler extends MessageToByteEncoder { - private ObjectMapper mapper = new ObjectMapper(); - - public JsonRequestHandler() { - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - } + private ObjectMapper mapper = DefaultDockerClientConfig.createDefaultConfigBuilder().build().getObjectMapper(); @Override protected void encode(ChannelHandlerContext ctx, Object msg, ByteBuf out) throws Exception { diff --git a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonResponseCallbackHandler.java b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonResponseCallbackHandler.java index b46d062f9..0d13bd306 100644 --- a/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonResponseCallbackHandler.java +++ b/docker-java-transport-netty/src/main/java/com/github/dockerjava/netty/handler/JsonResponseCallbackHandler.java @@ -1,7 +1,6 @@ package com.github.dockerjava.netty.handler; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.SerializationFeature; +import com.github.dockerjava.core.DefaultDockerClientConfig; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; @@ -26,9 +25,7 @@ public class JsonResponseCallbackHandler extends SimpleChannelInboundHandler< @Deprecated public JsonResponseCallbackHandler(TypeReference typeReference, ResultCallback callback) { this( - new ObjectMapper() - .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) - .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS), + DefaultDockerClientConfig.createDefaultConfigBuilder().build().getObjectMapper(), typeReference, callback ); diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/BindPropagationTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/BindPropagationTest.java new file mode 100644 index 000000000..25c9edd26 --- /dev/null +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/BindPropagationTest.java @@ -0,0 +1,24 @@ +package com.github.dockerjava.api.model; + +import com.github.dockerjava.test.serdes.JSONTestHelper; +import org.junit.Test; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +public class BindPropagationTest { + + @Test + public void toJson() throws Exception { + String value = JSONTestHelper.getMapper().writeValueAsString(BindPropagation.R_PRIVATE); + + assertThat(value, is("\"rprivate\"")); + } + + @Test + public void fromJson() throws Exception { + BindPropagation value = JSONTestHelper.getMapper().readValue("\"rprivate\"", BindPropagation.class); + + assertThat(value, is(BindPropagation.R_PRIVATE)); + } +} diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/BindsTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/BindsTest.java new file mode 100644 index 000000000..54ccb0e25 --- /dev/null +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/BindsTest.java @@ -0,0 +1,34 @@ +package com.github.dockerjava.api.model; + +import com.github.dockerjava.test.serdes.JSONTestHelper; +import org.junit.Test; + +import static org.hamcrest.Matchers.arrayContaining; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; + +public class BindsTest { + + @Test + public void usesToJson() throws Exception { + Binds binds = new Binds( + Bind.parse("/foo:/bar:rw"), + Bind.parse("/bip:/bop:ro") + ); + String json = JSONTestHelper.getMapper().writeValueAsString(binds); + + assertThat(json, is("[\"/foo:/bar:rw\",\"/bip:/bop:ro\"]")); + } + + @Test + public void usesFromJson() throws Exception { + Binds binds = JSONTestHelper.getMapper().readValue("[\"/foo:/bar:rw\",\"/bip:/bop:ro\"]", Binds.class); + + assertThat(binds, notNullValue()); + assertThat(binds.getBinds(), arrayContaining( + Bind.parse("/foo:/bar:rw"), + Bind.parse("/bip:/bop:ro") + )); + } +} diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/ExposedPortsTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/ExposedPortsTest.java new file mode 100644 index 000000000..c69e1f04f --- /dev/null +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/ExposedPortsTest.java @@ -0,0 +1,34 @@ +package com.github.dockerjava.api.model; + +import com.github.dockerjava.test.serdes.JSONTestHelper; +import org.junit.Test; + +import static org.hamcrest.Matchers.arrayContaining; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; + +public class ExposedPortsTest { + + @Test + public void usesToJson() throws Exception { + ExposedPorts ports = new ExposedPorts( + new ExposedPort(80), + new ExposedPort(123, InternetProtocol.UDP) + ); + String json = JSONTestHelper.getMapper().writeValueAsString(ports); + + assertThat(json, is("{\"80/tcp\":{},\"123/udp\":{}}")); + } + + @Test + public void usesFromJson() throws Exception { + ExposedPorts ports = JSONTestHelper.getMapper().readValue("{\"80/tcp\":{},\"123/udp\":{}}", ExposedPorts.class); + + assertThat(ports, notNullValue()); + assertThat(ports.getExposedPorts(), arrayContaining( + new ExposedPort(80), + new ExposedPort(123, InternetProtocol.UDP) + )); + } +} diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/LinksTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/LinksTest.java new file mode 100644 index 000000000..379744165 --- /dev/null +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/LinksTest.java @@ -0,0 +1,35 @@ +package com.github.dockerjava.api.model; + +import com.github.dockerjava.test.serdes.JSONTestHelper; +import org.junit.Test; + +import static org.hamcrest.Matchers.arrayContaining; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; + +public class LinksTest { + + @Test + public void usesToJson() throws Exception { + Links links = new Links( + new Link("/foo", "/bar"), + new Link("bip", "bop") + ); + String json = JSONTestHelper.getMapper().writeValueAsString(links); + + assertThat(json, is("[\"/foo:/bar\",\"bip:bop\"]")); + } + + @Test + public void usesFromJson() throws Exception { + Links links = JSONTestHelper.getMapper().readValue("[\"/foo:/bar\",\"bip:bop\"]", Links.class); + + assertThat(links, notNullValue()); + assertThat(links.getLinks(), arrayContaining( + new Link("foo", "bar"), + new Link("bip", "bop") + )); + } + +} diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/VolumeBindsTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/VolumeBindsTest.java index 0d509dbfa..f0ed49364 100644 --- a/docker-java/src/test/java/com/github/dockerjava/api/model/VolumeBindsTest.java +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/VolumeBindsTest.java @@ -6,10 +6,23 @@ import java.io.IOException; +import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; public class VolumeBindsTest { + @Test + public void usesToJson() throws Exception { + VolumeBinds binds = new VolumeBinds( + new VolumeBind("/bar", "/foo"), + new VolumeBind("/bop", "/bip") + ); + String json = JSONTestHelper.getMapper().writeValueAsString(binds); + + assertThat(json, is("{\"/foo\":\"/bar\",\"/bip\":\"/bop\"}")); + } + @Test public void t() throws IOException { String s = "{\"/data\":\"/some/path\"}"; diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/VolumesRWTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/VolumesRWTest.java new file mode 100644 index 000000000..53f1213ad --- /dev/null +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/VolumesRWTest.java @@ -0,0 +1,35 @@ +package com.github.dockerjava.api.model; + +import com.github.dockerjava.test.serdes.JSONTestHelper; +import org.junit.Test; + +import static org.hamcrest.Matchers.arrayContaining; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; + +public class VolumesRWTest { + + @Test + public void usesToJson() throws Exception { + VolumesRW volumes = new VolumesRW( + new VolumeRW(new Volume("/foo")), + new VolumeRW(new Volume("/bar"), AccessMode.ro) + ); + String json = JSONTestHelper.getMapper().writeValueAsString(volumes); + + assertThat(json, is("{\"/foo\":true,\"/bar\":false}")); + } + + @Test + public void usesFromJson() throws Exception { + VolumesRW volumes = JSONTestHelper.getMapper().readValue("{\"/foo\":true,\"/bar\":false}", VolumesRW.class); + + assertThat(volumes, notNullValue()); + assertThat(volumes.getVolumesRW(), arrayContaining( + new VolumeRW(new Volume("/foo")), + new VolumeRW(new Volume("/bar"), AccessMode.ro) + )); + } + +} diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/VolumesTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/VolumesTest.java new file mode 100644 index 000000000..3470e4963 --- /dev/null +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/VolumesTest.java @@ -0,0 +1,34 @@ +package com.github.dockerjava.api.model; + +import com.github.dockerjava.test.serdes.JSONTestHelper; +import org.junit.Test; + +import static org.hamcrest.Matchers.arrayContaining; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; + +public class VolumesTest { + + @Test + public void usesToJson() throws Exception { + Volumes volumes = new Volumes( + new Volume("/foo"), + new Volume("/bar") + ); + String json = JSONTestHelper.getMapper().writeValueAsString(volumes); + + assertThat(json, is("{\"/foo\":{},\"/bar\":{}}")); + } + + @Test + public void usesFromJson() throws Exception { + Volumes volumes = JSONTestHelper.getMapper().readValue("{\"/foo\":{},\"/bar\":{}}", Volumes.class); + + assertThat(volumes, notNullValue()); + assertThat(volumes.getVolumes(), arrayContaining( + new Volume("/foo"), + new Volume("/bar") + )); + } +} From 75f0681315c0ac304687e2f6125e7cc24d84c89a Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Thu, 21 Nov 2019 20:50:41 +0100 Subject: [PATCH 2/8] mark some command's fields as transient --- .../com/github/dockerjava/core/command/AbstrDockerCmd.java | 2 +- .../com/github/dockerjava/core/exec/AbstrDockerCmdExec.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java b/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java index b2c9d36ce..10e6b5212 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrDockerCmd.java @@ -21,7 +21,7 @@ public abstract class AbstrDockerCmd, RES_T> impl private static final Logger LOGGER = LoggerFactory.getLogger(AbstrDockerCmd.class); - protected DockerCmdSyncExec execution; + protected transient DockerCmdSyncExec execution; public AbstrDockerCmd(DockerCmdSyncExec execution) { checkNotNull(execution, "execution was not specified"); diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java b/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java index 78211bdec..761ac4b88 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java @@ -20,9 +20,9 @@ public abstract class AbstrDockerCmdExec { - private final DockerClientConfig dockerClientConfig; + private transient final DockerClientConfig dockerClientConfig; - private final WebTarget baseResource; + private transient final WebTarget baseResource; public AbstrDockerCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { checkNotNull(baseResource, "baseResource was not specified"); From d2bfd5f9d552b4d02a4be63e315a8daf0347a4e1 Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Thu, 21 Nov 2019 20:55:33 +0100 Subject: [PATCH 3/8] fix checkstyle --- .../com/github/dockerjava/core/exec/AbstrDockerCmdExec.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java b/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java index 761ac4b88..d1d2adc3e 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/exec/AbstrDockerCmdExec.java @@ -20,9 +20,9 @@ public abstract class AbstrDockerCmdExec { - private transient final DockerClientConfig dockerClientConfig; + private final transient DockerClientConfig dockerClientConfig; - private transient final WebTarget baseResource; + private final transient WebTarget baseResource; public AbstrDockerCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) { checkNotNull(baseResource, "baseResource was not specified"); From 0cc29637b87120e0991e2552da407694bcb1bce2 Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Thu, 21 Nov 2019 21:20:13 +0100 Subject: [PATCH 4/8] Make AbstrAsyncDockerCmd#execution transient --- .../com/github/dockerjava/core/command/AbstrAsyncDockerCmd.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrAsyncDockerCmd.java b/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrAsyncDockerCmd.java index 5849fc3fb..b576d7a05 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrAsyncDockerCmd.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/command/AbstrAsyncDockerCmd.java @@ -9,7 +9,7 @@ public abstract class AbstrAsyncDockerCmd, A_RES_T> implements AsyncDockerCmd { - protected DockerCmdAsyncExec execution; + protected transient DockerCmdAsyncExec execution; public AbstrAsyncDockerCmd(DockerCmdAsyncExec execution) { checkNotNull(execution, "execution was not specified"); From bf94e70fb362a1435837e5d4773fd2e529b822f3 Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Fri, 22 Nov 2019 09:11:00 +0100 Subject: [PATCH 5/8] Add `@IgnoredField` annotation --- .../dockerjava/api/annotation/IgnoredField.java | 11 +++++++++++ .../api/command/InspectContainerResponse.java | 3 +++ .../dockerjava/api/model/BuildResponseItem.java | 4 ++++ .../dockerjava/api/model/ContainerConfig.java | 2 ++ .../dockerjava/api/model/ContainerNetwork.java | 2 ++ .../github/dockerjava/api/model/HostConfig.java | 7 +++++++ .../com/github/dockerjava/api/model/LogConfig.java | 3 +++ .../dockerjava/api/model/PullResponseItem.java | 3 +++ .../github/dockerjava/api/model/ResponseItem.java | 2 ++ .../github/dockerjava/core/DockerClientConfig.java | 5 ----- .../DockerJavaJacksonAnnotationIntrospector.java | 6 ++++++ .../api/command/InspectContainerResponseTest.java | 14 +++++++++++++- 12 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java new file mode 100644 index 000000000..60459e61b --- /dev/null +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java @@ -0,0 +1,11 @@ +package com.github.dockerjava.api.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.FIELD, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface IgnoredField { +} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java index fbacf008b..8d4220ee5 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java @@ -1,6 +1,7 @@ package com.github.dockerjava.api.command; import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.IgnoredField; import com.github.dockerjava.api.model.ContainerConfig; import com.github.dockerjava.api.model.HostConfig; import com.github.dockerjava.api.model.NetworkSettings; @@ -159,6 +160,7 @@ public String getResolvConfPath() { return resolvConfPath; } + @IgnoredField public VolumeBind[] getVolumes() { return volumes == null ? null : volumes.getBinds(); } @@ -168,6 +170,7 @@ public VolumeBind[] getVolumes() { */ @Deprecated @CheckForNull + @IgnoredField public VolumeRW[] getVolumesRW() { return volumesRW == null ? null : volumesRW.getVolumesRW(); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java index a9f468432..70c6d5d86 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java @@ -1,5 +1,7 @@ package com.github.dockerjava.api.model; +import com.github.dockerjava.api.annotation.IgnoredField; + /** * Represents a build response stream item */ @@ -11,6 +13,7 @@ public class BuildResponseItem extends ResponseItem { /** * Returns whether the stream field indicates a successful build operation */ + @IgnoredField public boolean isBuildSuccessIndicated() { if (isErrorIndicated() || getStream() == null) { return false; @@ -19,6 +22,7 @@ public boolean isBuildSuccessIndicated() { return getStream().contains(BUILD_SUCCESS); } + @IgnoredField public String getImageId() { if (!isBuildSuccessIndicated()) { return null; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java index 401ead4fb..05fcbd175 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java @@ -1,6 +1,7 @@ package com.github.dockerjava.api.model; import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.IgnoredField; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -84,6 +85,7 @@ public class ContainerConfig implements Serializable { @FieldName("Healthcheck") private HealthCheck healthCheck; + @IgnoredField public ExposedPort[] getExposedPorts() { return exposedPorts != null ? exposedPorts.getExposedPorts() : null; } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java index 94a8ae361..0daf4569d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java @@ -1,6 +1,7 @@ package com.github.dockerjava.api.model; import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.IgnoredField; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -226,6 +227,7 @@ public ContainerNetwork withIpV6Gateway(String ipV6Gateway) { * @see #links */ @CheckForNull + @IgnoredField public Link[] getLinks() { return links == null ? new Link[0] : links.getLinks(); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java index c312a78ba..e39279258 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java @@ -1,6 +1,7 @@ package com.github.dockerjava.api.model; import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.IgnoredField; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -285,6 +286,7 @@ public static HostConfig newHostConfig() { @FieldName("ConsoleSize") private List consoleSize; + @IgnoredField public Bind[] getBinds() { return (binds == null) ? new Bind[0] : binds.getBinds(); } @@ -342,10 +344,12 @@ public String[] getExtraHosts() { return extraHosts; } + @IgnoredField public Link[] getLinks() { return (links == null) ? new Link[0] : links.getLinks(); } + @IgnoredField public LogConfig getLogConfig() { return (logConfig == null) ? new LogConfig() : logConfig; } @@ -535,6 +539,7 @@ public Map getTmpFs() { * Parse the network mode as specified at * {@see https://github.com/docker/engine-api/blob/master/types/container/hostconfig_unix.go} */ + @IgnoredField public boolean isUserDefinedNetwork() { return networkMode != null && !PREDEFINED_NETWORKS.contains(networkMode) && !networkMode.startsWith("container:"); } @@ -543,10 +548,12 @@ public String getRuntime() { return runtime; } + @IgnoredField public void setBinds(Bind... binds) { this.binds = new Binds(binds); } + @IgnoredField public void setLinks(Link... links) { this.links = new Links(links); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java index 3223dc5ec..595cadbd8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java @@ -2,6 +2,7 @@ import com.github.dockerjava.api.annotation.FromPrimitive; import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.IgnoredField; import com.github.dockerjava.api.annotation.ToPrimitive; import javax.annotation.CheckForNull; @@ -47,10 +48,12 @@ public LogConfig setType(LoggingType type) { return this; } + @IgnoredField public Map getConfig() { return config; } + @IgnoredField public LogConfig setConfig(Map config) { this.config = config; return this; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java index e64eb74b6..bd7ba79c4 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java @@ -1,5 +1,7 @@ package com.github.dockerjava.api.model; +import com.github.dockerjava.api.annotation.IgnoredField; + /** * Represents a pull response stream item */ @@ -22,6 +24,7 @@ public class PullResponseItem extends ResponseItem { * * @returns true: status indicates that pull was successful, false: status doesn't indicate a successful pull */ + @IgnoredField public boolean isPullSuccessIndicated() { if (isErrorIndicated() || getStatus() == null) { return false; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java index 2f91af2e3..b6b37f5c7 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java @@ -1,6 +1,7 @@ package com.github.dockerjava.api.model; import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.IgnoredField; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -109,6 +110,7 @@ public AuxDetail getAux() { * * @returns true: the error field indicates an error, false: the error field doesn't indicate an error */ + @IgnoredField public boolean isErrorIndicated() { // check both the deprecated and current error fields, just in case return getError() != null || getErrorDetail() != null; diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java index 867446232..b8037eac5 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java @@ -5,8 +5,6 @@ import java.net.URI; -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; @@ -52,9 +50,6 @@ enum DefaultObjectMapperHolder { private final ObjectMapper objectMapper = new ObjectMapper() // TODO .setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL) - .setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE) - .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY) - .setVisibility(PropertyAccessor.CREATOR, JsonAutoDetect.Visibility.ANY) .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS) .setAnnotationIntrospector(new DockerJavaJacksonAnnotationIntrospector()); diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java index a1084cce5..f1c3b33bb 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.util.ClassUtil; import com.github.dockerjava.api.annotation.FromPrimitive; import com.github.dockerjava.api.annotation.FieldName; +import com.github.dockerjava.api.annotation.IgnoredField; import com.github.dockerjava.api.annotation.ToPrimitive; import java.lang.reflect.Field; @@ -38,6 +39,11 @@ public String[] findEnumValues(Class enumType, Enum[] enumValues, String[] return names; } + @Override + protected boolean _isIgnorable(Annotated a) { + return a.hasAnnotation(IgnoredField.class) || super._isIgnorable(a); + } + @Override public JsonCreator.Mode findCreatorAnnotation(MapperConfig config, Annotated a) { if (a.hasAnnotation(FromPrimitive.class)) { diff --git a/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java b/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java index f19bb1663..563299fde 100644 --- a/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java +++ b/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java @@ -16,6 +16,7 @@ package com.github.dockerjava.api.command; import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.JsonNode; import com.github.dockerjava.api.model.ContainerNetwork; import com.github.dockerjava.api.model.Isolation; import com.github.dockerjava.api.model.Volume; @@ -39,6 +40,7 @@ import static org.hamcrest.core.IsNot.not; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; /** @@ -133,7 +135,17 @@ public void roundTrip_1_26b_full() throws IOException { @Test public void roundTrip_empty() throws IOException { - testRoundTrip(CommandJSONSamples.inspectContainerResponse_empty, InspectContainerResponse[].class); + String str = JSONTestHelper.readString(CommandJSONSamples.inspectContainerResponse_empty); + InspectContainerResponse[] item = JSONTestHelper.getMapper().readValue(str, InspectContainerResponse[].class); + assertNotNull(item); + String serialized1 = JSONTestHelper.getMapper().writerWithDefaultPrettyPrinter().writeValueAsString(item); + JsonNode json1 = JSONTestHelper.getMapper().readTree(serialized1); + InspectContainerResponse[] deserialized1 = JSONTestHelper.getMapper().readValue(serialized1, InspectContainerResponse[].class); + String serialized2 = JSONTestHelper.getMapper().writeValueAsString(deserialized1); + JsonNode json2 = JSONTestHelper.getMapper().readTree(serialized2); + InspectContainerResponse[] deserialized2 = JSONTestHelper.getMapper().readValue(serialized2, InspectContainerResponse[].class); + + assertEquals("JSONs must be equal after the second roundtrip", json2, json1); } @Test From 5810075442da710b0846f1acea3a8de526854866 Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Fri, 22 Nov 2019 09:18:17 +0100 Subject: [PATCH 6/8] revert test change --- .../api/command/InspectContainerResponseTest.java | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java b/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java index 563299fde..f19bb1663 100644 --- a/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java +++ b/docker-java/src/test/java/com/github/dockerjava/api/command/InspectContainerResponseTest.java @@ -16,7 +16,6 @@ package com.github.dockerjava.api.command; import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.JsonNode; import com.github.dockerjava.api.model.ContainerNetwork; import com.github.dockerjava.api.model.Isolation; import com.github.dockerjava.api.model.Volume; @@ -40,7 +39,6 @@ import static org.hamcrest.core.IsNot.not; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; /** @@ -135,17 +133,7 @@ public void roundTrip_1_26b_full() throws IOException { @Test public void roundTrip_empty() throws IOException { - String str = JSONTestHelper.readString(CommandJSONSamples.inspectContainerResponse_empty); - InspectContainerResponse[] item = JSONTestHelper.getMapper().readValue(str, InspectContainerResponse[].class); - assertNotNull(item); - String serialized1 = JSONTestHelper.getMapper().writerWithDefaultPrettyPrinter().writeValueAsString(item); - JsonNode json1 = JSONTestHelper.getMapper().readTree(serialized1); - InspectContainerResponse[] deserialized1 = JSONTestHelper.getMapper().readValue(serialized1, InspectContainerResponse[].class); - String serialized2 = JSONTestHelper.getMapper().writeValueAsString(deserialized1); - JsonNode json2 = JSONTestHelper.getMapper().readTree(serialized2); - InspectContainerResponse[] deserialized2 = JSONTestHelper.getMapper().readValue(serialized2, InspectContainerResponse[].class); - - assertEquals("JSONs must be equal after the second roundtrip", json2, json1); + testRoundTrip(CommandJSONSamples.inspectContainerResponse_empty, InspectContainerResponse[].class); } @Test From e07b2b0fdd17a167dd10317cde3a9dcc4d2b2dfe Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Tue, 3 Dec 2019 18:17:19 +0100 Subject: [PATCH 7/8] Use jackson-annotations --- docker-java-api/pom.xml | 6 + .../dockerjava/api/annotation/FieldName.java | 12 -- .../api/annotation/FromPrimitive.java | 11 -- .../api/annotation/IgnoredField.java | 11 -- .../api/annotation/ToPrimitive.java | 11 -- .../api/command/CreateContainerResponse.java | 6 +- .../api/command/CreateImageResponse.java | 4 +- .../api/command/CreateNetworkResponse.java | 6 +- .../api/command/CreateSecretResponse.java | 4 +- .../api/command/CreateServiceResponse.java | 4 +- .../api/command/CreateVolumeResponse.java | 8 +- .../api/command/ExecCreateCmdResponse.java | 4 +- .../dockerjava/api/command/GraphData.java | 12 +- .../dockerjava/api/command/GraphDriver.java | 6 +- .../dockerjava/api/command/HealthState.java | 8 +- .../api/command/HealthStateLog.java | 10 +- .../api/command/InspectContainerResponse.java | 112 ++++++------- .../api/command/InspectExecResponse.java | 38 ++--- .../api/command/InspectImageResponse.java | 38 ++--- .../api/command/InspectVolumeResponse.java | 8 +- .../api/command/ListVolumesResponse.java | 4 +- .../github/dockerjava/api/command/RootFS.java | 6 +- .../api/command/TopContainerResponse.java | 6 +- .../api/model/AuthConfigurations.java | 4 +- .../dockerjava/api/model/AuthResponse.java | 6 +- .../dockerjava/api/model/BindOptions.java | 4 +- .../dockerjava/api/model/BindPropagation.java | 14 +- .../github/dockerjava/api/model/Binds.java | 8 +- .../dockerjava/api/model/BlkioRateDevice.java | 6 +- .../dockerjava/api/model/BlkioStatEntry.java | 10 +- .../api/model/BlkioStatsConfig.java | 18 +-- .../api/model/BlkioWeightDevice.java | 6 +- .../api/model/BuildResponseItem.java | 6 +- .../dockerjava/api/model/ChangeLog.java | 6 +- .../dockerjava/api/model/ClusterInfo.java | 12 +- .../dockerjava/api/model/Container.java | 32 ++-- .../dockerjava/api/model/ContainerConfig.java | 50 +++--- .../api/model/ContainerDNSConfig.java | 8 +- .../api/model/ContainerHostConfig.java | 4 +- .../dockerjava/api/model/ContainerMount.java | 16 +- .../api/model/ContainerNetwork.java | 34 ++-- .../api/model/ContainerNetworkSettings.java | 4 +- .../dockerjava/api/model/ContainerPort.java | 10 +- .../dockerjava/api/model/ContainerSpec.java | 46 +++--- .../api/model/ContainerSpecConfig.java | 8 +- .../api/model/ContainerSpecFile.java | 10 +- .../api/model/ContainerSpecPrivileges.java | 6 +- .../ContainerSpecPrivilegesCredential.java | 6 +- ...ContainerSpecPrivilegesSELinuxContext.java | 12 +- .../api/model/ContainerSpecSecret.java | 8 +- .../dockerjava/api/model/CpuStatsConfig.java | 10 +- .../dockerjava/api/model/CpuUsageConfig.java | 10 +- .../github/dockerjava/api/model/Device.java | 8 +- .../github/dockerjava/api/model/Driver.java | 6 +- .../dockerjava/api/model/DriverStatus.java | 6 +- .../github/dockerjava/api/model/Endpoint.java | 8 +- .../api/model/EndpointResolutionMode.java | 6 +- .../dockerjava/api/model/EndpointSpec.java | 6 +- .../api/model/EndpointVirtualIP.java | 6 +- .../dockerjava/api/model/ErrorDetail.java | 4 +- .../dockerjava/api/model/ErrorResponse.java | 6 +- .../github/dockerjava/api/model/Event.java | 20 +-- .../dockerjava/api/model/EventActor.java | 6 +- .../dockerjava/api/model/EventType.java | 8 +- .../dockerjava/api/model/ExposedPort.java | 9 +- .../dockerjava/api/model/ExposedPorts.java | 8 +- .../dockerjava/api/model/ExternalCA.java | 8 +- .../api/model/ExternalCAProtocol.java | 4 +- .../dockerjava/api/model/GenericResource.java | 6 +- .../dockerjava/api/model/HealthCheck.java | 12 +- .../dockerjava/api/model/HostConfig.java | 150 +++++++++--------- .../github/dockerjava/api/model/Image.java | 14 +- .../com/github/dockerjava/api/model/Info.java | 106 ++++++------- .../api/model/InfoRegistryConfig.java | 16 +- .../dockerjava/api/model/Isolation.java | 8 +- .../github/dockerjava/api/model/Links.java | 8 +- .../dockerjava/api/model/LocalNodeState.java | 8 +- .../dockerjava/api/model/LogConfig.java | 20 +-- .../github/dockerjava/api/model/LxcConf.java | 6 +- .../api/model/MemoryStatsConfig.java | 12 +- .../github/dockerjava/api/model/Mount.java | 16 +- .../dockerjava/api/model/MountType.java | 8 +- .../github/dockerjava/api/model/Network.java | 46 +++--- .../api/model/NetworkAttachmentConfig.java | 6 +- .../dockerjava/api/model/NetworkSettings.java | 40 ++--- .../com/github/dockerjava/api/model/Node.java | 10 +- .../dockerjava/api/model/ObjectVersion.java | 4 +- .../github/dockerjava/api/model/PeerNode.java | 6 +- .../dockerjava/api/model/PidsStatsConfig.java | 4 +- .../dockerjava/api/model/PortConfig.java | 16 +- .../api/model/PortConfigProtocol.java | 6 +- .../github/dockerjava/api/model/Ports.java | 8 +- .../dockerjava/api/model/PruneResponse.java | 4 +- .../api/model/PullResponseItem.java | 4 +- .../dockerjava/api/model/Reachability.java | 8 +- .../api/model/ResourceRequirements.java | 6 +- .../dockerjava/api/model/ResourceSpecs.java | 6 +- .../dockerjava/api/model/ResourceVersion.java | 4 +- .../dockerjava/api/model/ResponseItem.java | 42 ++--- .../dockerjava/api/model/RestartPolicy.java | 6 +- .../dockerjava/api/model/SearchItem.java | 12 +- .../github/dockerjava/api/model/Secret.java | 12 +- .../dockerjava/api/model/SecretSpec.java | 8 +- .../github/dockerjava/api/model/Service.java | 16 +- .../api/model/ServiceModeConfig.java | 6 +- .../api/model/ServicePlacement.java | 6 +- .../model/ServiceReplicatedModeOptions.java | 4 +- .../api/model/ServiceRestartCondition.java | 8 +- .../api/model/ServiceRestartPolicy.java | 10 +- .../dockerjava/api/model/ServiceSpec.java | 18 +-- .../api/model/ServiceUpdateState.java | 10 +- .../api/model/ServiceUpdateStatus.java | 10 +- .../api/model/StatisticNetworksConfig.java | 18 +-- .../dockerjava/api/model/Statistics.java | 18 +-- .../dockerjava/api/model/StatsConfig.java | 70 ++++---- .../github/dockerjava/api/model/Swarm.java | 4 +- .../dockerjava/api/model/SwarmCAConfig.java | 6 +- .../api/model/SwarmDispatcherConfig.java | 4 +- .../dockerjava/api/model/SwarmInfo.java | 20 +-- .../dockerjava/api/model/SwarmJoinTokens.java | 6 +- .../dockerjava/api/model/SwarmNode.java | 18 +-- .../api/model/SwarmNodeAvailability.java | 8 +- .../api/model/SwarmNodeDescription.java | 10 +- .../api/model/SwarmNodeEngineDescription.java | 8 +- .../api/model/SwarmNodeManagerStatus.java | 8 +- .../api/model/SwarmNodePlatform.java | 6 +- .../api/model/SwarmNodePluginDescription.java | 6 +- .../api/model/SwarmNodeResources.java | 6 +- .../dockerjava/api/model/SwarmNodeRole.java | 6 +- .../dockerjava/api/model/SwarmNodeSpec.java | 10 +- .../dockerjava/api/model/SwarmNodeState.java | 10 +- .../dockerjava/api/model/SwarmNodeStatus.java | 4 +- .../api/model/SwarmNodeVersion.java | 4 +- .../api/model/SwarmOrchestration.java | 4 +- .../dockerjava/api/model/SwarmRaftConfig.java | 10 +- .../dockerjava/api/model/SwarmSpec.java | 14 +- .../dockerjava/api/model/SwarmVersion.java | 4 +- .../com/github/dockerjava/api/model/Task.java | 28 ++-- .../dockerjava/api/model/TaskDefaults.java | 4 +- .../github/dockerjava/api/model/TaskSpec.java | 18 +-- .../dockerjava/api/model/TaskState.java | 4 +- .../dockerjava/api/model/TaskStatus.java | 12 +- .../api/model/TaskStatusContainerStatus.java | 8 +- .../api/model/ThrottlingDataConfig.java | 8 +- .../dockerjava/api/model/TmpfsOptions.java | 6 +- .../github/dockerjava/api/model/Ulimit.java | 8 +- .../dockerjava/api/model/UpdateConfig.java | 14 +- .../api/model/UpdateContainerResponse.java | 4 +- .../api/model/UpdateFailureAction.java | 8 +- .../dockerjava/api/model/UpdateOrder.java | 6 +- .../github/dockerjava/api/model/Version.java | 26 +-- .../api/model/VersionComponent.java | 8 +- .../dockerjava/api/model/VersionPlatform.java | 4 +- .../github/dockerjava/api/model/Volume.java | 8 +- .../dockerjava/api/model/VolumeBinds.java | 8 +- .../dockerjava/api/model/VolumeOptions.java | 8 +- .../github/dockerjava/api/model/VolumeRW.java | 18 +-- .../github/dockerjava/api/model/Volumes.java | 18 +-- .../dockerjava/api/model/VolumesFrom.java | 8 +- .../dockerjava/api/model/VolumesRW.java | 8 +- .../dockerjava/api/model/WaitResponse.java | 4 +- .../dockerjava/core/DockerClientConfig.java | 3 +- ...ckerJavaJacksonAnnotationIntrospector.java | 82 ---------- 163 files changed, 1028 insertions(+), 1149 deletions(-) delete mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java delete mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java delete mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java delete mode 100644 docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java delete mode 100644 docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java diff --git a/docker-java-api/pom.xml b/docker-java-api/pom.xml index decb2a966..e621994c7 100644 --- a/docker-java-api/pom.xml +++ b/docker-java-api/pom.xml @@ -16,6 +16,12 @@ Java API Client for Docker + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + org.slf4j slf4j-api diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java deleted file mode 100644 index c939a6509..000000000 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FieldName.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.github.dockerjava.api.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) -@Retention(RetentionPolicy.RUNTIME) -public @interface FieldName { - String value(); -} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java deleted file mode 100644 index f6e37df30..000000000 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/FromPrimitive.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.github.dockerjava.api.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ElementType.METHOD, ElementType.CONSTRUCTOR}) -@Retention(RetentionPolicy.RUNTIME) -public @interface FromPrimitive { -} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java deleted file mode 100644 index 60459e61b..000000000 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/IgnoredField.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.github.dockerjava.api.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -public @interface IgnoredField { -} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java b/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java deleted file mode 100644 index cb4689d5e..000000000 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/annotation/ToPrimitive.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.github.dockerjava.api.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -public @interface ToPrimitive { -} diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java index 5fa9b67b4..b19f8c6ae 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateContainerResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -13,10 +13,10 @@ @ToString public class CreateContainerResponse { - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("Warnings") + @JsonProperty("Warnings") private String[] warnings; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java index 528945a78..09b1929c0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateImageResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,7 +14,7 @@ @ToString public class CreateImageResponse { - @FieldName("status") + @JsonProperty("status") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java index 92702a185..a816f3f3a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateNetworkResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -8,10 +8,10 @@ @ToString public class CreateNetworkResponse { - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("Warnings") + @JsonProperty("Warnings") private String[] warnings; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java index a381a4009..c9da4c3ba 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateSecretResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -10,7 +10,7 @@ @EqualsAndHashCode @ToString public class CreateSecretResponse { - @FieldName("ID") + @JsonProperty("ID") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java index cd2d60db5..1cbd421b9 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateServiceResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -10,7 +10,7 @@ @EqualsAndHashCode @ToString public class CreateServiceResponse { - @FieldName("ID") + @JsonProperty("ID") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java index 728dc9c89..a6dffb94d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/CreateVolumeResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -12,13 +12,13 @@ @ToString public class CreateVolumeResponse { - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Driver") + @JsonProperty("Driver") private String driver; - @FieldName("Mountpoint") + @JsonProperty("Mountpoint") private String mountpoint; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java index 47ab09933..e751896de 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ExecCreateCmdResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -8,7 +8,7 @@ @ToString public class ExecCreateCmdResponse { - @FieldName("Id") + @JsonProperty("Id") private String id; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java index 2b927136a..7852e8d59 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphData.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,19 +14,19 @@ @ToString public class GraphData { - @FieldName("RootDir") + @JsonProperty("RootDir") private String rootDir; - @FieldName("DeviceId") + @JsonProperty("DeviceId") private String deviceId; - @FieldName("DeviceName") + @JsonProperty("DeviceName") private String deviceName; - @FieldName("DeviceSize") + @JsonProperty("DeviceSize") private String deviceSize; - @FieldName("dir") + @JsonProperty("dir") private String dir; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java index 32c32fe77..5ba4d456e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/GraphDriver.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class GraphDriver { /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @FieldName("Data") + @JsonProperty("Data") private GraphData data; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java index 62c61cb0d..cd7290785 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthState.java @@ -1,17 +1,17 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; public class HealthState { - @FieldName("Status") + @JsonProperty("Status") private String status; - @FieldName("FailingStreak") + @JsonProperty("FailingStreak") private Integer failingStreak; - @FieldName("Log") + @JsonProperty("Log") private List log; public String getStatus() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java index a03fa592f..d68dcb74f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/HealthStateLog.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; public class HealthStateLog { - @FieldName("Start") + @JsonProperty("Start") private String start; - @FieldName("End") + @JsonProperty("End") private String end; - @FieldName("ExitCode") + @JsonProperty("ExitCode") private Long exitCode; - @FieldName("Output") + @JsonProperty("Output") private String output; public String getStart() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java index 8d4220ee5..06e18fa21 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; -import com.github.dockerjava.api.annotation.IgnoredField; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.model.ContainerConfig; import com.github.dockerjava.api.model.HostConfig; import com.github.dockerjava.api.model.NetworkSettings; @@ -26,94 +26,94 @@ @ToString public class InspectContainerResponse { - @FieldName("Args") + @JsonProperty("Args") private String[] args; - @FieldName("Config") + @JsonProperty("Config") private ContainerConfig config; - @FieldName("Created") + @JsonProperty("Created") private String created; - @FieldName("Driver") + @JsonProperty("Driver") private String driver; - @FieldName("ExecDriver") + @JsonProperty("ExecDriver") private String execDriver; - @FieldName("HostConfig") + @JsonProperty("HostConfig") private HostConfig hostConfig; - @FieldName("HostnamePath") + @JsonProperty("HostnamePath") private String hostnamePath; - @FieldName("HostsPath") + @JsonProperty("HostsPath") private String hostsPath; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ - @FieldName("LogPath") + @JsonProperty("LogPath") private String logPath; - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("SizeRootFs") + @JsonProperty("SizeRootFs") private Integer sizeRootFs; - @FieldName("Image") + @JsonProperty("Image") private String imageId; - @FieldName("MountLabel") + @JsonProperty("MountLabel") private String mountLabel; - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ - @FieldName("RestartCount") + @JsonProperty("RestartCount") private Integer restartCount; - @FieldName("NetworkSettings") + @JsonProperty("NetworkSettings") private NetworkSettings networkSettings; - @FieldName("Path") + @JsonProperty("Path") private String path; - @FieldName("ProcessLabel") + @JsonProperty("ProcessLabel") private String processLabel; - @FieldName("ResolvConfPath") + @JsonProperty("ResolvConfPath") private String resolvConfPath; - @FieldName("ExecIDs") + @JsonProperty("ExecIDs") private List execIds; - @FieldName("State") + @JsonProperty("State") private ContainerState state; - @FieldName("Volumes") + @JsonProperty("Volumes") private VolumeBinds volumes; - @FieldName("VolumesRW") + @JsonProperty("VolumesRW") private VolumesRW volumesRW; - @FieldName("Node") + @JsonProperty("Node") private Node node; - @FieldName("Mounts") + @JsonProperty("Mounts") private List mounts; - @FieldName("GraphDriver") + @JsonProperty("GraphDriver") private GraphDriver graphDriver; /** * @since {@link RemoteApiVersion#VERSION_1_30} */ - @FieldName("Platform") + @JsonProperty("Platform") private String platform; public String getId() { @@ -160,7 +160,7 @@ public String getResolvConfPath() { return resolvConfPath; } - @IgnoredField + @JsonIgnore public VolumeBind[] getVolumes() { return volumes == null ? null : volumes.getBinds(); } @@ -168,9 +168,9 @@ public VolumeBind[] getVolumes() { /** * @deprecated As of {@link RemoteApiVersion#VERSION_1_20} use {@link #getMounts()} instead */ + @JsonIgnore @Deprecated @CheckForNull - @IgnoredField public VolumeRW[] getVolumesRW() { return volumesRW == null ? null : volumesRW.getVolumesRW(); } @@ -257,35 +257,35 @@ public class ContainerState { * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @FieldName("Status") + @JsonProperty("Status") private String status; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @FieldName("Running") + @JsonProperty("Running") private Boolean running; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @FieldName("Paused") + @JsonProperty("Paused") private Boolean paused; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @FieldName("Restarting") + @JsonProperty("Restarting") private Boolean restarting; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @FieldName("OOMKilled") + @JsonProperty("OOMKilled") private Boolean oomKilled; /** @@ -294,49 +294,49 @@ public class ContainerState { * @since {@link RemoteApiVersion#UNKNOWN_VERSION} */ @CheckForNull - @FieldName("Dead") + @JsonProperty("Dead") private Boolean dead; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @FieldName("Pid") + @JsonProperty("Pid") private Long pid; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @FieldName("ExitCode") + @JsonProperty("ExitCode") private Long exitCode; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @FieldName("Error") + @JsonProperty("Error") private String error; /** * @since < {@link RemoteApiVersion#VERSION_1_16} */ @CheckForNull - @FieldName("StartedAt") + @JsonProperty("StartedAt") private String startedAt; /** * @since {@link RemoteApiVersion#VERSION_1_17} */ @CheckForNull - @FieldName("FinishedAt") + @JsonProperty("FinishedAt") private String finishedAt; /** * @since Docker version 1.12 */ - @FieldName("Health") + @JsonProperty("Health") private HealthState health; /** @@ -462,42 +462,42 @@ public static class Mount { * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @FieldName("Source") + @JsonProperty("Source") private String source; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @FieldName("Destination") + @JsonProperty("Destination") private Volume destination; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @FieldName("Driver") + @JsonProperty("Driver") private String driver; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @FieldName("Mode") + @JsonProperty("Mode") private String mode; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ @CheckForNull - @FieldName("RW") + @JsonProperty("RW") private Boolean rw; @CheckForNull @@ -583,25 +583,25 @@ public Mount withSource(String source) { @ToString public class Node { - @FieldName("ID") + @JsonProperty("ID") private String id; - @FieldName("IP") + @JsonProperty("IP") private String ip; - @FieldName("Addr") + @JsonProperty("Addr") private String addr; - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Cpus") + @JsonProperty("Cpus") private Integer cpus; - @FieldName("Memory") + @JsonProperty("Memory") private Long memory; - @FieldName("Labels") + @JsonProperty("Labels") private Map labels; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java index 7a6b4ea15..06d904dc8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java @@ -2,7 +2,7 @@ import java.util.List; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.model.NetworkSettings; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -12,56 +12,56 @@ @EqualsAndHashCode @ToString public class InspectExecResponse { - @FieldName("ID") + @JsonProperty("ID") private String id; - @FieldName("OpenStdin") + @JsonProperty("OpenStdin") private Boolean openStdin; - @FieldName("OpenStderr") + @JsonProperty("OpenStderr") private Boolean openStderr; - @FieldName("OpenStdout") + @JsonProperty("OpenStdout") private Boolean openStdout; - @FieldName("Running") + @JsonProperty("Running") private Boolean running; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("CanRemove") + @JsonProperty("CanRemove") private Boolean canRemove; - @FieldName("ExitCode") + @JsonProperty("ExitCode") private Long exitCode; - @FieldName("ProcessConfig") + @JsonProperty("ProcessConfig") private ProcessConfig processConfig; /** * @deprecated @since {@link RemoteApiVersion#VERSION_1_22} */ @Deprecated - @FieldName("Container") + @JsonProperty("Container") private Container container; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("ContainerID") + @JsonProperty("ContainerID") private String containerID; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("DetachKeys") + @JsonProperty("DetachKeys") private String detachKeys; /** * @since {@link RemoteApiVersion#VERSION_1_25} */ - @FieldName("Pid") + @JsonProperty("Pid") private Long pid; public String getId() { @@ -154,19 +154,19 @@ public Long getPidLong() { @ToString public class ProcessConfig { - @FieldName("arguments") + @JsonProperty("arguments") private List arguments; - @FieldName("entrypoint") + @JsonProperty("entrypoint") private String entryPoint; - @FieldName("privileged") + @JsonProperty("privileged") private Boolean privileged; - @FieldName("tty") + @JsonProperty("tty") private Boolean tty; - @FieldName("user") + @JsonProperty("user") private String user; public List getArguments() { @@ -192,7 +192,7 @@ public String getUser() { public class Container { - @FieldName("NetworkSettings") + @JsonProperty("NetworkSettings") private NetworkSettings networkSettings; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java index 18fa9a5ed..b8590bfc6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectImageResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.model.ContainerConfig; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,67 +17,67 @@ @ToString public class InspectImageResponse { - @FieldName("Architecture") + @JsonProperty("Architecture") private String arch; - @FieldName("Author") + @JsonProperty("Author") private String author; - @FieldName("Comment") + @JsonProperty("Comment") private String comment; - @FieldName("Config") + @JsonProperty("Config") private ContainerConfig config; - @FieldName("Container") + @JsonProperty("Container") private String container; - @FieldName("ContainerConfig") + @JsonProperty("ContainerConfig") private ContainerConfig containerConfig; - @FieldName("Created") + @JsonProperty("Created") private String created; - @FieldName("DockerVersion") + @JsonProperty("DockerVersion") private String dockerVersion; - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("Os") + @JsonProperty("Os") private String os; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @FieldName("OsVersion") + @JsonProperty("OsVersion") private String osVersion; - @FieldName("Parent") + @JsonProperty("Parent") private String parent; - @FieldName("Size") + @JsonProperty("Size") private Long size; - @FieldName("RepoTags") + @JsonProperty("RepoTags") private List repoTags; - @FieldName("RepoDigests") + @JsonProperty("RepoDigests") private List repoDigests; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @FieldName("VirtualSize") + @JsonProperty("VirtualSize") private Long virtualSize; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @FieldName("GraphDriver") + @JsonProperty("GraphDriver") private GraphDriver graphDriver; - @FieldName("RootFS") + @JsonProperty("RootFS") private RootFS rootFS; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java index 18071d59f..020e0f9ae 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/InspectVolumeResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -12,13 +12,13 @@ @ToString public class InspectVolumeResponse { - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Driver") + @JsonProperty("Driver") private String driver; - @FieldName("Mountpoint") + @JsonProperty("Mountpoint") private String mountpoint; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java index 4981070cb..4e1b449f8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/ListVolumesResponse.java @@ -2,7 +2,7 @@ import java.util.List; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,7 +14,7 @@ @ToString public class ListVolumesResponse { - @FieldName("Volumes") + @JsonProperty("Volumes") private List volumes; public List getVolumes() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java index 06d7d906a..e4cc0ec54 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/RootFS.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,10 +16,10 @@ @ToString public class RootFS { - @FieldName("Type") + @JsonProperty("Type") private String type; - @FieldName("Layers") + @JsonProperty("Layers") private List layers; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java index f73932335..6f7b1d49f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/command/TopContainerResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.command; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -13,10 +13,10 @@ @ToString public class TopContainerResponse { - @FieldName("Titles") + @JsonProperty("Titles") private String[] titles; - @FieldName("Processes") + @JsonProperty("Processes") private String[][] processes; public String[] getTitles() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java index 3f78e1b5c..baa8fc0b4 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfigurations.java @@ -4,12 +4,12 @@ import java.util.Map; import java.util.TreeMap; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; public class AuthConfigurations implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("configs") + @JsonProperty("configs") private Map configs = new TreeMap<>(); public void addConfig(AuthConfig authConfig) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java index aae21db8d..89069fe54 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import javax.annotation.Nonnull; @@ -12,13 +12,13 @@ public class AuthResponse implements Serializable { /** * @since 1.23 */ - @FieldName("Status") + @JsonProperty("Status") private String status; /** * @since 1.23 */ - @FieldName("IdentityToken") + @JsonProperty("IdentityToken") private String identityToken; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java index 3bbfdea0b..340921f01 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,7 +17,7 @@ public class BindOptions implements Serializable { /** * @since 1.24 */ - @FieldName("Propagation") + @JsonProperty("Propagation") BindPropagation propagation; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java index a5a57f20c..81a189e77 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BindPropagation.java @@ -1,26 +1,26 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum BindPropagation { - @FieldName("rprivate") + @JsonProperty("rprivate") R_PRIVATE, - @FieldName("private") + @JsonProperty("private") PRIVATE, - @FieldName("rshared") + @JsonProperty("rshared") R_SHARED, - @FieldName("shared") + @JsonProperty("shared") SHARED, - @FieldName("rslave") + @JsonProperty("rslave") R_SLAVE, - @FieldName("slave") + @JsonProperty("slave") SLAVE } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java index 0b974c29c..06aff4ecf 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Binds.java @@ -3,8 +3,8 @@ import java.io.Serializable; import java.util.stream.Stream; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; public class Binds implements Serializable { private static final long serialVersionUID = 1L; @@ -19,12 +19,12 @@ public Bind[] getBinds() { return binds; } - @ToPrimitive + @JsonValue public String[] toPrimitive() { return Stream.of(binds).map(Bind::toString).toArray(String[]::new); } - @FromPrimitive + @JsonCreator public static Binds fromPrimitive(String[] binds) { return new Binds( Stream.of(binds).map(Bind::parse).toArray(Bind[]::new) diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java index c552b3110..e26fc0d6f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -11,10 +11,10 @@ public class BlkioRateDevice implements Serializable { public static final long serialVersionUID = 1L; - @FieldName("Path") + @JsonProperty("Path") private String path; - @FieldName("Rate") + @JsonProperty("Rate") private Long rate; public String getPath() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java index fc729fb1d..d47b2fe42 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatEntry.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,13 +14,13 @@ @ToString public class BlkioStatEntry implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("major") + @JsonProperty("major") Long major; - @FieldName("minor") + @JsonProperty("minor") Long minor; - @FieldName("op") + @JsonProperty("op") String op; - @FieldName("value") + @JsonProperty("value") Long value; public Long getMajor() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java index 43fcb4030..55479d024 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,28 +18,28 @@ public class BlkioStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("io_service_bytes_recursive") + @JsonProperty("io_service_bytes_recursive") private List ioServiceBytesRecursive; - @FieldName("io_serviced_recursive") + @JsonProperty("io_serviced_recursive") private List ioServicedRecursive; - @FieldName("io_queue_recursive") + @JsonProperty("io_queue_recursive") private List ioQueueRecursive; - @FieldName("io_service_time_recursive") + @JsonProperty("io_service_time_recursive") private List ioServiceTimeRecursive; - @FieldName("io_wait_time_recursive") + @JsonProperty("io_wait_time_recursive") private List ioWaitTimeRecursive; - @FieldName("io_merged_recursive") + @JsonProperty("io_merged_recursive") private List ioMergedRecursive; - @FieldName("io_time_recursive") + @JsonProperty("io_time_recursive") private List ioTimeRecursive; - @FieldName("sectors_recursive") + @JsonProperty("sectors_recursive") private List sectorsRecursive; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java index 51c7e20a0..24b4d87f5 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BlkioWeightDevice.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -11,10 +11,10 @@ public class BlkioWeightDevice implements Serializable { public static final long serialVersionUID = 1L; - @FieldName("Path") + @JsonProperty("Path") private String path; - @FieldName("Weight") + @JsonProperty("Weight") private Integer weight; public String getPath() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java index 70c6d5d86..b781bac9f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/BuildResponseItem.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.IgnoredField; +import com.fasterxml.jackson.annotation.JsonIgnore; /** * Represents a build response stream item @@ -13,7 +13,7 @@ public class BuildResponseItem extends ResponseItem { /** * Returns whether the stream field indicates a successful build operation */ - @IgnoredField + @JsonIgnore public boolean isBuildSuccessIndicated() { if (isErrorIndicated() || getStream() == null) { return false; @@ -22,7 +22,7 @@ public boolean isBuildSuccessIndicated() { return getStream().contains(BUILD_SUCCESS); } - @IgnoredField + @JsonIgnore public String getImageId() { if (!isBuildSuccessIndicated()) { return null; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java index 154ba08e0..922e2e2b3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ChangeLog.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,10 +16,10 @@ public class ChangeLog implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Path") + @JsonProperty("Path") private String path; - @FieldName("Kind") + @JsonProperty("Kind") private Integer kind; public String getPath() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java index b9eec9b4f..40055106b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ClusterInfo.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -23,31 +23,31 @@ public class ClusterInfo implements Serializable { /** * @since 1.24 */ - @FieldName("CreatedAt") + @JsonProperty("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @FieldName("Spec") + @JsonProperty("Spec") private SwarmSpec spec; /** * @since 1.24 */ - @FieldName("ID") + @JsonProperty("ID") private String id; /** * @since 1.24 */ - @FieldName("UpdatedAt") + @JsonProperty("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @FieldName("Version") + @JsonProperty("Version") private ResourceVersion version; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java index ee663a51f..e2723a96b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Container.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.command.ListContainersCmd; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,46 +20,46 @@ public class Container implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Command") + @JsonProperty("Command") private String command; - @FieldName("Created") + @JsonProperty("Created") private Long created; - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("Image") + @JsonProperty("Image") private String image; /** * @since since {@link RemoteApiVersion#VERSION_1_21} */ - @FieldName("ImageID") + @JsonProperty("ImageID") private String imageId; - @FieldName("Names") + @JsonProperty("Names") private String[] names; - @FieldName("Ports") + @JsonProperty("Ports") public ContainerPort[] ports; - @FieldName("Labels") + @JsonProperty("Labels") public Map labels; - @FieldName("Status") + @JsonProperty("Status") private String status; /** * @since ~{@link RemoteApiVersion#VERSION_1_23} */ - @FieldName("State") + @JsonProperty("State") private String state; /** * @since ~{@link RemoteApiVersion#VERSION_1_19} */ - @FieldName("SizeRw") + @JsonProperty("SizeRw") private Long sizeRw; /** @@ -67,13 +67,13 @@ public class Container implements Serializable { * * @since ~{@link RemoteApiVersion#VERSION_1_19} */ - @FieldName("SizeRootFs") + @JsonProperty("SizeRootFs") private Long sizeRootFs; /** * @since ~{@link RemoteApiVersion#VERSION_1_20} */ - @FieldName("HostConfig") + @JsonProperty("HostConfig") private ContainerHostConfig hostConfig; /** @@ -82,13 +82,13 @@ public class Container implements Serializable { * * @since ~{@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("NetworkSettings") + @JsonProperty("NetworkSettings") private ContainerNetworkSettings networkSettings; /** * @since ~{@link RemoteApiVersion#VERSION_1_23} */ - @FieldName("Mounts") + @JsonProperty("Mounts") private List mounts; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java index 05fcbd175..a84835277 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerConfig.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; -import com.github.dockerjava.api.annotation.IgnoredField; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,73 +19,73 @@ public class ContainerConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("AttachStderr") + @JsonProperty("AttachStderr") private Boolean attachStderr; - @FieldName("AttachStdin") + @JsonProperty("AttachStdin") private Boolean attachStdin; - @FieldName("AttachStdout") + @JsonProperty("AttachStdout") private Boolean attachStdout; - @FieldName("Cmd") + @JsonProperty("Cmd") private String[] cmd; - @FieldName("Domainname") + @JsonProperty("Domainname") private String domainName; - @FieldName("Entrypoint") + @JsonProperty("Entrypoint") private String[] entrypoint; - @FieldName("Env") + @JsonProperty("Env") private String[] env; - @FieldName("ExposedPorts") + @JsonProperty("ExposedPorts") private ExposedPorts exposedPorts; - @FieldName("Hostname") + @JsonProperty("Hostname") private String hostName; - @FieldName("Image") + @JsonProperty("Image") private String image; - @FieldName("Labels") + @JsonProperty("Labels") private Map labels; - @FieldName("MacAddress") + @JsonProperty("MacAddress") private String macAddress; - @FieldName("NetworkDisabled") + @JsonProperty("NetworkDisabled") private Boolean networkDisabled; - @FieldName("OnBuild") + @JsonProperty("OnBuild") private String[] onBuild; - @FieldName("OpenStdin") + @JsonProperty("OpenStdin") private Boolean stdinOpen; - @FieldName("PortSpecs") + @JsonProperty("PortSpecs") private String[] portSpecs; - @FieldName("StdinOnce") + @JsonProperty("StdinOnce") private Boolean stdInOnce; - @FieldName("Tty") + @JsonProperty("Tty") private Boolean tty; - @FieldName("User") + @JsonProperty("User") private String user; - @FieldName("Volumes") + @JsonProperty("Volumes") private Map volumes; - @FieldName("WorkingDir") + @JsonProperty("WorkingDir") private String workingDir; - @FieldName("Healthcheck") + @JsonProperty("Healthcheck") private HealthCheck healthCheck; - @IgnoredField + @JsonIgnore public ExposedPort[] getExposedPorts() { return exposedPorts != null ? exposedPorts.getExposedPorts() : null; } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java index bd54100a0..c60414f81 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerDNSConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,11 +17,11 @@ public class ContainerDNSConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Nameservers") + @JsonProperty("Nameservers") private List nameservers; - @FieldName("Search") + @JsonProperty("Search") private List search; - @FieldName("Options") + @JsonProperty("Options") private List options; public List getNameservers() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java index b0b160974..590d22a92 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerHostConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,7 +17,7 @@ public class ContainerHostConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("NetworkMode") + @JsonProperty("NetworkMode") private String networkMode; public String getNetworkMode() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java index 942fc4c26..48b4c9f47 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerMount.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,25 +16,25 @@ public class ContainerMount implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Name") + @JsonProperty("Name") String name; - @FieldName("Source") + @JsonProperty("Source") String source; - @FieldName("Destination") + @JsonProperty("Destination") String destination; - @FieldName("Driver") + @JsonProperty("Driver") String driver; - @FieldName("Mode") + @JsonProperty("Mode") String mode; - @FieldName("RW") + @JsonProperty("RW") boolean rw; - @FieldName("Propagation") + @JsonProperty("Propagation") String propagation; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java index 0daf4569d..52acf4c77 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetwork.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; -import com.github.dockerjava.api.annotation.IgnoredField; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -26,13 +26,13 @@ public class ContainerNetwork implements Serializable { /** * FIXME verify */ - @FieldName("IPAMConfig") + @JsonProperty("IPAMConfig") private Ipam ipamConfig; /** * FIXME verify */ - @FieldName("Links") + @JsonProperty("Links") private Links links; /** @@ -41,34 +41,34 @@ public class ContainerNetwork implements Serializable { * * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("Aliases") + @JsonProperty("Aliases") private List aliases; - @FieldName("NetworkID") + @JsonProperty("NetworkID") private String networkID; - @FieldName("EndpointID") + @JsonProperty("EndpointID") private String endpointId; - @FieldName("Gateway") + @JsonProperty("Gateway") private String gateway; - @FieldName("IPAddress") + @JsonProperty("IPAddress") private String ipAddress; - @FieldName("IPPrefixLen") + @JsonProperty("IPPrefixLen") private Integer ipPrefixLen; - @FieldName("IPv6Gateway") + @JsonProperty("IPv6Gateway") private String ipV6Gateway; - @FieldName("GlobalIPv6Address") + @JsonProperty("GlobalIPv6Address") private String globalIPv6Address; - @FieldName("GlobalIPv6PrefixLen") + @JsonProperty("GlobalIPv6PrefixLen") private Integer globalIPv6PrefixLen; - @FieldName("MacAddress") + @JsonProperty("MacAddress") private String macAddress; /** @@ -227,7 +227,7 @@ public ContainerNetwork withIpV6Gateway(String ipV6Gateway) { * @see #links */ @CheckForNull - @IgnoredField + @JsonIgnore public Link[] getLinks() { return links == null ? new Link[0] : links.getLinks(); } @@ -285,10 +285,10 @@ public ContainerNetwork withNetworkID(String networkID) { */ public static class Ipam { - @FieldName("IPv4Address") + @JsonProperty("IPv4Address") private String ipv4Address; - @FieldName("IPv6Address") + @JsonProperty("IPv6Address") private String ipv6Address; public String getIpv4Address() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java index bf4fab6c0..19e249e29 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerNetworkSettings.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -21,7 +21,7 @@ public class ContainerNetworkSettings implements Serializable { /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("Networks") + @JsonProperty("Networks") private Map networks; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java index 06ecdc2b8..b22aecc0e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerPort.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,16 +16,16 @@ public class ContainerPort implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("IP") + @JsonProperty("IP") private String ip; - @FieldName("PrivatePort") + @JsonProperty("PrivatePort") private Integer privatePort; - @FieldName("PublicPort") + @JsonProperty("PublicPort") private Integer publicPort; - @FieldName("Type") + @JsonProperty("Type") private String type; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java index 0d0ad6217..f56399ce8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -22,143 +22,143 @@ public class ContainerSpec implements Serializable { /** * @since 1.24 */ - @FieldName("Image") + @JsonProperty("Image") private String image; /** * @since 1.24 */ - @FieldName("Labels") + @JsonProperty("Labels") private Map labels; /** * @since 1.24 */ - @FieldName("Command") + @JsonProperty("Command") private List command; /** * @since 1.24 */ - @FieldName("Args") + @JsonProperty("Args") private List args; /** * @since 1.24 */ - @FieldName("Env") + @JsonProperty("Env") private List env; /** * @since 1.24 */ - @FieldName("Dir") + @JsonProperty("Dir") private String dir; /** * @since 1.24 */ - @FieldName("User") + @JsonProperty("User") private String user; /** * @since 1.24 */ - @FieldName("Groups") + @JsonProperty("Groups") private String groups; /** * @since 1.24 */ - @FieldName("TTY") + @JsonProperty("TTY") private Boolean tty; /** * @since 1.24 */ - @FieldName("Mounts") + @JsonProperty("Mounts") private List mounts; /** * @since 1.24 */ - @FieldName("Duration") + @JsonProperty("Duration") private Long duration; /** * @since 1.24 */ - @FieldName("StopGracePeriod") + @JsonProperty("StopGracePeriod") private Long stopGracePeriod; /** * @since 1.25 * Specification for DNS related configurations in resolver configuration file */ - @FieldName("DNSConfig") + @JsonProperty("DNSConfig") private ContainerDNSConfig dnsConfig; /** * @since 1.26 * Open stdin */ - @FieldName("OpenStdin") + @JsonProperty("OpenStdin") private Boolean openStdin; /** * @since 1.26 * Mount the container's root filesystem as read only. */ - @FieldName("ReadOnly") + @JsonProperty("ReadOnly") private Boolean readOnly; /** * @since 1.26 * A list of hostnames/IP mappings to add to the container's /etc/hosts file. */ - @FieldName("Hosts") + @JsonProperty("Hosts") private List hosts; /** * @since 1.26 * The hostname to use for the container, as a valid RFC 1123 hostname */ - @FieldName("Hostname") + @JsonProperty("Hostname") private String hostname; /** * @since 1.26 * Secrets contains references to zero or more secrets that will be exposed to the service. */ - @FieldName("Secrets") + @JsonProperty("Secrets") private List secrets; /** * @since 1.26 * A test to perform to check that the container is healthy. */ - @FieldName("HealthCheck") + @JsonProperty("HealthCheck") private HealthCheck healthCheck; /** * @since 1.28 * Signal to stop the container. */ - @FieldName("StopSignal") + @JsonProperty("StopSignal") private String stopSignal; /** * @since 1.29 * Security options for the container */ - @FieldName("Privileges") + @JsonProperty("Privileges") private ContainerSpecPrivileges privileges; /** * @since 1.29 * Configs contains references to zero or more configs that will be exposed to the service. */ - @FieldName("Configs") + @JsonProperty("Configs") private List configs; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java index b2943905f..274ad8f55 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -15,13 +15,13 @@ @ToString public class ContainerSpecConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("File") + @JsonProperty("File") private ContainerSpecFile file; - @FieldName("ConfigID") + @JsonProperty("ConfigID") private String configID; - @FieldName("ConfigName") + @JsonProperty("ConfigName") private String configName; public ContainerSpecFile getFile() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java index baf089f22..cf8471d7c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecFile.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,22 +16,22 @@ public class ContainerSpecFile implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Name") + @JsonProperty("Name") private String name; /** * UID represents the file UID. */ - @FieldName("UID") + @JsonProperty("UID") private String uid; /** * GID represents the file GID. */ - @FieldName("GID") + @JsonProperty("GID") private String gid; /** * Mode represents the FileMode of the file. */ - @FieldName("Mode") + @JsonProperty("Mode") private Long mode; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java index dc51bd14e..a5bb69391 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivileges.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,10 +16,10 @@ public class ContainerSpecPrivileges implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("CredentialSpec") + @JsonProperty("CredentialSpec") private ContainerSpecPrivilegesCredential credentialSpec; - @FieldName("SELinuxContext") + @JsonProperty("SELinuxContext") private ContainerSpecPrivilegesSELinuxContext seLinuxContext; public ContainerSpecPrivilegesCredential getCredentialSpec() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java index 1b2b93c6b..8a4294f01 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesCredential.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -21,7 +21,7 @@ public class ContainerSpecPrivilegesCredential implements Serializable { * `CredentialSpecs` subdirectory in the docker data directory, which defaults to * C:\ProgramData\Docker\ on Windows. */ - @FieldName("File") + @JsonProperty("File") private String file; /** @@ -31,7 +31,7 @@ public class ContainerSpecPrivilegesCredential implements Serializable { * HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs * */ - @FieldName("Registry") + @JsonProperty("Registry") private String registry; public String getFile() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java index e5c633f32..c7fa68af8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecPrivilegesSELinuxContext.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -15,19 +15,19 @@ @ToString public class ContainerSpecPrivilegesSELinuxContext implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Disable") + @JsonProperty("Disable") private Boolean disable; - @FieldName("User") + @JsonProperty("User") private String user; - @FieldName("Role") + @JsonProperty("Role") private String role; - @FieldName("Type") + @JsonProperty("Type") private String type; - @FieldName("Level") + @JsonProperty("Level") private String level; public Boolean getDisable() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java index 41880b61b..e92b2b07f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ContainerSpecSecret.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,13 +16,13 @@ public class ContainerSpecSecret implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("File") + @JsonProperty("File") private ContainerSpecFile file; - @FieldName("SecretID") + @JsonProperty("SecretID") private String secretId; - @FieldName("SecretName") + @JsonProperty("SecretName") private String secretName; public ContainerSpecFile getFile() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java index a7920ed7f..fce6e610d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,16 +13,16 @@ public class CpuStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("cpu_usage") + @JsonProperty("cpu_usage") private CpuUsageConfig cpuUsage; - @FieldName("system_cpu_usage") + @JsonProperty("system_cpu_usage") private Long systemCpuUsage; - @FieldName("online_cpus") + @JsonProperty("online_cpus") private Long onlineCpus; - @FieldName("throttling_data") + @JsonProperty("throttling_data") private ThrottlingDataConfig throttlingData; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java index 4e9a91d78..e9e4d2212 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/CpuUsageConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -14,16 +14,16 @@ public class CpuUsageConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("total_usage") + @JsonProperty("total_usage") private Long totalUsage; - @FieldName("percpu_usage") + @JsonProperty("percpu_usage") private List percpuUsage; - @FieldName("usage_in_kernelmode") + @JsonProperty("usage_in_kernelmode") private Long usageInKernelmode; - @FieldName("usage_in_usermode") + @JsonProperty("usage_in_usermode") private Long usageInUsermode; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java index 478b0b4bf..09223e52a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Device.java @@ -2,7 +2,7 @@ import static java.util.Objects.requireNonNull; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,13 +17,13 @@ public class Device implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("CgroupPermissions") + @JsonProperty("CgroupPermissions") private String cGroupPermissions = ""; - @FieldName("PathOnHost") + @JsonProperty("PathOnHost") private String pathOnHost = null; - @FieldName("PathInContainer") + @JsonProperty("PathInContainer") private String pathInContainer = null; public Device() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java index 5570a54af..cde23cb2b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Driver.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class Driver implements Serializable { /** * @since 1.24 */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since 1.24 */ - @FieldName("Options") + @JsonProperty("Options") private Map options; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java index 8fdbf6bdb..cca52f1d0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/DriverStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,10 +14,10 @@ public class DriverStatus implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Root Dir") + @JsonProperty("Root Dir") private String rootDir; - @FieldName("Dirs") + @JsonProperty("Dirs") private Integer dirs; public String getRootDir() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java index 0d2785342..eb6c982ed 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Endpoint.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,19 +18,19 @@ public class Endpoint implements Serializable { /** * @since 1.24 */ - @FieldName("Spec") + @JsonProperty("Spec") private EndpointSpec spec; /** * @since 1.24 */ - @FieldName("Ports") + @JsonProperty("Ports") private PortConfig[] ports; /** * @since 1.24 */ - @FieldName("VirtualIPs") + @JsonProperty("VirtualIPs") private EndpointVirtualIP[] virtualIPs; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java index 02ffa9909..b67cea38b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointResolutionMode.java @@ -1,16 +1,16 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum EndpointResolutionMode { - @FieldName("vip") + @JsonProperty("vip") VIP, - @FieldName("dnsrr") + @JsonProperty("dnsrr") DNSRR } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java index 59f7a734f..75b5056f0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class EndpointSpec implements Serializable { /** * @since 1.24 */ - @FieldName("Mode") + @JsonProperty("Mode") EndpointResolutionMode mode; /** * @since 1.24 */ - @FieldName("Ports") + @JsonProperty("Ports") List ports; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java index 8c425c471..fad960fb7 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EndpointVirtualIP.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class EndpointVirtualIP implements Serializable { /** * @since 1.24 */ - @FieldName("NetworkID") + @JsonProperty("NetworkID") private String networkID; /** * @since 1.24 */ - @FieldName("Addr") + @JsonProperty("Addr") private String addr; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java index aebcbff55..10c3310d1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorDetail.java @@ -1,13 +1,13 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; public class ErrorDetail implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("message") + @JsonProperty private String message; public String getMessage() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java index 49abb8cff..523a35729 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ErrorResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; @@ -8,10 +8,10 @@ public class ErrorResponse implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("errorDetail") + @JsonProperty private ErrorDetail errorDetail; - @FieldName("error") + @JsonProperty private String error; public ErrorDetail getErrorDetail() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java index 5cc1ea970..59ecc67bd 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Event.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,55 +19,55 @@ public class Event implements Serializable { /** * @since 1.16 */ - @FieldName("status") + @JsonProperty("status") private String status; /** * @since 1.16 */ - @FieldName("id") + @JsonProperty("id") private String id; /** * @since 1.16 */ - @FieldName("from") + @JsonProperty("from") private String from; /** * ?? */ - @FieldName("node") + @JsonProperty("node") private Node node; /* * @since 1. */ - @FieldName("Type") + @JsonProperty("Type") private EventType type; /** * @since 1.22 */ - @FieldName("Action") + @JsonProperty("Action") private String action; /** * @since 1.22 */ - @FieldName("Actor") + @JsonProperty("Actor") private EventActor actor; /** * @since 1.16 */ - @FieldName("time") + @JsonProperty("time") private Long time; /** * @since 1.21 */ - @FieldName("timeNano") + @JsonProperty("timeNano") private Long timeNano; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java index cb9ab91d6..e05414d34 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventActor.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,13 +20,13 @@ public class EventActor implements Serializable { /** * @since 1.22 */ - @FieldName("ID") + @JsonProperty("ID") private String id; /** * @since 1.22 */ - @FieldName("Attributes") + @JsonProperty("Attributes") private Map attributes; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java index 268220bb3..697c1e429 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/EventType.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import javax.annotation.Nonnull; import java.util.HashMap; @@ -43,12 +43,12 @@ public enum EventType { this.value = value; } - @ToPrimitive + @JsonValue public String getValue() { return value; } - @FromPrimitive + @JsonCreator public static EventType forValue(String s) { return EVENT_TYPES.get(s); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java index dd921a2e6..d273b60cc 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPort.java @@ -4,8 +4,9 @@ import static com.github.dockerjava.api.model.InternetProtocol.UDP; import java.io.Serializable; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import com.github.dockerjava.api.model.Ports.Binding; import lombok.EqualsAndHashCode; @@ -105,7 +106,7 @@ public static ExposedPort udp(int port) { * @throws IllegalArgumentException * if the specification cannot be parsed */ - @FromPrimitive + @JsonCreator public static ExposedPort parse(String serialized) throws IllegalArgumentException { try { String[] parts = serialized.split("/"); @@ -129,7 +130,7 @@ public static ExposedPort parse(String serialized) throws IllegalArgumentExcepti * @return a string representation of this {@link ExposedPort} */ @Override - @ToPrimitive + @JsonValue public String toString() { return port + "/" + protocol.toString(); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java index e9ccbdb23..445cba2de 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExposedPorts.java @@ -6,8 +6,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; public class ExposedPorts implements Serializable { private static final long serialVersionUID = 1L; @@ -26,14 +26,14 @@ public ExposedPort[] getExposedPorts() { return exposedPorts; } - @FromPrimitive + @JsonCreator public static ExposedPorts fromPrimitive(Map object) { return new ExposedPorts( object.keySet().stream().map(ExposedPort::parse).toArray(ExposedPort[]::new) ); } - @ToPrimitive + @JsonValue public Map toPrimitive() { return Stream.of(exposedPorts).collect(Collectors.toMap( ExposedPort::toString, diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java index b46ce5c25..95a80eb03 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCA.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,19 +20,19 @@ public class ExternalCA implements Serializable { /** * @since 1.24 */ - @FieldName("Protocol") + @JsonProperty("Protocol") private ExternalCAProtocol protocol; /** * @since 1.24 */ - @FieldName("URL") + @JsonProperty("URL") private String url; /** * @since 1.24 */ - @FieldName("Options") + @JsonProperty("Options") private Map options; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java index 792abb8b3..b4268a3eb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ExternalCAProtocol.java @@ -1,12 +1,12 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum ExternalCAProtocol { - @FieldName("cfssl") + @JsonProperty("cfssl") CFSSL } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java index 77491e971..9b994d8dd 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/GenericResource.java @@ -1,15 +1,15 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; public abstract class GenericResource implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Kind") + @JsonProperty("Kind") String kind; - @FieldName("Value") + @JsonProperty("Value") T value = null; public String getKind() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java index 9c6dce43a..e21a0763f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HealthCheck.java @@ -15,7 +15,7 @@ */ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -31,28 +31,28 @@ public class HealthCheck implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Interval") + @JsonProperty("Interval") private Long interval; - @FieldName("Timeout") + @JsonProperty("Timeout") private Long timeout; /** * @since 1.26 */ - @FieldName("Test") + @JsonProperty("Test") private List test; /** * @since 1.26 */ - @FieldName("Retries") + @JsonProperty("Retries") private Integer retries; /** * @since 1.26 */ - @FieldName("StartPeriod") + @JsonProperty("StartPeriod") private Long startPeriod; public Long getInterval() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java index e39279258..bcae9a4cc 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/HostConfig.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; -import com.github.dockerjava.api.annotation.IgnoredField; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -28,265 +28,265 @@ public static HostConfig newHostConfig() { return new HostConfig(); } - @FieldName("Binds") + @JsonProperty("Binds") private Binds binds; - @FieldName("BlkioWeight") + @JsonProperty("BlkioWeight") private Integer blkioWeight; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("BlkioWeightDevice") + @JsonProperty("BlkioWeightDevice") private List blkioWeightDevice; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("BlkioDeviceReadBps") + @JsonProperty("BlkioDeviceReadBps") private List blkioDeviceReadBps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("BlkioDeviceWriteBps") + @JsonProperty("BlkioDeviceWriteBps") private List blkioDeviceWriteBps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("BlkioDeviceReadIOps") + @JsonProperty("BlkioDeviceReadIOps") private List blkioDeviceReadIOps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("BlkioDeviceWriteIOps") + @JsonProperty("BlkioDeviceWriteIOps") private List blkioDeviceWriteIOps; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("MemorySwappiness") + @JsonProperty("MemorySwappiness") private Long memorySwappiness; - @FieldName("NanoCPUs") + @JsonProperty("NanoCPUs") private Long nanoCPUs; - @FieldName("CapAdd") + @JsonProperty("CapAdd") private Capability[] capAdd; - @FieldName("CapDrop") + @JsonProperty("CapDrop") private Capability[] capDrop; - @FieldName("ContainerIDFile") + @JsonProperty("ContainerIDFile") private String containerIDFile; - @FieldName("CpuPeriod") + @JsonProperty("CpuPeriod") private Long cpuPeriod; - @FieldName("CpuRealtimePeriod") + @JsonProperty("CpuRealtimePeriod") private Long cpuRealtimePeriod; - @FieldName("CpuRealtimeRuntime") + @JsonProperty("CpuRealtimeRuntime") private Long cpuRealtimeRuntime; - @FieldName("CpuShares") + @JsonProperty("CpuShares") private Integer cpuShares; /** * @since ~{@link RemoteApiVersion#VERSION_1_20} */ - @FieldName("CpuQuota") + @JsonProperty("CpuQuota") private Long cpuQuota; - @FieldName("CpusetCpus") + @JsonProperty("CpusetCpus") private String cpusetCpus; - @FieldName("CpusetMems") + @JsonProperty("CpusetMems") private String cpusetMems; - @FieldName("Devices") + @JsonProperty("Devices") private Device[] devices; - @FieldName("DeviceCgroupRules") + @JsonProperty("DeviceCgroupRules") private List deviceCgroupRules; /** * @since {@link RemoteApiVersion#VERSION_1_25} */ - @FieldName("DiskQuota") + @JsonProperty("DiskQuota") private Long diskQuota; - @FieldName("Dns") + @JsonProperty("Dns") private String[] dns; - @FieldName("DnsOptions") + @JsonProperty("DnsOptions") private List dnsOptions; - @FieldName("DnsSearch") + @JsonProperty("DnsSearch") private String[] dnsSearch; - @FieldName("ExtraHosts") + @JsonProperty("ExtraHosts") private String[] extraHosts; - @FieldName("GroupAdd") + @JsonProperty("GroupAdd") private List groupAdd; - @FieldName("IpcMode") + @JsonProperty("IpcMode") private String ipcMode; - @FieldName("Cgroup") + @JsonProperty("Cgroup") private String cgroup; - @FieldName("Links") + @JsonProperty("Links") private Links links; - @FieldName("LogConfig") + @JsonProperty("LogConfig") private LogConfig logConfig; - @FieldName("LxcConf") + @JsonProperty("LxcConf") private LxcConf[] lxcConf; - @FieldName("Memory") + @JsonProperty("Memory") private Long memory; - @FieldName("MemorySwap") + @JsonProperty("MemorySwap") private Long memorySwap; /** * @since {@link RemoteApiVersion#VERSION_1_21} */ - @FieldName("MemoryReservation") + @JsonProperty("MemoryReservation") private Long memoryReservation; /** * @since {@link RemoteApiVersion#VERSION_1_21} */ - @FieldName("KernelMemory") + @JsonProperty("KernelMemory") private Long kernelMemory; - @FieldName("NetworkMode") + @JsonProperty("NetworkMode") private String networkMode; - @FieldName("OomKillDisable") + @JsonProperty("OomKillDisable") private Boolean oomKillDisable; - @FieldName("Init") + @JsonProperty("Init") private Boolean init; /** * @since {@link RemoteApiVersion#VERSION_1_25} */ - @FieldName("AutoRemove") + @JsonProperty("AutoRemove") private Boolean autoRemove; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("OomScoreAdj") + @JsonProperty("OomScoreAdj") private Integer oomScoreAdj; - @FieldName("PortBindings") + @JsonProperty("PortBindings") private Ports portBindings; - @FieldName("Privileged") + @JsonProperty("Privileged") private Boolean privileged; - @FieldName("PublishAllPorts") + @JsonProperty("PublishAllPorts") private Boolean publishAllPorts; - @FieldName("ReadonlyRootfs") + @JsonProperty("ReadonlyRootfs") private Boolean readonlyRootfs; - @FieldName("RestartPolicy") + @JsonProperty("RestartPolicy") private RestartPolicy restartPolicy; - @FieldName("Ulimits") + @JsonProperty("Ulimits") private Ulimit[] ulimits; - @FieldName("CpuCount") + @JsonProperty("CpuCount") private Long cpuCount; - @FieldName("CpuPercent") + @JsonProperty("CpuPercent") private Long cpuPercent; - @FieldName("IOMaximumIOps") + @JsonProperty("IOMaximumIOps") private Long ioMaximumIOps; - @FieldName("IOMaximumBandwidth") + @JsonProperty("IOMaximumBandwidth") private Long ioMaximumBandwidth; - @FieldName("VolumesFrom") + @JsonProperty("VolumesFrom") private VolumesFrom[] volumesFrom; - @FieldName("Mounts") + @JsonProperty("Mounts") private List mounts; - @FieldName("PidMode") + @JsonProperty("PidMode") private String pidMode; - @FieldName("Isolation") + @JsonProperty("Isolation") private Isolation isolation; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ - @FieldName("SecurityOpt") + @JsonProperty("SecurityOpt") private List securityOpts; - @FieldName("StorageOpt") + @JsonProperty("StorageOpt") private Map storageOpt; /** * @since {@link RemoteApiVersion#VERSION_1_20} */ - @FieldName("CgroupParent") + @JsonProperty("CgroupParent") private String cgroupParent; /** * @since {@link RemoteApiVersion#VERSION_1_21} */ - @FieldName("VolumeDriver") + @JsonProperty("VolumeDriver") private String volumeDriver; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("ShmSize") + @JsonProperty("ShmSize") private Long shmSize; /** * @since ~{@link RemoteApiVersion#VERSION_1_23} */ - @FieldName("PidsLimit") + @JsonProperty("PidsLimit") private Long pidsLimit; /** * @since ~{@link RemoteApiVersion#VERSION_1_30} */ - @FieldName("Runtime") + @JsonProperty("Runtime") private String runtime; /** * @since ~{@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("Tmpfs") + @JsonProperty("Tmpfs") private Map tmpFs; - @FieldName("UTSMode") + @JsonProperty("UTSMode") private String utSMode; - @FieldName("UsernsMode") + @JsonProperty("UsernsMode") private String usernsMode; - @FieldName("Sysctls") + @JsonProperty("Sysctls") private Map sysctls; - @FieldName("ConsoleSize") + @JsonProperty("ConsoleSize") private List consoleSize; - @IgnoredField + @JsonIgnore public Bind[] getBinds() { return (binds == null) ? new Bind[0] : binds.getBinds(); } @@ -344,12 +344,12 @@ public String[] getExtraHosts() { return extraHosts; } - @IgnoredField + @JsonIgnore public Link[] getLinks() { return (links == null) ? new Link[0] : links.getLinks(); } - @IgnoredField + @JsonIgnore public LogConfig getLogConfig() { return (logConfig == null) ? new LogConfig() : logConfig; } @@ -539,7 +539,7 @@ public Map getTmpFs() { * Parse the network mode as specified at * {@see https://github.com/docker/engine-api/blob/master/types/container/hostconfig_unix.go} */ - @IgnoredField + @JsonIgnore public boolean isUserDefinedNetwork() { return networkMode != null && !PREDEFINED_NETWORKS.contains(networkMode) && !networkMode.startsWith("container:"); } @@ -548,12 +548,12 @@ public String getRuntime() { return runtime; } - @IgnoredField + @JsonIgnore public void setBinds(Bind... binds) { this.binds = new Binds(binds); } - @IgnoredField + @JsonIgnore public void setLinks(Link... links) { this.links = new Links(links); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java index ee1fae275..e6552eb35 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Image.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,22 +16,22 @@ public class Image implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Created") + @JsonProperty("Created") private Long created; - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("ParentId") + @JsonProperty("ParentId") private String parentId; - @FieldName("RepoTags") + @JsonProperty("RepoTags") private String[] repoTags; - @FieldName("Size") + @JsonProperty("Size") private Long size; - @FieldName("VirtualSize") + @JsonProperty("VirtualSize") private Long virtualSize; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java index 42b27d36b..e472fa622 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Info.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -22,214 +22,214 @@ public class Info implements Serializable { /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("Architecture") + @JsonProperty("Architecture") private String architecture; - @FieldName("Containers") + @JsonProperty("Containers") private Integer containers; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("ContainersStopped") + @JsonProperty("ContainersStopped") private Integer containersStopped; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("ContainersPaused") + @JsonProperty("ContainersPaused") private Integer containersPaused; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("ContainersRunning") + @JsonProperty("ContainersRunning") private Integer containersRunning; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("CpuCfsPeriod") + @JsonProperty("CpuCfsPeriod") private Boolean cpuCfsPeriod; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("CpuCfsQuota") + @JsonProperty("CpuCfsQuota") private Boolean cpuCfsQuota; - @FieldName("CPUShares") + @JsonProperty("CPUShares") private Boolean cpuShares; - @FieldName("CPUSet") + @JsonProperty("CPUSet") private Boolean cpuSet; - @FieldName("Debug") + @JsonProperty("Debug") private Boolean debug; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @FieldName("DiscoveryBackend") + @JsonProperty("DiscoveryBackend") private String discoveryBackend; - @FieldName("DockerRootDir") + @JsonProperty("DockerRootDir") private String dockerRootDir; - @FieldName("Driver") + @JsonProperty("Driver") private String driver; - @FieldName("DriverStatus") + @JsonProperty("DriverStatus") private List> driverStatuses; - @FieldName("SystemStatus") + @JsonProperty("SystemStatus") private List systemStatus; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("Plugins") + @JsonProperty("Plugins") private Map> plugins; - @FieldName("ExecutionDriver") + @JsonProperty("ExecutionDriver") private String executionDriver; - @FieldName("LoggingDriver") + @JsonProperty("LoggingDriver") private String loggingDriver; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("ExperimentalBuild") + @JsonProperty("ExperimentalBuild") private Boolean experimentalBuild; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("HttpProxy") + @JsonProperty("HttpProxy") private String httpProxy; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("HttpsProxy") + @JsonProperty("HttpsProxy") private String httpsProxy; - @FieldName("ID") + @JsonProperty("ID") private String id; - @FieldName("IPv4Forwarding") + @JsonProperty("IPv4Forwarding") private Boolean ipv4Forwarding; - @FieldName("BridgeNfIptables") + @JsonProperty("BridgeNfIptables") private Boolean bridgeNfIptables; - @FieldName("BridgeNfIp6tables") + @JsonProperty("BridgeNfIp6tables") private Boolean bridgeNfIp6tables; - @FieldName("Images") + @JsonProperty("Images") private Integer images; - @FieldName("IndexServerAddress") + @JsonProperty("IndexServerAddress") private String indexServerAddress; - @FieldName("InitPath") + @JsonProperty("InitPath") private String initPath; - @FieldName("InitSha1") + @JsonProperty("InitSha1") private String initSha1; - @FieldName("KernelVersion") + @JsonProperty("KernelVersion") private String kernelVersion; - @FieldName("Labels") + @JsonProperty("Labels") private String[] labels; - @FieldName("MemoryLimit") + @JsonProperty("MemoryLimit") private Boolean memoryLimit; - @FieldName("MemTotal") + @JsonProperty("MemTotal") private Long memTotal; - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("NCPU") + @JsonProperty("NCPU") private Integer ncpu; - @FieldName("NEventsListener") + @JsonProperty("NEventsListener") private Integer nEventsListener; - @FieldName("NFd") + @JsonProperty("NFd") private Integer nfd; - @FieldName("NGoroutines") + @JsonProperty("NGoroutines") private Integer nGoroutines; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("NoProxy") + @JsonProperty("NoProxy") private String noProxy; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("OomKillDisable") + @JsonProperty("OomKillDisable") private Boolean oomKillDisable; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("OSType") + @JsonProperty("OSType") private String osType; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("OomScoreAdj") + @JsonProperty("OomScoreAdj") private Integer oomScoreAdj; - @FieldName("OperatingSystem") + @JsonProperty("OperatingSystem") private String operatingSystem; - @FieldName("RegistryConfig") + @JsonProperty("RegistryConfig") private InfoRegistryConfig registryConfig; - @FieldName("Sockets") + @JsonProperty("Sockets") private String[] sockets; - @FieldName("SwapLimit") + @JsonProperty("SwapLimit") private Boolean swapLimit; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("SystemTime") + @JsonProperty("SystemTime") private String systemTime; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_21} */ - @FieldName("ServerVersion") + @JsonProperty("ServerVersion") private String serverVersion; - @FieldName("ClusterStore") + @JsonProperty("ClusterStore") private String clusterStore; - @FieldName("ClusterAdvertise") + @JsonProperty("ClusterAdvertise") private String clusterAdvertise; /** * @since 1.24 */ - @FieldName("Swarm") + @JsonProperty("Swarm") private SwarmInfo swarm; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @FieldName("Isolation") + @JsonProperty("Isolation") private String isolation; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java index a478c1b48..8c4d9f35d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/InfoRegistryConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,16 +17,16 @@ public final class InfoRegistryConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("IndexConfigs") + @JsonProperty("IndexConfigs") private Map indexConfigs; - @FieldName("InsecureRegistryCIDRs") + @JsonProperty("InsecureRegistryCIDRs") private List insecureRegistryCIDRs; /** * //FIXME unknown field */ - @FieldName("Mirrors") + @JsonProperty("Mirrors") private Object mirrors; /** @@ -83,16 +83,16 @@ public InfoRegistryConfig withMirrors(Object mirrors) { @EqualsAndHashCode @ToString public static final class IndexConfig { - @FieldName("Mirrors") + @JsonProperty("Mirrors") private List mirrors; - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Official") + @JsonProperty("Official") private Boolean official; - @FieldName("Secure") + @JsonProperty("Secure") private Boolean secure; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java index 145c10fa1..c59c8848f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Isolation.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import java.io.Serializable; @@ -18,12 +18,12 @@ public enum Isolation implements Serializable { this.value = value; } - @ToPrimitive + @JsonValue public String getValue() { return value; } - @FromPrimitive + @JsonCreator public static Isolation fromValue(String text) { for (Isolation b : Isolation.values()) { if (String.valueOf(b.value).equals(text)) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java index c36a61b2d..18bfc75ba 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Links.java @@ -4,8 +4,8 @@ import java.util.List; import java.util.stream.Stream; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; public class Links implements Serializable { private static final long serialVersionUID = 1L; @@ -24,14 +24,14 @@ public Link[] getLinks() { return links; } - @FromPrimitive + @JsonCreator public static Links fromPrimitive(String[] links) { return new Links( Stream.of(links).map(Link::parse).toArray(Link[]::new) ); } - @ToPrimitive + @JsonValue public String[] toPrimitive() { return Stream.of(links).map(Link::toString).toArray(String[]::new); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java index 92d68f6fb..07e2e4158 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LocalNodeState.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import javax.annotation.Nonnull; import java.util.HashMap; @@ -40,12 +40,12 @@ public enum LocalNodeState { this.value = value; } - @ToPrimitive + @JsonValue public String getValue() { return value; } - @FromPrimitive + @JsonCreator public static LocalNodeState forValue(String s) { return TYPES.get(s); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java index 595cadbd8..4ea19041e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LogConfig.java @@ -1,9 +1,9 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.FieldName; -import com.github.dockerjava.api.annotation.IgnoredField; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonValue; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -21,10 +21,10 @@ public class LogConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Type") + @JsonProperty("Type") public LoggingType type = null; - @FieldName("Config") + @JsonProperty("Config") public Map config; public LogConfig(LoggingType type, Map config) { @@ -48,12 +48,12 @@ public LogConfig setType(LoggingType type) { return this; } - @IgnoredField + @JsonIgnore public Map getConfig() { return config; } - @IgnoredField + @JsonIgnore public LogConfig setConfig(Map config) { this.config = config; return this; @@ -79,12 +79,12 @@ public enum LoggingType { this.type = type; } - @ToPrimitive + @JsonValue public String getType() { return type; } - @FromPrimitive + @JsonCreator @CheckForNull public static LoggingType fromValue(String text) { for (LoggingType b : LoggingType.values()) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java index c566baff2..ddf1bbae0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/LxcConf.java @@ -1,16 +1,16 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; public class LxcConf implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Key") + @JsonProperty("Key") public String key; - @FieldName("Value") + @JsonProperty("Value") public String value; public LxcConf(String key, String value) { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java index 4fe383a4b..12e6abccf 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MemoryStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,19 +13,19 @@ public class MemoryStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("stats") + @JsonProperty("stats") private StatsConfig stats; - @FieldName("usage") + @JsonProperty("usage") private Long usage; - @FieldName("max_usage") + @JsonProperty("max_usage") private Long maxUsage; - @FieldName("failcnt") + @JsonProperty("failcnt") private Long failcnt; - @FieldName("limit") + @JsonProperty("limit") private Long limit; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java index a37032fd2..7254ccb19 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Mount.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,43 +18,43 @@ public class Mount implements Serializable { /** * @since 1.24 */ - @FieldName("Type") + @JsonProperty("Type") private MountType type; /** * @since 1.24 */ - @FieldName("Source") + @JsonProperty("Source") private String source; /** * @since 1.24 */ - @FieldName("Target") + @JsonProperty("Target") private String target; /** * @since 1.24 */ - @FieldName("ReadOnly") + @JsonProperty("ReadOnly") private Boolean readOnly; /** * @since 1.24 */ - @FieldName("BindOptions") + @JsonProperty("BindOptions") private BindOptions bindOptions; /** * @since 1.24 */ - @FieldName("VolumeOptions") + @JsonProperty("VolumeOptions") private VolumeOptions volumeOptions; /** * @since 1.29 */ - @FieldName("TmpfsOptions") + @JsonProperty("TmpfsOptions") private TmpfsOptions tmpfsOptions; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java index c1033c0f9..62557df47 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/MountType.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum MountType { - @FieldName("bind") + @JsonProperty("bind") BIND, - @FieldName("volume") + @JsonProperty("volume") VOLUME, //@since 1.29 - @FieldName("tmpfs") + @JsonProperty("tmpfs") TMPFS } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java index 9e718cd9a..0187d73f4 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Network.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -15,37 +15,37 @@ public class Network implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Scope") + @JsonProperty("Scope") private String scope; - @FieldName("Driver") + @JsonProperty("Driver") private String driver; - @FieldName("EnableIPv6") + @JsonProperty("EnableIPv6") private Boolean enableIPv6; - @FieldName("Internal") + @JsonProperty("Internal") private Boolean internal; - @FieldName("IPAM") + @JsonProperty("IPAM") private Ipam ipam; - @FieldName("Containers") + @JsonProperty("Containers") private Map containers; - @FieldName("Options") + @JsonProperty("Options") private Map options; - @FieldName("Attachable") + @JsonProperty("Attachable") private Boolean attachable; - @FieldName("Labels") + @JsonProperty("Labels") public Map labels; public String getId() { @@ -96,16 +96,16 @@ public Map getLabels() { @ToString public static class ContainerNetworkConfig { - @FieldName("EndpointID") + @JsonProperty("EndpointID") private String endpointId; - @FieldName("MacAddress") + @JsonProperty("MacAddress") private String macAddress; - @FieldName("IPv4Address") + @JsonProperty("IPv4Address") private String ipv4Address; - @FieldName("IPv6Address") + @JsonProperty("IPv6Address") private String ipv6Address; public String getEndpointId() { @@ -129,13 +129,13 @@ public String getIpv6Address() { @ToString public static class Ipam { - @FieldName("Driver") + @JsonProperty("Driver") private String driver; - @FieldName("Config") + @JsonProperty("Config") private List config = new ArrayList<>(); - @FieldName("Options") + @JsonProperty("Options") private Map options = null; public String getDriver() { @@ -167,16 +167,16 @@ public Ipam withDriver(String driver) { public static class Config { - @FieldName("Subnet") + @JsonProperty("Subnet") private String subnet; - @FieldName("IPRange") + @JsonProperty("IPRange") private String ipRange; - @FieldName("Gateway") + @JsonProperty("Gateway") private String gateway; - @FieldName("NetworkID") + @JsonProperty("NetworkID") private String networkID; public String getSubnet() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java index 965334800..2afa87b73 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkAttachmentConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class NetworkAttachmentConfig implements Serializable { /** * @since 1.24 */ - @FieldName("Target") + @JsonProperty("Target") private String target; /** * @since 1.24 */ - @FieldName("Aliases") + @JsonProperty("Aliases") private List aliases; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java index 0761d815e..3ef92ac64 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/NetworkSettings.java @@ -3,7 +3,7 @@ */ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,61 +20,61 @@ public class NetworkSettings implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Bridge") + @JsonProperty("Bridge") private String bridge; - @FieldName("SandboxID") + @JsonProperty("SandboxID") private String sandboxId; - @FieldName("HairpinMode") + @JsonProperty("HairpinMode") private Boolean hairpinMode; - @FieldName("LinkLocalIPv6Address") + @JsonProperty("LinkLocalIPv6Address") private String linkLocalIPv6Address; - @FieldName("LinkLocalIPv6PrefixLen") + @JsonProperty("LinkLocalIPv6PrefixLen") private Integer linkLocalIPv6PrefixLen; - @FieldName("Ports") + @JsonProperty("Ports") private Ports ports; - @FieldName("SandboxKey") + @JsonProperty("SandboxKey") private String sandboxKey; - @FieldName("SecondaryIPAddresses") + @JsonProperty("SecondaryIPAddresses") private Object secondaryIPAddresses; - @FieldName("SecondaryIPv6Addresses") + @JsonProperty("SecondaryIPv6Addresses") private Object secondaryIPv6Addresses; - @FieldName("EndpointID") + @JsonProperty("EndpointID") private String endpointID; - @FieldName("Gateway") + @JsonProperty("Gateway") private String gateway; - @FieldName("PortMapping") + @JsonProperty("PortMapping") private Map> portMapping; - @FieldName("GlobalIPv6Address") + @JsonProperty("GlobalIPv6Address") private String globalIPv6Address; - @FieldName("GlobalIPv6PrefixLen") + @JsonProperty("GlobalIPv6PrefixLen") private Integer globalIPv6PrefixLen; - @FieldName("IPAddress") + @JsonProperty("IPAddress") private String ipAddress; - @FieldName("IPPrefixLen") + @JsonProperty("IPPrefixLen") private Integer ipPrefixLen; - @FieldName("IPv6Gateway") + @JsonProperty("IPv6Gateway") private String ipV6Gateway; - @FieldName("MacAddress") + @JsonProperty("MacAddress") private String macAddress; - @FieldName("Networks") + @JsonProperty("Networks") private Map networks; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java index ab7147c26..2b12ab48f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Node.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,16 +14,16 @@ public class Node implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Id") + @JsonProperty("Id") private String id; - @FieldName("Addr") + @JsonProperty("Addr") private String addr; - @FieldName("Ip") + @JsonProperty("Ip") private String ip; public String getName() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java index 2ecdf4adb..0b0259049 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ObjectVersion.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; @@ -16,7 +16,7 @@ public class ObjectVersion implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Index") + @JsonProperty("Index") private Long index = null; public Long getIndex() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java index ed15d3137..e20af63b9 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PeerNode.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class PeerNode implements Serializable { /** * @since 1.24 */ - @FieldName("NodeID") + @JsonProperty("NodeID") private String nodeID; /** * @since 1.24 */ - @FieldName("Addr") + @JsonProperty("Addr") private String addr; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java index ad890f4f0..c3d13596f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PidsStatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,7 +13,7 @@ public class PidsStatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("current") + @JsonProperty("current") private Long current; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java index 92f1d333d..57f2f61b0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,25 +18,25 @@ public class PortConfig implements Serializable { /** * @since 1.24 */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since 1.24 */ - @FieldName("Protocol") + @JsonProperty("Protocol") private PortConfigProtocol protocol; /** * @since 1.24 */ - @FieldName("TargetPort") + @JsonProperty("TargetPort") private int targetPort; /** * @since 1.24 */ - @FieldName("PublishedPort") + @JsonProperty("PublishedPort") private int publishedPort; /** @@ -44,7 +44,7 @@ public class PortConfig implements Serializable { * docker 1.13 * https://github.com/mrjana/docker/blob/14ac9f60d0174256e0713701ebffaf5ca827da71/api/types/swarm/network.go */ - @FieldName("PublishMode") + @JsonProperty("PublishMode") private PublishMode publishMode; /** @@ -122,10 +122,10 @@ public PortConfig withPublishMode(PublishMode publishMode) { public enum PublishMode { //ingress load balancing using routing mesh. - @FieldName("ingress") + @JsonProperty("ingress") ingress, //direct host level access on the host where the task is running. - @FieldName("host") + @JsonProperty("host") host } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java index 1ca5953d9..f47b06f1d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PortConfigProtocol.java @@ -1,16 +1,16 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum PortConfigProtocol { - @FieldName("tcp") + @JsonProperty("tcp") TCP, - @FieldName("udp") + @JsonProperty("udp") UDP } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java index 92fe49ae6..b278e8fc4 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ports.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.EqualsAndHashCode; import java.io.Serializable; @@ -248,7 +248,7 @@ public String toString() { } } - @FromPrimitive + @JsonCreator public static Ports fromPrimitive(Map>> map) { Ports out = new Ports(); for (Entry>> entry : map.entrySet()) { @@ -265,7 +265,7 @@ public static Ports fromPrimitive(Map>> map) { return out; } - @ToPrimitive + @JsonValue public Map>> toPrimitive() { // Use reduce-like collect to be able to put nulls into the values return ports.entrySet().stream().collect( diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java index 24e06fd44..3efaf47c1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PruneResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,7 +14,7 @@ public class PruneResponse implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("SpaceReclaimed") + @JsonProperty("SpaceReclaimed") private Long spaceReclaimed; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java index bd7ba79c4..66a559934 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.IgnoredField; +import com.fasterxml.jackson.annotation.JsonIgnore; /** * Represents a pull response stream item @@ -24,7 +24,7 @@ public class PullResponseItem extends ResponseItem { * * @returns true: status indicates that pull was successful, false: status doesn't indicate a successful pull */ - @IgnoredField + @JsonIgnore public boolean isPullSuccessIndicated() { if (isErrorIndicated() || getStatus() == null) { return false; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java index e37d6355e..a536080c3 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Reachability.java @@ -1,18 +1,18 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum Reachability { - @FieldName("unknown") + @JsonProperty("unknown") UNKNOWN, - @FieldName("unreachable") + @JsonProperty("unreachable") UNREACHABLE, - @FieldName("reachable") + @JsonProperty("reachable") REACHABLE } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java index cb5f16161..463b22011 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceRequirements.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class ResourceRequirements implements Serializable { /** * @since 1.24 */ - @FieldName("Limits") + @JsonProperty("Limits") private ResourceSpecs limits; /** * @since 1.24 */ - @FieldName("Reservations") + @JsonProperty("Reservations") private ResourceSpecs reservations; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java index 37c23cae0..86ab24b52 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceSpecs.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class ResourceSpecs implements Serializable { /** * @since 1.24 */ - @FieldName("MemoryBytes") + @JsonProperty("MemoryBytes") private Long memoryBytes; /** * @since 1.24 */ - @FieldName("NanoCPUs") + @JsonProperty("NanoCPUs") private Long nanoCPUs; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java index 4586fd9c4..4838b78d7 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResourceVersion.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class ResourceVersion implements Serializable { /** * @since 1.24 */ - @FieldName("Index") + @JsonProperty("Index") private Long index; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java index b6b37f5c7..d0f797a71 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ResponseItem.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; -import com.github.dockerjava.api.annotation.IgnoredField; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,39 +16,39 @@ public class ResponseItem implements Serializable { private static final long serialVersionUID = -5187169652557467828L; - @FieldName("stream") + @JsonProperty("stream") private String stream; - @FieldName("status") + @JsonProperty("status") private String status; - @FieldName("progressDetail") + @JsonProperty("progressDetail") private ProgressDetail progressDetail; @Deprecated - @FieldName("progress") + @JsonProperty("progress") private String progress; - @FieldName("id") + @JsonProperty("id") private String id; - @FieldName("from") + @JsonProperty("from") private String from; - @FieldName("time") + @JsonProperty("time") private Long time; - @FieldName("errorDetail") + @JsonProperty("errorDetail") private ErrorDetail errorDetail; @Deprecated - @FieldName("error") + @JsonProperty("error") private String error; /** * @since {@link RemoteApiVersion#VERSION_1_22} */ - @FieldName("aux") + @JsonProperty("aux") private AuxDetail aux; @CheckForNull @@ -110,7 +110,7 @@ public AuxDetail getAux() { * * @returns true: the error field indicates an error, false: the error field doesn't indicate an error */ - @IgnoredField + @JsonIgnore public boolean isErrorIndicated() { // check both the deprecated and current error fields, just in case return getError() != null || getErrorDetail() != null; @@ -121,13 +121,13 @@ public boolean isErrorIndicated() { public static class ProgressDetail implements Serializable { private static final long serialVersionUID = -1954994695645715264L; - @FieldName("current") + @JsonProperty("current") Long current; - @FieldName("total") + @JsonProperty("total") Long total; - @FieldName("start") + @JsonProperty("start") Long start; @CheckForNull @@ -151,10 +151,10 @@ public Long getStart() { public static class ErrorDetail implements Serializable { private static final long serialVersionUID = -9136704865403084083L; - @FieldName("code") + @JsonProperty("code") Integer code; - @FieldName("message") + @JsonProperty("message") String message; @CheckForNull @@ -173,13 +173,13 @@ public String getMessage() { public static class AuxDetail implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Size") + @JsonProperty("Size") private Integer size; - @FieldName("Tag") + @JsonProperty("Tag") private String tag; - @FieldName("Digest") + @JsonProperty("Digest") private String digest; @CheckForNull diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java index 25aabb2bd..114d9f0d8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/RestartPolicy.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import java.io.Serializable; @@ -30,10 +30,10 @@ public class RestartPolicy implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("MaximumRetryCount") + @JsonProperty("MaximumRetryCount") private Integer maximumRetryCount = 0; - @FieldName("Name") + @JsonProperty("Name") private String name = ""; public RestartPolicy() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java index 2d04339a7..a77f38053 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SearchItem.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,19 +16,19 @@ public class SearchItem implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("star_count") + @JsonProperty("star_count") private Integer starCount; - @FieldName("is_official") + @JsonProperty("is_official") private Boolean isOfficial; - @FieldName("is_trusted") + @JsonProperty("is_trusted") private Boolean isTrusted; - @FieldName("name") + @JsonProperty("name") private String name; - @FieldName("description") + @JsonProperty("description") private String description; public Integer getStarCount() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java index bc3766b97..20680f5fb 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Secret.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; import java.util.Date; @@ -16,31 +16,31 @@ public class Secret implements Serializable { /** * @since 1.24 */ - @FieldName("ID") + @JsonProperty("ID") private String id; /** * @since 1.24 */ - @FieldName("CreatedAt") + @JsonProperty("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @FieldName("UpdatedAt") + @JsonProperty("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @FieldName("Spec") + @JsonProperty("Spec") private ServiceSpec spec; /** * @since 1.24 */ - @FieldName("Version") + @JsonProperty("Version") private ResourceVersion version; public String getId() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java index 04a7de0b1..572c0c90e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SecretSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,19 +20,19 @@ public class SecretSpec implements Serializable { /** * @since 1.25 */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since 1.25 */ - @FieldName("Data") + @JsonProperty("Data") private String data; /** * @since 1.25 */ - @FieldName("Labels") + @JsonProperty("Labels") private Map labels; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java index ef141b5dd..63b3b4757 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Service.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -21,43 +21,43 @@ public class Service implements Serializable { /** * @since 1.24 */ - @FieldName("ID") + @JsonProperty("ID") private String id; /** * @since 1.24 */ - @FieldName("CreatedAt") + @JsonProperty("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @FieldName("UpdatedAt") + @JsonProperty("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @FieldName("Spec") + @JsonProperty("Spec") private ServiceSpec spec; /** * @since 1.24 */ - @FieldName("Endpoint") + @JsonProperty("Endpoint") private Endpoint endpoint; /** * @since 1.24 */ - @FieldName("UpdateStatus") + @JsonProperty("UpdateStatus") private ServiceUpdateStatus updateStatus; /** * @since 1.24 */ - @FieldName("Version") + @JsonProperty("Version") private ResourceVersion version; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java index 7790d3578..c179271bf 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceModeConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,13 +18,13 @@ public class ServiceModeConfig implements Serializable { /** * @since 1.24 */ - @FieldName("Replicated") + @JsonProperty("Replicated") private ServiceReplicatedModeOptions replicated; /** * @since 1.24 */ - @FieldName("Global") + @JsonProperty("Global") private ServiceGlobalModeOptions global; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java index d98eff709..9c2f0223a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServicePlacement.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class ServicePlacement implements Serializable { /** * @since 1.24 */ - @FieldName("Constraints") + @JsonProperty("Constraints") private List constraints; /** * @since 1.30 */ - @FieldName("Platforms") + @JsonProperty("Platforms") private List platforms; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java index 1d394c14d..c28a09370 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceReplicatedModeOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,7 +17,7 @@ public class ServiceReplicatedModeOptions implements Serializable { /** * @since 1.24 */ - @FieldName("Replicas") + @JsonProperty("Replicas") private long replicas; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java index cb89e1f34..639c84b2c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartCondition.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum ServiceRestartCondition { - @FieldName("on-failure") + @JsonProperty("on-failure") ON_FAILURE, - @FieldName("any") + @JsonProperty("any") ANY, - @FieldName("none") + @JsonProperty("none") NONE } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java index 5e41986cc..8b55315e0 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceRestartPolicy.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,25 +18,25 @@ public class ServiceRestartPolicy implements Serializable { /** * @since 1.24 */ - @FieldName("Condition") + @JsonProperty("Condition") private ServiceRestartCondition condition; /** * @since 1.24 */ - @FieldName("Delay") + @JsonProperty("Delay") private Long delay; /** * @since 1.24 */ - @FieldName("MaxAttempts") + @JsonProperty("MaxAttempts") private Long maxAttempts; /** * @since 1.24 */ - @FieldName("Window") + @JsonProperty("Window") private Long window; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java index 7d5356ecd..b5ca4a5dd 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,49 +20,49 @@ public class ServiceSpec implements Serializable { /** * @since 1.24 */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since 1.24 */ - @FieldName("TaskTemplate") + @JsonProperty("TaskTemplate") private TaskSpec taskTemplate; /** * @since 1.24 */ - @FieldName("Mode") + @JsonProperty("Mode") private ServiceModeConfig mode; /** * @since 1.24 */ - @FieldName("UpdateConfig") + @JsonProperty("UpdateConfig") private UpdateConfig updateConfig; /** * @since 1.24 */ - @FieldName("Networks") + @JsonProperty("Networks") private List networks; /** * @since 1.24 */ - @FieldName("EndpointSpec") + @JsonProperty("EndpointSpec") private EndpointSpec endpointSpec; /** * @since 1.24 */ - @FieldName("Labels") + @JsonProperty("Labels") private Map labels; /** * @since 1.28 */ - @FieldName("RollbackConfig") + @JsonProperty("RollbackConfig") private UpdateConfig rollbackConfig; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java index 7dd0f6b20..e748bbd4a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateState.java @@ -1,20 +1,20 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum ServiceUpdateState { - @FieldName("updating") + @JsonProperty("updating") UPDATING, - @FieldName("paused") + @JsonProperty("paused") PAUSED, - @FieldName("completed") + @JsonProperty("completed") COMPLETED, - @FieldName("rollback_completed") + @JsonProperty("rollback_completed") ROLLBACK_COMPLETED } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java index 3dc989c2c..ee457d9f8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ServiceUpdateStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,25 +19,25 @@ public class ServiceUpdateStatus implements Serializable { /** * @since 1.24 */ - @FieldName("State") + @JsonProperty("State") private ServiceUpdateState state; /** * @since 1.24 */ - @FieldName("StartedAt") + @JsonProperty("StartedAt") private Date startedAt; /** * @since 1.24 */ - @FieldName("CompletedAt") + @JsonProperty("CompletedAt") private Date completedAt; /** * @since 1.24 */ - @FieldName("Message") + @JsonProperty("Message") private String message; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java index 518d75d17..d22b6a787 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatisticNetworksConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,28 +17,28 @@ public class StatisticNetworksConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("rx_bytes") + @JsonProperty("rx_bytes") private Long rxBytes; - @FieldName("rx_dropped") + @JsonProperty("rx_dropped") private Long rxDropped; - @FieldName("rx_errors") + @JsonProperty("rx_errors") private Long rxErrors; - @FieldName("rx_packets") + @JsonProperty("rx_packets") private Long rxPackets; - @FieldName("tx_bytes") + @JsonProperty("tx_bytes") private Long txBytes; - @FieldName("tx_dropped") + @JsonProperty("tx_dropped") private Long txDropped; - @FieldName("tx_errors") + @JsonProperty("tx_errors") private Long txErrors; - @FieldName("tx_packets") + @JsonProperty("tx_packets") private Long txPackets; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java index 5a2ec7d9d..2bbc91777 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Statistics.java @@ -5,7 +5,7 @@ import javax.annotation.CheckForNull; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,42 +17,42 @@ public class Statistics implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("read") + @JsonProperty("read") private String read; /** * @since Docker Remote API 1.21 */ @CheckForNull - @FieldName("networks") + @JsonProperty("networks") private Map networks; /** * @deprecated as of Docker Remote API 1.21, replaced by {@link #networks} */ @Deprecated - @FieldName("network") + @JsonProperty("network") private Map network; - @FieldName("memory_stats") + @JsonProperty("memory_stats") private MemoryStatsConfig memoryStats; - @FieldName("blkio_stats") + @JsonProperty("blkio_stats") private BlkioStatsConfig blkioStats; - @FieldName("cpu_stats") + @JsonProperty("cpu_stats") private CpuStatsConfig cpuStats; /** * @since Docker Remote API 1.19 */ - @FieldName("precpu_stats") + @JsonProperty("precpu_stats") private CpuStatsConfig preCpuStats; /** * @since Docker Remote API 1.23 */ - @FieldName("pids_stats") + @JsonProperty("pids_stats") private PidsStatsConfig pidsStats; public String getRead() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java index 7a80d89d3..19b95a7ff 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/StatsConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -8,106 +8,106 @@ public class StatsConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("active_anon") + @JsonProperty("active_anon") private Long activeAnon; - @FieldName("active_file") + @JsonProperty("active_file") private Long activeFile; - @FieldName("cache") + @JsonProperty("cache") private Long cache; - @FieldName("dirty") + @JsonProperty("dirty") private Long dirty; - @FieldName("hierarchical_memory_limit") + @JsonProperty("hierarchical_memory_limit") private Long hierarchicalMemoryLimit; - @FieldName("hierarchical_memsw_limit") + @JsonProperty("hierarchical_memsw_limit") private Long hierarchicalMemswLimit; - @FieldName("inactive_anon") + @JsonProperty("inactive_anon") private Long inactiveAnon; - @FieldName("inactive_file") + @JsonProperty("inactive_file") private Long inactiveFile; - @FieldName("mapped_file") + @JsonProperty("mapped_file") private Long mappedFile; - @FieldName("pgfault") + @JsonProperty("pgfault") private Long pgfault; - @FieldName("pgmajfault") + @JsonProperty("pgmajfault") private Long pgmajfault; - @FieldName("pgpgin") + @JsonProperty("pgpgin") private Long pgpgin; - @FieldName("pgpgout") + @JsonProperty("pgpgout") private Long pgpgout; - @FieldName("rss") + @JsonProperty("rss") private Long rss; - @FieldName("rss_huge") + @JsonProperty("rss_huge") private Long rssHuge; - @FieldName("swap") + @JsonProperty("swap") private Long swap; - @FieldName("total_active_anon") + @JsonProperty("total_active_anon") private Long totalActiveAnon; - @FieldName("total_active_file") + @JsonProperty("total_active_file") private Long totalActiveFile; - @FieldName("total_cache") + @JsonProperty("total_cache") private Long totalCache; - @FieldName("total_dirty") + @JsonProperty("total_dirty") private Long totalDirty; - @FieldName("total_inactive_anon") + @JsonProperty("total_inactive_anon") private Long totalInactiveAnon; - @FieldName("total_inactive_file") + @JsonProperty("total_inactive_file") private Long totalInactiveFile; - @FieldName("total_mapped_file") + @JsonProperty("total_mapped_file") private Long totalMappedFile; - @FieldName("total_pgfault") + @JsonProperty("total_pgfault") private Long totalPgfault; - @FieldName("total_pgmajfault") + @JsonProperty("total_pgmajfault") private Long totalPgmajfault; - @FieldName("total_pgpgin") + @JsonProperty("total_pgpgin") private Long totalPgpgin; - @FieldName("total_pgpgout") + @JsonProperty("total_pgpgout") private Long totalPgpgout; - @FieldName("total_rss") + @JsonProperty("total_rss") private Long totalRss; - @FieldName("total_rss_huge") + @JsonProperty("total_rss_huge") private Long totalRssHuge; - @FieldName("total_swap") + @JsonProperty("total_swap") private Long totalSwap; - @FieldName("total_unevictable") + @JsonProperty("total_unevictable") private Long totalUnevictable; - @FieldName("total_writeback") + @JsonProperty("total_writeback") private Long totalWriteback; - @FieldName("unevictable") + @JsonProperty("unevictable") private Long unevictable; - @FieldName("writeback") + @JsonProperty("writeback") private Long writeback; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java index 00b907220..0554c53f1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Swarm.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.util.Date; @@ -14,7 +14,7 @@ public class Swarm extends ClusterInfo { /** * @since 1.24 */ - @FieldName("JoinTokens") + @JsonProperty("JoinTokens") private SwarmJoinTokens joinTokens; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java index 36e32f24a..6f632aa1b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmCAConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,13 +20,13 @@ public class SwarmCAConfig implements Serializable { /** * @since 1.24 */ - @FieldName("NodeCertExpiry") + @JsonProperty("NodeCertExpiry") private Long nodeCertExpiry; /** * @since 1.24 */ - @FieldName("ExternalCAs") + @JsonProperty("ExternalCAs") private List externalCA; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java index 5d5c50c4d..bc8fd4305 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmDispatcherConfig.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,7 +20,7 @@ public class SwarmDispatcherConfig implements Serializable { /** * @since 1.24 */ - @FieldName("HeartbeatPeriod") + @JsonProperty("HeartbeatPeriod") private Long heartbeatPeriod; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java index 3f8721ae6..3fd8e8704 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmInfo.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,55 +19,55 @@ public class SwarmInfo implements Serializable { /** * @since 1.24 */ - @FieldName("NodeID") + @JsonProperty("NodeID") private String nodeID; /** * @since 1.24 */ - @FieldName("NodeAddr") + @JsonProperty("NodeAddr") private String nodeAddr; /** * @since 1.24 */ - @FieldName("LocalNodeState") + @JsonProperty("LocalNodeState") private LocalNodeState localNodeState; /** * @since 1.24 */ - @FieldName("ControlAvailable") + @JsonProperty("ControlAvailable") private Boolean controlAvailable; /** * @since 1.24 */ - @FieldName("Error") + @JsonProperty("Error") private String error; /** * @since 1.24 */ - @FieldName("RemoteManagers") + @JsonProperty("RemoteManagers") private List remoteManagers; /** * @since 1.24 */ - @FieldName("Nodes") + @JsonProperty("Nodes") private Integer nodes; /** * @since 1.24 */ - @FieldName("Managers") + @JsonProperty("Managers") private Integer managers; /** * @since 1.24 */ - @FieldName("ClusterInfo") + @JsonProperty("ClusterInfo") private ClusterInfo clusterInfo; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java index 444a81893..06b1f3a78 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmJoinTokens.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmJoinTokens implements Serializable { /** * @since 1.24 */ - @FieldName("Worker") + @JsonProperty("Worker") private String worker; /** * @since 1.24 */ - @FieldName("Manager") + @JsonProperty("Manager") private String manager; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java index 9a749d2b3..cdb17c20d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNode.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -22,49 +22,49 @@ public class SwarmNode implements Serializable { /** * @since 1.24 */ - @FieldName("ID") + @JsonProperty("ID") private String id; /** * @since 1.24 */ - @FieldName("Version") + @JsonProperty("Version") private ObjectVersion version; /** * @since 1.24 */ - @FieldName("CreatedAt") + @JsonProperty("CreatedAt") private Date createdAt; /** * @since 1.24 */ - @FieldName("UpdatedAt") + @JsonProperty("UpdatedAt") private Date updatedAt; /** * @since 1.24 */ - @FieldName("Spec") + @JsonProperty("Spec") private SwarmNodeSpec spec; /** * @since 1.24 */ - @FieldName("Description") + @JsonProperty("Description") private SwarmNodeDescription description; /** * @since 1.24 */ - @FieldName("Status") + @JsonProperty("Status") private SwarmNodeStatus status; /** * @since 1.24 */ - @FieldName("ManagerStatus") + @JsonProperty("ManagerStatus") private SwarmNodeManagerStatus managerStatus; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java index 33bc40da6..1ab24146f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeAvailability.java @@ -1,18 +1,18 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum SwarmNodeAvailability { - @FieldName("active") + @JsonProperty("active") ACTIVE, - @FieldName("pause") + @JsonProperty("pause") PAUSE, - @FieldName("drain") + @JsonProperty("drain") DRAIN } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java index f59b557de..d0c35c873 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeDescription.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,25 +18,25 @@ public class SwarmNodeDescription implements Serializable { /** * @since 1.24 */ - @FieldName("Hostname") + @JsonProperty("Hostname") private String hostname; /** * @since 1.24 */ - @FieldName("Platform") + @JsonProperty("Platform") private SwarmNodePlatform platform; /** * @since 1.24 */ - @FieldName("Resources") + @JsonProperty("Resources") private SwarmNodeResources resources; /** * @since 1.24 */ - @FieldName("Engine") + @JsonProperty("Engine") private SwarmNodeEngineDescription engine; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java index e87017616..41c369d09 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeEngineDescription.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,19 +20,19 @@ public class SwarmNodeEngineDescription implements Serializable { /** * @since 1.24 */ - @FieldName("EngineVersion") + @JsonProperty("EngineVersion") private String engineVersion; /** * @since 1.24 */ - @FieldName("Labels") + @JsonProperty("Labels") private Map labels; /** * @since 1.24 */ - @FieldName("Plugins") + @JsonProperty("Plugins") private SwarmNodePluginDescription[] plugins; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java index 1c852c332..07a0e448b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeManagerStatus.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,19 +19,19 @@ public class SwarmNodeManagerStatus implements Serializable { /** * @since 1.24 */ - @FieldName("Leader") + @JsonProperty("Leader") private boolean leader; /** * @since 1.24 */ - @FieldName("Reachability") + @JsonProperty("Reachability") private Reachability reachability; /** * @since 1.24 */ - @FieldName("Addr") + @JsonProperty("Addr") private String addr; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java index 206994e7c..3b3747d5f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePlatform.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmNodePlatform implements Serializable { /** * @since 1.24 */ - @FieldName("Architecture") + @JsonProperty("Architecture") private String architecture; /** * @since 1.24 */ - @FieldName("OS") + @JsonProperty("OS") private String os; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java index b3df2d6bd..d05bfb9c9 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodePluginDescription.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmNodePluginDescription implements Serializable { /** * @since 1.24 */ - @FieldName("Type") + @JsonProperty("Type") private String type; /** * @since 1.24 */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java index e9466c708..05f6d0203 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeResources.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class SwarmNodeResources implements Serializable { /** * @since 1.24 */ - @FieldName("NanoCPUs") + @JsonProperty("NanoCPUs") private Long nanoCPUs; /** * @since 1.24 */ - @FieldName("MemoryBytes") + @JsonProperty("MemoryBytes") private Long memoryBytes; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java index 5a75fc0b1..224fd70f5 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeRole.java @@ -1,15 +1,15 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum SwarmNodeRole { - @FieldName("worker") + @JsonProperty("worker") WORKER, - @FieldName("manager") + @JsonProperty("manager") MANAGER } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java index f9a5e76d1..5162bdff7 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeSpec.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,25 +20,25 @@ public class SwarmNodeSpec implements Serializable { /** * @since 1.24 */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** * @since 1.24 */ - @FieldName("Role") + @JsonProperty("Role") private SwarmNodeRole role; /** * @since 1.24 */ - @FieldName("Availability") + @JsonProperty("Availability") private SwarmNodeAvailability availability; /** * @since 1.24 */ - @FieldName("Labels") + @JsonProperty("Labels") public Map labels; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java index 62882172e..6a2776716 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeState.java @@ -1,21 +1,21 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum SwarmNodeState { - @FieldName("unknown") + @JsonProperty("unknown") UNKNOWN, - @FieldName("down") + @JsonProperty("down") DOWN, - @FieldName("ready") + @JsonProperty("ready") READY, - @FieldName("disconnected") + @JsonProperty("disconnected") DISCONNECTED } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java index dfe089025..ba99a194a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class SwarmNodeStatus implements Serializable { /** * @since 1.24 */ - @FieldName("State") + @JsonProperty("State") private SwarmNodeState state; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java index ced0c023d..35cbba491 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmNodeVersion.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,7 +20,7 @@ public class SwarmNodeVersion implements Serializable { /** * @since 1.24 */ - @FieldName("Index") + @JsonProperty("Index") private long index; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java index c8fcfefaf..60cc1f32d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmOrchestration.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class SwarmOrchestration implements Serializable { /** * @since 1.24 */ - @FieldName("TaskHistoryRetentionLimit") + @JsonProperty("TaskHistoryRetentionLimit") private int taskHistoryRententionLimit; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java index 8c83162ef..16553defc 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmRaftConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,25 +19,25 @@ public class SwarmRaftConfig implements Serializable { /** * @since 1.24 */ - @FieldName("LogEntriesForSlowFollowers") + @JsonProperty("LogEntriesForSlowFollowers") private long logEntriesForSlowFollowers; /** * @since 1.24 */ - @FieldName("HeartbeatTick") + @JsonProperty("HeartbeatTick") private int heartbeatTick; /** * @since 1.24 */ - @FieldName("SnapshotInterval") + @JsonProperty("SnapshotInterval") private long snapshotInterval; /** * @since 1.24 */ - @FieldName("ElectionTick") + @JsonProperty("ElectionTick") private int electionTick; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java index 33412366b..bbc8f6db6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmSpec.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,38 +20,38 @@ public class SwarmSpec implements Serializable { /** * @since 1.24 */ - @FieldName("Dispatcher") + @JsonProperty("Dispatcher") private SwarmDispatcherConfig dispatcher; /** * @since 1.24 */ - @FieldName("Orchestration") + @JsonProperty("Orchestration") private SwarmOrchestration orchestration; /** * @since 1.24 */ - @FieldName("CAConfig") + @JsonProperty("CAConfig") private SwarmCAConfig caConfig; /** * @since 1.24 */ - @FieldName("Raft") + @JsonProperty("Raft") private SwarmRaftConfig raft; /** * @since 1.24 */ - @FieldName("TaskDefaults") + @JsonProperty("TaskDefaults") private TaskDefaults taskDefaults; /** * @since 1.24 */ - @FieldName("Name") + @JsonProperty("Name") private String name; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java index e74d3638c..2d7fc3e43 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/SwarmVersion.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,7 +19,7 @@ public class SwarmVersion implements Serializable { /** * @since 1.24 */ - @FieldName("Index") + @JsonProperty("Index") private long index; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java index 170a246c0..46585eed8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Task.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,43 +16,43 @@ public class Task implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("ID") + @JsonProperty("ID") private String id = null; - @FieldName("Version") + @JsonProperty("Version") private ObjectVersion version = null; - @FieldName("CreatedAt") + @JsonProperty("CreatedAt") private String createdAt = null; - @FieldName("UpdatedAt") + @JsonProperty("UpdatedAt") private String updatedAt = null; - @FieldName("Name") + @JsonProperty("Name") private String name = null; - @FieldName("Labels") + @JsonProperty("Labels") private Map labels = null; - @FieldName("Spec") + @JsonProperty("Spec") private TaskSpec spec = null; - @FieldName("ServiceID") + @JsonProperty("ServiceID") private String serviceId = null; - @FieldName("Slot") + @JsonProperty("Slot") private Integer slot = null; - @FieldName("NodeID") + @JsonProperty("NodeID") private String nodeId = null; - @FieldName("AssignedGenericResources") + @JsonProperty("AssignedGenericResources") private List assignedGenericResources = null; - @FieldName("Status") + @JsonProperty("Status") private TaskStatus status = null; - @FieldName("DesiredState") + @JsonProperty("DesiredState") private TaskState desiredState = null; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java index d3142a02b..c385bd1b9 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskDefaults.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,7 +20,7 @@ public class TaskDefaults implements Serializable { /** * @since 1.24 */ - @FieldName("LogDriver") + @JsonProperty("LogDriver") private Driver logDriver; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java index 811f64a9e..bef5e579d 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskSpec.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,31 +19,31 @@ public class TaskSpec implements Serializable { /** * @since 1.24 */ - @FieldName("ContainerSpec") + @JsonProperty("ContainerSpec") private ContainerSpec containerSpec; /** * @since 1.24 */ - @FieldName("Resources") + @JsonProperty("Resources") private ResourceRequirements resources; /** * @since 1.24 */ - @FieldName("RestartPolicy") + @JsonProperty("RestartPolicy") private ServiceRestartPolicy restartPolicy; /** * @since 1.24 */ - @FieldName("Placement") + @JsonProperty("Placement") private ServicePlacement placement; /** * @since 1.24 */ - @FieldName("LogDriver") + @JsonProperty("LogDriver") private Driver logDriver; /** @@ -51,19 +51,19 @@ public class TaskSpec implements Serializable { * a counter that triggers an update even if no relevant parameters have been changed * a random value will work if it is incrementing. */ - @FieldName("ForceUpdate") + @JsonProperty("ForceUpdate") private Integer forceUpdate; /** * @since 1.25 */ - @FieldName("Networks") + @JsonProperty("Networks") private List networks; /** * @since 1.30 */ - @FieldName("Runtime") + @JsonProperty("Runtime") private String runtime; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java index 06300c52a..0a2cb55d8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskState.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FromPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; /** * @since {@link RemoteApiVersion#VERSION_1_24} @@ -47,7 +47,7 @@ public String getValue() { return value; } - @FromPrimitive + @JsonCreator public static TaskState forValue(String s) { return TaskState.valueOf(s.toUpperCase()); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java index 1e57ea84b..a335350e4 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,19 +14,19 @@ public class TaskStatus implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Timestamp") + @JsonProperty("Timestamp") private String timestamp = null; - @FieldName("State") + @JsonProperty("State") private TaskState state = null; - @FieldName("Message") + @JsonProperty("Message") private String message = null; - @FieldName("Err") + @JsonProperty("Err") private String err = null; - @FieldName("ContainerStatus") + @JsonProperty("ContainerStatus") private TaskStatusContainerStatus containerStatus = null; public String getTimestamp() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java index 8dc8dce72..0349e301f 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TaskStatusContainerStatus.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,13 +14,13 @@ public class TaskStatusContainerStatus implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("ContainerID") + @JsonProperty("ContainerID") private String containerID = null; - @FieldName("PID") + @JsonProperty("PID") private Long pid = null; - @FieldName("ExitCode") + @JsonProperty("ExitCode") private Long exitCode = null; public String getContainerID() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java index b287bc81e..ce29b7057 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/ThrottlingDataConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.io.Serializable; @@ -13,13 +13,13 @@ public class ThrottlingDataConfig implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("periods") + @JsonProperty("periods") private Long periods; - @FieldName("throttled_periods") + @JsonProperty("throttled_periods") private Long throttledPeriods; - @FieldName("throttled_time") + @JsonProperty("throttled_time") private Long throttledTime; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java index b535b7d45..b2dc02a30 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/TmpfsOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -13,12 +13,12 @@ @ToString public class TmpfsOptions implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("SizeBytes") + @JsonProperty("SizeBytes") //The size for the tmpfs mount in bytes. private Long sizeBytes; //The permission mode for the tmpfs mount in an integer. - @FieldName("Mode") + @JsonProperty("Mode") private Integer mode; public Long getSizeBytes() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java index 95f812bdf..b71c8c40a 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Ulimit.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -16,13 +16,13 @@ public class Ulimit implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Soft") + @JsonProperty("Soft") private Integer soft; - @FieldName("Hard") + @JsonProperty("Hard") private Integer hard; public Ulimit() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java index 713ab6a21..ee5d4a740 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,37 +18,37 @@ public class UpdateConfig implements Serializable { /** * @since 1.24 */ - @FieldName("Parallelism") + @JsonProperty("Parallelism") private Long parallelism; /** * @since 1.24 */ - @FieldName("Delay") + @JsonProperty("Delay") private Long delay; /** * @since 1.24 */ - @FieldName("FailureAction") + @JsonProperty("FailureAction") private UpdateFailureAction failureAction; /** * @since 1.25 */ - @FieldName("MaxFailureRatio") + @JsonProperty("MaxFailureRatio") private Float maxFailureRatio; /** * @since 1.25 */ - @FieldName("Monitor") + @JsonProperty("Monitor") private Long monitor; /** * @since 1.36 */ - @FieldName("Order") + @JsonProperty("Order") private UpdateOrder order; diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java index 17290cbff..5b7b849b5 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateContainerResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.CheckForNull; import java.util.List; @@ -15,7 +15,7 @@ public class UpdateContainerResponse extends ResponseItem { private static final long serialVersionUID = 1L; - @FieldName("Warnings") + @JsonProperty("Warnings") private List warnings; @CheckForNull diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java index 710e2f52b..f4b1fb009 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateFailureAction.java @@ -1,19 +1,19 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_24} */ public enum UpdateFailureAction { - @FieldName("pause") + @JsonProperty("pause") PAUSE, - @FieldName("continue") + @JsonProperty("continue") CONTINUE, - @FieldName("rollback") + @JsonProperty("rollback") ROLLBACK } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java index a3729fbc3..3f74388de 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/UpdateOrder.java @@ -1,14 +1,14 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; /** * @since {@link RemoteApiVersion#VERSION_1_36} */ public enum UpdateOrder { - @FieldName("stop-first") + @JsonProperty("stop-first") STOP_FIRST, - @FieldName("start-first") + @JsonProperty("start-first") START_FIRST } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java index 10906daf8..2ac89e88b 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Version.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.command.VersionCmd; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -20,55 +20,55 @@ public class Version implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("ApiVersion") + @JsonProperty("ApiVersion") private String apiVersion; - @FieldName("Arch") + @JsonProperty("Arch") private String arch; - @FieldName("GitCommit") + @JsonProperty("GitCommit") private String gitCommit; - @FieldName("GoVersion") + @JsonProperty("GoVersion") private String goVersion; - @FieldName("KernelVersion") + @JsonProperty("KernelVersion") private String kernelVersion; - @FieldName("Os") + @JsonProperty("Os") private String operatingSystem; - @FieldName("Version") + @JsonProperty("Version") private String version; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("BuildTime") + @JsonProperty("BuildTime") private String buildTime; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_20} */ - @FieldName("Experimental") + @JsonProperty("Experimental") private Boolean experimental; /** * @since ~{@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @FieldName("MinAPIVersion") + @JsonProperty("MinAPIVersion") private String minAPIVersion; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_35} */ - @FieldName("Platform") + @JsonProperty("Platform") private VersionPlatform platform; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_35} */ - @FieldName("Components") + @JsonProperty("Components") private List components; public String getVersion() { diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java index 6cdd6ebeb..bee6774ba 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionComponent.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,13 +19,13 @@ public class VersionComponent implements Serializable { public static final long serialVersionUID = 1L; - @FieldName("Details") + @JsonProperty("Details") private Map details; - @FieldName("Name") + @JsonProperty("Name") private String name; - @FieldName("Version") + @JsonProperty("Version") private String version; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java index c09370407..96b389ef6 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VersionPlatform.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,7 +18,7 @@ public class VersionPlatform implements Serializable { public static final long serialVersionUID = 1L; - @FieldName("Name") + @JsonProperty("Name") private String name; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java index af249eaf3..14308ef23 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volume.java @@ -1,7 +1,7 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.EqualsAndHashCode; import javax.annotation.Nonnull; @@ -30,7 +30,7 @@ public class Volume implements Serializable { * @return a volume instance referring to the given path. */ @Nonnull - @FromPrimitive + @JsonCreator public static Volume parse(Map primitive) { return new Volume(primitive.get("path")); } @@ -51,7 +51,7 @@ public String getPath() { } @Override - @ToPrimitive + @JsonValue public String toString() { return getPath(); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java index 3570efbda..6de15ee38 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeBinds.java @@ -5,8 +5,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; public class VolumeBinds implements Serializable { private static final long serialVersionUID = 1L; @@ -21,7 +21,7 @@ public VolumeBind[] getBinds() { return binds; } - @FromPrimitive + @JsonCreator public static VolumeBinds fromPrimitive(Map primitive) { return new VolumeBinds( primitive.entrySet().stream() @@ -30,7 +30,7 @@ public static VolumeBinds fromPrimitive(Map primitive) { ); } - @ToPrimitive + @JsonValue public Map toPrimitive() { return Stream.of(binds).collect(Collectors.toMap( VolumeBind::getContainerPath, diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java index a98e51225..f0d98fc25 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeOptions.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -18,19 +18,19 @@ public class VolumeOptions implements Serializable { /** * @since 1.24 */ - @FieldName("NoCopy") + @JsonProperty("NoCopy") private Boolean noCopy; /** * @since 1.24 */ - @FieldName("Labels") + @JsonProperty("Labels") private Map labels; /** * @since 1.24 */ - @FieldName("DriverConfig") + @JsonProperty("DriverConfig") private Driver driverConfig; /** diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java index ff969e1f1..66ba57ced 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumeRW.java @@ -5,8 +5,8 @@ import java.util.Map; import java.util.Map.Entry; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.EqualsAndHashCode; /** @@ -20,21 +20,21 @@ public class VolumeRW implements Serializable { private static final long serialVersionUID = 1L; - private String volume; + private Volume volume; private AccessMode accessMode = AccessMode.rw; public VolumeRW(Volume volume) { - this.volume = volume.getPath(); + this.volume = volume; } public VolumeRW(Volume volume, AccessMode accessMode) { - this.volume = volume.getPath(); + this.volume = volume; this.accessMode = accessMode; } public Volume getVolume() { - return new Volume(volume); + return volume; } public AccessMode getAccessMode() { @@ -52,15 +52,15 @@ public String toString() { return getVolume() + ":" + getAccessMode(); } - @FromPrimitive + @JsonCreator public static VolumeRW fromPrimitive(Map map) { Entry entry = map.entrySet().iterator().next(); return new VolumeRW(new Volume(entry.getKey()), AccessMode.fromBoolean(entry.getValue())); } - @ToPrimitive + @JsonValue public Map toPrimitive() { - return Collections.singletonMap(volume, accessMode.toBoolean()); + return Collections.singletonMap(volume.getPath(), accessMode.toBoolean()); } } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java index 3e3d34051..2badd1ca8 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/Volumes.java @@ -6,37 +6,37 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; public class Volumes implements Serializable { private static final long serialVersionUID = 1L; - private String[] volumes; + private Volume[] volumes; public Volumes(Volume... volumes) { - this.volumes = Stream.of(volumes).map(Volume::getPath).toArray(String[]::new); + this.volumes = volumes; } public Volumes(List volumes) { - this.volumes = volumes.stream().map(Volume::getPath).toArray(String[]::new); + this.volumes = volumes.toArray(new Volume[volumes.size()]); } public Volume[] getVolumes() { - return Stream.of(volumes).map(Volume::new).toArray(Volume[]::new); + return volumes; } - @FromPrimitive + @JsonCreator public static Volumes fromPrimitive(Map map) { return new Volumes( map.keySet().stream().map(Volume::new).toArray(Volume[]::new) ); } - @ToPrimitive + @JsonValue public Map toPrimitive() { return Stream.of(volumes).collect(Collectors.toMap( - it -> it, + Volume::getPath, __ -> new Object() )); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java index d7a8f8498..98165afa9 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesFrom.java @@ -2,8 +2,8 @@ import java.io.Serializable; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.EqualsAndHashCode; @EqualsAndHashCode @@ -40,7 +40,7 @@ public AccessMode getAccessMode() { * @throws IllegalArgumentException * if the specification cannot be parsed */ - @FromPrimitive + @JsonCreator public static VolumesFrom parse(String serialized) { try { String[] parts = serialized.split(":"); @@ -68,7 +68,7 @@ public static VolumesFrom parse(String serialized) { * @return a string representation of this {@link VolumesFrom} */ @Override - @ToPrimitive + @JsonValue public String toString() { return container + ":" + accessMode.toString(); } diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java index ab9aee2ea..8afd3e230 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/VolumesRW.java @@ -5,8 +5,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.ToPrimitive; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; // This is not going to be serialized public class VolumesRW implements Serializable { @@ -22,7 +22,7 @@ public VolumeRW[] getVolumesRW() { return volumesRW; } - @FromPrimitive + @JsonCreator public static VolumesRW fromPrimitive(Map map) { return new VolumesRW( map.entrySet().stream() @@ -31,7 +31,7 @@ public static VolumesRW fromPrimitive(Map map) { ); } - @ToPrimitive + @JsonValue public Map toPrimitive() { return Stream.of(volumesRW).collect(Collectors.toMap( it -> it.getVolume().getPath(), diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java index 4373e2b5a..d80343057 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/WaitResponse.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; @@ -10,7 +10,7 @@ public class WaitResponse implements Serializable { private static final long serialVersionUID = 1L; - @FieldName("StatusCode") + @JsonProperty("StatusCode") private Integer statusCode; public Integer getStatusCode() { diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java index b8037eac5..b64c0e7e6 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientConfig.java @@ -51,8 +51,7 @@ enum DefaultObjectMapperHolder { private final ObjectMapper objectMapper = new ObjectMapper() // TODO .setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL) .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) - .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS) - .setAnnotationIntrospector(new DockerJavaJacksonAnnotationIntrospector()); + .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); public ObjectMapper getObjectMapper() { return objectMapper; diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java deleted file mode 100644 index f1c3b33bb..000000000 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerJavaJacksonAnnotationIntrospector.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.github.dockerjava.core; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.databind.PropertyName; -import com.fasterxml.jackson.databind.cfg.MapperConfig; -import com.fasterxml.jackson.databind.introspect.Annotated; -import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector; -import com.fasterxml.jackson.databind.util.ClassUtil; -import com.github.dockerjava.api.annotation.FromPrimitive; -import com.github.dockerjava.api.annotation.FieldName; -import com.github.dockerjava.api.annotation.IgnoredField; -import com.github.dockerjava.api.annotation.ToPrimitive; - -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.Map; - -public class DockerJavaJacksonAnnotationIntrospector extends JacksonAnnotationIntrospector { - - @Override - public String[] findEnumValues(Class enumType, Enum[] enumValues, String[] names) { - Map expl = new HashMap<>(); - for (Field f : ClassUtil.getDeclaredFields(enumType)) { - if (!f.isEnumConstant()) { - continue; - } - FieldName prop = f.getAnnotation(FieldName.class); - if (prop != null) { - expl.put(f.getName(), prop.value()); - } - } - if (expl.isEmpty()) { - return super.findEnumValues(enumType, enumValues, names); - } - - for (int i = 0; i < enumValues.length; ++i) { - names[i] = expl.getOrDefault(enumValues[i].name(), names[i]); - } - return names; - } - - @Override - protected boolean _isIgnorable(Annotated a) { - return a.hasAnnotation(IgnoredField.class) || super._isIgnorable(a); - } - - @Override - public JsonCreator.Mode findCreatorAnnotation(MapperConfig config, Annotated a) { - if (a.hasAnnotation(FromPrimitive.class)) { - return JsonCreator.Mode.DEFAULT; - } - return super.findCreatorAnnotation(config, a); - } - - @Override - public Boolean hasAsValue(Annotated a) { - if (a.hasAnnotation(ToPrimitive.class)) { - return true; - } - return super.hasAsValue(a); - } - - @Override - public PropertyName findNameForSerialization(Annotated a) { - FieldName fieldName = a.getAnnotation(FieldName.class); - if (fieldName != null) { - return PropertyName.construct(fieldName.value()); - } - - return super.findNameForSerialization(a); - } - - @Override - public PropertyName findNameForDeserialization(Annotated a) { - FieldName fieldName = a.getAnnotation(FieldName.class); - if (fieldName != null) { - return PropertyName.construct(fieldName.value()); - } - - return super.findNameForDeserialization(a); - } -} From d59d08283dcae7ef6b8381600f105fcaf32c1c11 Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Tue, 3 Dec 2019 18:22:07 +0100 Subject: [PATCH 8/8] missing file --- .../dockerjava/api/model/AuthConfig.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java index cccc2474e..1b6a01ea1 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/AuthConfig.java @@ -1,6 +1,6 @@ package com.github.dockerjava.api.model; -import com.github.dockerjava.api.annotation.FieldName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -19,37 +19,37 @@ public class AuthConfig implements Serializable { */ public static final String DEFAULT_SERVER_ADDRESS = "https://index.docker.io/v1/"; - @FieldName("username") + @JsonProperty("username") private String username; - @FieldName("password") + @JsonProperty("password") private String password; - @FieldName("email") + @JsonProperty("email") private String email; - @FieldName("serveraddress") + @JsonProperty("serveraddress") private String registryAddress = DEFAULT_SERVER_ADDRESS; - @FieldName("auth") + @JsonProperty("auth") private String auth; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22} */ - @FieldName("registrytoken") + @JsonProperty("registrytoken") private String registrytoken; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_23} */ - @FieldName("identitytoken") + @JsonProperty("identitytoken") private String identitytoken; /** * @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_25} */ - @FieldName("stackOrchestrator") + @JsonProperty("stackOrchestrator") private String stackOrchestrator; public String getUsername() {