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 f71f163be0acc4d75e2a6f57aac889455f82d9b6..86d44510461de99aee6ebb2a2d602d621cccd248 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 0e40afdd667883db596bd2c36ec08a3aeb0858ed..48782103c687026b2208a00585bf0d945dd2e0d3 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 e0aeb399dc92556f8b57808cea6225c2e67e9c3d..67c660cbb43d1b1cc9072c54e0b033a7f9c07fc4 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 f630a38b7b0507e139d1042f56134ee04c9c057b..3d518b8af993548ef3efc2b28b9f482469ab61a0 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 127d0dc3a15025f84c402e34886415f9972adc5c..b00cef8d42511583e40870a6558be19cbcea965d 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 6ee68e14797734959ac3e99a007363d351e56e1f..2d5ec17698345070a3abc36659a6cf3390aeaa79 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 8b14863a24728a91f62f13d9044e541b95438b94..a2c8285d5b4ea8deaa47012ec48adff916996d84 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 374b9bcbfbc5ce1094b0c54875dc5338e9b038a5..d395812df69745f362d5143acf87cd2b39f27dd0 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 aa5cc59f2611d84422f590f8b77d7d8088d61f0f..eb411e6add9c5cff5b5cf6238c8815f14a372cf1 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 a84cf1f5743e3685a7e76ea17a4a8ef1ed951310..0cc544a913610bfce8b169d07aa6cbb8c098a5bc 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 539c62bcefba6316382779e5e7bacfdf8a213ebe..e56fea05049444cb05ccc4e86e1d8bff3748a869 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; } - + }