Skip to content
Snippets Groups Projects
Commit 00ea86a2 authored by buczekp's avatar buczekp
Browse files

[LMS-1676] always use identifiers

SVN: 17393
parent c1c03660
No related branches found
No related tags found
No related merge requests found
Showing
with 220 additions and 82 deletions
...@@ -110,7 +110,9 @@ public final class GenericConstants ...@@ -110,7 +110,9 @@ public final class GenericConstants
public static final String BATCH_OPERATION_KIND = "batch_operation_kind"; public static final String BATCH_OPERATION_KIND = "batch_operation_kind";
public static final String CODES_TEXTAREA_REGEX = "\n|\r\n|, *"; public static final String ITEMS_TEXTAREA_REGEX = "\n|\r\n|, *";
public static final String ITEMS_TEXTAREA_DEFAULT_SEPARATOR = ", ";
/** A regular expression that match email addresses. */ /** A regular expression that match email addresses. */
public static final String EMAIL_REGEX = public static final String EMAIL_REGEX =
......
...@@ -19,7 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui; ...@@ -19,7 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.MultilineVarcharField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.MultilineItemsField;
import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code;
...@@ -29,7 +29,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code; ...@@ -29,7 +29,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code;
* *
* @author Piotr Buczek * @author Piotr Buczek
*/ */
abstract public class CodesArea<T extends ICodeHolder> extends MultilineVarcharField abstract public class CodesArea<T extends ICodeHolder> extends MultilineItemsField
{ {
public CodesArea(String emptyTextMsg) public CodesArea(String emptyTextMsg)
{ {
...@@ -40,40 +40,7 @@ abstract public class CodesArea<T extends ICodeHolder> extends MultilineVarcharF ...@@ -40,40 +40,7 @@ abstract public class CodesArea<T extends ICodeHolder> extends MultilineVarcharF
public final void setCodeProviders(Collection<T> codeProviders) public final void setCodeProviders(Collection<T> codeProviders)
{ {
List<String> codes = Code.extractCodes(codeProviders); List<String> codes = Code.extractCodes(codeProviders);
setCodes(codes); setItems(codes);
} }
public final void setCodes(List<String> codes)
{
String textValue = createTextValue(codes);
setValue(textValue);
setOriginalValue(textValue);
}
public final void appendCode(String code)
{
StringBuilder sb = new StringBuilder();
sb.append(getValue() == null ? "" : getValue());
appendCode(sb, code);
setValue(sb.toString());
}
private static String createTextValue(List<String> codes)
{
StringBuilder sb = new StringBuilder();
for (String code : codes)
{
appendCode(sb, code);
}
return sb.toString();
}
private static final void appendCode(StringBuilder sb, String code)
{
if (sb.length() > 0)
{
sb.append(", ");
}
sb.append(code);
}
} }
...@@ -143,7 +143,7 @@ public class AddPersonToAuthorizationGroupDialog extends AbstractRegistrationDia ...@@ -143,7 +143,7 @@ public class AddPersonToAuthorizationGroupDialog extends AbstractRegistrationDia
String text = multiplePersonsField.getValue(); String text = multiplePersonsField.getValue();
if (StringUtils.isBlank(text) == false) if (StringUtils.isBlank(text) == false)
{ {
codes.addAll(Arrays.asList(text.split(GenericConstants.CODES_TEXTAREA_REGEX))); codes.addAll(Arrays.asList(text.split(GenericConstants.ITEMS_TEXTAREA_REGEX)));
} }
} }
return codes; return codes;
......
...@@ -62,6 +62,6 @@ public final class DataSetParentsArea extends CodesArea<ExternalData> ...@@ -62,6 +62,6 @@ public final class DataSetParentsArea extends CodesArea<ExternalData>
public final void setParentCodes(List<String> parentCodes) public final void setParentCodes(List<String> parentCodes)
{ {
setCodes(parentCodes); setItems(parentCodes);
} }
} }
/*
* Copyright 2008 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.client.web.client.application.ui.field;
import java.util.List;
import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants;
/**
* A {@link MultilineVarcharField} extension with support of handling list of items (Strings).
*
* @author Piotr Buczek
*/
public class MultilineItemsField extends MultilineVarcharField
{
/** Constructor for default sized field (5 lines). */
public MultilineItemsField(final String label, final boolean mandatory)
{
super(label, mandatory);
}
/** Constructor for multiline field with given number of lines. */
public MultilineItemsField(final String label, final boolean mandatory, int lines)
{
super(label, mandatory, lines);
}
/**
* null if the area has not been modified, the list of all items (separated by comma or a new
* line) otherwise
*/
public final String[] tryGetModifiedItemList()
{
if (isDirty() == false)
{
return null;
}
String text = getValue();
if (StringUtils.isBlank(text) == false)
{
return text.split(GenericConstants.ITEMS_TEXTAREA_REGEX);
} else
{
return new String[0];
}
}
public final void setItems(List<String> items)
{
String textValue = createTextValue(items);
setValue(textValue);
setOriginalValue(textValue);
}
public final void appendItem(String item)
{
StringBuilder sb = new StringBuilder();
sb.append(getValue() == null ? "" : getValue());
appendItem(sb, item);
setValue(sb.toString());
}
private static String createTextValue(List<String> items)
{
StringBuilder sb = new StringBuilder();
for (String item : items)
{
appendItem(sb, item);
}
return sb.toString();
}
private static final void appendItem(StringBuilder sb, String item)
{
if (sb.length() > 0)
{
sb.append(GenericConstants.ITEMS_TEXTAREA_DEFAULT_SEPARATOR);
}
sb.append(item);
}
}
...@@ -18,8 +18,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field; ...@@ -18,8 +18,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field;
import com.extjs.gxt.ui.client.widget.form.TextArea; import com.extjs.gxt.ui.client.widget.form.TextArea;
import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.FieldUtil; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.FieldUtil;
/** /**
...@@ -63,24 +61,4 @@ public class MultilineVarcharField extends TextArea ...@@ -63,24 +61,4 @@ public class MultilineVarcharField extends TextArea
return (int) (lines * DEFAULT_LINE_HEIGHT * EM_TO_PIXEL); return (int) (lines * DEFAULT_LINE_HEIGHT * EM_TO_PIXEL);
} }
/**
* null if the area has not been modified, the list of all items (separated by comma or a new
* line) otherwise
*/
public final String[] tryGetModifiedItemList()
{
if (isDirty() == false)
{
return null;
}
String text = getValue();
if (StringUtils.isBlank(text) == false)
{
return text.split(GenericConstants.CODES_TEXTAREA_REGEX);
} else
{
return new String[0];
}
}
} }
...@@ -25,7 +25,7 @@ var generic = { ...@@ -25,7 +25,7 @@ var generic = {
instance_sample: "Shared", instance_sample: "Shared",
generated_from_sample: "Parent", generated_from_sample: "Parent",
add_parent: "Add Parent", add_parent: "Add Parent...",
part_of_sample: "Container", part_of_sample: "Container",
parents: "Parents", parents: "Parents",
......
/* /*
* Copyright 2008 ETH Zuerich, CISD * Copyright 2010 ETH Zuerich, CISD
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -14,17 +14,26 @@ ...@@ -14,17 +14,26 @@
* limitations under the License. * limitations under the License.
*/ */
package ch.systemsx.cisd.openbis.generic.shared.dto; package ch.systemsx.cisd.openbis.generic.shared.basic;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/** /**
* A role that holds a identifier. * @author Piotr Buczek
*
* @author Christian Ribeaud
*/ */
public interface IIdentifierHolder public class IdentifierExtractor
{ {
/**
* Returns a <code>String</code> that uniquely identifies this object. public static final List<String> extract(
*/ Collection<? extends IIdentifierHolder> identifierHolders)
public String getIdentifier(); {
List<String> identifiers = new ArrayList<String>();
for (IIdentifierHolder identifierHolder : identifierHolders)
{
identifiers.add(identifierHolder.getIdentifier());
}
return identifiers;
}
} }
...@@ -25,6 +25,7 @@ import javax.persistence.MappedSuperclass; ...@@ -25,6 +25,7 @@ import javax.persistence.MappedSuperclass;
import javax.persistence.Transient; import javax.persistence.Transient;
import ch.systemsx.cisd.openbis.generic.shared.IServer; import ch.systemsx.cisd.openbis.generic.shared.IServer;
import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder;
import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentHolderKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentHolderKind;
import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils;
...@@ -36,7 +37,6 @@ import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; ...@@ -36,7 +37,6 @@ import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils;
*/ */
@MappedSuperclass @MappedSuperclass
public abstract class AttachmentHolderPE implements Serializable, IIdentifierHolder, IPermIdHolder public abstract class AttachmentHolderPE implements Serializable, IIdentifierHolder, IPermIdHolder
{ {
// //
// Version // Version
......
...@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.shared.dto; ...@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.shared.dto;
import java.util.List; import java.util.List;
import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder;
import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind;
/** /**
......
...@@ -218,13 +218,10 @@ public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Co ...@@ -218,13 +218,10 @@ public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Co
getSampleParentRelationships().add(relationship); getSampleParentRelationships().add(relationship);
} }
// TODO 2010-08-10, Piotr Buczek: check
public void removeParentRelationship(final SampleRelationshipPE relationship) public void removeParentRelationship(final SampleRelationshipPE relationship)
{ {
getSampleParentRelationships().remove(relationship); getSampleParentRelationships().remove(relationship);
relationship.getParentSample().getSampleChildRelationships().remove(relationship);
relationship.setChildSample(null); relationship.setChildSample(null);
relationship.setParentSample(null);
} }
/** /**
......
...@@ -262,4 +262,5 @@ public final class IdentifierHelper ...@@ -262,4 +262,5 @@ public final class IdentifierHelper
sample.getSpaceLevel().setSpaceCode(defaultGroupCode); sample.getSpaceLevel().setSpaceCode(defaultGroupCode);
} }
} }
} }
...@@ -16,16 +16,20 @@ ...@@ -16,16 +16,20 @@
package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment; package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment;
import java.util.Collection;
import java.util.List;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.CodesArea;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider;
import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.SamplesArea; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
/** /**
* {@link SamplesArea} extension to specify samples for an experiment. * {@link CodesArea} extension to specify samples for an experiment.
* *
* @author Tomasz Pylak * @author Tomasz Pylak
*/ */
final class ExperimentSamplesArea extends SamplesArea final class ExperimentSamplesArea extends CodesArea<Sample>
{ {
public static final String ID_SUFFIX_SAMPLES = "_samples"; public static final String ID_SUFFIX_SAMPLES = "_samples";
...@@ -41,4 +45,23 @@ final class ExperimentSamplesArea extends SamplesArea ...@@ -41,4 +45,23 @@ final class ExperimentSamplesArea extends SamplesArea
return idPrefix + ID_SUFFIX_SAMPLES; return idPrefix + ID_SUFFIX_SAMPLES;
} }
// delegation to abstract class methods
// null if the area has not been modified,
// the list of all sample codes otherwise
public final String[] tryGetSampleCodes()
{
return tryGetModifiedItemList();
}
public void setSamples(Collection<Sample> samples)
{
setCodeProviders(samples);
}
public final void setSampleCodes(List<String> codes)
{
setItems(codes);
}
} }
...@@ -227,7 +227,7 @@ abstract public class AbstractGenericSampleRegisterEditForm extends ...@@ -227,7 +227,7 @@ abstract public class AbstractGenericSampleRegisterEditForm extends
if (entity != null) if (entity != null)
{ {
String sampleIdentifier = entity.getIdentifier(); String sampleIdentifier = entity.getIdentifier();
parentsArea.appendCode(sampleIdentifier); parentsArea.appendItem(sampleIdentifier);
} }
} }
}); });
...@@ -288,7 +288,7 @@ abstract public class AbstractGenericSampleRegisterEditForm extends ...@@ -288,7 +288,7 @@ abstract public class AbstractGenericSampleRegisterEditForm extends
protected String[] getParents() protected String[] getParents()
{ {
return parentsArea.tryGetSampleCodes(); return parentsArea.tryGetSamples();
} }
} }
...@@ -106,7 +106,7 @@ public final class GenericSampleEditForm extends AbstractGenericSampleRegisterEd ...@@ -106,7 +106,7 @@ public final class GenericSampleEditForm extends AbstractGenericSampleRegisterEd
experimentField.updateOriginalValue(); experimentField.updateOriginalValue();
updateFieldOriginalValue(groupSelectionWidget); updateFieldOriginalValue(groupSelectionWidget);
container.updateOriginalValue(); container.updateOriginalValue();
parentsArea.setSampleCodes(parents); parentsArea.setSamples(parents);
} }
private void setOriginalSample(Sample sample) private void setOriginalSample(Sample sample)
......
...@@ -16,22 +16,29 @@ ...@@ -16,22 +16,29 @@
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.Collection;
import java.util.List;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.MultilineItemsField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider;
import ch.systemsx.cisd.openbis.generic.shared.basic.IdentifierExtractor;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
/** /**
* {@link SamplesArea} extension to specify parent samples. * {@link MultilineItemsField} extension to specify parent samples.
* *
* @author Piotr Buczek * @author Piotr Buczek
*/ */
final class ParentSamplesArea extends SamplesArea final class ParentSamplesArea extends MultilineItemsField
{ {
public static final String ID_SUFFIX_PARENT_SAMPLES = "_parent_samples"; public static final String ID_SUFFIX_PARENT_SAMPLES = "_parent_samples";
public ParentSamplesArea(IMessageProvider messageProvider, String idPrefix) public ParentSamplesArea(IMessageProvider messageProvider, String idPrefix)
{ {
super(messageProvider.getMessage(Dict.SAMPLES_LIST)); super("", false);
setEmptyText(messageProvider.getMessage(Dict.SAMPLES_LIST));
setLabelSeparator(""); setLabelSeparator("");
setId(createId(idPrefix)); setId(createId(idPrefix));
} }
...@@ -41,4 +48,24 @@ final class ParentSamplesArea extends SamplesArea ...@@ -41,4 +48,24 @@ final class ParentSamplesArea extends SamplesArea
return idPrefix + ID_SUFFIX_PARENT_SAMPLES; return idPrefix + ID_SUFFIX_PARENT_SAMPLES;
} }
public void setSamples(Collection<Sample> samples)
{
List<String> identifiers = IdentifierExtractor.extract(samples);
setSamples(identifiers);
}
// delegation to superclass methods
// null if the area has not been modified,
// the list of all sample codes otherwise
public final String[] tryGetSamples()
{
return tryGetModifiedItemList();
}
public final void setSamples(List<String> codesOrIdentifiers)
{
setItems(codesOrIdentifiers);
}
} }
...@@ -43,13 +43,18 @@ abstract public class SamplesArea extends CodesArea<Sample> ...@@ -43,13 +43,18 @@ abstract public class SamplesArea extends CodesArea<Sample>
return tryGetModifiedItemList(); return tryGetModifiedItemList();
} }
public final void setSamples(Collection<Sample> samples) public void setSamples(Collection<Sample> samples)
{ {
setCodeProviders(samples); setCodeProviders(samples);
} }
public final void setSampleCodes(List<String> codes) public final void setSampleCodes(List<String> codes)
{ {
setCodes(codes); setItems(codes);
}
public final void setSampleIdentifiers(List<String> identifiers)
{
setItems(identifiers);
} }
} }
...@@ -54,6 +54,7 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; ...@@ -54,6 +54,7 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlugin; import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlugin;
import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin; import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin;
import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
import ch.systemsx.cisd.openbis.generic.shared.basic.IdentifierExtractor;
import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentWithContent; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentWithContent;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code;
...@@ -682,7 +683,7 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen ...@@ -682,7 +683,7 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen
SampleUpdateResult result = new SampleUpdateResult(); SampleUpdateResult result = new SampleUpdateResult();
SamplePE sample = sampleBO.getSample(); SamplePE sample = sampleBO.getSample();
result.setModificationDate(sample.getModificationDate()); result.setModificationDate(sample.getModificationDate());
List<String> parents = Code.extractCodes(sample.getParents()); List<String> parents = IdentifierExtractor.extract(sample.getParents());
Collections.sort(parents); Collections.sort(parents);
result.setParents(parents); result.setParents(parents);
return result; return result;
......
...@@ -22,7 +22,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework. ...@@ -22,7 +22,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItem; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItem;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier; import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.MultilineVarcharField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.MultilineItemsField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier; import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code;
...@@ -46,7 +46,7 @@ public class ExperimentPlateLocationsSection extends SingleSectionPanel ...@@ -46,7 +46,7 @@ public class ExperimentPlateLocationsSection extends SingleSectionPanel
private final IEntityInformationHolderWithIdentifier experiment; private final IEntityInformationHolderWithIdentifier experiment;
private final MultilineVarcharField materialListField; private final MultilineItemsField materialListField;
private List<MaterialType> materialTypesOrNull; private List<MaterialType> materialTypesOrNull;
...@@ -71,9 +71,9 @@ public class ExperimentPlateLocationsSection extends SingleSectionPanel ...@@ -71,9 +71,9 @@ public class ExperimentPlateLocationsSection extends SingleSectionPanel
}); });
} }
private MultilineVarcharField createMaterialListArea() private MultilineItemsField createMaterialListArea()
{ {
MultilineVarcharField area = new MultilineVarcharField("", true, 10); MultilineItemsField area = new MultilineItemsField("", true, 10);
area.setWidth(TEXT_AREA_WIDTH); area.setWidth(TEXT_AREA_WIDTH);
area.setEmptyText(screeningViewContext area.setEmptyText(screeningViewContext
.getMessage(Dict.PLATE_MATERIAL_REVIEWER_SPECIFY_METERIAL_ITEMS)); .getMessage(Dict.PLATE_MATERIAL_REVIEWER_SPECIFY_METERIAL_ITEMS));
......
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