Skip to content
Snippets Groups Projects
Commit 68c748dc authored by jakubs's avatar jakubs
Browse files

SP-169 BIS-90 add definitions for a new linked data set

SVN: 25897
parent ffcf5cde
No related branches found
No related tags found
No related merge requests found
...@@ -56,6 +56,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.FileFormatTypePE; ...@@ -56,6 +56,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.FileFormatTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.LinkDataPE; import ch.systemsx.cisd.openbis.generic.shared.dto.LinkDataPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewContainerDataSet; import ch.systemsx.cisd.openbis.generic.shared.dto.NewContainerDataSet;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData; import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewLinkDataSet;
import ch.systemsx.cisd.openbis.generic.shared.dto.NewProperty; import ch.systemsx.cisd.openbis.generic.shared.dto.NewProperty;
import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
...@@ -175,9 +176,13 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO ...@@ -175,9 +176,13 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO
assert sample != null : "Undefined sample."; assert sample != null : "Undefined sample.";
boolean isContainer = newData instanceof NewContainerDataSet; boolean isContainer = newData instanceof NewContainerDataSet;
boolean isLink = newData instanceof NewLinkDataSet;
if (isContainer) if (isContainer)
{ {
define((NewContainerDataSet) newData, sourceType); define((NewContainerDataSet) newData, sourceType);
} else if (isLink)
{
define((NewLinkDataSet) newData, sourceType);
} else } else
{ {
define(newData, sourceType); define(newData, sourceType);
...@@ -197,9 +202,13 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO ...@@ -197,9 +202,13 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO
assert experiment != null : "Undefined experiment."; assert experiment != null : "Undefined experiment.";
boolean isContainer = newData instanceof NewContainerDataSet; boolean isContainer = newData instanceof NewContainerDataSet;
boolean isLink = newData instanceof NewLinkDataSet;
if (isContainer) if (isContainer)
{ {
define((NewContainerDataSet) newData, sourceType); define((NewContainerDataSet) newData, sourceType);
} else if (isLink)
{
define((NewLinkDataSet) newData, sourceType);
} else } else
{ {
define(newData, sourceType); define(newData, sourceType);
...@@ -317,6 +326,36 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO ...@@ -317,6 +326,36 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO
data = dataPE; data = dataPE;
} }
private void define(NewLinkDataSet newData, SourceType sourceType)
{
assert newData != null : "Undefined data.";
final DataSetType dataSetType = newData.getDataSetType();
assert dataSetType != null : "Undefined data set type.";
assert sourceType != null : "Undefined source type.";
final LinkDataPE dataPE = new LinkDataPE();
dataPE.setExternalCode(newData.getExternalCode());
String code = newData.getExternalDataManagementSystemCode();
ExternalDataManagementSystemPE externalDMS =
getExternalDataManagementSystemDAO().tryToFindExternalDataManagementSystemByCode(
code);
dataPE.setExternalDataManagementSystem(externalDMS);
dataPE.setDataProducerCode(newData.getDataProducerCode());
dataPE.setProductionDate(newData.getProductionDate());
dataPE.setCode(newData.getCode());
dataPE.setDataSetType(getDataSetType(dataSetType));
dataPE.setRegistrator(tryToGetRegistrator(newData));
dataStore = getDataStoreDAO().tryToFindDataStoreByCode(newData.getDataStoreCode());
dataPE.setDataStore(dataStore);
defineDataSetProperties(dataPE, convertToDataSetProperties(newData.getDataSetProperties()));
dataPE.setDerived(sourceType == SourceType.DERIVED);
data = dataPE;
}
private PersonPE tryToGetRegistrator(NewExternalData newData) private PersonPE tryToGetRegistrator(NewExternalData newData)
{ {
String userId = newData.getUserId(); String userId = newData.getUserId();
......
/*
* Copyright 2011 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.systemsx.cisd.openbis.generic.shared.dto;
/**
* @author Jakub Straszewski
*/
public class NewLinkDataSet extends NewExternalData
{
private static final long serialVersionUID = 1L;
private String externalDataManagementSystemCode;
private String externalCode;
public String getExternalDataManagementSystemCode()
{
return externalDataManagementSystemCode;
}
public void setExternalDataManagementSystemCode(String externalDataManagementSystemCode)
{
this.externalDataManagementSystemCode = externalDataManagementSystemCode;
}
public String getExternalCode()
{
return externalCode;
}
public void setExternalCode(String externalCode)
{
this.externalCode = externalCode;
}
}
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