From 3dd390d8cdfdc935a53ea82e402dbfe10d475cd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Tue, 10 Nov 2009 15:16:23 +0000 Subject: [PATCH] added toString() serialization for JDOQL queries --- .../mysema/query/jdoql/AbstractJDOQLQuery.java | 12 ++++++++++++ .../java/com/mysema/query/jdoql/BasicsTest.java | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/querydsl-jdoql/src/main/java/com/mysema/query/jdoql/AbstractJDOQLQuery.java b/querydsl-jdoql/src/main/java/com/mysema/query/jdoql/AbstractJDOQLQuery.java index 8b3ecf393..e580e6a9e 100644 --- a/querydsl-jdoql/src/main/java/com/mysema/query/jdoql/AbstractJDOQLQuery.java +++ b/querydsl-jdoql/src/main/java/com/mysema/query/jdoql/AbstractJDOQLQuery.java @@ -152,4 +152,16 @@ public abstract class AbstractJDOQLQuery source = this.getMetadata().getJoins().get(0).getTarget(); + JDOQLSerializer serializer = new JDOQLSerializer(templates, source); + serializer.serialize(getMetadata(), false, false); + return serializer.toString(); + }else{ + return super.toString(); + } + } } diff --git a/querydsl-jdoql/src/test/java/com/mysema/query/jdoql/BasicsTest.java b/querydsl-jdoql/src/test/java/com/mysema/query/jdoql/BasicsTest.java index 2c7d454be..9f6c4ab70 100644 --- a/querydsl-jdoql/src/test/java/com/mysema/query/jdoql/BasicsTest.java +++ b/querydsl-jdoql/src/test/java/com/mysema/query/jdoql/BasicsTest.java @@ -27,6 +27,22 @@ public class BasicsTest extends AbstractJDOTest { private QBook book = QBook.book; private QProduct product = QProduct.product; + + private QProduct product2 = new QProduct("product2"); + + @Test + public void serialization() throws IOException{ + JDOQLQuery query = query(); + + assertEquals("\nFROM com.mysema.query.jdoql.testdomain.Product", query.from(product).toString()); + assertEquals( + "\nFROM com.mysema.query.jdoql.testdomain.Product" + + "\nVARIABLES com.mysema.query.jdoql.testdomain.Product product2", + query.from(product2).toString()); + + query.where(product.ne(product2)).list(product, product2); + query.close(); + } @Test public void delete(){