AttributesConsistencyUtils { public static boolean isTemplateAttributesValid(List<InstanceAttributeTemplate> pAttributes, boolean attributesLocked) { for(InstanceAttributeTemplate instanceAttributeTemplate: pAttributes) { if(attributesLocked && !instanceAttributeTemplate.isLocked()) { return false; } if(instanceAttributeTemplate.isMandatory() && !instanceAttributeTemplate.isLocked()) { return false; } } return true; } private  AttributesConsistencyUtils(); static boolean hasValidChange(List<InstanceAttribute> pAttributes, boolean attributesLocked, List<InstanceAttribute> currentAttrs); static boolean isTemplateAttributesValid(List<InstanceAttributeTemplate> pAttributes, boolean attributesLocked);  }
@Test public void testIsTemplateAttributesValid() throws Exception { List<InstanceAttributeTemplate> instanceAttributeTemplates = new ArrayList<>(); InstanceAttributeTemplate attr = new DefaultAttributeTemplate("test", DefaultAttributeTemplate.AttributeType.BOOLEAN); attr.setLocked(false); attr.setMandatory(true); instanceAttributeTemplates.add(attr); attr = new DefaultAttributeTemplate("test", DefaultAttributeTemplate.AttributeType.TEXT); attr.setLocked(true); attr.setMandatory(true); instanceAttributeTemplates.add(attr); attr = new DefaultAttributeTemplate("test1", DefaultAttributeTemplate.AttributeType.LONG_TEXT); attr.setLocked(false); attr.setMandatory(true); instanceAttributeTemplates.add(attr); Assert.assertFalse(AttributesConsistencyUtils.isTemplateAttributesValid(instanceAttributeTemplates,false)); Assert.assertFalse(AttributesConsistencyUtils.isTemplateAttributesValid(instanceAttributeTemplates,true)); instanceAttributeTemplates.clear(); attr = new DefaultAttributeTemplate("test", DefaultAttributeTemplate.AttributeType.BOOLEAN); attr.setLocked(false); attr.setMandatory(false); instanceAttributeTemplates.add(attr); attr = new DefaultAttributeTemplate("test", DefaultAttributeTemplate.AttributeType.TEXT); attr.setLocked(true); attr.setMandatory(true); instanceAttributeTemplates.add(attr); attr = new DefaultAttributeTemplate("test1", DefaultAttributeTemplate.AttributeType.LONG_TEXT); attr.setLocked(true); attr.setMandatory(false); instanceAttributeTemplates.add(attr); Assert.assertTrue(AttributesConsistencyUtils.isTemplateAttributesValid(instanceAttributeTemplates,false)); Assert.assertFalse(AttributesConsistencyUtils.isTemplateAttributesValid(instanceAttributeTemplates,true)); instanceAttributeTemplates.clear(); attr = new DefaultAttributeTemplate("test", DefaultAttributeTemplate.AttributeType.BOOLEAN); attr.setLocked(true); attr.setMandatory(false); instanceAttributeTemplates.add(attr); attr = new DefaultAttributeTemplate("test", DefaultAttributeTemplate.AttributeType.TEXT); attr.setLocked(true); attr.setMandatory(true); instanceAttributeTemplates.add(attr); attr = new DefaultAttributeTemplate("test1", DefaultAttributeTemplate.AttributeType.LONG_TEXT); attr.setLocked(true); attr.setMandatory(false); instanceAttributeTemplates.add(attr); Assert.assertTrue(AttributesConsistencyUtils.isTemplateAttributesValid(instanceAttributeTemplates, false)); Assert.assertTrue(AttributesConsistencyUtils.isTemplateAttributesValid(instanceAttributeTemplates,true)); }