protected void addFieldReference( Form form, String formSet, ReferencePropertyDefinition definition, M2Type contentType, WorkflowDefinitionConversion conversion) { if (form.isStartForm()) { throw new AlfrescoSimpleWorkflowException("Field references cannot be used on start-forms"); } M2Model model = AlfrescoConversionUtil.getContentModel(conversion); // Check if model contains an aspect for the property String propertyName = getPropertyName(definition, conversion); if (model.getAspect(propertyName) == null) { throw new AlfrescoSimpleWorkflowException( "The property '" + definition.getName() + "' is not used in a from prior to this form: " + contentType.getName() + " - " + propertyName); } // Add aspect to content-type contentType.getMandatoryAspects().add(propertyName); // Add read-only field to form form.getFormFieldVisibility().addShowFieldElement(propertyName); FormField field = new FormField(); form.getFormAppearance().addFormAppearanceElement(field); field.setId(propertyName); field.setLabelId(definition.getName()); field.setSet(formSet); field.setControl(new FormFieldControl(AlfrescoConversionConstants.FORM_READONLY_TEMPLATE)); }