private CustomField getField(String argument) { try { return fieldManager.getCustomField(argument); } catch (IllegalArgumentException e) { //JRA-14392: This shouldn't happen any longer, however there may still be some old invalid data that could //cause this. log.warn("Error while retrieving custom field. Returning empty list of e-mail recipients. " + "Please remove any invalid custom fields from your notification schemes.", e); return null; } }
public boolean doValidation(String key, Map parameters) { String value = (String) parameters.get(key); if (value == null || value.length() == 0) return false; try { fieldManager.getCustomField(value); } catch (IllegalArgumentException ex) { return false; } return true; }
public boolean doValidation(String key, Map parameters) { String value = (String) parameters.get(key); if (value == null || value.length() == 0) { return false; } try { fieldManager.getCustomField(value); } catch (IllegalArgumentException ex) { return false; } return true; }
public String getArgumentDisplay(String argument) { CustomField field = fieldManager.getCustomField(argument); return field.getName(); } }
public String getArgumentDisplay(String argument) { CustomField field = fieldManager.getCustomField(argument); return field.getName(); } }
public ClausePermissionChecker createPermissionChecker(final String fieldId, FieldConfigSchemeClauseContextUtil contextUtil) { CustomField field = getFieldManager().getCustomField(fieldId); return new CustomFieldClausePermissionChecker(field, getFieldManager(), contextUtil); }
@Override public String getRawFieldDescription() { String description = fieldDescription; if (description == null) { if (fieldManager.isCustomField(orderableField)) { CustomField customField = fieldManager.getCustomField(orderableField.getId()); description = customField.getDescription(); } } return description; }
@Override public String getArgumentDisplay(String argument) { FieldManager fieldManager = ComponentAccessor.getFieldManager(); if (fieldManager.isCustomField(argument)) { CustomField field = fieldManager.getCustomField(argument); return field.getName(); } else { return argument; } }
private boolean isVisibleAndInScope(Long projectId, String issueTypeId, String fieldName) { if (fieldManager.isCustomField(fieldName)) { final CustomField customField = fieldManager.getCustomField(fieldName); if (!customField.isRelevantForIssueContext(new IssueContextImpl(projectId, issueTypeId))) { return false; } } return !fieldVisibilityManager.isFieldHidden(projectId, fieldName, issueTypeId); }
/** * @since v6.4 */ public AbstractOneDimensionalHitCollector(final String documentFieldId, final FieldVisibilityManager fieldVisibilityManager, final ReaderCache readerCache, FieldManager fieldManager) { this.documentFieldId = documentFieldId; this.fieldVisibilityManager = fieldVisibilityManager; this.readerCache = readerCache; this.fieldId = new HitCollectorUtil().getFieldId(documentFieldId); // JRA-40989 Get the CF object once because it is expensive to get it 10,000 times if (fieldManager.isCustomField(fieldId)) { customField = fieldManager.getCustomField(fieldId); } else { customField = null; } }
/** * Get user specified by the Custom Field * * @param ctx permission context * @param customFieldId eg. 'customfield_10000' * @return the set of users stored in the given custom field in the given context; an empty set is returned if the * context could not provide values (i.e. there was no issue specified). */ @Override public Set<ApplicationUser> getUsers(PermissionContext ctx, String customFieldId) { // JRA-15063: just return EMPTY SET (like GroupCF does) because throwing an IllegalArgumentException is unnecessary. if (ctx.getIssue() == null) { log.debug("Could not retrieve users for UserCF '" + customFieldId + "' since provided PermissionContext has no issue."); return Collections.emptySet(); } Issue issue = ctx.getIssue(); FieldManager fieldManager = getFieldManager(); CustomField field = fieldManager.getCustomField(customFieldId); return convertToUserSet(getValuesFromIssue(field, issue)); }
/** * @since v5.1.8 * * @deprecated Use {@link #AbstractOneDimensionalHitCollector(String, FieldVisibilityManager, ReaderCache, FieldManager)} instead. Since v6.4. */ public AbstractOneDimensionalHitCollector(final String documentFieldId, final FieldVisibilityManager fieldVisibilityManager, final ReaderCache readerCache, FieldManager fieldManager, final ProjectManager projectManager) { this.documentFieldId = documentFieldId; this.fieldVisibilityManager = fieldVisibilityManager; this.readerCache = readerCache; this.fieldId = new HitCollectorUtil().getFieldId(documentFieldId); // JRA-40989 Get the CF object once because it is expensive to get it 10,000 times if (fieldManager.isCustomField(fieldId)) { customField = fieldManager.getCustomField(fieldId); } else { customField = null; } }
public List<FieldLayoutItem> getRequiredFieldLayoutItems(Project project, List<String> issueTypes) { List<FieldLayoutItem> result = new ArrayList<FieldLayoutItem>(); for (FieldLayoutItem fieldLayoutItem : getInternalList()) { if (fieldLayoutItem.isRequired()) { if (getFieldManager().isCustomField(fieldLayoutItem.getOrderableField())) { CustomField customField = getFieldManager().getCustomField(fieldLayoutItem.getOrderableField().getId()); if (customField.isInScope(project, issueTypes)) { // Ensure that the custom field is in scope if it is marked required result.add(fieldLayoutItem); } } else { result.add(fieldLayoutItem); } } } return Collections.unmodifiableList(result); }
public String getFieldName(Field field) { if (getFieldManager().isCustomField(field)) { CustomField customField = fieldManager.getCustomField(field.getId()); return customField.getName(); } else { return getText(field.getNameKey()); } }
/** * @deprecated since v5.1.8. Use {@link #AbstractOneDimensionalHitCollector(String, FieldVisibilityManager, ReaderCache, * FieldManager, ProjectManager)} * and call setNextReader for each reader segment, that is if you are calling {@link #collect(int) directly * and not just passing the Collector to Lucene. */ public AbstractOneDimensionalHitCollector(final String documentFieldId, final IndexReader indexReader, final FieldVisibilityManager fieldVisibilityManager, final ReaderCache readerCache, final FieldManager fieldManager, final ProjectManager projectManager) { this.documentFieldId = documentFieldId; this.fieldVisibilityManager = fieldVisibilityManager; this.readerCache = readerCache; this.fieldId = new HitCollectorUtil().getFieldId(documentFieldId); setNextReader(indexReader, 0); usingOldCallingConvention = true; // JRA-40989 Get the CF object once because it is expensive to get it 10,000 times if (fieldManager.isCustomField(fieldId)) { customField = fieldManager.getCustomField(fieldId); } else { customField = null; } }
public String getFieldName() { if (fieldManager.isCustomField(getField())) { return fieldManager.getCustomField(orderableFieldId).getFieldName(); } else { return authenticationContext.getI18nHelper().getText(getField().getNameKey()); } }
/** * * @return a rendered view of the description for OnDemand only */ public String getFieldDescription() { String description = null; // JRA-10427 if we have a field description, prefer it over the default custom field description if (fieldDescription != null) { description = fieldDescription; if (fieldDescriptionHelper != null) { description = fieldDescriptionHelper.getDescription(fieldDescription); } } else { if (fieldManager.isCustomField(orderableField)) { CustomField customField = fieldManager.getCustomField(orderableField.getId()); description = customField.getDescriptionProperty().getViewHtml(); } } return description; }
public boolean apply(final FieldLayoutItem input) { if (fieldManager.isCustomField(input.getOrderableField())) { CustomField customField = fieldManager.getCustomField(input.getOrderableField().getId()); if (CustomFieldMapperUtil.customFieldMatchesTypeAndName(customField, customFieldBean.getCustomFieldType(), customFieldBean.getCustomFieldName())) { return true; } } return false; } });
private void populateCustomField(FieldLayoutItem item, OrderableField orderableField) { CustomField customField = fieldManager.getCustomField(orderableField.getId()); CustomFieldMapper customFieldMapper = fieldMapperFactory.getCustomFieldMapper(customField.getCustomFieldType()); if (customFieldMapper != null) { CustomFieldBean matchingRemoteCustomField = CustomFieldMapperUtil.findMatchingRemoteCustomField(customField, copyIssueBean.getCustomFields()); if (matchingRemoteCustomField != null) { CustomFieldMappingResult customFieldMappingResult = customFieldMapper.getMappingResult(matchingRemoteCustomField, customField, project, issueType); if (!customFieldMappingResult.hasOneValidValue() && item.isRequired()) { customFieldMapper.populateWithDefaultValue(inputParameters, customField, project, issueType); } else { customFieldMapper.populateInputParameters(inputParameters, customFieldMappingResult, customField, project, issueType); } } else if (item.isRequired()) { customFieldMapper.populateWithDefaultValue(inputParameters, customField, project, issueType); } } else { log.warn("No support yet for custom field type '" + customField.getCustomFieldType().getClass().getCanonicalName() + "'"); } }
public String doDefault() throws Exception { // Retrieve the field's current description FieldLayoutItem fieldLayoutItem = getFieldLayoutItem(); if (fieldLayoutItem != null) { if (isFieldLocked()) { addErrorMessage(getText("admin.managed.configuration.items.customfield.error.cannot.alter.configuration.locked", fieldLayoutItem.getOrderableField().getName()), Reason.FORBIDDEN); return Action.ERROR; } setDescription(fieldLayoutItem.getRawFieldDescription()); if (fieldManager.isCustomField(fieldLayoutItem.getOrderableField())) { CustomField customField = fieldManager.getCustomField(fieldLayoutItem.getOrderableField().getId()); setFieldName(customField.getName()); } else { setFieldName(fieldLayoutItem.getOrderableField().getName()); } return super.doDefault(); } return ERROR; }