From 6105ccd194ac587c13c8419f4052e54744e588c4 Mon Sep 17 00:00:00 2001 From: jakubs <jakubs> Date: Tue, 13 Mar 2012 17:05:56 +0000 Subject: [PATCH] LMS-2764: refactor material with Initializer SVN: 24704 --- .../generic/shared/api/v1/dto/Material.java | 85 +++++++++++++++++-- .../api/v1/dto/MaterialTypeIdentifier.java | 2 +- 2 files changed, 81 insertions(+), 6 deletions(-) diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Material.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Material.java index 063ec2293c0..6f525ebc213 100644 --- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Material.java +++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Material.java @@ -32,12 +32,78 @@ public class Material extends MaterialIdentifier private Map<String, Material> materialProperties; - public Material(MaterialTypeIdentifier materialTypeIdentifier, String materialCode, - Map<String, String> properties, Map<String, Material> materialProperties) + private EntityRegistrationDetails registrationDetails; + + public static final class MaterialInitializer + { + private MaterialTypeIdentifier materialTypeIdentifier; + + private String materialCode; + + private Map<String, String> properties; + + private Map<String, Material> materialProperties; + + private EntityRegistrationDetails registrationDetails; + + public MaterialTypeIdentifier getMaterialTypeIdentifier() + { + return materialTypeIdentifier; + } + + public void setMaterialTypeIdentifier(MaterialTypeIdentifier materialTypeIdentifier) + { + this.materialTypeIdentifier = materialTypeIdentifier; + } + + public String getMaterialCode() + { + return materialCode; + } + + public void setMaterialCode(String materialCode) + { + this.materialCode = materialCode; + } + + public Map<String, String> getProperties() + { + return properties; + } + + public void setProperties(Map<String, String> properties) + { + this.properties = properties; + } + + public Map<String, Material> getMaterialProperties() + { + return materialProperties; + } + + public void setMaterialProperties(Map<String, Material> materialProperties) + { + this.materialProperties = materialProperties; + } + + public EntityRegistrationDetails getRegistrationDetails() + { + return registrationDetails; + } + + public void setRegistrationDetails(EntityRegistrationDetails registrationDetails) + { + this.registrationDetails = registrationDetails; + } + + } + + public Material(MaterialInitializer initializer) { - super(materialTypeIdentifier, materialCode); - this.properties = new HashMap<String, String>(properties); - this.materialProperties = new HashMap<String, Material>(materialProperties); + super(initializer.getMaterialTypeIdentifier(), initializer.getMaterialCode()); + this.properties = initializer.getProperties(); + this.materialProperties = initializer.getMaterialProperties(); + this.registrationDetails = initializer.getRegistrationDetails(); } /** @@ -53,6 +119,11 @@ public class Material extends MaterialIdentifier return Collections.unmodifiableMap(materialProperties); } + public EntityRegistrationDetails getRegistrationDetails() + { + return registrationDetails; + } + // // JSON-RPC // @@ -72,4 +143,8 @@ public class Material extends MaterialIdentifier this.materialProperties = materialProperties; } + private void setRegistrationDetails(EntityRegistrationDetails registrationDetails) + { + this.registrationDetails = registrationDetails; + } } diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialTypeIdentifier.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialTypeIdentifier.java index 2d8d880e870..bebebfcdd38 100644 --- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialTypeIdentifier.java +++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/MaterialTypeIdentifier.java @@ -19,7 +19,7 @@ package ch.systemsx.cisd.openbis.generic.shared.api.v1.dto; import java.io.Serializable; /** - * + * duplicated from ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.MaterialTypeIdentifier * * @author jakubs */ -- GitLab