@Override public String doWrite(List<? extends T> items) { StringBuilder lines = new StringBuilder(); Iterator<? extends T> iterator = items.iterator(); if (!items.isEmpty() && state.getLinesWritten() > 0) { lines.append(JSON_OBJECT_SEPARATOR).append(this.lineSeparator); } while (iterator.hasNext()) { T item = iterator.next(); lines.append(' ').append(this.jsonObjectMarshaller.marshal(item)); if (iterator.hasNext()) { lines.append(JSON_OBJECT_SEPARATOR).append(this.lineSeparator); } } return lines.toString(); }
@Test public void itemsShouldBeMarshalledToJsonWithTheJsonObjectMarshaller() throws Exception { // given JsonFileItemWriter<String> writer = new JsonFileItemWriter<>(this.resource, this.jsonObjectMarshaller); // when writer.open(new ExecutionContext()); writer.write(Arrays.asList("foo", "bar")); writer.close(); // then Mockito.verify(this.jsonObjectMarshaller).marshal("foo"); Mockito.verify(this.jsonObjectMarshaller).marshal("bar"); } }
@Override public String doWrite(List<? extends T> items) { StringBuilder lines = new StringBuilder(); Iterator<? extends T> iterator = items.iterator(); if (!items.isEmpty() && state.getLinesWritten() > 0) { lines.append(JSON_OBJECT_SEPARATOR).append(this.lineSeparator); } while (iterator.hasNext()) { T item = iterator.next(); lines.append(' ').append(this.jsonObjectMarshaller.marshal(item)); if (iterator.hasNext()) { lines.append(JSON_OBJECT_SEPARATOR).append(this.lineSeparator); } } return lines.toString(); }