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

SP-601, BIS-394: SampleLister and DatasetLister: populate DTO's Sample and...

SP-601, BIS-394: SampleLister and DatasetLister: populate DTO's Sample and AbstractExternalData with version number.

SVN: 28786
parent d71f3593
No related branches found
No related tags found
No related merge requests found
......@@ -95,30 +95,18 @@ import ch.systemsx.cisd.openbis.generic.shared.translator.DataStoreTranslator;
DatasetCodeWithShareIdRecord.class, IDatasetListingQuery.class })
public class DatasetLister extends AbstractLister implements IDatasetLister
{
public static final EnumSet<DataSetFetchOption> SUPPORTED_DATASET_FETCH_OPTIONS = EnumSet
.of(DataSetFetchOption.BASIC,
DataSetFetchOption.EXPERIMENT,
DataSetFetchOption.SAMPLE,
DataSetFetchOption.PROPERTIES,
DataSetFetchOption.CHILDREN,
DataSetFetchOption.PARENTS,
DataSetFetchOption.PROPERTIES_OF_PARENTS,
DataSetFetchOption.PROPERTIES_OF_CHILDREN,
DataSetFetchOption.CONTAINER,
DataSetFetchOption.CONTAINED,
DataSetFetchOption.METAPROJECTS
);
public static final EnumSet<DataSetFetchOption> DEFAULT_DATASET_FETCH_OPTIONS = EnumSet
.of(DataSetFetchOption.BASIC,
DataSetFetchOption.EXPERIMENT,
DataSetFetchOption.SAMPLE,
DataSetFetchOption.PROPERTIES,
DataSetFetchOption.PARENTS,
DataSetFetchOption.CONTAINER,
DataSetFetchOption.CONTAINED,
DataSetFetchOption.METAPROJECTS
);
public static final EnumSet<DataSetFetchOption> SUPPORTED_DATASET_FETCH_OPTIONS = EnumSet.of(
DataSetFetchOption.BASIC, DataSetFetchOption.EXPERIMENT, DataSetFetchOption.SAMPLE,
DataSetFetchOption.PROPERTIES, DataSetFetchOption.CHILDREN, DataSetFetchOption.PARENTS,
DataSetFetchOption.PROPERTIES_OF_PARENTS, DataSetFetchOption.PROPERTIES_OF_CHILDREN,
DataSetFetchOption.CONTAINER, DataSetFetchOption.CONTAINED,
DataSetFetchOption.METAPROJECTS);
public static final EnumSet<DataSetFetchOption> DEFAULT_DATASET_FETCH_OPTIONS = EnumSet.of(
DataSetFetchOption.BASIC, DataSetFetchOption.EXPERIMENT, DataSetFetchOption.SAMPLE,
DataSetFetchOption.PROPERTIES, DataSetFetchOption.PARENTS,
DataSetFetchOption.CONTAINER, DataSetFetchOption.CONTAINED,
DataSetFetchOption.METAPROJECTS);
//
// Input
......@@ -480,10 +468,11 @@ public class DatasetLister extends AbstractLister implements IDatasetLister
.getRegistrationDate())) && lastSize != data.size())
{
lastSize = data != null ? data.size() : 0;
data = orderByDate(enrichDatasets(
handleDegenerateRegistrationTimestamp(
query.getDatasetsByDataStoreId(dataStoreID, limit * multiplier),
dataStoreID), datasetFetchOptions));
data =
orderByDate(enrichDatasets(
handleDegenerateRegistrationTimestamp(
query.getDatasetsByDataStoreId(dataStoreID, limit * multiplier),
dataStoreID), datasetFetchOptions));
multiplier = multiplier << 1;
}
......@@ -492,15 +481,13 @@ public class DatasetLister extends AbstractLister implements IDatasetLister
@Override
public List<AbstractExternalData> listByDataStore(long dataStoreID, Date youngerThan,
int limit,
EnumSet<DataSetFetchOption> datasetFetchOptions)
int limit, EnumSet<DataSetFetchOption> datasetFetchOptions)
{
checkFetchOptions(datasetFetchOptions);
return orderByDate(enrichDatasets(
handleDegenerateRegistrationTimestamp(
query.getDatasetsByDataStoreId(dataStoreID, youngerThan, limit),
dataStoreID
), datasetFetchOptions));
dataStoreID), datasetFetchOptions));
}
private Iterable<DatasetRecord> handleDegenerateRegistrationTimestamp(List<DatasetRecord> list,
......@@ -824,8 +811,8 @@ public class DatasetLister extends AbstractLister implements IDatasetLister
if (parentIterator != null)
{
Long2ObjectMap<AbstractExternalData> parentDatasetMap = withProperties ?
new Long2ObjectOpenHashMap<AbstractExternalData>() : null;
Long2ObjectMap<AbstractExternalData> parentDatasetMap =
withProperties ? new Long2ObjectOpenHashMap<AbstractExternalData>() : null;
Long2ObjectMap<AbstractExternalData> parentMap = createPrimaryDatasets(parentIterator);
for (Entry<Long, Set<Long>> parentIdsEntry : parentIdsMap.entrySet())
......@@ -874,8 +861,8 @@ public class DatasetLister extends AbstractLister implements IDatasetLister
if (childrenIterator != null)
{
Long2ObjectMap<AbstractExternalData> childrenDatasetMap = withProperties ?
new Long2ObjectOpenHashMap<AbstractExternalData>() : null;
Long2ObjectMap<AbstractExternalData> childrenDatasetMap =
withProperties ? new Long2ObjectOpenHashMap<AbstractExternalData>() : null;
Long2ObjectMap<AbstractExternalData> childrenMap =
createPrimaryDatasets(childrenIterator);
......@@ -1100,6 +1087,7 @@ public class DatasetLister extends AbstractLister implements IDatasetLister
private void convertStandardAttributes(AbstractExternalData dataSet, DatasetRecord record)
{
dataSet.setCode(record.code);
dataSet.setVersion(record.version);
dataSet.setDataSetType(dataSetTypes.get(record.dsty_id));
dataSet.setId(record.id);
dataSet.setPermlink(PermlinkUtilities.createPermlinkURL(baseIndexURL, EntityKind.DATA_SET,
......
......@@ -29,6 +29,8 @@ public class DatasetRecord extends CodeRecord
public Date modification_timestamp;
public int version;
public Long pers_id_registerer;
public Long pers_id_modifier;
......
......@@ -62,7 +62,7 @@ public interface ISampleListingQuery extends BaseQuery, IPropertyListingQuery
static final String SELECT_FROM_SAMPLES_S =
" SELECT s.id, s.perm_id, s.code, s.expe_id, s.space_id, s.saty_id, s.dbin_id, "
+ " s.registration_timestamp, s.modification_timestamp, s.pers_id_registerer, "
+ " s.pers_id_modifier, s.del_id, s.samp_id_part_of "
+ " s.pers_id_modifier, s.del_id, s.samp_id_part_of, s.version "
+ " FROM samples s";
/**
......
......@@ -642,6 +642,7 @@ final class SampleListingWorker extends AbstractLister
final Sample sample = new Sample();
sample.setId(row.id);
sample.setPermId(row.perm_id);
sample.setVersion(row.version);
sample.setCode(IdentifierHelper.convertCode(row.code, null));
sample.setSubCode(IdentifierHelper.convertSubCode(row.code));
sample.setSampleType(sampleTypes.get(row.saty_id));
......
......@@ -45,4 +45,6 @@ public class SampleRecord extends CodeRecord
public Long del_id;
public long saty_id;
public int version;
}
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