@Override public Object mapToFieldValue(String fieldId, FieldSchema schema, String attributeValue) { if (!Strings.isNullOrEmpty(attributeValue)) { final String[] split = attributeValue.split(","); // split by "," if (split != null && split.length >= 1) { // we have at least one value final String optionKey = getOptionKey(fieldId, "value"); final Map<String, Object> parentValueMap = new HashMap<>(); parentValueMap.put(optionKey, split[0]); // set first value final ComplexIssueInputFieldValue parentValue = new ComplexIssueInputFieldValue(parentValueMap); if (split.length >= 2) { // if we have a 2nd value, set it as child of value 1 parentValue.getValuesMap().put("child", ComplexIssueInputFieldValue.with(optionKey, split[1])); } return parentValue; } } return null; } }
@Override public ComplexIssueInputFieldValue apply(T value) { return ComplexIssueInputFieldValue.with(key, value); } });
public static ComplexIssueInputFieldValue with(String key, Object value) { return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of(key, value)); }
@Override public JSONObject generate(ComplexIssueInputFieldValue bean) throws JSONException { final JSONObject json = new JSONObject(); for (Map.Entry<String, Object> entry : bean.getValuesMap().entrySet()) { json.put(entry.getKey(), generateFieldValueForJson(entry.getValue())); } return json; }
@Override public ComplexIssueInputFieldValue apply(T value) { return ComplexIssueInputFieldValue.with(key, value); } });
public static ComplexIssueInputFieldValue with(String key, Object value) { return new ComplexIssueInputFieldValue(ImmutableMap.of(key, value)); }
@Override public JSONObject generate(ComplexIssueInputFieldValue bean) throws JSONException { final JSONObject json = new JSONObject(); for (Map.Entry<String, Object> entry : bean.getValuesMap().entrySet()) { json.put(entry.getKey(), generateFieldValueForJson(entry.getValue())); } return json; }
/** * Allows overwriting the optionKey with the value defined in {@link #optionKeySupplier}. * * @param fieldId the id of the field * @param defaultKey the default option key (e.g. value, name, key, etc.) * @param value The value to set * @return The {@link ComplexIssueInputFieldValue} either with defaultKey or the key defined in jira.properties. * * @see org.opennms.netmgt.ticketer.jira.FieldMapperRegistry#buildLookupMap(Properties) */ public ComplexIssueInputFieldValue createComplexIssueInputField(String fieldId, String defaultKey, Object value) { Objects.requireNonNull(defaultKey); return ComplexIssueInputFieldValue.with(getOptionKey(fieldId, defaultKey), value); }
@Override public Object mapToFieldValue(String fieldId, FieldSchema schema, String attributeValue) { if (!Strings.isNullOrEmpty(attributeValue)) { final String[] split = attributeValue.split(","); // split by "," if (split != null && split.length >= 1) { // we have at least one value final String optionKey = getOptionKey(fieldId, "value"); final Map<String, Object> parentValueMap = new HashMap<>(); parentValueMap.put(optionKey, split[0]); // set first value final ComplexIssueInputFieldValue parentValue = new ComplexIssueInputFieldValue(parentValueMap); if (split.length >= 2) { // if we have a 2nd value, set it as child of value 1 parentValue.getValuesMap().put("child", ComplexIssueInputFieldValue.with(optionKey, split[1])); } return parentValue; } } return null; } }
private ComplexIssueInputFieldValue transformTimeTracking(TimeTracking timeTracking) { final Map<String, Object> fields = Maps.newHashMap(); final Integer originalEstimateMinutes = timeTracking.getOriginalEstimateMinutes(); if (originalEstimateMinutes != null) { fields.put("originalEstimate", originalEstimateMinutes + "m"); } final Integer remainingEstimateMinutes = timeTracking.getRemainingEstimateMinutes(); if (remainingEstimateMinutes != null) { fields.put("remainingEstimate", remainingEstimateMinutes + "m"); } // Don't use time spent as JIRA says: "Setting the Time Spent directly is not supported." return new ComplexIssueInputFieldValue(fields); }
/** * Allows overwriting the optionKey with the value defined in {@link #optionKeySupplier}. * * @param fieldId the id of the field * @param defaultKey the default option key (e.g. value, name, key, etc.) * @param value The value to set * @return The {@link ComplexIssueInputFieldValue} either with defaultKey or the key defined in jira.properties. * * @see org.opennms.netmgt.ticketer.jira.FieldMapperRegistry#buildLookupMap(Properties) */ public ComplexIssueInputFieldValue createComplexIssueInputField(String fieldId, String defaultKey, Object value) { Objects.requireNonNull(defaultKey); return ComplexIssueInputFieldValue.with(getOptionKey(fieldId, defaultKey), value); }
private ComplexIssueInputFieldValue transformTimeTracking(TimeTracking timeTracking) { final Map<String, Object> fields = Maps.newHashMap(); final Integer originalEstimateMinutes = timeTracking.getOriginalEstimateMinutes(); if (originalEstimateMinutes != null) { fields.put("originalEstimate", originalEstimateMinutes + "m"); } final Integer remainingEstimateMinutes = timeTracking.getRemainingEstimateMinutes(); if (remainingEstimateMinutes != null) { fields.put("remainingEstimate", remainingEstimateMinutes + "m"); } // Don't use time spent as JIRA says: "Setting the Time Spent directly is not supported." return new ComplexIssueInputFieldValue(fields); }
public IssueInputBuilder setIssueTypeId(Long issueTypeId) { return setFieldInput(new FieldInput( IssueFieldId.ISSUE_TYPE_FIELD, ComplexIssueInputFieldValue.with("id", issueTypeId.toString()) )); }
public Object apply(Object rawValue) { if (rawValue == null) { return null; } else if (rawValue instanceof String || rawValue instanceof Number || rawValue instanceof ComplexIssueInputFieldValue) { return rawValue; } else if (rawValue instanceof BasicProject) { return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("key", ((BasicProject) rawValue).getKey())); } else if (rawValue instanceof CustomFieldOption) { return transformCustomFieldOption((CustomFieldOption) rawValue); } else if (rawValue instanceof TimeTracking) { return transformTimeTracking((TimeTracking) rawValue); } else if (rawValue instanceof IdentifiableEntity) { final IdentifiableEntity identifiableEntity = (IdentifiableEntity) rawValue; return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("id", identifiableEntity.getId().toString())); } else if (rawValue instanceof NamedEntity) { final NamedEntity namedEntity = (NamedEntity) rawValue; return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("name", namedEntity.getName())); } return CANNOT_HANDLE; }
public IssueInputBuilder setIssueTypeId(Long issueTypeId) { return setFieldInput(new FieldInput( IssueFieldId.ISSUE_TYPE_FIELD, ComplexIssueInputFieldValue.with("id", issueTypeId.toString()) )); }
public Object apply(Object rawValue) { if (rawValue == null) { return null; } else if (rawValue instanceof String || rawValue instanceof Number || rawValue instanceof ComplexIssueInputFieldValue) { return rawValue; } else if (rawValue instanceof BasicProject) { return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("key", ((BasicProject) rawValue).getKey())); } else if (rawValue instanceof CustomFieldOption) { return transformCustomFieldOption((CustomFieldOption) rawValue); } else if (rawValue instanceof TimeTracking) { return transformTimeTracking((TimeTracking) rawValue); } else if (rawValue instanceof IdentifiableEntity) { final IdentifiableEntity identifiableEntity = (IdentifiableEntity) rawValue; return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("id", identifiableEntity.getId().toString())); } else if (rawValue instanceof NamedEntity) { final NamedEntity namedEntity = (NamedEntity) rawValue; return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("name", namedEntity.getName())); } return CANNOT_HANDLE; }
public IssueInputBuilder setPriorityId(Long id) { return setFieldInput(new FieldInput(IssueFieldId.PRIORITY_FIELD, ComplexIssueInputFieldValue.with("id", id.toString()))); }
private ComplexIssueInputFieldValue transformCustomFieldOption(CustomFieldOption cfo) { if (cfo.getChild() != null) { return new ComplexIssueInputFieldValue(ImmutableMap.of( "id", cfo.getId().toString(), "value", cfo.getValue(), "child", this.apply(cfo.getChild()))); } else { return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("id", cfo.getId().toString(), "value", cfo .getValue())); } }
public IssueInputBuilder setPriorityId(Long id) { return setFieldInput(new FieldInput(IssueFieldId.PRIORITY_FIELD, ComplexIssueInputFieldValue.with("id", id.toString()))); }
private ComplexIssueInputFieldValue transformCustomFieldOption(CustomFieldOption cfo) { if (cfo.getChild() != null) { return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of( "id", cfo.getId().toString(), "value", cfo.getValue(), "child", this.apply(cfo.getChild()))); } else { return new ComplexIssueInputFieldValue(ImmutableMap.<String, Object>of("id", cfo.getId().toString(), "value", cfo .getValue())); } }