From fca856dc7b600c8e1ebc5a806b3ee8d7f1c96f89 Mon Sep 17 00:00:00 2001 From: dsyer Date: Thu, 7 Aug 2008 12:51:28 +0000 Subject: [PATCH] Line aggregator missing from last commit. --- dictionary.txt | 2 + .../transform/DelimitedLineAggregator.java | 43 +++++++++++++++++++ .../DelimitedLineAggregatorTests.java | 41 ++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineAggregator.java create mode 100644 spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/DelimitedLineAggregatorTests.java diff --git a/dictionary.txt b/dictionary.txt index 19075881f..1dc5968d8 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -75,3 +75,5 @@ immutable stateless autowiring strategizing +initialized +locale diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineAggregator.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineAggregator.java new file mode 100644 index 000000000..d7543f374 --- /dev/null +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineAggregator.java @@ -0,0 +1,43 @@ +/* + * Copyright 2006-2007 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.batch.item.file.transform; + +import org.springframework.util.StringUtils; + +/** + * @author Dave Syer + * + */ +public class DelimitedLineAggregator implements LineAggregator { + + private String delimiter = ","; + + /** + * Public setter for the delimiter. + * @param delimiter the delimiter to set + */ + public void setDelimiter(String delimiter) { + this.delimiter = delimiter; + } + + /* (non-Javadoc) + * @see org.springframework.batch.item.file.transform.LineAggregator#aggregate(java.lang.Object) + */ + public String aggregate(T[] item) { + return StringUtils.arrayToDelimitedString(item, delimiter); + } + +} diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/DelimitedLineAggregatorTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/DelimitedLineAggregatorTests.java new file mode 100644 index 000000000..7c10a3445 --- /dev/null +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/DelimitedLineAggregatorTests.java @@ -0,0 +1,41 @@ +/* + * Copyright 2006-2007 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.batch.item.file.transform; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * @author Dave Syer + * + */ +public class DelimitedLineAggregatorTests { + + private DelimitedLineAggregator aggregator = new DelimitedLineAggregator(); + + @Test + public void testSetDelimiter() { + aggregator.setDelimiter(";"); + assertEquals("foo;bar", aggregator.aggregate(new String[] { "foo", "bar" })); + } + + @Test + public void testAggregate() { + assertEquals("foo,bar", aggregator.aggregate(new String[] { "foo", "bar" })); + } + +}