private FieldLayoutItemImpl toFieldLayoutItem(final FieldLayout resultingLayout, final GenericValue fieldLayoutItemGV, final String fieldId) { final boolean isRequired; if (IssueFieldConstants.ASSIGNEE.equals(fieldId)) { // JRA-35359: The "required" value for Assignee is controlled by a global setting isRequired = !applicationProperties.getOption(APKeys.JIRA_OPTION_ALLOWUNASSIGNED); } else { isRequired = Boolean.valueOf(fieldLayoutItemGV.getString("isrequired")); } return new FieldLayoutItemImpl.Builder() .setOrderableField(fieldManager.getOrderableField(fieldId)) .setFieldDescription(fieldLayoutItemGV.getString("description")) .setHidden(Boolean.valueOf(fieldLayoutItemGV.getString("ishidden"))) .setRequired(isRequired) .setRendererType(fieldLayoutItemGV.getString("renderertype")) .setFieldLayout(resultingLayout) .setFieldManager(fieldManager) .build(); }
/** * @return a new {@link FieldLayoutItemImpl} instance. If a {@link FieldManager} was not set, the result of * {@link ComponentAccessor#getFieldManager()} will be used. */ public FieldLayoutItemImpl build() { // Initialize default values for items that were not provided to the builder if (fieldManager == null) { fieldManager = ComponentAccessor.getFieldManager(); } if (fieldDescriptionHelper == null) { fieldDescriptionHelper = ComponentAccessor.getComponent(FieldDescriptionHelper.class); } if (rendererType == null) { rendererType = getDefaultRendererType(); } else if (rendererType.equals(DefaultTextRenderer.RENDERER_TYPE)) { // A little interning here saves 60K rendererType = DefaultTextRenderer.RENDERER_TYPE; } return new FieldLayoutItemImpl(orderableField, fieldDescription, hidden, required, rendererType, fieldLayout, fieldManager, fieldDescriptionHelper); }
final FieldLayoutItemImpl fieldLayoutItem = new FieldLayoutItemImpl.Builder() .setOrderableField(commentField) .setFieldDescription(null) .setHidden(hidden) .setRequired(required) .setRendererType(rendererType) .build();
public void hide(FieldLayoutItem fieldLayoutItem) { final FieldManager fieldManager = getFieldManager(); final OrderableField field = fieldLayoutItem.getOrderableField(); if (!fieldManager.isHideableField(field)) { throw new IllegalArgumentException("Trying to hide a field that is not hideable."); } // When hiding a field make it optional (not required) if the field is not mandatory, this should not happen // since it makes no sense to have a hidden required field, but if a developer wants to be dumb, let them... final FieldLayoutItem modified = new FieldLayoutItemImpl.Builder(fieldLayoutItem) .setHidden(true) .setRequired(fieldManager.isMandatoryField(field)) .build(); updateFieldLayoutItem(fieldLayoutItem, modified); }
public void makeOptional(FieldLayoutItem fieldLayoutItem) { final OrderableField field = fieldLayoutItem.getOrderableField(); if (!getFieldManager().isRequirableField(field)) { throw new IllegalArgumentException("Trying to make field '" + field.getId() + "' optional, but that field cannot ever have been required."); } final FieldLayoutItem modified = new FieldLayoutItemImpl.Builder(fieldLayoutItem) .setRequired(false) .build(); updateFieldLayoutItem(fieldLayoutItem, modified); }
public void makeRequired(FieldLayoutItem fieldLayoutItem) { if (!getFieldManager().isRequirableField(fieldLayoutItem.getOrderableField())) { throw new IllegalArgumentException("Trying to require a field that is not requireable."); } // When requiring a field make it not hidden final FieldLayoutItem modified = new FieldLayoutItemImpl.Builder(fieldLayoutItem) .setHidden(false) .setRequired(true) .build(); updateFieldLayoutItem(fieldLayoutItem, modified); }
public void setDescription(final FieldLayoutItem fieldLayoutItem, final String description) { // If the description is an empty string then set it to null final String descriptionToSet = StringUtils.isBlank(description) ? null : description; final FieldLayoutItem modified = new FieldLayoutItemImpl.Builder(fieldLayoutItem) .setFieldDescription(descriptionToSet) .build(); updateFieldLayoutItem(fieldLayoutItem, modified); }
public void show(FieldLayoutItem fieldLayoutItem) { final OrderableField field = fieldLayoutItem.getOrderableField(); if (!getFieldManager().isHideableField(field)) { throw new IllegalArgumentException("Trying to set a field '" + field.getId() + "' to be shown, but that field cannot ever be hidden."); } final FieldLayoutItem modified = new FieldLayoutItemImpl.Builder(fieldLayoutItem).setHidden(false).build(); updateFieldLayoutItem(fieldLayoutItem, modified); }
public void setRendererType(final FieldLayoutItem fieldLayoutItem, final String rendererType) { final OrderableField field = fieldLayoutItem.getOrderableField(); if (!getHackyFieldRendererRegistry().shouldOverrideDefaultRenderers(field) && !getFieldManager().isRenderableField(field)) { throw new IllegalArgumentException("Trying to set a renderer on a field that is not renderable."); } final FieldLayoutItem modified = new FieldLayoutItemImpl.Builder(fieldLayoutItem) .setRendererType(rendererType) .build(); updateFieldLayoutItem(fieldLayoutItem, modified); }
@Override public FieldLayoutItem apply(final FieldLayoutItem item) { return new FieldLayoutItemImpl.Builder(item) .setFieldManager(fieldManager) .setFieldLayout(fieldLayout) .build(); } }
private FieldLayoutItem createBulkFieldLayoutItem() { final FieldLayoutItem fieldLayoutItem = fieldLayoutItems.iterator().next(); // Assume isShow is true from getViewHTML final OrderableField orderableField = fieldLayoutItem.getOrderableField(); FieldLayoutItemImpl.Builder builder = new FieldLayoutItemImpl.Builder(fieldLayoutItem).setFieldDescription(null).setRequired(isRequired()); if (!hackyFieldRendererRegistry.shouldOverrideDefaultRenderers(orderableField) && !fieldManager.isRenderableField(orderableField)) { builder.setRendererType(DefaultTextRenderer.RENDERER_TYPE); } return builder.build(); }
private FieldLayoutItem mapCustomField(final FieldLayout resultingLayout, final CustomField customField) { // Always create FieldLayoutItems for custom fields with null descriptions as custom fields have // their own descriptions. return new FieldLayoutItemImpl.Builder() .setOrderableField(customField) .setFieldDescription(null) .setFieldLayout(resultingLayout) .setFieldManager(fieldManager) .build(); }
private FieldLayoutItem createDefaultItem(final FieldManager fieldManager, final I18nHelper i18n, final String fieldId, final boolean required) { return new FieldLayoutItemImpl.Builder() .setOrderableField(fieldManager.getOrderableField(fieldId)) .setFieldDescription(getDefaultDescription(i18n, fieldId)) .setHidden(false) .setRequired(required) .setFieldManager(fieldManager) .build(); }
private FieldLayoutItemImpl mapOrderableField(final FieldLayout resultingLayout, final OrderableField orderableField) { return new FieldLayoutItemImpl.Builder() .setOrderableField(orderableField) .setFieldDescription(getDefaultDescription(orderableField.getId())) .setHidden(false) .setRequired(fieldManager.isMandatoryField(orderableField)) .setFieldLayout(resultingLayout) .setFieldManager(fieldManager) .build(); }
public FieldLayoutItem createDefaultFieldLayoutItem(final String fieldId, final boolean required) { return new FieldLayoutItemImpl.Builder() .setOrderableField(fieldManager.getOrderableField(fieldId)) .setFieldDescription(getDefaultDescription(fieldId)) .setHidden(false) .setRequired(required) .setFieldManager(fieldManager) .build(); }