From 03556297de671f77cda39c33df482ea69640ef15 Mon Sep 17 00:00:00 2001
From: izabel <izabel>
Date: Tue, 13 Jul 2010 11:39:49 +0000
Subject: [PATCH] [LMS-1609] update spots width/height only when empty

SVN: 17001
---
 .../openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java  | 2 +-
 .../screening/shared/imaging/dataaccess/IImagingQueryDAO.java | 4 ++--
 .../openbis/dss/etl/genedata/FeatureStorageProcessorTest.java | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java
index c232e76ccc6..715436e2fe8 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java
@@ -126,7 +126,7 @@ public class ScreeningContainerDatasetInfoHelper
         {
             if (updateContainer)
             {
-                dao.updateContainer(containerId, info.getContainerColumns(), info
+                dao.updateContainerEmptySpots(containerId, info.getContainerColumns(), info
                         .getContainerRows());
             }
             return new CreatedOrFetchedEntity(updateContainer == false, containerId);
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java
index b2224136d09..1f32a96389c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java
@@ -125,8 +125,8 @@ public interface IImagingQueryDAO extends TransactionQuery
     public long addChannel(ImgChannelDTO channel);
 
     @Update("update CONTAINERS " + "set SPOTS_WIDTH = ?{2}, SPOTS_HEIGHT = ?{3} "
-            + "where ID = ?{1}")
-    public void updateContainer(long id, int columns, int rows);
+            + "where ID = ?{1} and SPOTS_WIDTH = 0 and SPOTS_HEIGHT = 0")
+    public void updateContainerEmptySpots(long id, int columns, int rows);
 
     @Select("insert into CONTAINERS (PERM_ID, SPOTS_WIDTH, SPOTS_HEIGHT, EXPE_ID) values "
             + "(?{1.permId}, ?{1.numberOfColumns}, ?{1.numberOfRows}, ?{1.experimentId}) returning ID")
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
index 41d7866ca74..01517b53e7b 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java
@@ -89,7 +89,7 @@ public class FeatureStorageProcessorTest extends AbstractFileSystemTestCase
                     one(dao).tryGetContainerIdPermId(CONTAINER_PERM_ID);
                     will(returnValue((long) 1));
 
-                    one(dao).updateContainer(1, 0, 0);
+                    one(dao).updateContainerEmptySpots(1, 0, 0);
                     one(dao).commit();
 
                     ImgDatasetDTO dataSetDTO = new ImgDatasetDTO(DATA_SET_PERM_ID, 3, 2, 1);
-- 
GitLab