Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import org.cloudfoundry.multiapps.common.Nullable;
import org.immutables.value.Value;

@Value.Immutable
@JsonSerialize(as = ImmutableAsyncUploadResult.class)
@JsonDeserialize(as = ImmutableAsyncUploadResult.class)
@JsonPropertyOrder({ "status", "bytes_processed", "error", "file", "mta_id", "schema_version", "client_actions" })
public interface AsyncUploadResult {

enum JobStatus {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableFileMetadata.class)
@JsonDeserialize(as = ImmutableFileMetadata.class)
@JsonPropertyOrder({ "id", "name", "size", "digest", "digestAlgorithm", "space", "namespace" })
public abstract class FileMetadata implements AuditableConfiguration {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
package org.cloudfoundry.multiapps.controller.api.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;
import org.cloudfoundry.multiapps.common.Nullable;
import org.immutables.value.Value;

@Value.Immutable
@JsonSerialize(as = ImmutableFileUrl.class)
@JsonDeserialize(as = ImmutableFileUrl.class)
@JsonPropertyOrder({ "file_url", "credentials" })
public interface FileUrl {

@Value.Parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableInfo.class)
@JsonDeserialize(as = ImmutableInfo.class)
@JsonPropertyOrder({ "api_version" })
public interface Info {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableLog.class)
@JsonDeserialize(as = ImmutableLog.class)
@JsonPropertyOrder({ "id", "lastModified", "content", "size", "displayName", "description", "externalInfo" })
public interface Log {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableMessage.class)
@JsonDeserialize(as = ImmutableMessage.class)
@JsonPropertyOrder({ "id", "text", "timestamp", "type" })
public interface Message {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableMetadata.class)
@JsonDeserialize(as = ImmutableMetadata.class)
@JsonPropertyOrder({ "id", "version", "namespace" })
public interface Metadata {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableModule.class)
@JsonDeserialize(as = ImmutableModule.class)
@JsonPropertyOrder({ "moduleName", "appName", "createdOn", "updatedOn", "providedDendencyNames", "services", "uris" })
public interface Module {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableMta.class)
@JsonDeserialize(as = ImmutableMta.class)
@JsonPropertyOrder({ "metadata", "modules", "services" })
public interface Mta {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,16 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

import io.swagger.annotations.ApiModelProperty;

@Value.Immutable
@JsonSerialize(as = ImmutableOperation.class)
@JsonDeserialize(as = ImmutableOperation.class)
@JsonPropertyOrder({ "processId", "processType", "startedAt", "endedAt", "spaceId", "mtaId", "namespace", "user", "acquiredLock", "state", "errorType", "messages", "parameters" })
public abstract class Operation implements AuditableConfiguration {

public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ISO_ZONED_DATE_TIME;
Expand Down Expand Up @@ -61,48 +63,61 @@ public static List<State> getFinalStates() {
}

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract String getProcessId();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
@JsonSerialize(using = ProcessTypeSerializer.class)
@JsonDeserialize(using = ProcessTypeDeserializer.class)
public abstract ProcessType getProcessType();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
@JsonSerialize(using = ZonedDateTimeSerializer.class)
@JsonDeserialize(using = ZonedDateTimeDeserializer.class)
public abstract ZonedDateTime getStartedAt();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
@JsonSerialize(using = ZonedDateTimeSerializer.class)
@JsonDeserialize(using = ZonedDateTimeDeserializer.class)
public abstract ZonedDateTime getEndedAt();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract String getSpaceId();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract String getMtaId();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract String getNamespace();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract String getUser();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
@JsonProperty("acquiredLock")
public abstract Boolean hasAcquiredLock();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract State getState();

@Nullable
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract ErrorType getErrorType();

@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract List<Message> getMessages();

@AllowNulls
@ApiModelProperty(accessMode = ApiModelProperty.AccessMode.READ_ONLY)
public abstract Map<String, Object> getParameters();

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import org.cloudfoundry.multiapps.common.Nullable;
import org.immutables.value.Value;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

@Value.Immutable
@JsonSerialize(as = ImmutableOperationMetadata.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import org.cloudfoundry.multiapps.controller.api.model.parameters.ParameterConverter;
import org.immutables.value.Value;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

@Value.Immutable
@JsonSerialize(as = ImmutableParameterMetadata.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

// An enum is NOT used here intentionally. This allows other projects to extend this class if they want to add another process type.
@JsonPropertyOrder({ "name" })
public class ProcessType {

private static final String DEPLOY_NAME = "DEPLOY";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package org.cloudfoundry.multiapps.controller.api.model;

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.deser.std.StdDeserializer;

public class ProcessTypeDeserializer extends StdDeserializer<ProcessType> {

Expand All @@ -15,9 +14,8 @@ public ProcessTypeDeserializer() {
}

@Override
public ProcessType deserialize(JsonParser parser, DeserializationContext context) throws IOException {
String processType = parser.getCodec()
.readValue(parser, String.class);
public ProcessType deserialize(JsonParser parser, DeserializationContext context) throws JacksonException {
String processType = context.readValue(parser, String.class);
return ProcessType.fromString(processType);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package org.cloudfoundry.multiapps.controller.api.model;

import java.io.IOException;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonGenerator;
import tools.jackson.databind.SerializationContext;
import tools.jackson.databind.ser.std.StdSerializer;

public class ProcessTypeSerializer extends StdSerializer<ProcessType> {

Expand All @@ -15,7 +14,7 @@ public ProcessTypeSerializer() {
}

@Override
public void serialize(ProcessType value, JsonGenerator generator, SerializerProvider provider) throws IOException {
public void serialize(ProcessType value, JsonGenerator generator, SerializationContext context) throws JacksonException {
if (value != null) {
generator.writeString(value.getName());
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.annotation.JsonSerialize;

@Value.Immutable
@JsonSerialize(as = ImmutableUserCredentials.class)
@JsonDeserialize(as = ImmutableUserCredentials.class)
@JsonPropertyOrder({ "username", "password" })
public interface UserCredentials {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package org.cloudfoundry.multiapps.controller.api.model;

import java.io.IOException;
import java.time.ZonedDateTime;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.deser.std.StdDeserializer;

public class ZonedDateTimeDeserializer extends StdDeserializer<ZonedDateTime> {

Expand All @@ -16,9 +16,8 @@ public ZonedDateTimeDeserializer() {
}

@Override
public ZonedDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException {
String zonedDateTime = parser.getCodec()
.readValue(parser, String.class);
public ZonedDateTime deserialize(JsonParser parser, DeserializationContext context) throws JacksonException {
String zonedDateTime = context.readValue(parser, String.class);
return ZonedDateTime.parse(zonedDateTime, Operation.DATE_TIME_FORMATTER);
}

Expand Down
Loading
Loading