Skip to content
Snippets Groups Projects
Commit 0cdb9eb9 authored by anttil's avatar anttil
Browse files

SSDM-3750: re-enable project samples

SVN: 37031
parent 9e43fbe1
No related branches found
No related tags found
No related merge requests found
Showing
with 276 additions and 142 deletions
......@@ -172,12 +172,8 @@ public class FullSampleIdentifier
@Override
public String toString()
{
// TODO: project samples
// return new SampleIdentifier(sampleIdentifierParts.getSpaceCodeOrNull(),
// sampleIdentifierParts.getProjectCodeOrNull(), sampleIdentifierParts.getContainerCodeOrNull(),
// sampleCode).toString();
return new SampleIdentifier(sampleIdentifierParts.getSpaceCodeOrNull(),
sampleIdentifierParts.getContainerCodeOrNull(),
sampleIdentifierParts.getProjectCodeOrNull(), sampleIdentifierParts.getContainerCodeOrNull(),
sampleCode).toString();
}
......
......@@ -51,9 +51,7 @@ public class SetSampleProjectExecutor extends AbstractSetEntityToOneRelationExec
@Override
protected IProjectId getRelatedId(SampleCreation creation)
{
// TODO: project samples
// return creation.getProjectId();
return null;
return creation.getProjectId();
}
@Override
......
......@@ -65,9 +65,7 @@ public class UpdateSampleProjectExecutor extends AbstractUpdateEntityToOneRelati
@Override
protected FieldUpdateValue<IProjectId> getRelatedUpdate(SampleUpdate update)
{
// TODO: project samples
// return update.getProjectId();
return null;
return update.getProjectId();
}
@Override
......
......@@ -34,9 +34,8 @@ public class VerifySampleExecutor implements IVerifySampleExecutor
@Autowired
private IVerifyEntityPropertyExecutor verifyEntityPropertyExecutor;
// TODO: project samples
// @Autowired
// private IVerifySampleProjectExecutor verifySampleProjectExecutor;
@Autowired
private IVerifySampleProjectExecutor verifySampleProjectExecutor;
@Autowired
private IVerifySampleExperimentExecutor verifySampleExperimentExecutor;
......@@ -52,8 +51,7 @@ public class VerifySampleExecutor implements IVerifySampleExecutor
{
verifyEntityPropertyExecutor.verify(context, batch);
verifySampleExperimentExecutor.verify(context, batch);
// TODO: project samples
// verifySampleProjectExecutor.verify(context, samples);
verifySampleProjectExecutor.verify(context, batch);
verifySampleContainerExecutor.verify(context, batch);
verifySampleParentsExecutor.verify(context, batch);
}
......
......@@ -104,8 +104,7 @@ public class Generator extends AbstractGenerator
addModificationDate(gen);
gen.addFetchedField(SampleType.class, "type", "Sample type", SampleTypeFetchOptions.class);
// TODO: project samples
// gen.addFetchedField(Project.class, "project", "Project", ProjectFetchOptions.class);
gen.addFetchedField(Project.class, "project", "Project", ProjectFetchOptions.class);
addSpace(gen);
addExperiment(gen);
addProperties(gen);
......@@ -445,9 +444,8 @@ public class Generator extends AbstractGenerator
gen.addPluralFetchedField("List<Experiment>", List.class.getName(), "experiments", "Experiments", ExperimentFetchOptions.class)
.withInterface(IExperimentsHolder.class);
gen.addClassForImport(Experiment.class);
// TODO: project samples
// gen.addPluralFetchedField("List<Sample>", List.class.getName(), "samples", "Samples", SampleFetchOptions.class);
// gen.addClassForImport(Sample.class);
gen.addPluralFetchedField("List<Sample>", List.class.getName(), "samples", "Samples", SampleFetchOptions.class);
gen.addClassForImport(Sample.class);
gen.addPluralFetchedField("List<HistoryEntry>", List.class.getName(), "history", "History", HistoryEntryFetchOptions.class);
gen.addClassForImport(HistoryEntry.class);
......
......@@ -29,6 +29,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.Project;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions.ProjectFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectIdentifier;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectPermId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.AbstractCachingTranslator;
import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.TranslationContext;
import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.TranslationResults;
......@@ -52,9 +53,8 @@ public class ProjectTranslator extends AbstractCachingTranslator<Long, Project,
@Autowired
private IProjectExperimentTranslator experimentTranslator;
// TODO : project samples
// @Autowired
// private IProjectSampleTranslator sampleTranslator;
@Autowired
private IProjectSampleTranslator sampleTranslator;
@Autowired
private IProjectRegistratorTranslator registratorTranslator;
......@@ -102,11 +102,10 @@ public class ProjectTranslator extends AbstractCachingTranslator<Long, Project,
relations.put(IProjectExperimentTranslator.class, experimentTranslator.translate(context, projectIds, fetchOptions.withExperiments()));
}
// TODO: project samples
// if (fetchOptions.hasSamples())
// {
// relations.put(IProjectSampleTranslator.class, sampleTranslator.translate(context, projectIds, fetchOptions.withSamples()));
// }
if (fetchOptions.hasSamples())
{
relations.put(IProjectSampleTranslator.class, sampleTranslator.translate(context, projectIds, fetchOptions.withSamples()));
}
if (fetchOptions.hasRegistrator())
{
......@@ -162,12 +161,11 @@ public class ProjectTranslator extends AbstractCachingTranslator<Long, Project,
result.getFetchOptions().withExperimentsUsing(fetchOptions.withExperiments());
}
// TODO: project samples
// if (fetchOptions.hasSamples())
// {
// result.setSamples((List<Sample>) relations.get(IProjectSampleTranslator.class, projectId));
// result.getFetchOptions().withSamplesUsing(fetchOptions.withSamples());
// }
if (fetchOptions.hasSamples())
{
result.setSamples((List<Sample>) relations.get(IProjectSampleTranslator.class, projectId));
result.getFetchOptions().withSamplesUsing(fetchOptions.withSamples());
}
if (fetchOptions.hasRegistrator())
{
......
......@@ -53,9 +53,8 @@ public class SampleTranslator extends AbstractCachingTranslator<Long, Sample, Sa
@Autowired
private ISampleSpaceTranslator spaceTranslator;
// TODO: project samples
// @Autowired
// private ISampleProjectTranslator projectTranslator;
@Autowired
private ISampleProjectTranslator projectTranslator;
@Autowired
private ISamplePropertyTranslator propertyTranslator;
......@@ -127,11 +126,10 @@ public class SampleTranslator extends AbstractCachingTranslator<Long, Sample, Sa
relations.put(ISampleSpaceTranslator.class, spaceTranslator.translate(context, sampleIds, fetchOptions.withSpace()));
}
// TODO: project samples
// if (fetchOptions.hasProject())
// {
// relations.put(ISampleProjectTranslator.class, projectTranslator.translate(context, sampleIds, fetchOptions.withProject()));
// }
if (fetchOptions.hasProject())
{
relations.put(ISampleProjectTranslator.class, projectTranslator.translate(context, sampleIds, fetchOptions.withProject()));
}
if (fetchOptions.hasProperties())
{
......@@ -210,10 +208,7 @@ public class SampleTranslator extends AbstractCachingTranslator<Long, Sample, Sa
result.setPermId(new SamplePermId(baseRecord.permId));
result.setCode(baseRecord.code);
// TODO: project samples
// result.setIdentifier(new SampleIdentifier(baseRecord.spaceCode, baseRecord.projectCode,
// baseRecord.containerCode, baseRecord.code));
result.setIdentifier(new SampleIdentifier(baseRecord.spaceCode,
result.setIdentifier(new SampleIdentifier(baseRecord.spaceCode, baseRecord.projectCode,
baseRecord.containerCode, baseRecord.code));
result.setModificationDate(baseRecord.modificationDate);
result.setRegistrationDate(baseRecord.registrationDate);
......@@ -230,12 +225,11 @@ public class SampleTranslator extends AbstractCachingTranslator<Long, Sample, Sa
result.getFetchOptions().withSpaceUsing(fetchOptions.withSpace());
}
// TODO: project samples
// if (fetchOptions.hasProject())
// {
// result.setProject(relations.get(ISampleProjectTranslator.class, sampleId));
// result.getFetchOptions().withProjectUsing(fetchOptions.withProject());
// }
if (fetchOptions.hasProject())
{
result.setProject(relations.get(ISampleProjectTranslator.class, sampleId));
result.getFetchOptions().withProjectUsing(fetchOptions.withProject());
}
if (fetchOptions.hasProperties())
{
......
......@@ -23,6 +23,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractCompositeS
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search.NoProjectSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search.ProjectSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.search.SpaceSearchCriteria;
import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
......@@ -51,9 +52,7 @@ public class ProjectSearchCriteriaTranslator extends AbstractFieldFromCompositeS
@Override
protected boolean doAccepts(ISearchCriteria criteria)
{
// TODO: project samples
// return criteria instanceof NoProjectSearchCriteria || criteria instanceof ProjectSearchCriteria;
return criteria instanceof ProjectSearchCriteria;
return criteria instanceof NoProjectSearchCriteria || criteria instanceof ProjectSearchCriteria;
}
@Override
......@@ -64,11 +63,10 @@ public class ProjectSearchCriteriaTranslator extends AbstractFieldFromCompositeS
throw new IllegalArgumentException("Project criteria can be used only in experiment or sample criteria, "
+ "but was used in: " + context.peekObjectKind() + " context.");
}
// TODO: project samples
// if (criteria instanceof NoProjectSearchCriteria)
// {
// return new SearchCriteriaTranslationResult(new DetailedSearchCriterion(PROJECT_ID_FIELD, NullBridge.NULL));
// }
if (criteria instanceof NoProjectSearchCriteria)
{
return new SearchCriteriaTranslationResult(new DetailedSearchCriterion(PROJECT_ID_FIELD, NullBridge.NULL));
}
AbstractCompositeSearchCriteria compositeCriteria = (AbstractCompositeSearchCriteria) criteria;
Collection<ISearchCriteria> subCriteria = compositeCriteria.getCriteria();
if (subCriteria.isEmpty())
......
......@@ -22,6 +22,7 @@ import java.sql.Statement;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import javax.annotation.Resource;
......@@ -32,6 +33,7 @@ import org.springframework.beans.factory.InitializingBean;
import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
import ch.systemsx.cisd.common.logging.LogCategory;
import ch.systemsx.cisd.common.logging.LogFactory;
import ch.systemsx.cisd.common.properties.PropertyUtils;
import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer;
import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext;
import ch.systemsx.cisd.openbis.common.spring.SpringEoDSQLExceptionTranslator;
......@@ -343,10 +345,8 @@ public final class DAOFactory extends AuthorizationDAOFactory implements IDAOFac
@Override
public void afterPropertiesSet() throws Exception
{
// TODO: project samples
// Properties serviceProperties = configurer.getResolvedProps();
// boolean projectSamplesEnabled = PropertyUtils.getBoolean(serviceProperties, Constants.PROJECT_SAMPLES_ENABLED_KEY, false);
boolean projectSamplesEnabled = false;
Properties serviceProperties = configurer.getResolvedProps();
boolean projectSamplesEnabled = PropertyUtils.getBoolean(serviceProperties, Constants.PROJECT_SAMPLES_ENABLED_KEY, false);
Connection connection = null;
try
{
......
......@@ -21,8 +21,6 @@ import static junit.framework.Assert.fail;
import org.testng.annotations.Test;
import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.sample.FullSampleIdentifier;
/**
* @author Franz-Josef Elmer
*/
......@@ -36,14 +34,13 @@ public class FullSampleIdentifierTest
assertSampId("/C1:S1");
assertSampId("/SPACE1/S2");
assertSampId("/SPACE1/S2:A02");
// TODO: project samples
// assertSampId("/SPACE1/PROJECT1/S1");
// assertSampId("/SPACE1/PROJECT1/S1:A02");
assertSampId("/SPACE1/PROJECT1/S1");
assertSampId("/SPACE1/PROJECT1/S1:A02");
assertSampIdWithHomeSpace("/HS/S1", "//s1", "HS");
assertSampIdWithHomeSpace("/HS/C1:S1", "//c1:s1", "HS");
// assertSampIdWithHomeSpace("/HS/PROJECT1/S1", "//Project1/s1", "HS");
// assertSampIdWithHomeSpace("/HS/PROJECT1/C1:S1", "//project1/c1:s1", "HS");
// assertSampIdWithHomeSpace("/SP1/PROJECT1/C1:S1", "/sp1/project1/c1:s1", "HS");
assertSampIdWithHomeSpace("/HS/PROJECT1/S1", "//Project1/s1", "HS");
assertSampIdWithHomeSpace("/HS/PROJECT1/C1:S1", "//project1/c1:s1", "HS");
assertSampIdWithHomeSpace("/SP1/PROJECT1/C1:S1", "/sp1/project1/c1:s1", "HS");
}
@Test
......
......@@ -15,6 +15,13 @@
*/
package ch.ethz.sis.openbis.generic.asapi.v3.dto.project;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.Attachment;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IAttachmentsHolder;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.ICodeHolder;
......@@ -31,20 +38,17 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.Person;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions.ProjectFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectIdentifier;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectPermId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.Space;
import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.NotFetchedException;
import ch.systemsx.cisd.base.annotation.JsonObject;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/*
* Class automatically generated with DtoGenerator
*/
@JsonObject("as.dto.project.Project")
public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, IExperimentsHolder, IModificationDateHolder, IModifierHolder, IPermIdHolder, IRegistrationDateHolder, IRegistratorHolder, ISpaceHolder
public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, IExperimentsHolder, IModificationDateHolder, IModifierHolder,
IPermIdHolder, IRegistrationDateHolder, IRegistratorHolder, ISpaceHolder
{
private static final long serialVersionUID = 1L;
......@@ -72,6 +76,9 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
@JsonProperty
private List<Experiment> experiments;
@JsonProperty
private List<Sample> samples;
@JsonProperty
private List<HistoryEntry> history;
......@@ -193,8 +200,7 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
if (getFetchOptions() != null && getFetchOptions().hasExperiments())
{
return experiments;
}
else
} else
{
throw new NotFetchedException("Experiments have not been fetched.");
}
......@@ -206,6 +212,25 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
this.experiments = experiments;
}
// Method automatically generated with DtoGenerator
@JsonIgnore
public List<Sample> getSamples()
{
if (getFetchOptions().hasSamples())
{
return samples;
} else
{
throw new NotFetchedException("Samples have not been fetched.");
}
}
// Method automatically generated with DtoGenerator
public void setSamples(List<Sample> samples)
{
this.samples = samples;
}
// Method automatically generated with DtoGenerator
@JsonIgnore
public List<HistoryEntry> getHistory()
......@@ -213,8 +238,7 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
if (getFetchOptions() != null && getFetchOptions().hasHistory())
{
return history;
}
else
} else
{
throw new NotFetchedException("History have not been fetched.");
}
......@@ -234,8 +258,7 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
if (getFetchOptions() != null && getFetchOptions().hasSpace())
{
return space;
}
else
} else
{
throw new NotFetchedException("Space has not been fetched.");
}
......@@ -255,8 +278,7 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
if (getFetchOptions() != null && getFetchOptions().hasRegistrator())
{
return registrator;
}
else
} else
{
throw new NotFetchedException("Registrator has not been fetched.");
}
......@@ -276,8 +298,7 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
if (getFetchOptions() != null && getFetchOptions().hasModifier())
{
return modifier;
}
else
} else
{
throw new NotFetchedException("Modifier has not been fetched.");
}
......@@ -296,8 +317,7 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
if (getFetchOptions() != null && getFetchOptions().hasLeader())
{
return leader;
}
else
} else
{
throw new NotFetchedException("Leader has not been fetched.");
}
......@@ -317,8 +337,7 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
if (getFetchOptions() != null && getFetchOptions().hasAttachments())
{
return attachments;
}
else
} else
{
throw new NotFetchedException("Attachments have not been fetched.");
}
......
......@@ -15,6 +15,10 @@
*/
package ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonProperty;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.fetchoptions.AttachmentFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.fetchoptions.FetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.fetchoptions.FetchOptionsToStringBuilder;
......@@ -22,10 +26,9 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.fetchoptions.Experime
import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.fetchoptions.HistoryEntryFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.fetchoptions.PersonFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.Project;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions.SampleFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.fetchoptions.SpaceFetchOptions;
import ch.systemsx.cisd.base.annotation.JsonObject;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
/*
* Class automatically generated with DtoGenerator
......@@ -38,6 +41,9 @@ public class ProjectFetchOptions extends FetchOptions<Project> implements Serial
@JsonProperty
private ExperimentFetchOptions experiments;
@JsonProperty
private SampleFetchOptions samples;
@JsonProperty
private HistoryEntryFetchOptions history;
......@@ -81,6 +87,27 @@ public class ProjectFetchOptions extends FetchOptions<Project> implements Serial
return experiments != null;
}
public SampleFetchOptions withSamples()
{
if (samples == null)
{
samples = new SampleFetchOptions();
}
return samples;
}
// Method automatically generated with DtoGenerator
public SampleFetchOptions withSamplesUsing(SampleFetchOptions fetchOptions)
{
return samples = fetchOptions;
}
// Method automatically generated with DtoGenerator
public boolean hasSamples()
{
return samples != null;
}
// Method automatically generated with DtoGenerator
public HistoryEntryFetchOptions withHistory()
{
......@@ -230,6 +257,7 @@ public class ProjectFetchOptions extends FetchOptions<Project> implements Serial
{
return sort;
}
@Override
protected FetchOptionsToStringBuilder getFetchOptionsStringBuilder()
{
......
/*
* Copyright 2015 ETH Zuerich, CISD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria;
import ch.systemsx.cisd.base.annotation.JsonObject;
/**
* @author pkupczyk
*/
@JsonObject("as.dto.project.search.NoProjectSearchCriteria")
public class NoProjectSearchCriteria implements ISearchCriteria
{
private static final long serialVersionUID = 1L;
@Override
public String toString()
{
return "without project";
}
}
......@@ -15,6 +15,16 @@
*/
package ch.ethz.sis.openbis.generic.asapi.v3.dto.sample;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.Attachment;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IAttachmentsHolder;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.ICodeHolder;
......@@ -35,8 +45,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.Experiment;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.HistoryEntry;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.Material;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.Person;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.SampleType;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.Project;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions.SampleFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SampleIdentifier;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SamplePermId;
......@@ -44,20 +53,14 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.Space;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.Tag;
import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.NotFetchedException;
import ch.systemsx.cisd.base.annotation.JsonObject;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/*
* Class automatically generated with DtoGenerator
*/
@JsonObject("as.dto.sample.Sample")
public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, IDataSetsHolder, IExperimentHolder, IMaterialPropertiesHolder, IModificationDateHolder, IModifierHolder, IParentChildrenHolder<Sample>, IPermIdHolder, IPropertiesHolder, IRegistrationDateHolder, IRegistratorHolder, ISpaceHolder, ITagsHolder
public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, IDataSetsHolder, IExperimentHolder, IMaterialPropertiesHolder,
IModificationDateHolder, IModifierHolder, IParentChildrenHolder<Sample>, IPermIdHolder, IPropertiesHolder, IRegistrationDateHolder,
IRegistratorHolder, ISpaceHolder, ITagsHolder
{
private static final long serialVersionUID = 1L;
......@@ -82,6 +85,9 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
@JsonProperty
private SampleType type;
@JsonProperty
private Project project;
@JsonProperty
private Space space;
......@@ -213,8 +219,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasType())
{
return type;
}
else
} else
{
throw new NotFetchedException("Sample type has not been fetched.");
}
......@@ -226,6 +231,25 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
this.type = type;
}
// Method automatically generated with DtoGenerator
@JsonIgnore
public Project getProject()
{
if (getFetchOptions().hasProject())
{
return project;
} else
{
throw new NotFetchedException("Project has not been fetched.");
}
}
// Method automatically generated with DtoGenerator
public void setProject(Project project)
{
this.project = project;
}
// Method automatically generated with DtoGenerator
@JsonIgnore
@Override
......@@ -234,8 +258,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasSpace())
{
return space;
}
else
} else
{
throw new NotFetchedException("Space has not been fetched.");
}
......@@ -255,8 +278,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasExperiment())
{
return experiment;
}
else
} else
{
throw new NotFetchedException("Experiment has not been fetched.");
}
......@@ -276,8 +298,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasProperties())
{
return properties;
}
else
} else
{
throw new NotFetchedException("Properties have not been fetched.");
}
......@@ -298,8 +319,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasMaterialProperties())
{
return materialProperties;
}
else
} else
{
throw new NotFetchedException("Material Properties have not been fetched.");
}
......@@ -320,8 +340,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasParents())
{
return parents;
}
else
} else
{
throw new NotFetchedException("Parents have not been fetched.");
}
......@@ -341,8 +360,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasChildren())
{
return children;
}
else
} else
{
throw new NotFetchedException("Children have not been fetched.");
}
......@@ -361,8 +379,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasContainer())
{
return container;
}
else
} else
{
throw new NotFetchedException("Container sample has not been fetched.");
}
......@@ -381,8 +398,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasComponents())
{
return components;
}
else
} else
{
throw new NotFetchedException("Component samples have not been fetched.");
}
......@@ -402,8 +418,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasDataSets())
{
return dataSets;
}
else
} else
{
throw new NotFetchedException("Data sets have not been fetched.");
}
......@@ -422,8 +437,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasHistory())
{
return history;
}
else
} else
{
throw new NotFetchedException("History have not been fetched.");
}
......@@ -443,8 +457,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasTags())
{
return tags;
}
else
} else
{
throw new NotFetchedException("Tags have not been fetched.");
}
......@@ -464,8 +477,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasRegistrator())
{
return registrator;
}
else
} else
{
throw new NotFetchedException("Registrator has not been fetched.");
}
......@@ -485,8 +497,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasModifier())
{
return modifier;
}
else
} else
{
throw new NotFetchedException("Modifier has not been fetched.");
}
......@@ -506,8 +517,7 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, ID
if (getFetchOptions() != null && getFetchOptions().hasAttachments())
{
return attachments;
}
else
} else
{
throw new NotFetchedException("Attachments have not been fetched.");
}
......
......@@ -27,6 +27,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.ICreationIdHol
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.IEntityTypeId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.IProjectId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.ISampleId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.id.ITagId;
......@@ -44,6 +45,8 @@ public class SampleCreation implements ICreation, ICreationIdHolder, IProperties
private IExperimentId experimentId;
private IProjectId projectId;
private ISpaceId spaceId;
private String code;
......@@ -86,6 +89,16 @@ public class SampleCreation implements ICreation, ICreationIdHolder, IProperties
this.experimentId = experimentId;
}
public IProjectId getProjectId()
{
return projectId;
}
public void setProjectId(IProjectId projectId)
{
this.projectId = projectId;
}
public ISpaceId getSpaceId()
{
return spaceId;
......
......@@ -15,6 +15,10 @@
*/
package ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonProperty;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.fetchoptions.AttachmentFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.fetchoptions.FetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.fetchoptions.FetchOptionsToStringBuilder;
......@@ -23,15 +27,12 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.fetchoptions.Experime
import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.fetchoptions.HistoryEntryFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.fetchoptions.MaterialFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.fetchoptions.PersonFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions.ProjectFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.fetchoptions.PropertyFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions.SampleFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions.SampleTypeFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.fetchoptions.SpaceFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.fetchoptions.TagFetchOptions;
import ch.systemsx.cisd.base.annotation.JsonObject;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
/*
* Class automatically generated with DtoGenerator
......@@ -44,6 +45,9 @@ public class SampleFetchOptions extends FetchOptions<Sample> implements Serializ
@JsonProperty
private SampleTypeFetchOptions type;
@JsonProperty
private ProjectFetchOptions project;
@JsonProperty
private SpaceFetchOptions space;
......@@ -111,6 +115,28 @@ public class SampleFetchOptions extends FetchOptions<Sample> implements Serializ
return type != null;
}
// Method automatically generated with DtoGenerator
public ProjectFetchOptions withProject()
{
if (project == null)
{
project = new ProjectFetchOptions();
}
return project;
}
// Method automatically generated with DtoGenerator
public ProjectFetchOptions withProjectUsing(ProjectFetchOptions fetchOptions)
{
return project = fetchOptions;
}
// Method automatically generated with DtoGenerator
public boolean hasProject()
{
return project != null;
}
// Method automatically generated with DtoGenerator
public SpaceFetchOptions withSpace()
{
......@@ -436,6 +462,7 @@ public class SampleFetchOptions extends FetchOptions<Sample> implements Serializ
{
return sort;
}
@Override
protected FetchOptionsToStringBuilder getFetchOptionsStringBuilder()
{
......
......@@ -40,10 +40,15 @@ public class SampleIdentifier extends ObjectIdentifier implements ISampleId
public SampleIdentifier(String spaceCodeOrNull, String containerCodeOrNull, String sampleCode)
{
this(createIdentifier(spaceCodeOrNull, containerCodeOrNull, sampleCode));
this(spaceCodeOrNull, null, containerCodeOrNull, sampleCode);
}
private static String createIdentifier(String spaceCodeOrNull,
public SampleIdentifier(String spaceCodeOrNull, String projectCodeOrNull, String containerCodeOrNull, String sampleCode)
{
this(createIdentifier(spaceCodeOrNull, projectCodeOrNull, containerCodeOrNull, sampleCode));
}
private static String createIdentifier(String spaceCodeOrNull, String projectCodeOrNull,
String containerCodeOrNull, String sampleCode)
{
StringBuilder builder = new StringBuilder("/");
......@@ -51,6 +56,10 @@ public class SampleIdentifier extends ObjectIdentifier implements ISampleId
{
builder.append(spaceCodeOrNull).append("/");
}
if (projectCodeOrNull != null)
{
builder.append(projectCodeOrNull).append("/");
}
if (containerCodeOrNull != null)
{
builder.append(containerCodeOrNull).append(":");
......
......@@ -30,6 +30,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.IProjectId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.ISampleId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.id.ITagId;
......@@ -49,6 +50,9 @@ public class SampleUpdate implements IUpdate, IPropertiesHolder
@JsonProperty
private FieldUpdateValue<IExperimentId> experimentId = new FieldUpdateValue<IExperimentId>();
@JsonProperty
private FieldUpdateValue<IProjectId> projectId = new FieldUpdateValue<IProjectId>();
@JsonProperty
private FieldUpdateValue<ISpaceId> spaceId = new FieldUpdateValue<ISpaceId>();
......@@ -97,6 +101,18 @@ public class SampleUpdate implements IUpdate, IPropertiesHolder
this.experimentId.setValue(experimentId);
}
@JsonIgnore
public FieldUpdateValue<IProjectId> getProjectId()
{
return projectId;
}
@JsonIgnore
public void setProjectId(IProjectId projectId)
{
this.projectId.setValue(projectId);
}
@JsonIgnore
public FieldUpdateValue<ISpaceId> getSpaceId()
{
......
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