Skip to content
Snippets Groups Projects
Commit ad287c1b authored by felmer's avatar felmer
Browse files

LMS-1485 add IETLLIMSService.updateSample()

SVN: 15505
parent 161f756d
No related branches found
No related tags found
No related merge requests found
......@@ -85,6 +85,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePropertyPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SampleTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SampleUpdatesDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE;
......@@ -411,11 +412,11 @@ public class ETLService extends AbstractCommonServer<IETLService> implements IET
throw new UserFailureException("No data set type found with code '" + dataSetTypeCode
+ "'.");
}
DataSetTypeWithVocabularyTerms result = new DataSetTypeWithVocabularyTerms();
result.setDataSetType(DataSetTypeTranslator.translate(dataSetType, null));
Set<DataSetTypePropertyTypePE> dataSetTypePropertyTypes =
dataSetType.getDataSetTypePropertyTypes();
HibernateUtils.initialize(dataSetTypePropertyTypes);
DataSetTypeWithVocabularyTerms result = new DataSetTypeWithVocabularyTerms();
result.setDataSetType(DataSetTypeTranslator.translate(dataSetType, null));
for (DataSetTypePropertyTypePE dataSetTypePropertyTypePE : dataSetTypePropertyTypes)
{
PropertyTypePE propertyTypePE = dataSetTypePropertyTypePE.getPropertyType();
......@@ -520,6 +521,14 @@ public class ETLService extends AbstractCommonServer<IETLService> implements IET
return persons.get(0);
}
public void updateSample(String sessionToken, SampleUpdatesDTO updates)
{
final Session session = getSession(sessionToken);
final ISampleBO sampleBO = businessObjectFactory.createSampleBO(session);
sampleBO.update(updates);
sampleBO.save();
}
public void registerDataSet(String sessionToken, SampleIdentifier sampleIdentifier,
NewExternalData externalData) throws UserFailureException
{
......
......@@ -42,6 +42,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.ListSamplesByPropertyCriteria
import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewProperty;
import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SampleUpdatesDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
......@@ -102,6 +103,11 @@ public class ETLServiceLogger extends AbstractServerLogger implements IETLServic
return 0;
}
public void updateSample(String sessionToken, SampleUpdatesDTO updates)
{
logTracking(sessionToken, "updateSample", "SAMPLE(%S)", updates.getSampleIdentifier());
}
public long registerExperiment(String sessionToken, NewExperiment experiment)
throws UserFailureException
{
......
......@@ -33,6 +33,7 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewExperi
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplePredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwnerIdentifierPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleTechIdPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleUpdatesPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SpaceIdentifierPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SampleValidator;
......@@ -56,6 +57,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DataStoreServerInfo;
import ch.systemsx.cisd.openbis.generic.shared.dto.ListSamplesByPropertyCriteria;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewProperty;
import ch.systemsx.cisd.openbis.generic.shared.dto.SampleUpdatesDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
......@@ -209,6 +211,15 @@ public interface IETLLIMSService extends IServer, ISessionProvider
@AuthorizationGuard(guardClass = NewSamplePredicate.class) final NewSample newSample,
String userIDOrNull) throws UserFailureException;
/**
* Saves changed sample.
*/
@Transactional
@RolesAllowed(RoleSet.ETL_SERVER)
@DatabaseUpdateModification(value = ObjectKind.SAMPLE)
public void updateSample(String sessionToken,
@AuthorizationGuard(guardClass = SampleUpdatesPredicate.class) SampleUpdatesDTO updates);
/**
* Registers the specified data connected to a sample.
*
......
......@@ -33,6 +33,7 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewExperi
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplePredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwnerIdentifierPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleTechIdPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleUpdatesPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SpaceIdentifierPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SampleValidator;
......@@ -56,6 +57,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DataStoreServerInfo;
import ch.systemsx.cisd.openbis.generic.shared.dto.ListSamplesByPropertyCriteria;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewProperty;
import ch.systemsx.cisd.openbis.generic.shared.dto.SampleUpdatesDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
......@@ -209,6 +211,15 @@ public interface IETLLIMSService extends IServer, ISessionProvider
@AuthorizationGuard(guardClass = NewSamplePredicate.class) final NewSample newSample,
String userIDOrNull) throws UserFailureException;
/**
* Saves changed sample.
*/
@Transactional
@RolesAllowed(RoleSet.ETL_SERVER)
@DatabaseUpdateModification(value = ObjectKind.SAMPLE)
public void updateSample(String sessionToken,
@AuthorizationGuard(guardClass = SampleUpdatesPredicate.class) SampleUpdatesDTO updates);
/**
* Registers the specified data connected to a sample.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment