1 package com.atlassian.jira.rest.client.internal.json.gen;
2
3 import com.atlassian.jira.rest.client.api.domain.input.FieldInput;
4 import org.codehaus.jettison.json.JSONException;
5 import org.codehaus.jettison.json.JSONObject;
6
7 public class IssueUpdateJsonGenerator implements JsonGenerator<Iterable<FieldInput>> {
8 private final ComplexIssueInputFieldValueJsonGenerator generator = new ComplexIssueInputFieldValueJsonGenerator();
9
10 @Override
11 public JSONObject generate(Iterable<FieldInput> fieldInputs) throws JSONException {
12 final JSONObject fields = new JSONObject();
13 if (fieldInputs != null) {
14 for (final FieldInput field : fieldInputs) {
15 final Object fieldValue = (field.getValue() == null) ? JSONObject.NULL
16 : generator.generateFieldValueForJson(field.getValue());
17
18 fields.put(field.getId(), fieldValue);
19 }
20 }
21 return fields;
22 }
23 }