From 05975cd0360e893169fa443c3c6efb807c509584 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 20 Aug 2012 08:33:20 +0000 Subject: [PATCH] SP-242, BIS-154: Creating/editing sample types with new flag 'show parent metadata'. New column in sample types grid. SVN: 26395 --- .../client/web/client/application/Dict.java | 2 + .../application/ui/sample/SampleTypeGrid.java | 46 ++++++++++++++----- .../client/dto/SampleTypeGridColumnIDs.java | 9 +++- .../server/resultset/SampleTypeProvider.java | 15 ++++-- .../openbis/generic/server/CommonServer.java | 1 + .../server/business/bo/EntityTypeBO.java | 1 + .../cisd/openbis/public/common-dictionary.js | 2 + .../generic/server/ETLServiceTest.java | 3 ++ .../generic/shared/CommonTestUtils.java | 2 + .../authorization/AuthorizationTestCase.java | 1 + .../dto/builders/SampleTypePEBuilder.java | 11 +++-- 11 files changed, 71 insertions(+), 22 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java index f71f163be0a..86d44510461 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java @@ -355,6 +355,8 @@ public abstract class Dict public static final String AUTO_GENERATE_CODES_LABEL = "auto_generate_codes_label"; + public static final String SHOW_PARENT_METADATA_LABEL = "show_parent_metadata_label"; + public static final String GENERATED_CODE_PREFIX = "generated_code_prefix"; public static final String LISTABLE = "listable"; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java index 0e40afdd667..48782103c68 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java @@ -59,6 +59,8 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> private static final Boolean DEFAULT_AUTO_GENERATE_CODES_VALUE = false; + private static final Boolean DEFAULT_SHOW_PARENT_METADATA_VALUE = false; + private static final Boolean DEFAULT_UNIQUE_SUBCODES_VALUE = false; private static final String DEFAULT_GENERATED_CODE_PREFIX_VALUE = "S"; @@ -135,6 +137,8 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> private final CheckBoxField autoGeneratedCodeField; + private final CheckBoxField showParentMetadataField; + private final TextField<String> generatedCodePrefixField; { @@ -167,6 +171,11 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> sampleType.isAutoGeneratedCode()); addField(autoGeneratedCodeField); + showParentMetadataField = + SampleTypeDialogFieldHelper.createShowParentMetadataField(viewContext, + sampleType.isShowParentMetadata()); + addField(showParentMetadataField); + generatedCodePrefixField = SampleTypeDialogFieldHelper.createGeneratedCodePrefixField(viewContext, sampleType.getGeneratedCodePrefix()); @@ -183,6 +192,7 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> sampleType.setListable(listableField.getValue()); sampleType.setSubcodeUnique(subcodeUniqueField.getValue()); sampleType.setAutoGeneratedCode(autoGeneratedCodeField.getValue()); + sampleType.setShowParentMetadata(showParentMetadataField.getValue()); sampleType.setGeneratedCodePrefix(generatedCodePrefixField.getValue()); sampleType.setShowParents(showParentsField.getValue()); sampleType.setShowContainer(showContainerField.getValue()); @@ -215,6 +225,8 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> private CheckBoxField autoGenerateCodesField; + private CheckBoxField showParentMetadataField; + private TextField<String> generatedCodePrefixField; { @@ -243,6 +255,11 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> DEFAULT_AUTO_GENERATE_CODES_VALUE); addField(autoGenerateCodesField); + showParentMetadataField = + SampleTypeDialogFieldHelper.createShowParentMetadataField(viewContext, + DEFAULT_SHOW_PARENT_METADATA_VALUE); + addField(showParentMetadataField); + generatedCodePrefixField = SampleTypeDialogFieldHelper.createGeneratedCodePrefixField(viewContext, DEFAULT_GENERATED_CODE_PREFIX_VALUE); @@ -260,6 +277,7 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> sampleType.setShowContainer(showContainerField.getValue()); sampleType.setListable(listableField.getValue()); sampleType.setAutoGeneratedCode(autoGenerateCodesField.getValue()); + sampleType.setShowParentMetadata(showParentMetadataField.getValue()); sampleType.setSubcodeUnique(subcodeUniqueField.getValue()); sampleType.setGeneratedCodePrefix(generatedCodePrefixField.getValue()); SampleTypeGrid.this.register(sampleType, registrationCallback); @@ -283,24 +301,32 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> final IViewContext<ICommonClientServiceAsync> viewContext, Boolean value) { final String title = viewContext.getMessage(Dict.LISTABLE); - final CheckBoxField field = new CheckBoxField(title, false); - field.setValue(value); - return field; + return createCheckBoxField(title, value); } public static CheckBoxField createUniqueSubcodesField( final IViewContext<ICommonClientServiceAsync> viewContext, Boolean value) { final String title = viewContext.getMessage(Dict.SUBCODE_UNIQUE_LABEL); - final CheckBoxField field = new CheckBoxField(title, false); - field.setValue(value); - return field; + return createCheckBoxField(title, value); } public static CheckBoxField createAutoGeneratedCodeField( final IViewContext<ICommonClientServiceAsync> viewContext, Boolean value) { final String title = viewContext.getMessage(Dict.AUTO_GENERATE_CODES_LABEL); + return createCheckBoxField(title, value); + } + + public static CheckBoxField createShowParentMetadataField( + final IViewContext<ICommonClientServiceAsync> viewContext, Boolean value) + { + final String title = viewContext.getMessage(Dict.SHOW_PARENT_METADATA_LABEL); + return createCheckBoxField(title, value); + } + + private static CheckBoxField createCheckBoxField(final String title, Boolean value) + { final CheckBoxField field = new CheckBoxField(title, false); field.setValue(value); return field; @@ -320,18 +346,14 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> final IViewContext<ICommonClientServiceAsync> viewContext, Boolean value) { final String title = viewContext.getMessage(Dict.SHOW_PARENTS); - final CheckBoxField field = new CheckBoxField(title, false); - field.setValue(value); - return field; + return createCheckBoxField(title, value); } public static CheckBoxField createShowContainerField( final IViewContext<ICommonClientServiceAsync> viewContext, Boolean value) { final String title = viewContext.getMessage(Dict.SHOW_CONTAINER); - final CheckBoxField field = new CheckBoxField(title, false); - field.setValue(value); - return field; + return createCheckBoxField(title, value); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/SampleTypeGridColumnIDs.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/SampleTypeGridColumnIDs.java index e0aeb399dc9..67c660cbb43 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/SampleTypeGridColumnIDs.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/SampleTypeGridColumnIDs.java @@ -18,16 +18,23 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.dto; /** * Column IDs for sample type grid. - * + * * @author Franz-Josef Elmer */ public class SampleTypeGridColumnIDs extends EntityTypeGridColumnIDs { public static final String IS_LISTABLE = "IS_LISTABLE"; + public static final String IS_SHOW_CONTAINER = "IS_SHOW_CONTAINER"; + public static final String IS_SHOW_PARENTS = "IS_SHOW_PARENTS"; + public static final String SUBCODE_UNIQUE_LABEL = "SUBCODE_UNIQUE_LABEL"; + public static final String AUTO_GENERATE_CODES_LABEL = "AUTO_GENERATE_CODES_LABEL"; + + public static final String SHOW_PARENT_METADATA_LABEL = "IS_SHOW_PARENT_METADATA"; + public static final String GENERATED_CODE_PREFIX = "GENERATED_CODE_PREFIX"; } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleTypeProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleTypeProvider.java index f630a38b7b0..3d518b8af99 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleTypeProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleTypeProvider.java @@ -21,6 +21,7 @@ import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleTypeG import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleTypeGridColumnIDs.IS_LISTABLE; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleTypeGridColumnIDs.IS_SHOW_CONTAINER; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleTypeGridColumnIDs.IS_SHOW_PARENTS; +import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleTypeGridColumnIDs.SHOW_PARENT_METADATA_LABEL; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleTypeGridColumnIDs.SUBCODE_UNIQUE_LABEL; import java.util.List; @@ -33,7 +34,7 @@ import ch.systemsx.cisd.openbis.generic.shared.util.TypedTableModelBuilder; /** * Provider of {@link DataSetType} instances. - * + * * @author Franz-Josef Elmer */ public class SampleTypeProvider extends EntityTypeProvider<SampleType> @@ -57,6 +58,7 @@ public class SampleTypeProvider extends EntityTypeProvider<SampleType> builder.addColumn(IS_SHOW_PARENTS).withDefaultWidth(200).hideByDefault(); builder.addColumn(SUBCODE_UNIQUE_LABEL).hideByDefault(); builder.addColumn(AUTO_GENERATE_CODES_LABEL).hideByDefault(); + builder.addColumn(SHOW_PARENT_METADATA_LABEL).hideByDefault(); builder.addColumn(GENERATED_CODE_PREFIX).hideByDefault(); } @@ -64,10 +66,15 @@ public class SampleTypeProvider extends EntityTypeProvider<SampleType> protected void addMoreCells(TypedTableModelBuilder<SampleType> builder, SampleType type) { builder.column(IS_LISTABLE).addString(SimpleYesNoRenderer.render(type.isListable())); - builder.column(IS_SHOW_CONTAINER).addString(SimpleYesNoRenderer.render(type.isShowContainer())); + builder.column(IS_SHOW_CONTAINER).addString( + SimpleYesNoRenderer.render(type.isShowContainer())); builder.column(IS_SHOW_PARENTS).addString(SimpleYesNoRenderer.render(type.isShowParents())); - builder.column(SUBCODE_UNIQUE_LABEL).addString(SimpleYesNoRenderer.render(type.isSubcodeUnique())); - builder.column(AUTO_GENERATE_CODES_LABEL).addString(SimpleYesNoRenderer.render(type.isAutoGeneratedCode())); + builder.column(SUBCODE_UNIQUE_LABEL).addString( + SimpleYesNoRenderer.render(type.isSubcodeUnique())); + builder.column(AUTO_GENERATE_CODES_LABEL).addString( + SimpleYesNoRenderer.render(type.isAutoGeneratedCode())); + builder.column(SHOW_PARENT_METADATA_LABEL).addString( + SimpleYesNoRenderer.render(type.isShowParentMetadata())); builder.column(GENERATED_CODE_PREFIX).addString(type.getGeneratedCodePrefix()); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java index 127d0dc3a15..b00cef8d425 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java @@ -1274,6 +1274,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt SampleType sampleType = (SampleType) entityType; sampleTypePE.setListable(sampleType.isListable()); sampleTypePE.setAutoGeneratedCode(sampleType.isAutoGeneratedCode()); + sampleTypePE.setShowParentMetadata(sampleType.isShowParentMetadata()); sampleTypePE.setGeneratedCodePrefix(sampleType.getGeneratedCodePrefix()); sampleTypePE.setSubcodeUnique(sampleType.isSubcodeUnique()); sampleTypePE.setContainerHierarchyDepth(sampleType.getContainerHierarchyDepth()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java index 6ee68e14797..2d5ec176983 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java @@ -105,6 +105,7 @@ public final class EntityTypeBO extends AbstractBusinessObject implements IEntit sampleTypePE.setListable(entityType.isListable()); sampleTypePE.setSubcodeUnique(entityType.isSubcodeUnique()); sampleTypePE.setAutoGeneratedCode(entityType.isAutoGeneratedCode()); + sampleTypePE.setShowParentMetadata(entityType.isShowParentMetadata()); sampleTypePE.setGeneratedCodePrefix(entityType.getGeneratedCodePrefix()); sampleTypePE.setDatabaseInstance(getHomeDatabaseInstance()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js index 8b14863a247..a2c8285d5b4 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js @@ -323,6 +323,7 @@ var common = { subcode_unique_label: "Unique Subcodes", auto_generate_codes_label: "Generate Codes Automatically", + show_parent_metadata_label: "Show Parent Metadata", generated_code_prefix: "Generated Code Prefix", listable: "Listable", is_listable: "Listable?", @@ -330,6 +331,7 @@ var common = { show_parents: "Show Parents", is_show_container: "Show Container?", is_show_parents: "Show Parents?", + is_show_parent_metadata: "Show Parent Metadata?", // // Property Type Browser diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java index 374b9bcbfbc..d395812df69 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java @@ -577,6 +577,7 @@ public class ETLServiceTest extends AbstractServerTestCase sampleTypePE.setGeneratedFromHierarchyDepth(new Integer(1)); sampleTypePE.setContainerHierarchyDepth(new Integer(1)); sampleTypePE.setAutoGeneratedCode(Boolean.FALSE); + sampleTypePE.setShowParentMetadata(Boolean.FALSE); sampleTypePE.setSubcodeUnique(Boolean.FALSE); will(returnValue(sampleTypePE)); allowing(daoFactory).getPersistencyResources(); @@ -706,6 +707,7 @@ public class ETLServiceTest extends AbstractServerTestCase sampleTypePE.setListable(true); sampleTypePE.setAutoGeneratedCode(false); sampleTypePE.setSubcodeUnique(false); + sampleTypePE.setShowParentMetadata(false); sampleTypePE.setGeneratedFromHierarchyDepth(0); sampleTypePE.setContainerHierarchyDepth(0); final PropertyTypePE propertyTypePE = new PropertyTypePE(); @@ -1378,6 +1380,7 @@ public class ETLServiceTest extends AbstractServerTestCase sampleType.setGeneratedFromHierarchyDepth(1); sampleType.setListable(false); sampleType.setAutoGeneratedCode(false); + sampleType.setShowParentMetadata(false); sampleType.setSubcodeUnique(false); sample.setSampleType(sampleType); return sample; diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/CommonTestUtils.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/CommonTestUtils.java index aa5cc59f261..eb411e6add9 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/CommonTestUtils.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/CommonTestUtils.java @@ -295,6 +295,7 @@ public class CommonTestUtils sampleTypePE.setContainerHierarchyDepth(0); sampleTypePE.setListable(true); sampleTypePE.setAutoGeneratedCode(false); + sampleTypePE.setShowParentMetadata(false); sampleTypePE.setSubcodeUnique(false); return sampleTypePE; } @@ -389,6 +390,7 @@ public class CommonTestUtils sampleTypePE.setListable(true); sampleTypePE.setAutoGeneratedCode(false); sampleTypePE.setSubcodeUnique(false); + sampleTypePE.setShowParentMetadata(false); sampleTypePE.setGeneratedFromHierarchyDepth(0); sampleTypePE.setContainerHierarchyDepth(0); connectAndFill(code, code + "ST", dataType, value, propertyPE, entityTypePropertyTypePE, diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/AuthorizationTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/AuthorizationTestCase.java index a84cf1f5743..0cc544a9136 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/AuthorizationTestCase.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/AuthorizationTestCase.java @@ -292,6 +292,7 @@ public class AuthorizationTestCase extends AssertJUnit type.setGeneratedFromHierarchyDepth(0); type.setListable(true); type.setAutoGeneratedCode(false); + type.setShowParentMetadata(false); type.setSubcodeUnique(false); return type; } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/dto/builders/SampleTypePEBuilder.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/dto/builders/SampleTypePEBuilder.java index 539c62bcefb..e56fea05049 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/dto/builders/SampleTypePEBuilder.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/dto/builders/SampleTypePEBuilder.java @@ -22,13 +22,13 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.SampleTypePropertyTypePE; /** * Builder for {@link SampleTypePE} instances. - * + * * @author felmer */ public class SampleTypePEBuilder extends AbstractEntityTypePEBuilder { private final SampleTypePE sampleType = new SampleTypePE(); - + public SampleTypePEBuilder() { sampleType.setListable(true); @@ -36,6 +36,7 @@ public class SampleTypePEBuilder extends AbstractEntityTypePEBuilder sampleType.setContainerHierarchyDepth(0); sampleType.setSubcodeUnique(true); sampleType.setAutoGeneratedCode(false); + sampleType.setShowParentMetadata(false); } public SampleTypePE getSampleType() @@ -51,17 +52,17 @@ public class SampleTypePEBuilder extends AbstractEntityTypePEBuilder sampleType.addSampleTypePropertyType(etpt); return new EntityTypePropertyTypePEBuilder(etpt, propertyType); } - + public SampleTypePEBuilder id(long id) { sampleType.setId(id); return this; } - + public SampleTypePEBuilder code(String code) { sampleType.setCode(code); return this; } - + } -- GitLab