Skip to content
Snippets Groups Projects
Commit d41fe39f authored by izabel's avatar izabel
Browse files

[LMS-651] allow to register sample with properties of type different than string

SVN: 9095
parent ecd7d6d6
No related branches found
No related tags found
No related merge requests found
...@@ -43,4 +43,6 @@ public class GenericConstants ...@@ -43,4 +43,6 @@ public class GenericConstants
} }
public final static String CODE_PATTERN = "^[A-Z0-9_\\-]+$"; public final static String CODE_PATTERN = "^[A-Z0-9_\\-]+$";
public static final String DEFAULT_DATE_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss zzz";
} }
...@@ -20,6 +20,8 @@ import java.util.Date; ...@@ -20,6 +20,8 @@ import java.util.Date;
import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.i18n.client.DateTimeFormat;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants;
/** /**
* A <i>static</i> class to render {@link java.util.Date}. * A <i>static</i> class to render {@link java.util.Date}.
* *
...@@ -30,7 +32,8 @@ public final class DateRenderer ...@@ -30,7 +32,8 @@ public final class DateRenderer
/** /**
* Default date format. * Default date format.
*/ */
private static final String DEFAULT_DATE_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss zzz"; private static final String DEFAULT_DATE_FORMAT_PATTERN =
GenericConstants.DEFAULT_DATE_FORMAT_PATTERN;
/** /**
* Default {@link DateTimeFormat}. * Default {@link DateTimeFormat}.
......
...@@ -28,6 +28,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureE ...@@ -28,6 +28,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureE
import ch.systemsx.cisd.openbis.generic.shared.dto.SampleToRegisterDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.SampleToRegisterDTO;
import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleEntityProperty;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityDataType;
import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityPropertyValue;
/** /**
* @author Izabela Adamczyk * @author Izabela Adamczyk
...@@ -57,9 +59,9 @@ public class SampleToRegisterTranslator ...@@ -57,9 +59,9 @@ public class SampleToRegisterTranslator
for (SampleProperty property : properties) for (SampleProperty property : properties)
{ {
PropertyType propertyType = property.getEntityTypePropertyType().getPropertyType(); PropertyType propertyType = property.getEntityTypePropertyType().getPropertyType();
simpleProperties.add(new SimpleEntityProperty(propertyType.getCode(), propertyType EntityDataType dataType = DataTypeTranslator.translate(propertyType.getDataType());
.getLabel(), DataTypeTranslator.translate(propertyType.getDataType()), property simpleProperties.add(EntityPropertyValue.createFromUntyped(property.getValue(),
.getValue())); dataType).createSimple(propertyType.getCode(), propertyType.getLabel()));
} }
result.setProperties(simpleProperties.toArray(new SimpleEntityProperty[0])); result.setProperties(simpleProperties.toArray(new SimpleEntityProperty[0]));
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample; package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import com.extjs.gxt.ui.client.Events; import com.extjs.gxt.ui.client.Events;
...@@ -36,6 +37,7 @@ import com.extjs.gxt.ui.client.widget.form.LabelField; ...@@ -36,6 +37,7 @@ import com.extjs.gxt.ui.client.widget.form.LabelField;
import com.extjs.gxt.ui.client.widget.form.MultiField; import com.extjs.gxt.ui.client.widget.form.MultiField;
import com.extjs.gxt.ui.client.widget.form.TextField; import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.form.Validator; import com.extjs.gxt.ui.client.widget.form.Validator;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.Element; import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.ListBox;
...@@ -225,6 +227,21 @@ public final class GenericSampleRegistrationForm extends FormPanel ...@@ -225,6 +227,21 @@ public final class GenericSampleRegistrationForm extends FormPanel
} }
} }
String valueToString(Object value)
{
if (value == null)
{
return null;
} else if (value instanceof Date)
{
return DateTimeFormat.getFormat(GenericConstants.DEFAULT_DATE_FORMAT_PATTERN).format(
(Date) value);
} else
{
return value.toString();
}
}
private void submitForm() private void submitForm()
{ {
if (isValid()) if (isValid())
...@@ -238,7 +255,7 @@ public final class GenericSampleRegistrationForm extends FormPanel ...@@ -238,7 +255,7 @@ public final class GenericSampleRegistrationForm extends FormPanel
{ {
SampleTypePropertyType stpt = field.getData(ETPT); SampleTypePropertyType stpt = field.getData(ETPT);
SampleProperty sp = new SampleProperty(); SampleProperty sp = new SampleProperty();
sp.setValue(field.getValue().toString()); sp.setValue(valueToString(field.getValue()));
sp.setEntityTypePropertyType(stpt); sp.setEntityTypePropertyType(stpt);
sampleToRegister.addProperty(sp); sampleToRegister.addProperty(sp);
} }
......
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