Skip to content
Snippets Groups Projects
Commit e494c57d authored by ribeaudc's avatar ribeaudc
Browse files

[LMS-653] change: - Finishing...

SVN: 9401
parent 81a81ba8
No related branches found
No related tags found
No related merge requests found
...@@ -35,10 +35,17 @@ public final class CodeField extends VarcharField ...@@ -35,10 +35,17 @@ public final class CodeField extends VarcharField
public final static String CODE_PATTERN = "^[a-zA-Z0-9_\\-]+$"; public final static String CODE_PATTERN = "^[a-zA-Z0-9_\\-]+$";
public CodeField(final IMessageProvider messageProvider, final String label) public CodeField(final IMessageProvider messageProvider, final String label)
{
this(messageProvider, label, CODE_PATTERN);
}
public CodeField(final IMessageProvider messageProvider, final String label,
final String pattern)
{ {
super(label, true); super(label, true);
setMaxLength(40); setMaxLength(40);
setRegex(CODE_PATTERN); setRegex(pattern);
getMessages().setRegexText(messageProvider.getMessage(Dict.INVALID_CODE_MESSAGE, "Code")); getMessages().setRegexText(messageProvider.getMessage(Dict.INVALID_CODE_MESSAGE, "Code"));
} }
} }
\ No newline at end of file
...@@ -39,6 +39,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Abstrac ...@@ -39,6 +39,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Abstrac
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CodeField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CodeField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.VarcharField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.VarcharField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.StringUtils; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.StringUtils;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataTypeCode; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataTypeCode;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Vocabulary; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Vocabulary;
...@@ -49,8 +50,11 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.VocabularyTerm; ...@@ -49,8 +50,11 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.VocabularyTerm;
* *
* @author Christian Ribeaud * @author Christian Ribeaud
*/ */
// TODO 2008-12-16, Christian Ribeaud: Reset info box when starting to input something.
public final class PropertyTypeRegistration extends AbstractRegistrationForm public final class PropertyTypeRegistration extends AbstractRegistrationForm
{ {
private final static String DOT_EXTENDED_CODE_PATTERN = "^[a-zA-Z0-9_\\-\\.]+$";
private static final String PREFIX = "property-type-registration"; private static final String PREFIX = "property-type-registration";
public static final String ID_PREFIX = GenericConstants.ID_PREFIX + PREFIX; public static final String ID_PREFIX = GenericConstants.ID_PREFIX + PREFIX;
...@@ -125,16 +129,21 @@ public final class PropertyTypeRegistration extends AbstractRegistrationForm ...@@ -125,16 +129,21 @@ public final class PropertyTypeRegistration extends AbstractRegistrationForm
return formLayout; return formLayout;
} }
private final CodeField createCodeField()
{
return new CodeField(viewContext, viewContext.getMessage(Dict.CODE),
DOT_EXTENDED_CODE_PATTERN);
}
private final void addFields() private final void addFields()
{ {
formPanel.add(codeField = new CodeField(viewContext, viewContext.getMessage(Dict.CODE))); formPanel.add(codeField = createCodeField());
formPanel.add(labelField = createLabelField()); formPanel.add(labelField = createLabelField());
formPanel.add(descriptionField = formPanel.add(descriptionField =
createDescriptionField(viewContext.getMessage(Dict.DESCRIPTION), true)); createDescriptionField(viewContext.getMessage(Dict.DESCRIPTION), true));
formPanel.add(dataTypeSelectionWidget = new DataTypeSelectionWidget(viewContext)); formPanel.add(dataTypeSelectionWidget = new DataTypeSelectionWidget(viewContext));
formPanel.add(vocabularyFieldSet = createFieldSet()); formPanel.add(vocabularyFieldSet = createFieldSet());
vocabularyFieldSet.add(vocabularyField = vocabularyFieldSet.add(vocabularyField = createCodeField());
new CodeField(viewContext, viewContext.getMessage(Dict.CODE)));
vocabularyFieldSet.add(vocabularyDescription = vocabularyFieldSet.add(vocabularyDescription =
createDescriptionField(viewContext.getMessage(Dict.DESCRIPTION), false)); createDescriptionField(viewContext.getMessage(Dict.DESCRIPTION), false));
vocabularyFieldSet.add(vocabularyTermsField = createVocabularyTermsTextArea()); vocabularyFieldSet.add(vocabularyTermsField = createVocabularyTermsTextArea());
...@@ -228,8 +237,9 @@ public final class PropertyTypeRegistration extends AbstractRegistrationForm ...@@ -228,8 +237,9 @@ public final class PropertyTypeRegistration extends AbstractRegistrationForm
propertyType.setCode(codeField.getValue()); propertyType.setCode(codeField.getValue());
propertyType.setLabel(labelField.getValue()); propertyType.setLabel(labelField.getValue());
propertyType.setDescription(descriptionField.getValue()); propertyType.setDescription(descriptionField.getValue());
if (DataTypeCode.CONTROLLEDVOCABULARY.equals(dataTypeSelectionWidget final DataType selectedDataType = dataTypeSelectionWidget.tryGetSelectedDataType();
.tryGetSelectedDataType().getCode())) propertyType.setDataType(selectedDataType);
if (DataTypeCode.CONTROLLEDVOCABULARY.equals(selectedDataType.getCode()))
{ {
final Vocabulary vocabulary = new Vocabulary(); final Vocabulary vocabulary = new Vocabulary();
vocabulary.setCode(vocabularyField.getValue()); vocabulary.setCode(vocabularyField.getValue());
......
...@@ -23,7 +23,6 @@ import ch.systemsx.cisd.authentication.ISessionManager; ...@@ -23,7 +23,6 @@ import ch.systemsx.cisd.authentication.ISessionManager;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.NewSample; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.NewSample;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType;
import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
import ch.systemsx.cisd.openbis.generic.shared.dto.CodeConverter;
import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE;
...@@ -227,12 +226,11 @@ final class CommonServerLogger extends AbstractServerLogger implements ICommonSe ...@@ -227,12 +226,11 @@ final class CommonServerLogger extends AbstractServerLogger implements ICommonSe
+ " MANDATORY(%S) DEFAULT(%S)", propertyTypeCode, entityTypeCode, isMandatory, + " MANDATORY(%S) DEFAULT(%S)", propertyTypeCode, entityTypeCode, isMandatory,
defaultValue); defaultValue);
} }
public final void registerPropertyType(final String sessionToken, public final void registerPropertyType(final String sessionToken,
final PropertyType propertyType) final PropertyType propertyType)
{ {
logTracking(sessionToken, "register_property_type", "PROPERTY_TYPE(%s)", CodeConverter logTracking(sessionToken, "register_property_type", "PROPERTY_TYPE(%s)", propertyType
.tryToBusinessLayer(propertyType.getCode(), true)); .getCode());
} }
} }
...@@ -20,10 +20,14 @@ import org.springframework.dao.DataAccessException; ...@@ -20,10 +20,14 @@ import org.springframework.dao.DataAccessException;
import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.exceptions.UserFailureException;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Vocabulary;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.VocabularyTerm;
import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyTermPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityDataType; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityDataType;
/** /**
...@@ -41,6 +45,21 @@ public final class PropertyTypeBO extends AbstractBusinessObject implements IPro ...@@ -41,6 +45,21 @@ public final class PropertyTypeBO extends AbstractBusinessObject implements IPro
super(daoFactory, session); super(daoFactory, session);
} }
private final VocabularyPE createVocabulary(final Vocabulary vocabulary)
{
final VocabularyPE vocabularyPE = new VocabularyPE();
vocabularyPE.setCode(vocabulary.getCode());
vocabularyPE.setDescription(vocabulary.getDescription());
vocabularyPE.setDatabaseInstance(getHomeDatabaseInstance());
for (final VocabularyTerm term : vocabulary.getTerms())
{
final VocabularyTermPE vocabularyTermPE = new VocabularyTermPE();
vocabularyTermPE.setCode(term.getCode());
vocabularyPE.addTerm(vocabularyTermPE);
}
return null;
}
// //
// IPropertyTypeBO // IPropertyTypeBO
// //
...@@ -68,7 +87,14 @@ public final class PropertyTypeBO extends AbstractBusinessObject implements IPro ...@@ -68,7 +87,14 @@ public final class PropertyTypeBO extends AbstractBusinessObject implements IPro
propertyTypePE.setRegistrator(findRegistrator()); propertyTypePE.setRegistrator(findRegistrator());
if (EntityDataType.CONTROLLEDVOCABULARY.equals(dataTypePE.getCode())) if (EntityDataType.CONTROLLEDVOCABULARY.equals(dataTypePE.getCode()))
{ {
// propertyTypePE.setVocabulary(vocabulary); VocabularyPE vocabularyPE =
getVocabularyDAO().tryFindVocabularyByCode(
propertyType.getVocabulary().getCode());
if (vocabularyPE == null)
{
vocabularyPE = createVocabulary(propertyType.getVocabulary());
}
propertyTypePE.setVocabulary(vocabularyPE);
} }
} }
......
...@@ -115,7 +115,7 @@ public class VocabularyTermPE extends HibernateAbstractRegistrationHolder implem ...@@ -115,7 +115,7 @@ public class VocabularyTermPE extends HibernateAbstractRegistrationHolder implem
} }
@Transient @Transient
public VocabularyPE getVocabulary() VocabularyPE getVocabulary()
{ {
return getVocabularyInternal(); return getVocabularyInternal();
} }
......
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