diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java index 8db6f37c3f1620ab4881cc356a78df11c20f507d..483b956b19245dc740e08a6e2a4837ad8888a5be 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/MaterialConfigurationProvider.java @@ -39,9 +39,20 @@ public class MaterialConfigurationProvider /** * only used for unit tests. */ - public static final void initializeForTesting(boolean isRelaxCodeConstraints) + public static final MaterialConfigurationProvider initializeForTesting( + boolean isRelaxCodeConstraints) { + MaterialConfigurationProvider oldInstance = instance; instance = new MaterialConfigurationProvider(isRelaxCodeConstraints); + return oldInstance; + } + + /** + * only used for unit tests. + */ + public static void restoreFromTesting(MaterialConfigurationProvider provider) + { + instance = provider; } // invoked from Spring diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java index 9f59d97882fdb9f63dd73c126ec7610e7dfe68ee..3ed107bcdaea9b0bf11dc6a482f973eb3724970d 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java @@ -105,7 +105,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.builders.DatabaseInstancePEBu import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; -import ch.systemsx.cisd.openbis.generic.shared.util.MaterialConfigurationProvider; /** * @author Franz-Josef Elmer @@ -149,7 +148,6 @@ public class ETLServiceTest extends AbstractServerTestCase dataStoreService = context.mock(IDataStoreService.class); entityOperationChecker = context.mock(IETLEntityOperationChecker.class); dataStoreServiceRegistrator = context.mock(IDataStoreServiceRegistrator.class); - MaterialConfigurationProvider.initializeForTesting(false); } @Test diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java index 08fbfa8499f682e28932b7121822df62ebbf888c..239dd33a54720140480a60843abe269511510dd3 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/MaterialDAOTest.java @@ -62,12 +62,14 @@ public final class MaterialDAOTest extends AbstractDAOTest private IMaterialDAO materialDAO; + private MaterialConfigurationProvider oldProvider; + @BeforeMethod @Override public void setUp() { super.setUp(); - MaterialConfigurationProvider.initializeForTesting(false); + oldProvider = MaterialConfigurationProvider.initializeForTesting(false); materialDAO = daoFactory.getMaterialDAO(); } @@ -76,7 +78,7 @@ public final class MaterialDAOTest extends AbstractDAOTest public void tearDown() { super.tearDown(); - MaterialConfigurationProvider.initializeForTesting(false); + MaterialConfigurationProvider.restoreFromTesting(oldProvider); } @Test diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java index ede4af9e3d2dc668c385b5f915f98e6561e5ad33..2eb627c755c15c6a82cf4db33bfa864634059d35 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java @@ -41,13 +41,13 @@ import ch.systemsx.cisd.openbis.generic.server.business.bo.IEntityTypeBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IEntityTypePropertyTypeBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IExperimentBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IExperimentTable; -import ch.systemsx.cisd.openbis.generic.server.business.bo.ISpaceBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IMaterialBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IMaterialTable; import ch.systemsx.cisd.openbis.generic.server.business.bo.IPropertyTypeBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IPropertyTypeTable; import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleTable; +import ch.systemsx.cisd.openbis.generic.server.business.bo.ISpaceBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.ITrashBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IVocabularyBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.datasetlister.IDatasetLister; @@ -88,6 +88,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE; +import ch.systemsx.cisd.openbis.generic.shared.util.MaterialConfigurationProvider; /** * An <i>abstract</i> test infrastructure for {@link IServer} implementations. @@ -200,6 +201,8 @@ public abstract class AbstractServerTestCase extends AssertJUnit protected IEntityOperationsLogDAO entityOperationsLogDAO; + private MaterialConfigurationProvider oldProvider; + @BeforeMethod @SuppressWarnings("unchecked") public void setUp() @@ -296,11 +299,13 @@ public abstract class AbstractServerTestCase extends AssertJUnit will(returnValue(entityOperationsLogDAO)); } }); + oldProvider = MaterialConfigurationProvider.initializeForTesting(false); } @AfterMethod public void tearDown() { + MaterialConfigurationProvider.restoreFromTesting(oldProvider); logRecorder.reset(); // To following line of code should also be called at the end of each test method. // Otherwise one do not known which test failed. diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java index 2c7f931f0ecddc383b8e1891d84145fd27507068..11e5f16af58c20f370e258a1bdef59ee012300a3 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/library_tools/QiagenScreeningLibraryColumnExtractorTest.java @@ -38,9 +38,11 @@ public class QiagenScreeningLibraryColumnExtractorTest extends AssertJUnit private QiagenScreeningLibraryColumnExtractor extractor; + private MaterialConfigurationProvider oldProvider; + public void setUp(boolean isRelaxedMaterialCodes) { - MaterialConfigurationProvider.initializeForTesting(isRelaxedMaterialCodes); + oldProvider = MaterialConfigurationProvider.initializeForTesting(isRelaxedMaterialCodes); extractor = new QiagenScreeningLibraryColumnExtractor(HEADER_TOKENS, MaterialConfigurationProvider.getInstance()); @@ -49,7 +51,7 @@ public class QiagenScreeningLibraryColumnExtractorTest extends AssertJUnit @AfterMethod public void tearDown() { - MaterialConfigurationProvider.initializeForTesting(false); + MaterialConfigurationProvider.restoreFromTesting(oldProvider); } @Test