Skip to content
Snippets Groups Projects
Commit fb783bf9 authored by cramakri's avatar cramakri
Browse files

LMS-1584 Added code to find out which sample a data set is associated with,...

LMS-1584 Added code to find out which sample a data set is associated with, even if this association is indirect.

SVN: 16699
parent c480ca44
No related branches found
No related tags found
No related merge requests found
...@@ -17,8 +17,10 @@ ...@@ -17,8 +17,10 @@
package ch.systemsx.cisd.openbis.generic.server.business.bo; package ch.systemsx.cisd.openbis.generic.server.business.bo;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO;
...@@ -58,6 +60,15 @@ public class SimpleDataSetHelper ...@@ -58,6 +60,15 @@ public class SimpleDataSetHelper
SamplePE sampleOrNull = data.tryGetSample(); SamplePE sampleOrNull = data.tryGetSample();
result.setSampleCode(sampleOrNull == null ? null : sampleOrNull.getCode()); result.setSampleCode(sampleOrNull == null ? null : sampleOrNull.getCode());
result.setDataSetType(data.getDataSetType().getCode()); result.setDataSetType(data.getDataSetType().getCode());
HashSet<String> parentCodes = new HashSet<String>();
for (DataPE parent : data.getParents())
{
parentCodes.add(parent.getCode());
}
result.setParentDataSetCodes(parentCodes);
return result; return result;
} }
} }
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package ch.systemsx.cisd.openbis.generic.shared.dto; package ch.systemsx.cisd.openbis.generic.shared.dto;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
...@@ -29,21 +30,23 @@ public class SimpleDataSetInformationDTO implements Serializable ...@@ -29,21 +30,23 @@ public class SimpleDataSetInformationDTO implements Serializable
{ {
private static final long serialVersionUID = ServiceVersionHolder.VERSION; private static final long serialVersionUID = ServiceVersionHolder.VERSION;
String dataSetCode; private String dataSetCode;
String dataSetLocation; private String dataSetLocation;
String dataSetType; private String dataSetType;
String sampleCode; private String sampleCode;
String groupCode; private String groupCode;
String experimentCode; private String experimentCode;
String projectCode; private String projectCode;
String databaseInstanceCode; private String databaseInstanceCode;
private Collection<String> parentDataSetCodes;
public String getDataSetType() public String getDataSetType()
{ {
...@@ -126,4 +129,14 @@ public class SimpleDataSetInformationDTO implements Serializable ...@@ -126,4 +129,14 @@ public class SimpleDataSetInformationDTO implements Serializable
this.databaseInstanceCode = dbInstanceCode; this.databaseInstanceCode = dbInstanceCode;
} }
public Collection<String> getParentDataSetCodes()
{
return parentDataSetCodes;
}
public void setParentDataSetCodes(Collection<String> parentDataSetCodes)
{
this.parentDataSetCodes = parentDataSetCodes;
}
} }
...@@ -37,6 +37,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; ...@@ -37,6 +37,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants;
...@@ -134,7 +135,7 @@ public abstract class AbstractFeatureVectorMigrator implements IMigrator ...@@ -134,7 +135,7 @@ public abstract class AbstractFeatureVectorMigrator implements IMigrator
private Sample findSampleCodeForDataSet(SimpleDataSetInformationDTO dataSetInfo) private Sample findSampleCodeForDataSet(SimpleDataSetInformationDTO dataSetInfo)
{ {
String sampleCodeOrNull = dataSetInfo.getSampleCode(); String sampleCodeOrNull = dataSetInfo.getSampleCode();
Sample sample = null; SampleIdentifier sampleId = null;
if (null == sampleCodeOrNull) if (null == sampleCodeOrNull)
{ {
// check the parent data sets for a sample // check the parent data sets for a sample
...@@ -142,20 +143,20 @@ public abstract class AbstractFeatureVectorMigrator implements IMigrator ...@@ -142,20 +143,20 @@ public abstract class AbstractFeatureVectorMigrator implements IMigrator
for (String dataSetCode : parentDataSetCodes) for (String dataSetCode : parentDataSetCodes)
{ {
ExternalData externalData = openBisService.tryGetDataSetForServer(dataSetCode); ExternalData externalData = openBisService.tryGetDataSetForServer(dataSetCode);
if (externalData.getSample() != null) if (externalData != null && externalData.getSample() != null)
{ {
sample = externalData.getSample(); sampleId = SampleIdentifierFactory.parse(externalData.getSampleIdentifier());
break; break;
} }
} }
} else } else
{ {
SampleIdentifier sampleId = sampleId =
new SampleIdentifier(new SpaceIdentifier(dataSetInfo.getDatabaseInstanceCode(), new SampleIdentifier(new SpaceIdentifier(dataSetInfo.getDatabaseInstanceCode(),
dataSetInfo.getGroupCode()), dataSetInfo.getSampleCode()); dataSetInfo.getGroupCode()), dataSetInfo.getSampleCode());
sample = openBisService.tryGetSampleWithExperiment(sampleId);
} }
return sample;
return openBisService.tryGetSampleWithExperiment(sampleId);
} }
public void close() public void close()
......
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