From 52677eac7fb1b64af79efe200cba1e8306cdce64 Mon Sep 17 00:00:00 2001 From: jakubs <jakubs> Date: Fri, 5 Jul 2013 14:26:43 +0000 Subject: [PATCH] SP-748 BIS-472 fix project update / add attachment via dropbox SVN: 29522 --- .../registrator/api/v1/impl/ConversionUtils.java | 2 ++ .../registrator/api/v2/impl/ConversionUtils.java | 2 ++ .../drop-boxes/rich-test/rich-data-set-handler.py | 3 +++ .../FeatureRichDataSetImportSystemTest.java | 12 +++++++++++- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ConversionUtils.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ConversionUtils.java index 3d251dc2880..1e58e371d74 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ConversionUtils.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ConversionUtils.java @@ -300,9 +300,11 @@ public class ConversionUtils public static ProjectUpdatesDTO convertToProjectUpdateDTO(Project apiProject) { final ProjectUpdatesDTO projectUpdate = new ProjectUpdatesDTO(); + projectUpdate.setIdentifier(apiProject.getProjectIdentifier()); projectUpdate.setTechId(new TechId(apiProject.getId())); projectUpdate.setDescription(apiProject.getDescription()); projectUpdate.setAttachments(apiProject.getNewAttachments()); + projectUpdate.setVersion(apiProject.getProject().getVersion()); return projectUpdate; } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java index 8df91857c14..e3f4dd84660 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java @@ -300,9 +300,11 @@ public class ConversionUtils public static ProjectUpdatesDTO convertToProjectUpdateDTO(Project apiProject) { final ProjectUpdatesDTO projectUpdate = new ProjectUpdatesDTO(); + projectUpdate.setIdentifier(apiProject.getProjectIdentifier()); projectUpdate.setTechId(new TechId(apiProject.getId())); projectUpdate.setDescription(apiProject.getDescription()); projectUpdate.setAttachments(apiProject.getNewAttachments()); + projectUpdate.setVersion(apiProject.getProject().getVersion()); return projectUpdate; } diff --git a/datastore_server/sourceTest/core-plugins/generic-test/1/dss/drop-boxes/rich-test/rich-data-set-handler.py b/datastore_server/sourceTest/core-plugins/generic-test/1/dss/drop-boxes/rich-test/rich-data-set-handler.py index e2260858653..296d439148e 100644 --- a/datastore_server/sourceTest/core-plugins/generic-test/1/dss/drop-boxes/rich-test/rich-data-set-handler.py +++ b/datastore_server/sourceTest/core-plugins/generic-test/1/dss/drop-boxes/rich-test/rich-data-set-handler.py @@ -29,6 +29,9 @@ def create_project_if_needed(transaction): create_space_if_needed(transaction) project = transaction.createNewProject(PROJECT_ID) project.setDescription("A demo project") + f = open("%s/%s" % (transaction.getIncoming().getPath(), "set1.txt"), 'r') + project.addAttachment("attachment.txt", 'Source Import File', 'Source Import File ', f.read()) + f.close() def create_experiment_if_needed(transaction): exp = transaction.getExperiment(EXPERIMENT_ID) diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/FeatureRichDataSetImportSystemTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/FeatureRichDataSetImportSystemTest.java index 6dd5993169f..8736bf82e0d 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/FeatureRichDataSetImportSystemTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/FeatureRichDataSetImportSystemTest.java @@ -26,8 +26,11 @@ import org.testng.annotations.Test; import ch.systemsx.cisd.common.filesystem.FileUtilities; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationService; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Attachment; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.id.project.ProjectTechIdId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AbstractExternalData; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LinkDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListMaterialCriteria; @@ -118,12 +121,19 @@ public class FeatureRichDataSetImportSystemTest extends SystemTestCase { List<Project> projects = openBISService.listProjects(); boolean notFound = true; + for (Project p : projects) { if (p.getIdentifier().equals("/RICH_SPACE/RICH_PROJECT")) { notFound = false; assertEquals("RICH_SPACE", p.getSpace().getCode()); + + IGeneralInformationService generalInformationService = ServiceProvider.getGeneralInformationService(); + String sessionToken = generalInformationService.tryToAuthenticateForAllServices("test", "test"); + List<Attachment> attachments = + generalInformationService.listAttachmentsForProject(sessionToken, new ProjectTechIdId(p.getId()), true); + assertEquals(1, attachments.size()); } } if (notFound) -- GitLab