From f1f519f19b7d2c6d6a52cd6311070b1dc35e6777 Mon Sep 17 00:00:00 2001 From: Radovan Semancik Date: Tue, 29 Mar 2016 16:04:49 +0200 Subject: [PATCH] Override of "emphasized" flag in object template. --- .../evolveum/midpoint/prism/util/PrismAsserts.java | 4 ++++ .../resources/xml/ns/public/common/common-core-3.xsd | 9 +++++++++ .../model/impl/controller/SchemaTransformer.java | 5 +++++ .../midpoint/model/intest/gensync/TestEditSchema.java | 11 ++++++++++- .../test/resources/common/user-template-complex.xml | 6 ++++++ 5 files changed, 34 insertions(+), 1 deletion(-) diff --git a/infra/prism/src/main/java/com/evolveum/midpoint/prism/util/PrismAsserts.java b/infra/prism/src/main/java/com/evolveum/midpoint/prism/util/PrismAsserts.java index 8a40e419dc2..c42e4b21a9b 100644 --- a/infra/prism/src/main/java/com/evolveum/midpoint/prism/util/PrismAsserts.java +++ b/infra/prism/src/main/java/com/evolveum/midpoint/prism/util/PrismAsserts.java @@ -276,6 +276,10 @@ public static void assertIndexed(PrismContainerDefinition containerDef, QName itemQName, Boolean expected) { PrismPropertyDefinition propertyDefinition = containerDef.findPropertyDefinition(itemQName); diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd index bbd851be8b9..77fb764d92e 100644 --- a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd +++ b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd @@ -3897,6 +3897,15 @@ + + + + Set true for definitions that are more important than others and that should be emphasized + during presentation. E.g. the emphasized definitions will always be displayed in the user + interfaces (even if they are empty), they will always be included in the dumps, etc. + + + diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/SchemaTransformer.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/SchemaTransformer.java index b66b8bf2225..a674fd33d38 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/SchemaTransformer.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/SchemaTransformer.java @@ -457,6 +457,11 @@ private void applyObjectTempla itemDef.setDisplayOrder(displayOrder); } + Boolean emphasized = templateItemDefType.isEmphasized(); + if (emphasized != null) { + itemDef.setEmphasized(emphasized); + } + List limitations = templateItemDefType.getLimitations(); if (limitations != null) { PropertyLimitationsType limitationsType = MiscSchemaUtil.getLimitationsType(limitations, LayerType.PRESENTATION); diff --git a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/gensync/TestEditSchema.java b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/gensync/TestEditSchema.java index a945dc49581..51bd9ec1558 100644 --- a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/gensync/TestEditSchema.java +++ b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/gensync/TestEditSchema.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2015 Evolveum + * Copyright (c) 2010-2016 Evolveum * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1017,15 +1017,24 @@ public void test200EditSchemaUser() throws Exception { // THEN TestUtil.displayThen(TEST_NAME); + + PrismAsserts.assertEmphasized(editDef, UserType.F_NAME, true); + PrismAsserts.assertEmphasized(editDef, UserType.F_GIVEN_NAME, false); + PrismAsserts.assertEmphasized(editDef, UserType.F_FAMILY_NAME, true); + PrismAsserts.assertEmphasized(editDef, UserType.F_FULL_NAME, true); + PrismAsserts.assertEmphasized(editDef, UserType.F_DESCRIPTION, false); + PrismPropertyDefinition additionalNameDef = editDef.findPropertyDefinition(UserType.F_ADDITIONAL_NAME); assertNotNull("No definition for additionalName in user", additionalNameDef); assertEquals("Wrong additionalName displayName", "Middle Name", additionalNameDef.getDisplayName()); assertTrue("additionalName not readable", additionalNameDef.canRead()); + PrismAsserts.assertEmphasized(additionalNameDef, false); PrismPropertyDefinition costCenterDef = editDef.findPropertyDefinition(UserType.F_COST_CENTER); assertNotNull("No definition for costCenter in user", costCenterDef); assertEquals("Wrong costCenter displayOrder", (Integer)123, costCenterDef.getDisplayOrder()); assertTrue("costCenter not readable", costCenterDef.canRead()); + PrismAsserts.assertEmphasized(costCenterDef, true); PrismPropertyDefinition preferredLanguageDef = editDef.findPropertyDefinition(UserType.F_PREFERRED_LANGUAGE); assertNotNull("No definition for preferredLanguage in user", preferredLanguageDef); diff --git a/model/model-intest/src/test/resources/common/user-template-complex.xml b/model/model-intest/src/test/resources/common/user-template-complex.xml index f45fb69feb3..5f3d0507d13 100644 --- a/model/model-intest/src/test/resources/common/user-template-complex.xml +++ b/model/model-intest/src/test/resources/common/user-template-complex.xml @@ -25,6 +25,11 @@ + + givenName + false + + additionalName Middle Name @@ -38,6 +43,7 @@ costCenter 123 + true weak