diff --git a/pom.xml b/pom.xml
index 7a724b912..743763a0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.mysema.codegen
codegen
- 0.4.10
+ 0.4.11
Codegen
Code generation and compilation for Java
@@ -19,20 +19,16 @@
4.01
3.0.1
+ 11.0.2
-
- net.sourceforge.collections
- collections-generic
- ${commons.collections.version}
-
- org.apache.commons
- commons-lang3
- ${commons.lang.version}
+ com.google.guava
+ guava
+ 11.0.2
-
+
junit
@@ -47,17 +43,10 @@
- org.apache.commons
- commons-io
- 1.3.2
+ javax.validation
+ validation-api
+ 1.0.CR3
test
-
-
-
- javax.validation
- validation-api
- 1.0.CR3
- test
diff --git a/src/main/java/com/mysema/codegen/AbstractCodeWriter.java b/src/main/java/com/mysema/codegen/AbstractCodeWriter.java
index bc9d7ce17..0ffd85a63 100644
--- a/src/main/java/com/mysema/codegen/AbstractCodeWriter.java
+++ b/src/main/java/com/mysema/codegen/AbstractCodeWriter.java
@@ -7,7 +7,7 @@ package com.mysema.codegen;
import java.io.IOException;
-import org.apache.commons.lang3.StringUtils;
+import com.google.common.base.Strings;
/**
* @author tiwe
@@ -34,7 +34,7 @@ public abstract class AbstractCodeWriter> implem
}
this.appendable = appendable;
this.spaces = spaces;
- this.spacesString = StringUtils.leftPad("", spaces);
+ this.spacesString = Strings.repeat(" ", spaces);
}
@Override
diff --git a/src/main/java/com/mysema/codegen/CodeWriter.java b/src/main/java/com/mysema/codegen/CodeWriter.java
index f13957478..2bf61cd4b 100644
--- a/src/main/java/com/mysema/codegen/CodeWriter.java
+++ b/src/main/java/com/mysema/codegen/CodeWriter.java
@@ -9,8 +9,7 @@ import java.io.IOException;
import java.lang.annotation.Annotation;
import java.util.Collection;
-import org.apache.commons.collections15.Transformer;
-
+import com.google.common.base.Function;
import com.mysema.codegen.model.Parameter;
import com.mysema.codegen.model.Type;
@@ -34,7 +33,7 @@ public interface CodeWriter extends Appendable {
CodeWriter beginClass(Type type, Type superClass, Type... interfaces) throws IOException;
- CodeWriter beginConstructor(Collection params, Transformer transformer) throws IOException;
+ CodeWriter beginConstructor(Collection params, Function transformer) throws IOException;
CodeWriter beginConstructor(Parameter... params) throws IOException;
@@ -43,12 +42,12 @@ public interface CodeWriter extends Appendable {
CodeWriter beginLine(String... segments) throws IOException;
CodeWriter beginPublicMethod(Type returnType, String methodName, Collection parameters,
- Transformer transformer) throws IOException;
+ Function transformer) throws IOException;
CodeWriter beginPublicMethod(Type returnType, String methodName, Parameter... args) throws IOException;
CodeWriter beginStaticMethod(Type type, String name, Collection params,
- Transformer transformer) throws IOException;
+ Function transformer) throws IOException;
CodeWriter beginStaticMethod(Type returnType, String methodName, Parameter... args) throws IOException;
diff --git a/src/main/java/com/mysema/codegen/JavaWriter.java b/src/main/java/com/mysema/codegen/JavaWriter.java
index 95e2b01e7..413fdcde7 100644
--- a/src/main/java/com/mysema/codegen/JavaWriter.java
+++ b/src/main/java/com/mysema/codegen/JavaWriter.java
@@ -22,9 +22,7 @@ import java.util.HashSet;
import java.util.Set;
import java.util.Stack;
-import org.apache.commons.collections15.Transformer;
-import org.apache.commons.lang3.StringEscapeUtils;
-
+import com.google.common.base.Function;
import com.mysema.codegen.model.Parameter;
import com.mysema.codegen.model.Type;
@@ -160,7 +158,7 @@ public final class JavaWriter extends AbstractCodeWriter {
append(enumValue.getDeclaringClass().getName() + DOT + enumValue.name());
}
} else if (value instanceof String) {
- String escaped = StringEscapeUtils.escapeJava(value.toString());
+ String escaped = StringUtils.escapeJava(value.toString());
append(QUOTE + escaped.replace("\\/", "/") + QUOTE);
} else {
throw new IllegalArgumentException("Unsupported annotation value : " + value);
@@ -205,7 +203,7 @@ public final class JavaWriter extends AbstractCodeWriter {
@Override
public JavaWriter beginConstructor(Collection parameters,
- Transformer transformer) throws IOException {
+ Function transformer) throws IOException {
types.push(types.peek());
beginLine(PUBLIC + types.peek().getSimpleName()).params(parameters, transformer)
.append(" {").nl();
@@ -249,7 +247,7 @@ public final class JavaWriter extends AbstractCodeWriter {
@Override
public JavaWriter beginPublicMethod(Type returnType, String methodName,
- Collection parameters, Transformer transformer) throws IOException {
+ Collection parameters, Function transformer) throws IOException {
return beginMethod(PUBLIC, returnType, methodName, transform(parameters, transformer));
}
@@ -261,7 +259,7 @@ public final class JavaWriter extends AbstractCodeWriter {
@Override
public JavaWriter beginStaticMethod(Type returnType, String methodName,
- Collection parameters, Transformer transformer) throws IOException {
+ Collection parameters, Function transformer) throws IOException {
return beginMethod(PUBLIC_STATIC, returnType, methodName,
transform(parameters, transformer));
}
@@ -362,7 +360,7 @@ public final class JavaWriter extends AbstractCodeWriter {
return line(PACKAGE + packageName + SEMICOLON).nl();
}
- private JavaWriter params(Collection parameters, Transformer transformer)
+ private JavaWriter params(Collection parameters, Function transformer)
throws IOException {
append("(");
boolean first = true;
@@ -370,7 +368,7 @@ public final class JavaWriter extends AbstractCodeWriter {
if (!first) {
append(COMMA);
}
- param(transformer.transform(param));
+ param(transformer.apply(param));
first = false;
}
append(")");
@@ -470,11 +468,11 @@ public final class JavaWriter extends AbstractCodeWriter {
}
private Parameter[] transform(Collection parameters,
- Transformer transformer) {
+ Function transformer) {
Parameter[] rv = new Parameter[parameters.size()];
int i = 0;
for (T value : parameters) {
- rv[i++] = transformer.transform(value);
+ rv[i++] = transformer.apply(value);
}
return rv;
}
diff --git a/src/main/java/com/mysema/codegen/ScalaWriter.java b/src/main/java/com/mysema/codegen/ScalaWriter.java
index e10de4703..9d0e5b2ab 100644
--- a/src/main/java/com/mysema/codegen/ScalaWriter.java
+++ b/src/main/java/com/mysema/codegen/ScalaWriter.java
@@ -14,10 +14,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
-import org.apache.commons.collections15.Transformer;
-import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.commons.lang3.StringUtils;
-
+import com.google.common.base.Function;
import com.mysema.codegen.model.Parameter;
import com.mysema.codegen.model.Type;
import com.mysema.codegen.model.Types;
@@ -170,7 +167,7 @@ public class ScalaWriter extends AbstractCodeWriter {
append(enumValue.getDeclaringClass().getName() + DOT + enumValue.name());
}
} else if (value instanceof String) {
- append(QUOTE + StringEscapeUtils.escapeJava(value.toString()) + QUOTE);
+ append(QUOTE + StringUtils.escapeJava(value.toString()) + QUOTE);
} else {
throw new IllegalArgumentException("Unsupported annotation value : " + value);
}
@@ -242,7 +239,7 @@ public class ScalaWriter extends AbstractCodeWriter {
@Override
public ScalaWriter beginConstructor(Collection parameters,
- Transformer transformer) throws IOException {
+ Function transformer) throws IOException {
beginLine(PUBLIC + type.getSimpleName()).params(parameters, transformer).append(" {").nl();
return goIn();
}
@@ -291,7 +288,7 @@ public class ScalaWriter extends AbstractCodeWriter {
@Override
public ScalaWriter beginPublicMethod(Type returnType, String methodName,
- Collection parameters, Transformer transformer) throws IOException {
+ Collection parameters, Function transformer) throws IOException {
return beginMethod(DEF, returnType, methodName, transform(parameters, transformer));
}
@@ -303,7 +300,7 @@ public class ScalaWriter extends AbstractCodeWriter {
@Override
public ScalaWriter beginStaticMethod(Type returnType, String methodName,
- Collection parameters, Transformer transformer) throws IOException {
+ Collection parameters, Function transformer) throws IOException {
return beginMethod(DEF, returnType, methodName, transform(parameters, transformer));
}
@@ -450,7 +447,7 @@ public class ScalaWriter extends AbstractCodeWriter {
return line(PACKAGE + packageName).nl();
}
- private ScalaWriter params(Collection parameters, Transformer transformer)
+ private ScalaWriter params(Collection parameters, Function transformer)
throws IOException {
append("(");
boolean first = true;
@@ -458,7 +455,7 @@ public class ScalaWriter extends AbstractCodeWriter {
if (!first) {
append(COMMA);
}
- param(transformer.transform(param));
+ param(transformer.apply(param));
first = false;
}
append(")");
@@ -558,11 +555,11 @@ public class ScalaWriter extends AbstractCodeWriter {
}
private Parameter[] transform(Collection parameters,
- Transformer transformer) {
+ Function transformer) {
Parameter[] rv = new Parameter[parameters.size()];
int i = 0;
for (T value : parameters) {
- rv[i++] = transformer.transform(value);
+ rv[i++] = transformer.apply(value);
}
return rv;
}
diff --git a/src/main/java/com/mysema/codegen/model/TypeExtends.java b/src/main/java/com/mysema/codegen/model/TypeExtends.java
index c637dc771..5f805a53a 100644
--- a/src/main/java/com/mysema/codegen/model/TypeExtends.java
+++ b/src/main/java/com/mysema/codegen/model/TypeExtends.java
@@ -8,7 +8,7 @@ package com.mysema.codegen.model;
import java.util.Collections;
import java.util.Set;
-import org.apache.commons.lang3.StringUtils;
+import com.google.common.base.Strings;
/**
* @author tiwe
@@ -41,7 +41,7 @@ public class TypeExtends extends TypeAdapter {
return "?";
} else {
String genericName = super.getGenericName(true, packages, classes);
- return StringUtils.isEmpty(genericName) ? "?" : "? extends " + genericName;
+ return Strings.isNullOrEmpty(genericName) ? "?" : "? extends " + genericName;
}
} else {
return super.getGenericName(asArgType, packages, classes);
diff --git a/src/test/java/com/mysema/codegen/JavaWriterTest.java b/src/test/java/com/mysema/codegen/JavaWriterTest.java
index 21952cf19..56292807e 100644
--- a/src/test/java/com/mysema/codegen/JavaWriterTest.java
+++ b/src/test/java/com/mysema/codegen/JavaWriterTest.java
@@ -15,11 +15,12 @@ import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
import java.util.Arrays;
-import org.apache.commons.collections15.Transformer;
-import org.apache.commons.io.IOUtils;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.base.Charsets;
+import com.google.common.base.Function;
+import com.google.common.io.Resources;
import com.mysema.codegen.model.ClassType;
import com.mysema.codegen.model.Parameter;
import com.mysema.codegen.model.SimpleType;
@@ -29,9 +30,9 @@ import com.mysema.codegen.model.Types;
public class JavaWriterTest {
- private static final Transformer transformer = new Transformer() {
+ private static final Function transformer = new Function() {
@Override
- public Parameter transform(Parameter input) {
+ public Parameter apply(Parameter input) {
return input;
}
};
@@ -44,8 +45,7 @@ public class JavaWriterTest {
private static void match(String resource, String text) throws IOException {
// TODO : try to compile ?
- String expected = IOUtils
- .toString(JavaWriterTest.class.getResourceAsStream(resource), "UTF-8")
+ String expected = Resources.toString(JavaWriterTest.class.getResource(resource), Charsets.UTF_8)
.replace("\r\n", "\n").trim();
String actual = text.trim();
assertEquals(expected, actual);
diff --git a/src/test/java/com/mysema/codegen/ScalaWriterTest.java b/src/test/java/com/mysema/codegen/ScalaWriterTest.java
index 564ab5018..ac326c475 100644
--- a/src/test/java/com/mysema/codegen/ScalaWriterTest.java
+++ b/src/test/java/com/mysema/codegen/ScalaWriterTest.java
@@ -14,11 +14,10 @@ import java.util.List;
import javax.validation.constraints.Max;
-import org.apache.commons.collections15.Transformer;
-import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.base.Function;
import com.mysema.codegen.model.ClassType;
import com.mysema.codegen.model.Parameter;
import com.mysema.codegen.model.SimpleType;
@@ -28,9 +27,9 @@ import com.mysema.codegen.model.Types;
public class ScalaWriterTest {
- private static final Transformer transformer = new Transformer() {
+ private static final Function transformer = new Function() {
@Override
- public Parameter transform(Parameter input) {
+ public Parameter apply(Parameter input) {
return input;
}
};
diff --git a/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java b/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java
index af9ecb426..3b6c6b616 100644
--- a/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java
+++ b/src/test/java/com/mysema/codegen/support/ClassUtilsTest.java
@@ -8,7 +8,6 @@ package com.mysema.codegen.support;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -17,7 +16,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import org.apache.commons.collections15.Bag;
import org.junit.Test;
public class ClassUtilsTest {
@@ -43,7 +41,7 @@ public class ClassUtilsTest {
assertEquals(List.class, ClassUtils.normalize(ArrayList.class));
assertEquals(Set.class, ClassUtils.normalize(HashSet.class));
assertEquals(Map.class, ClassUtils.normalize(HashMap.class));
- assertEquals(Collection.class, ClassUtils.normalize(Bag.class));
+// assertEquals(Collection.class, ClassUtils.normalize(Bag.class));
}
}
diff --git a/template.mf b/template.mf
index 8ab2a5bc0..2b838ec97 100644
--- a/template.mf
+++ b/template.mf
@@ -3,7 +3,6 @@ Bundle-Name: Codegen
Bundle-Vendor: Mysema
Bundle-ManifestVersion: 2
Import-Template:
- javax.annotation.*;version="0",
- org.apache.commons.collections15.*;version="${commons.collections.version}",
- org.apache.commons.lang3.*;version="${commons.lang.version}",
- javax.tools.*;version="0"
+ javax.annotation.*;version="0",
+ javax.tools.*;version="0",
+ com.google.common.*;version="${guava.version}"