From be17730810dbf097dba2d4fd77d7ac008322dda8 Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Tue, 31 Jul 2012 08:29:46 +0000 Subject: [PATCH] SP-48 / BIS-38: Provide access to CRC32 checksums in PathInfoDB - make it work via JSON API SVN: 26288 --- .../generic/shared/api/v1/DataSetFileDTO.java | 34 +++++++++++++++++-- .../generic/shared/api/v1/FileInfoDssDTO.java | 1 + .../source/java/dssApplicationContext.xml | 3 ++ 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataSetFileDTO.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataSetFileDTO.java index bb3d827403f..83bb7eb115e 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataSetFileDTO.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataSetFileDTO.java @@ -21,6 +21,8 @@ import java.io.Serializable; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.systemsx.cisd.base.annotation.JsonObject; /** @@ -28,16 +30,17 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * * @author Chandrasekhar Ramakrishnan */ +@SuppressWarnings("unused") @JsonObject("DataSetFileDTO") public class DataSetFileDTO implements Serializable { private static final long serialVersionUID = 1L; - private final String dataSetCode; + private String dataSetCode; - private final String path; + private String path; - private final boolean isRecursive; + private boolean isRecursive; public DataSetFileDTO(String dataSetCode, String path, boolean isRecursive) { @@ -59,6 +62,7 @@ public class DataSetFileDTO implements Serializable } /** If true, this object includes sub folders */ + @JsonProperty("isRecursive") public boolean isRecursive() { return isRecursive; @@ -76,4 +80,28 @@ public class DataSetFileDTO implements Serializable } return sb.toString(); } + + // + // JSON-RPC + // + + private DataSetFileDTO() + { + } + + private void setDataSetCode(String dataSetCode) + { + this.dataSetCode = dataSetCode; + } + + private void setPath(String path) + { + this.path = path; + } + + private void setIsRecursive(boolean isRecursive) + { + this.isRecursive = isRecursive; + } + } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/FileInfoDssDTO.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/FileInfoDssDTO.java index c4af2906342..49eeac4544a 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/FileInfoDssDTO.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/FileInfoDssDTO.java @@ -103,6 +103,7 @@ public class FileInfoDssDTO implements Serializable * Note that the checksum will only be available when it is precomputed and available from some * sort of database, i.e. if it is computationally "cheap" to provide the checksum. */ + @JsonProperty("crc32Checksum") public Integer tryGetCrc32Checksum() { return crc32Checksum; diff --git a/datastore_server/source/java/dssApplicationContext.xml b/datastore_server/source/java/dssApplicationContext.xml index 5b7bc4792b9..9448dfe390c 100644 --- a/datastore_server/source/java/dssApplicationContext.xml +++ b/datastore_server/source/java/dssApplicationContext.xml @@ -164,6 +164,9 @@ <constructor-arg ref="config-provider" /> </bean> + <bean id="objectMapper" class="ch.systemsx.cisd.openbis.generic.shared.api.json.GenericObjectMapper"> + </bean> + <!-- // This discovers on-the-fly all <code>org.springframework.aop.Advisor</code> implementations. --> -- GitLab