summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/test
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-08-11 22:35:02 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2013-08-11 22:35:02 +0200
commite78c0a1e4a4ebc71502dceccc9ae640862b7ce9e (patch)
tree38517a79011ee280d08da06ce20dba1ac7aebd62 /container-compiler-plugin/src/test
parent41704c6a57d53b90b4e764ea4fb9c8ff81ced500 (diff)
downloadcontainer-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.tar.gz
container-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.tar.bz2
container-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.tar.xz
container-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.zip
o Overhauling inheritance, adding a decent start of support for @MappedSuperclass.
Diffstat (limited to 'container-compiler-plugin/src/test')
-rw-r--r--container-compiler-plugin/src/test/java/io/trygvis/container/compiler/EntityHandlerTest.java2
-rw-r--r--container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java71
-rw-r--r--container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java8
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/Car.java (renamed from container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/Car.java)2
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/ChildEntity.java (renamed from container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/ChildEntity.java)2
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/ParentEntity.java (renamed from container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/ParentEntity.java)4
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/Person.java (renamed from container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/Person.java)2
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/package-info.java4
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/A.java40
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/package-info.java4
-rw-r--r--container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/package-info.java4
11 files changed, 111 insertions, 32 deletions
diff --git a/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/EntityHandlerTest.java b/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/EntityHandlerTest.java
index e24a362..bfe2d89 100644
--- a/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/EntityHandlerTest.java
+++ b/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/EntityHandlerTest.java
@@ -3,7 +3,7 @@ package io.trygvis.container.compiler;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
-import static io.trygvis.container.compiler.EntityHandler.sqlName;
+import static io.trygvis.container.compiler.Utils.sqlName;
import static org.fest.assertions.Assertions.assertThat;
@Test(singleThreaded = false)
diff --git a/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java b/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java
index f8cecac..4fa9e87 100644
--- a/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java
+++ b/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java
@@ -1,6 +1,8 @@
package io.trygvis.container.compiler;
import org.apache.commons.io.IOUtils;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import javax.tools.Diagnostic;
@@ -12,18 +14,58 @@ import javax.tools.ToolProvider;
import java.io.IOException;
import java.net.URL;
import java.nio.charset.Charset;
+import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import static java.util.Arrays.asList;
+import static javax.tools.JavaCompiler.CompilationTask;
import static org.fest.assertions.Assertions.assertThat;
public class ProcessorTest {
Charset UTF_8 = Charset.forName("utf-8");
- @Test
- public void testBasic() throws Exception {
+ @BeforeMethod
+ private void before() {
+
+ }
+
+ @DataProvider(name = "data", parallel = true)
+ public static Object[][] data() {
+ return new Object[][]{new Object[]{
+ new String[]{
+ "io.trygvis.persistence.test.basic.package-info",
+ "io.trygvis.persistence.test.basic.Person",
+ "io.trygvis.persistence.test.basic.ParentEntity",
+ "io.trygvis.persistence.test.basic.ChildEntity",
+ },
+ new String[]{
+ "io.trygvis.persistence.test.basic.Sequences",
+ "io.trygvis.persistence.test.basic.BasicSqlSession",
+ "io.trygvis.persistence.test.basic.BasicSqlSessionFactory",
+ "io.trygvis.persistence.test.basic.PersonDao",
+ "io.trygvis.persistence.test.basic.PersonRow",
+ "io.trygvis.persistence.test.basic.ChildEntityDao",
+ "io.trygvis.persistence.test.basic.ChildEntityRow",
+ }
+ }, new Object[]{
+ new String[]{
+ "io.trygvis.persistence.test.inheritance.package-info",
+ "io.trygvis.persistence.test.inheritance.A",},
+ new String[]{
+ "io.trygvis.persistence.test.inheritance.Sequences",
+ "io.trygvis.persistence.test.inheritance.InheritanceSqlSession",
+ "io.trygvis.persistence.test.inheritance.InheritanceSqlSessionFactory",
+ "io.trygvis.persistence.test.inheritance.DDao",
+ "io.trygvis.persistence.test.inheritance.DRow",
+ }
+ },
+ };
+ }
+
+ @Test(dataProvider = "data")
+ public void testBasic(String[] files, String[] classes) throws Exception {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> collector = new DiagnosticCollector<>();
@@ -31,14 +73,12 @@ public class ProcessorTest {
InMemoryJavaFileManager fileManager = new InMemoryJavaFileManager(standardFileManager);
- List<JavaSourceFromString> sources = asList((JavaSourceFromString[])new JavaSourceFromString[]{
- loadJava("io.trygvis.persistence.test.package-info"),
- loadJava("io.trygvis.persistence.test.Person"),
- loadJava("io.trygvis.persistence.test.ParentEntity"),
- loadJava("io.trygvis.persistence.test.ChildEntity"),
- });
+ List<JavaSourceFromString> sources = new ArrayList<>();
+ for (String file : files) {
+ sources.add(loadJava(file));
+ }
- JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, collector, null, null, sources);
+ CompilationTask task = compiler.getTask(null, fileManager, collector, null, null, sources);
task.setProcessors(asList(new MyProcessor()));
@@ -50,8 +90,8 @@ public class ProcessorTest {
if (source != null) {
error += source.toUri().getPath();
}
- error += ":" + diagnostic.getLineNumber() + ":" + diagnostic.getColumnNumber();
- System.out.println(error + ":" + diagnostic.getMessage(Locale.ENGLISH));
+ error += ":" + diagnostic.getLineNumber() + ":" + diagnostic.getColumnNumber();
+ System.out.println(error + ": " + diagnostic.getMessage(Locale.ENGLISH));
}
}
@@ -60,14 +100,7 @@ public class ProcessorTest {
System.out.println(entry.getValue());
}
- assertThat(fileManager.codes.keySet()).containsOnly(
- "io.trygvis.persistence.test.Sequences",
- "io.trygvis.persistence.test.TestSqlSession",
- "io.trygvis.persistence.test.TestSqlSessionFactory",
- "io.trygvis.persistence.test.PersonDao",
- "io.trygvis.persistence.test.PersonRow",
- "io.trygvis.persistence.test.ChildEntityDao",
- "io.trygvis.persistence.test.ChildEntityRow");
+ assertThat(fileManager.codes.keySet()).containsOnly((Object[]) classes);
assertThat(collector.getDiagnostics()).isEmpty();
assertThat(result).isTrue();
diff --git a/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java b/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
index fc63a8a..c978ec9 100644
--- a/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
+++ b/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
@@ -78,7 +78,7 @@ public class EntityMirrorTest {
@Test(dataProvider = "insertIntoSql")
public void testInsertIntoSql(FieldMirror[] fields, String insert, String delete, String create) throws Exception {
- EntityMirror myTable = new EntityMirror(new GeneratorConfiguration(), entityType, "my_table");
+ EntityMirror myTable = new EntityMirror(new GeneratorConfiguration(), entityType, true, null, "my_table");
for (FieldMirror field : fields) {
myTable.add(field);
}
@@ -127,7 +127,7 @@ public class EntityMirrorTest {
}
private MethodRef insertInto(FieldMirror... fields) {
- EntityMirror myTable = new EntityMirror(generatorConfiguration, entityType, "my_table");
+ EntityMirror myTable = new EntityMirror(generatorConfiguration, entityType, true, null, "my_table");
myTable.add(fields);
SqlUnitModel unit = new SqlUnitModel().add(myTable);
return new DaoUtilsGenerator(unit, generatorConfiguration, myTable).insertInto(new Imports());
@@ -151,7 +151,7 @@ public class EntityMirrorTest {
}
private MethodRef delete(FieldMirror... fields) {
- EntityMirror myTable = new EntityMirror(new GeneratorConfiguration(), entityType, "my_table");
+ EntityMirror myTable = new EntityMirror(new GeneratorConfiguration(), entityType, true, null, "my_table");
myTable.add(fields);
SqlUnitModel unit = new SqlUnitModel().add(myTable);
return new DaoUtilsGenerator(unit, generatorConfiguration, myTable).delete(new Imports());
@@ -181,7 +181,7 @@ public class EntityMirrorTest {
}
private MethodRef deleteById(FieldMirror... fields) {
- EntityMirror myTable = new EntityMirror(new GeneratorConfiguration(), entityType, "my_table");
+ EntityMirror myTable = new EntityMirror(new GeneratorConfiguration(), entityType, true, null, "my_table");
myTable.add(fields);
SqlUnitModel unit = new SqlUnitModel().add(myTable);
return new DaoUtilsGenerator(unit, generatorConfiguration, myTable).deleteById(new Imports());
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/Car.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/Car.java
index 4b80afc..2781712 100644
--- a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/Car.java
+++ b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/Car.java
@@ -1,4 +1,4 @@
-package io.trygvis.persistence.test;
+package io.trygvis.persistence.test.basic;
import javax.persistence.Entity;
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/ChildEntity.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/ChildEntity.java
index ff91680..208ee9a 100644
--- a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/ChildEntity.java
+++ b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/ChildEntity.java
@@ -1,4 +1,4 @@
-package io.trygvis.persistence.test;
+package io.trygvis.persistence.test.basic;
import javax.persistence.Entity;
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/ParentEntity.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/ParentEntity.java
index 9925f7e..3dd2375 100644
--- a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/ParentEntity.java
+++ b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/ParentEntity.java
@@ -1,7 +1,9 @@
-package io.trygvis.persistence.test;
+package io.trygvis.persistence.test.basic;
import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+@MappedSuperclass
public class ParentEntity {
@Id
public Long id;
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/Person.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/Person.java
index 47a2fdd..3cbdb84 100644
--- a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/Person.java
+++ b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/Person.java
@@ -1,4 +1,4 @@
-package io.trygvis.persistence.test;
+package io.trygvis.persistence.test.basic;
import javax.persistence.Entity;
import javax.persistence.Id;
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/package-info.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/package-info.java
new file mode 100644
index 0000000..780fae5
--- /dev/null
+++ b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/basic/package-info.java
@@ -0,0 +1,4 @@
+@SqlEntitySet(name = "Basic")
+package io.trygvis.persistence.test.basic;
+
+import io.trygvis.persistence.SqlEntitySet;
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/A.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/A.java
new file mode 100644
index 0000000..99770da
--- /dev/null
+++ b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/A.java
@@ -0,0 +1,40 @@
+package io.trygvis.persistence.test.inheritance;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.SequenceGenerator;
+
+public class A {
+ public Integer a;
+}
+
+@SequenceGenerator(name = "id", sequenceName = "id_seq")
+@MappedSuperclass
+class B extends A {
+ public Integer b;
+}
+
+class C extends B {
+ public Integer c;
+}
+
+@Entity
+class D extends C {
+ @Id
+ public Integer d;
+
+ private int d2;
+
+ public Integer getD2() {
+ return d2;
+ }
+
+ public void setD2(Integer d2) {
+ this.d2 = d2;
+ }
+}
+
+class E extends D {
+ public int e;
+}
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/package-info.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/package-info.java
new file mode 100644
index 0000000..7382c7a
--- /dev/null
+++ b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/inheritance/package-info.java
@@ -0,0 +1,4 @@
+@SqlEntitySet(name = "Inheritance")
+package io.trygvis.persistence.test.inheritance;
+
+import io.trygvis.persistence.SqlEntitySet;
diff --git a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/package-info.java b/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/package-info.java
deleted file mode 100644
index 5a80282..0000000
--- a/container-compiler-plugin/src/test/resources/io/trygvis/persistence/test/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-@SqlEntitySet(name = "Test")
-package io.trygvis.persistence.test;
-
-import io.trygvis.persistence.SqlEntitySet;