mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-30 21:08:30 +08:00
migrated codegen to use Guava
This commit is contained in:
parent
6d49f9b3b6
commit
1b777cdaa7
29
pom.xml
29
pom.xml
@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.mysema.codegen</groupId>
|
||||
<artifactId>codegen</artifactId>
|
||||
<version>0.4.10</version>
|
||||
<version>0.4.11</version>
|
||||
<name>Codegen</name>
|
||||
<description>Code generation and compilation for Java</description>
|
||||
<parent>
|
||||
@ -19,20 +19,16 @@
|
||||
<properties>
|
||||
<commons.collections.version>4.01</commons.collections.version>
|
||||
<commons.lang.version>3.0.1</commons.lang.version>
|
||||
<guava.version>11.0.2</guava.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.collections</groupId>
|
||||
<artifactId>collections-generic</artifactId>
|
||||
<version>${commons.collections.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>${commons.lang.version}</version>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>11.0.2</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- test -->
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
@ -47,17 +43,10 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>1.3.2</version>
|
||||
<groupId>javax.validation</groupId>
|
||||
<artifactId>validation-api</artifactId>
|
||||
<version>1.0.CR3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.validation</groupId>
|
||||
<artifactId>validation-api</artifactId>
|
||||
<version>1.0.CR3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@ -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<T extends AbstractCodeWriter<T>> implem
|
||||
}
|
||||
this.appendable = appendable;
|
||||
this.spaces = spaces;
|
||||
this.spacesString = StringUtils.leftPad("", spaces);
|
||||
this.spacesString = Strings.repeat(" ", spaces);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -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;
|
||||
|
||||
<T> CodeWriter beginConstructor(Collection<T> params, Transformer<T, Parameter> transformer) throws IOException;
|
||||
<T> CodeWriter beginConstructor(Collection<T> params, Function<T, Parameter> transformer) throws IOException;
|
||||
|
||||
CodeWriter beginConstructor(Parameter... params) throws IOException;
|
||||
|
||||
@ -43,12 +42,12 @@ public interface CodeWriter extends Appendable {
|
||||
CodeWriter beginLine(String... segments) throws IOException;
|
||||
|
||||
<T> CodeWriter beginPublicMethod(Type returnType, String methodName, Collection<T> parameters,
|
||||
Transformer<T, Parameter> transformer) throws IOException;
|
||||
Function<T, Parameter> transformer) throws IOException;
|
||||
|
||||
CodeWriter beginPublicMethod(Type returnType, String methodName, Parameter... args) throws IOException;
|
||||
|
||||
<T> CodeWriter beginStaticMethod(Type type, String name, Collection<T> params,
|
||||
Transformer<T, Parameter> transformer) throws IOException;
|
||||
Function<T, Parameter> transformer) throws IOException;
|
||||
|
||||
CodeWriter beginStaticMethod(Type returnType, String methodName, Parameter... args) throws IOException;
|
||||
|
||||
|
||||
@ -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<JavaWriter> {
|
||||
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<JavaWriter> {
|
||||
|
||||
@Override
|
||||
public <T> JavaWriter beginConstructor(Collection<T> parameters,
|
||||
Transformer<T, Parameter> transformer) throws IOException {
|
||||
Function<T, Parameter> 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<JavaWriter> {
|
||||
|
||||
@Override
|
||||
public <T> JavaWriter beginPublicMethod(Type returnType, String methodName,
|
||||
Collection<T> parameters, Transformer<T, Parameter> transformer) throws IOException {
|
||||
Collection<T> parameters, Function<T, Parameter> transformer) throws IOException {
|
||||
return beginMethod(PUBLIC, returnType, methodName, transform(parameters, transformer));
|
||||
}
|
||||
|
||||
@ -261,7 +259,7 @@ public final class JavaWriter extends AbstractCodeWriter<JavaWriter> {
|
||||
|
||||
@Override
|
||||
public <T> JavaWriter beginStaticMethod(Type returnType, String methodName,
|
||||
Collection<T> parameters, Transformer<T, Parameter> transformer) throws IOException {
|
||||
Collection<T> parameters, Function<T, Parameter> transformer) throws IOException {
|
||||
return beginMethod(PUBLIC_STATIC, returnType, methodName,
|
||||
transform(parameters, transformer));
|
||||
}
|
||||
@ -362,7 +360,7 @@ public final class JavaWriter extends AbstractCodeWriter<JavaWriter> {
|
||||
return line(PACKAGE + packageName + SEMICOLON).nl();
|
||||
}
|
||||
|
||||
private <T> JavaWriter params(Collection<T> parameters, Transformer<T, Parameter> transformer)
|
||||
private <T> JavaWriter params(Collection<T> parameters, Function<T, Parameter> transformer)
|
||||
throws IOException {
|
||||
append("(");
|
||||
boolean first = true;
|
||||
@ -370,7 +368,7 @@ public final class JavaWriter extends AbstractCodeWriter<JavaWriter> {
|
||||
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<JavaWriter> {
|
||||
}
|
||||
|
||||
private <T> Parameter[] transform(Collection<T> parameters,
|
||||
Transformer<T, Parameter> transformer) {
|
||||
Function<T, Parameter> 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;
|
||||
}
|
||||
|
||||
@ -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<ScalaWriter> {
|
||||
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<ScalaWriter> {
|
||||
|
||||
@Override
|
||||
public <T> ScalaWriter beginConstructor(Collection<T> parameters,
|
||||
Transformer<T, Parameter> transformer) throws IOException {
|
||||
Function<T, Parameter> transformer) throws IOException {
|
||||
beginLine(PUBLIC + type.getSimpleName()).params(parameters, transformer).append(" {").nl();
|
||||
return goIn();
|
||||
}
|
||||
@ -291,7 +288,7 @@ public class ScalaWriter extends AbstractCodeWriter<ScalaWriter> {
|
||||
|
||||
@Override
|
||||
public <T> ScalaWriter beginPublicMethod(Type returnType, String methodName,
|
||||
Collection<T> parameters, Transformer<T, Parameter> transformer) throws IOException {
|
||||
Collection<T> parameters, Function<T, Parameter> transformer) throws IOException {
|
||||
return beginMethod(DEF, returnType, methodName, transform(parameters, transformer));
|
||||
}
|
||||
|
||||
@ -303,7 +300,7 @@ public class ScalaWriter extends AbstractCodeWriter<ScalaWriter> {
|
||||
|
||||
@Override
|
||||
public <T> ScalaWriter beginStaticMethod(Type returnType, String methodName,
|
||||
Collection<T> parameters, Transformer<T, Parameter> transformer) throws IOException {
|
||||
Collection<T> parameters, Function<T, Parameter> transformer) throws IOException {
|
||||
return beginMethod(DEF, returnType, methodName, transform(parameters, transformer));
|
||||
}
|
||||
|
||||
@ -450,7 +447,7 @@ public class ScalaWriter extends AbstractCodeWriter<ScalaWriter> {
|
||||
return line(PACKAGE + packageName).nl();
|
||||
}
|
||||
|
||||
private <T> ScalaWriter params(Collection<T> parameters, Transformer<T, Parameter> transformer)
|
||||
private <T> ScalaWriter params(Collection<T> parameters, Function<T, Parameter> transformer)
|
||||
throws IOException {
|
||||
append("(");
|
||||
boolean first = true;
|
||||
@ -458,7 +455,7 @@ public class ScalaWriter extends AbstractCodeWriter<ScalaWriter> {
|
||||
if (!first) {
|
||||
append(COMMA);
|
||||
}
|
||||
param(transformer.transform(param));
|
||||
param(transformer.apply(param));
|
||||
first = false;
|
||||
}
|
||||
append(")");
|
||||
@ -558,11 +555,11 @@ public class ScalaWriter extends AbstractCodeWriter<ScalaWriter> {
|
||||
}
|
||||
|
||||
private <T> Parameter[] transform(Collection<T> parameters,
|
||||
Transformer<T, Parameter> transformer) {
|
||||
Function<T, Parameter> 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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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<Parameter, Parameter> transformer = new Transformer<Parameter, Parameter>() {
|
||||
private static final Function<Parameter, Parameter> transformer = new Function<Parameter, Parameter>() {
|
||||
@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);
|
||||
|
||||
@ -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<Parameter, Parameter> transformer = new Transformer<Parameter, Parameter>() {
|
||||
private static final Function<Parameter, Parameter> transformer = new Function<Parameter, Parameter>() {
|
||||
@Override
|
||||
public Parameter transform(Parameter input) {
|
||||
public Parameter apply(Parameter input) {
|
||||
return input;
|
||||
}
|
||||
};
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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}"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user