protected Object getRelevantParams(Map<String, String[]> params) { String[] value = params.get(getId()); if (value != null && value.length > 0) { return value[0]; } else { return null; } }
public GenericValue getValueFromParams(Map params) { if (params.containsKey(getId()) && params.get(getId()) != null) { Long securityLevelId = Long.valueOf((String) params.get(getId())); if (NO_SECURITY_LEVEL_ID.equals(securityLevelId)) { return null; } else { return getSecurityLevel(securityLevelId); } } else { // No parameter could be found so need to set the default security level return null; } }
public void populateDefaults(Map<String, Object> fieldValuesHolder, Issue issue) { // setup default security level GenericValue defaultSecurityLevel = (GenericValue) getDefaultValue(issue); if (defaultSecurityLevel != null) { fieldValuesHolder.put(getId(), defaultSecurityLevel.getLong("id").toString()); } else { fieldValuesHolder.put(getId(), null); } }
public void populateParamsFromString(Map<String, Object> fieldValuesHolder, String stringValue, Issue issue) throws FieldValidationException { Long securityLevelId; try { // Check if the issue type is a number securityLevelId = Long.valueOf(stringValue); } catch (NumberFormatException e) { // If not, try to convert to a number securityLevelId = getSecurityLevelIdByName(issue, stringValue); } fieldValuesHolder.put(getId(), securityLevelId.toString()); }
public String getEditHtml(FieldLayoutItem fieldLayoutItem, OperationContext operationContext, Action action, Issue issue, Map displayParameters) { Map velocityParams = getVelocityParams(fieldLayoutItem, action, issue, displayParameters); if (issue.isSubTask()) { // Users can't set the Security Level of a subtask directly, show a read-only messsage. velocityParams.put("infoMessageKey", "bulk.edit.security.level.subtask.message"); return renderTemplate("securitylevel-subtask.vm", velocityParams); } String securityLevelId = (String) operationContext.getFieldValuesHolder().get(getId()); if (securityLevelId != null) { velocityParams.put(getId(), Long.valueOf(securityLevelId)); } velocityParams.put("securityLevels", getSecurityLevelsForLoggedInUser(issue)); velocityParams.put("noneLevelId", NO_SECURITY_LEVEL_ID); return renderTemplate("securitylevel-edit.vm", velocityParams); }
public String getColumnViewHtml(FieldLayoutItem fieldLayoutItem, Map displayParams, Issue issue) { Map<String, Object> velocityParams = getVelocityParams(getAuthenticationContext().getI18nHelper(), displayParams, issue); velocityParams.put(getId(), issue.getSecurityLevel()); return renderTemplate("securitylevel-columnview.vm", velocityParams); }
public String getBulkEditHtml(OperationContext operationContext, Action action, BulkEditBean bulkEditBean, Map displayParameters) { Map velocityParams = getVelocityParams(null, action, null, displayParameters); //JRA-13990 Subtasks must take the parent's Security Level, so show a message instead of an editable field. //JRA-13245 When doing issue->subtask conversion the Security Level is also taken from the new parent, so only show a message. if (bulkEditBean.isSubTaskOnly() || bulkEditBean.getParentIssueObject() != null) { velocityParams.put("infoMessageKey", "bulk.edit.security.level.subtask.message"); return renderTemplate("securitylevel-subtask.vm", velocityParams); } String securityLevelId = (String) operationContext.getFieldValuesHolder().get(getId()); if (securityLevelId != null) { velocityParams.put(getId(), Long.valueOf(securityLevelId)); } /* A bulk move will use the target project for getting the possible security levels whlie a bulk transition will use the selected issues.*/ if (bulkEditBean.getTargetProject() != null) { velocityParams.put("securityLevels", getUserSecurityLevelsForProject(bulkEditBean.getTargetProject())); } else { velocityParams.put("securityLevels", getUserSecurityLevels(bulkEditBean.getSelectedIssues())); } velocityParams.put("noneLevelId", NO_SECURITY_LEVEL_ID); return renderTemplate("securitylevel-edit.vm", velocityParams); }
String securityLevelIdParam = (String) fieldValuesHolder.get(getId()); if (TextUtils.stringSet(securityLevelIdParam)) errorCollectionToAddTo.addError(getId(), i18n.getText("createissue.error.security.level.invalid")); errorCollectionToAddTo.addError(getId(), i18n.getText("issue.field.required", i18n.getText(getNameKey()))); errorCollectionToAddTo.addError(getId(), i18n.getText("issue.field.required", i18n.getText(getNameKey()))); errorCollectionToAddTo.addError(getId(), "Invalid security level id '" + fieldValuesHolder.get(getId()) + "'.");
public void updateIssue(FieldLayoutItem fieldLayoutItem, MutableIssue issue, Map fieldValueHolder) { if (issue.isSubTask()) { final Issue parentObject = issue.getParentObject(); // on subtask create its possible that the parent is known on the issue yet if (parentObject != null) { // Set the security field to be the same as the parent issue issue.setSecurityLevel(parentObject.getSecurityLevel()); } } else { if (fieldValueHolder.containsKey(getId())) { issue.setSecurityLevel((GenericValue) getValueFromParams(fieldValueHolder)); } } }
subTask.set(getId(), value == null ? null : ((GenericValue) value).getLong("id")); try