diff --git a/querydsl-apt/src/main/java/com/mysema/query/apt/Processor.java b/querydsl-apt/src/main/java/com/mysema/query/apt/Processor.java
index 56b5ba58a..00a345144 100644
--- a/querydsl-apt/src/main/java/com/mysema/query/apt/Processor.java
+++ b/querydsl-apt/src/main/java/com/mysema/query/apt/Processor.java
@@ -129,13 +129,13 @@ public class Processor {
private String namePrefix;
- private Class extends Annotation> entityAnn;
+ private final Class extends Annotation> entityAnn;
- private Class extends Annotation> superTypeAnn;
+ private final Class extends Annotation> superTypeAnn;
- private Class extends Annotation> embeddableAnn;
+ private final Class extends Annotation> embeddableAnn;
- private Class extends Annotation> dtoAnn;
+ private final Class extends Annotation> dtoAnn;
public Processor(ProcessingEnvironment env,
Class extends Annotation> entityAnn,
diff --git a/querydsl-apt/src/main/java/com/mysema/query/hql/apt/JPAAnnotationProcessor.java b/querydsl-apt/src/main/java/com/mysema/query/hql/apt/JPAAnnotationProcessor.java
new file mode 100644
index 000000000..3d9cddbd9
--- /dev/null
+++ b/querydsl-apt/src/main/java/com/mysema/query/hql/apt/JPAAnnotationProcessor.java
@@ -0,0 +1,42 @@
+package com.mysema.query.hql.apt;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.RoundEnvironment;
+import javax.annotation.processing.SupportedAnnotationTypes;
+import javax.annotation.processing.SupportedSourceVersion;
+import javax.lang.model.SourceVersion;
+import javax.lang.model.element.TypeElement;
+import javax.tools.Diagnostic;
+
+import com.mysema.query.annotations.Projection;
+import com.mysema.query.apt.Processor;
+
+/**
+ * @author tiwe
+ *
+ */
+@SupportedAnnotationTypes("*")
+@SupportedSourceVersion(SourceVersion.RELEASE_6)
+public class JPAAnnotationProcessor extends AbstractProcessor{
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) {
+ try {
+ processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Running " + getClass().getSimpleName());
+ Class extends Annotation> entity = (Class)Class.forName("javax.persistence.Entity");
+ Class extends Annotation> superType = (Class)Class.forName("javax.persistence.MappedSuperclass");
+ Class extends Annotation> embeddable = (Class)Class.forName("javax.persistence.Embeddable");
+ Class extends Annotation> dtoAnnotation = Projection.class;
+ Processor p = new Processor(processingEnv, entity, superType, embeddable, dtoAnnotation, "Q");
+ p.process(roundEnv);
+ return true;
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ }
+
+}
diff --git a/querydsl-apt/src/main/java/com/mysema/query/jdoql/apt/JDOAnnotationProcessor.java b/querydsl-apt/src/main/java/com/mysema/query/jdoql/apt/JDOAnnotationProcessor.java
new file mode 100644
index 000000000..a1557eb02
--- /dev/null
+++ b/querydsl-apt/src/main/java/com/mysema/query/jdoql/apt/JDOAnnotationProcessor.java
@@ -0,0 +1,42 @@
+package com.mysema.query.jdoql.apt;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.RoundEnvironment;
+import javax.annotation.processing.SupportedAnnotationTypes;
+import javax.annotation.processing.SupportedSourceVersion;
+import javax.lang.model.SourceVersion;
+import javax.lang.model.element.TypeElement;
+import javax.tools.Diagnostic;
+
+import com.mysema.query.annotations.Projection;
+import com.mysema.query.apt.Processor;
+
+/**
+ * @author tiwe
+ *
+ */
+@SupportedAnnotationTypes("*")
+@SupportedSourceVersion(SourceVersion.RELEASE_6)
+public class JDOAnnotationProcessor extends AbstractProcessor{
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) {
+ try {
+ processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Running " + getClass().getSimpleName());
+ Class extends Annotation> entity = (Class)Class.forName("javax.jdo.annotations.PersistenceCapable");
+ Class extends Annotation> superType = null; // ?!?
+ Class extends Annotation> embeddable = (Class)Class.forName("javax.jdo.annotations.EmbeddedOnly");
+ Class extends Annotation> dtoAnnotation = Projection.class;
+ Processor p = new Processor(processingEnv, entity, superType, embeddable, dtoAnnotation, "Q");
+ p.skipGetters().process(roundEnv);
+ return true;
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/querydsl-hql/pom.xml b/querydsl-hql/pom.xml
index 2acb5319b..83feeef42 100644
--- a/querydsl-hql/pom.xml
+++ b/querydsl-hql/pom.xml
@@ -45,7 +45,7 @@
com.mysema.querydsl
- querydsl-hql-apt
+ querydsl-apt
${project.parent.version}
diff --git a/querydsl-jdoql/pom.xml b/querydsl-jdoql/pom.xml
index 6d5409015..b68dc6848 100644
--- a/querydsl-jdoql/pom.xml
+++ b/querydsl-jdoql/pom.xml
@@ -31,7 +31,7 @@
com.mysema.querydsl
- querydsl-jdoql-apt
+ querydsl-apt
${project.parent.version}
diff --git a/querydsl-root/pom.xml b/querydsl-root/pom.xml
index 8e0b9c637..e87cada19 100644
--- a/querydsl-root/pom.xml
+++ b/querydsl-root/pom.xml
@@ -35,9 +35,7 @@
../querydsl-apt
../querydsl-apt-jdk5
../querydsl-collections
- ../querydsl-jdoql-apt
../querydsl-jdoql
- ../querydsl-hql-apt
../querydsl-hql
../querydsl-sql
../querydsl-docs