@Override public List<String> getProvidedFieldNames(final Issue issueObject) { FieldScreenRenderer fieldScreenRenderer = createFieldScreenRenderer(issueObject); List<FieldLayoutItem> visibleLayoutItems = fieldScreenRenderer.getFieldLayout().getVisibleLayoutItems(issueObject.getProjectObject(), Lists.newArrayList(issueObject.getIssueTypeId())); List providedFieldNames = Lists.newArrayListWithCapacity(visibleLayoutItems.size()); for (final FieldLayoutItem fieldLayoutItem : visibleLayoutItems) { String fieldId = fieldLayoutItem.getOrderableField().getId(); providedFieldNames.add(fieldId); } return providedFieldNames; }
@Override public void updateIssueFromFieldValuesHolder(final FieldScreenRenderer fieldScreenRenderer, final MutableIssue issueObject, final Map fieldValuesHolder) { FieldLayout fieldLayout = fieldScreenRenderer.getFieldLayout(); List<FieldLayoutItem> visibleLayoutItems = fieldLayout.getVisibleLayoutItems(issueObject.getProjectObject(), Lists.newArrayList(issueObject.getIssueTypeId())); for (final FieldLayoutItem fieldLayoutItem : visibleLayoutItems) { OrderableField orderableField = fieldLayoutItem.getOrderableField(); // A hack to get arround issue type not being shown - issue type is always shown as it is always required. if (!IssueFieldConstants.ISSUE_TYPE.equals(orderableField.getId())) { // Update the issue with needed values orderableField.updateIssue(fieldLayoutItem, issueObject, fieldValuesHolder); } } }
private Collection<String> getProvidedFields(final User user, final Project project, final IssueInputParameters issueInputParameters) { final Collection<String> providedFields = new ArrayList<String>(); final MutableIssue contextIssue = issueFactory.getIssue(); // Most calls using the issue object will fail unless the issue object has the project and issue type are set contextIssue.setProjectObject(project); contextIssue.setIssueTypeId(issueInputParameters.getIssueTypeId()); FieldScreenRenderer renderer = issueCreationHelperBean.createFieldScreenRenderer(user, contextIssue); FieldLayout fieldLayout = renderer.getFieldLayout(); List visibleLayoutItems = fieldLayout.getVisibleLayoutItems(user, project, EasyList.build(issueInputParameters.getIssueTypeId())); for (Iterator iterator = visibleLayoutItems.iterator(); iterator.hasNext();) { FieldLayoutItem fieldLayoutItem = (FieldLayoutItem) iterator.next(); OrderableField orderableField = fieldLayoutItem.getOrderableField(); final String fieldId = orderableField.getId(); if (issueInputParameters.isFieldSet(fieldId) || fieldLayoutItem.isRequired()) { providedFields.add(fieldId); } } return providedFields; }
FieldLayout fieldLayout = fieldScreenRenderer.getFieldLayout(); List<FieldLayoutItem> visibleLayoutItems = fieldLayout.getVisibleLayoutItems(issueObject.getProjectObject(), Lists.newArrayList(issueObject.getIssueTypeId())); for (final FieldLayoutItem fieldLayoutItem : visibleLayoutItems)