IN PROGRESS - BATCH-709: Change all collections to use generics
This commit is contained in:
@@ -70,7 +70,7 @@ public abstract class AbstractLineTokenizer implements LineTokenizer {
|
||||
line = "";
|
||||
}
|
||||
|
||||
List tokens = new ArrayList(doTokenize(line));
|
||||
List<String> tokens = new ArrayList<String>(doTokenize(line));
|
||||
|
||||
String[] values = (String[]) tokens.toArray(new String[tokens.size()]);
|
||||
|
||||
@@ -83,6 +83,6 @@ public abstract class AbstractLineTokenizer implements LineTokenizer {
|
||||
return new DefaultFieldSet(values, names);
|
||||
}
|
||||
|
||||
protected abstract List doTokenize(String line);
|
||||
protected abstract List<String> doTokenize(String line);
|
||||
|
||||
}
|
||||
|
||||
@@ -105,9 +105,9 @@ public class DelimitedLineTokenizer extends AbstractLineTokenizer {
|
||||
*
|
||||
* @return the resulting tokens
|
||||
*/
|
||||
protected List doTokenize(String line) {
|
||||
protected List<String> doTokenize(String line) {
|
||||
|
||||
List tokens = new ArrayList();
|
||||
List<String> tokens = new ArrayList<String>();
|
||||
|
||||
// line is never null in current implementation
|
||||
// line is checked in parent: AbstractLineTokenizer.tokenize()
|
||||
|
||||
@@ -86,8 +86,8 @@ public class FixedLengthTokenizer extends AbstractLineTokenizer {
|
||||
* @throws IncorrectLineLengthException if line length is greater than
|
||||
* or less than the max range set.
|
||||
*/
|
||||
protected List doTokenize(String line) {
|
||||
List tokens = new ArrayList(ranges.length);
|
||||
protected List<String> doTokenize(String line) {
|
||||
List<String> tokens = new ArrayList<String>(ranges.length);
|
||||
int lineLength;
|
||||
String token;
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package org.springframework.batch.item.file.transform;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -26,23 +25,23 @@ import org.springframework.batch.item.file.mapping.FieldSet;
|
||||
|
||||
public class PrefixMatchingCompositeLineTokenizer implements LineTokenizer {
|
||||
|
||||
private Map tokenizers = new HashMap();
|
||||
|
||||
public void setTokenizers(Map tokenizers) {
|
||||
this.tokenizers = new LinkedHashMap(tokenizers);
|
||||
private Map<String, LineTokenizer> tokenizers = new HashMap<String, LineTokenizer>();
|
||||
|
||||
public void setTokenizers(Map<String, LineTokenizer> tokenizers) {
|
||||
this.tokenizers = new LinkedHashMap<String, LineTokenizer>(tokenizers);
|
||||
}
|
||||
|
||||
|
||||
public FieldSet tokenize(String line) {
|
||||
|
||||
if (line==null) {
|
||||
if (line == null) {
|
||||
return new DefaultFieldSet(new String[0]);
|
||||
}
|
||||
|
||||
LineTokenizer tokenizer = null;
|
||||
LineTokenizer defaultTokenizer = null;
|
||||
|
||||
for (Iterator iter = tokenizers.keySet().iterator(); iter.hasNext();) {
|
||||
String key = (String) iter.next();
|
||||
for (String key : tokenizers.keySet()) {
|
||||
|
||||
if ("".equals(key)) {
|
||||
defaultTokenizer = (LineTokenizer) tokenizers.get(key);
|
||||
// don't break here or the tokenizer may not be found
|
||||
@@ -53,13 +52,13 @@ public class PrefixMatchingCompositeLineTokenizer implements LineTokenizer {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (tokenizer==null) {
|
||||
|
||||
if (tokenizer == null) {
|
||||
tokenizer = defaultTokenizer;
|
||||
}
|
||||
|
||||
if (tokenizer==null) {
|
||||
throw new IllegalStateException("Could not match record to tokenizer for line=["+line+"]");
|
||||
|
||||
if (tokenizer == null) {
|
||||
throw new IllegalStateException("Could not match record to tokenizer for line=[" + line + "]");
|
||||
}
|
||||
|
||||
return tokenizer.tokenize(line);
|
||||
|
||||
@@ -97,11 +97,9 @@ public class RangeArrayPropertyEditor extends PropertyEditorSupport {
|
||||
Range[] c = (Range[])ranges.clone();
|
||||
|
||||
//sort array of Ranges
|
||||
Arrays.sort(c, new Comparator() {
|
||||
public int compare(Object o1, Object o2) {
|
||||
Range c1 = (Range)o1;
|
||||
Range c2 = (Range)o2;
|
||||
return c1.getMin()-c2.getMin();
|
||||
Arrays.sort(c, new Comparator<Range>() {
|
||||
public int compare(Range r1, Range r2) {
|
||||
return r1.getMin()-r2.getMin();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.springframework.batch.item.file.transform;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.springframework.batch.item.transform.ItemTransformer;
|
||||
|
||||
@@ -10,8 +9,8 @@ import org.springframework.batch.item.transform.ItemTransformer;
|
||||
* specially if it is an array or collection. In this case it loops though,
|
||||
* calling itself on each member in turn, until it encounters a non collection.
|
||||
* At this point, if the item is a String, that is used, or else it is passed to
|
||||
* the delegate {@link ItemTransformer}. The transformed single item Strings
|
||||
* are all concatenated with line separators.
|
||||
* the delegate {@link ItemTransformer}. The transformed single item Strings are
|
||||
* all concatenated with line separators.
|
||||
*
|
||||
* @author Dave Syer
|
||||
*
|
||||
@@ -45,7 +44,10 @@ public class RecursiveCollectionItemTransformer implements ItemTransformer {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.springframework.batch.item.writer.ItemTransformer#transform(java.lang.Object)
|
||||
*
|
||||
* @see
|
||||
* org.springframework.batch.item.writer.ItemTransformer#transform(java.
|
||||
* lang.Object)
|
||||
*/
|
||||
public Object transform(Object input) throws Exception {
|
||||
TransformHolder holder = new TransformHolder();
|
||||
@@ -67,8 +69,8 @@ public class RecursiveCollectionItemTransformer implements ItemTransformer {
|
||||
private void transformRecursively(Object data, TransformHolder converted) throws Exception {
|
||||
|
||||
if (data instanceof Collection) {
|
||||
for (Iterator iterator = ((Collection) data).iterator(); iterator.hasNext();) {
|
||||
Object value = (Object) iterator.next();
|
||||
|
||||
for (Object value : (Collection<?>) data) {
|
||||
// (recursive)
|
||||
transformRecursively(value, new TransformHolder(converted.builder));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user