diff --git a/querydsl-collections/src/test/java/com/mysema/query/ColQueryStandardTest.java b/querydsl-collections/src/test/java/com/mysema/query/ColQueryStandardTest.java index c888785f0..c58654517 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/ColQueryStandardTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/ColQueryStandardTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/LoadTest.java b/querydsl-collections/src/test/java/com/mysema/query/LoadTest.java index 860344b26..acbdd914a 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/LoadTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/LoadTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query; import static org.junit.Assert.assertEquals; diff --git a/querydsl-collections/src/test/java/com/mysema/query/QueryMutabilityTest.java b/querydsl-collections/src/test/java/com/mysema/query/QueryMutabilityTest.java index d9f6cd70d..630c28eea 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/QueryMutabilityTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/QueryMutabilityTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query; import java.io.IOException; diff --git a/querydsl-collections/src/test/java/com/mysema/query/alias/Extensions.java b/querydsl-collections/src/test/java/com/mysema/query/alias/Extensions.java index 8394429fb..04cbf2b7b 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/alias/Extensions.java +++ b/querydsl-collections/src/test/java/com/mysema/query/alias/Extensions.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.alias; import com.mysema.query.types.Expr; diff --git a/querydsl-collections/src/test/java/com/mysema/query/alias/ExtensionsTest.java b/querydsl-collections/src/test/java/com/mysema/query/alias/ExtensionsTest.java index 68370584d..1a265b647 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/alias/ExtensionsTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/alias/ExtensionsTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.alias; import static com.mysema.query.alias.Alias.$; diff --git a/querydsl-collections/src/test/java/com/mysema/query/alias/SimpleTest.java b/querydsl-collections/src/test/java/com/mysema/query/alias/SimpleTest.java index ad688641e..bffca18a3 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/alias/SimpleTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/alias/SimpleTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.alias; import java.util.ArrayList; diff --git a/querydsl-collections/src/test/java/com/mysema/query/animal/Animal.java b/querydsl-collections/src/test/java/com/mysema/query/animal/Animal.java index def6fa507..41bd48807 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/animal/Animal.java +++ b/querydsl-collections/src/test/java/com/mysema/query/animal/Animal.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/animal/AnimalTest.java b/querydsl-collections/src/test/java/com/mysema/query/animal/AnimalTest.java index c0ce18cfa..d38061305 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/animal/AnimalTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/animal/AnimalTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.animal; import static org.junit.Assert.assertEquals; diff --git a/querydsl-collections/src/test/java/com/mysema/query/animal/Cat.java b/querydsl-collections/src/test/java/com/mysema/query/animal/Cat.java index 6e2a6b894..1e6d4d940 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/animal/Cat.java +++ b/querydsl-collections/src/test/java/com/mysema/query/animal/Cat.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/animal/CatTest.java b/querydsl-collections/src/test/java/com/mysema/query/animal/CatTest.java index 4b9a310e0..bba81701a 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/animal/CatTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/animal/CatTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.animal; import static org.junit.Assert.assertTrue; diff --git a/querydsl-collections/src/test/java/com/mysema/query/animal/Color.java b/querydsl-collections/src/test/java/com/mysema/query/animal/Color.java index ae07532b6..9672bf0b8 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/animal/Color.java +++ b/querydsl-collections/src/test/java/com/mysema/query/animal/Color.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/animal/TypeCastTest.java b/querydsl-collections/src/test/java/com/mysema/query/animal/TypeCastTest.java index 831d4451d..2747f0402 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/animal/TypeCastTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/animal/TypeCastTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.animal; import static org.junit.Assert.assertEquals; diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractIteratorTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractIteratorTest.java index 7dc1bfea0..3999c7888 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractIteratorTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractIteratorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractQueryTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractQueryTest.java index ccb3f4904..c0b2b91f1 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractQueryTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/AbstractQueryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/AliasTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/AliasTest.java index fc270efae..b2065676a 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/AliasTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/AliasTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryPatternsTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryPatternsTest.java index 22bcf0b4a..0fb0a4ea6 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryPatternsTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryPatternsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryTest.java index df7fac201..df91c745c 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/ColQueryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/ConstructorTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/ConstructorTest.java index e8aa461ef..1d2aaff5a 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/ConstructorTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/ConstructorTest.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.collections; import org.junit.Test; diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/DistinctTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/DistinctTest.java index 01f355997..358cb11ac 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/DistinctTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/DistinctTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/LimitingIteratorTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/LimitingIteratorTest.java index 776660919..96e24a0b7 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/LimitingIteratorTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/LimitingIteratorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/MathFunctionTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/MathFunctionTest.java index 9e327d9c8..56fe8e073 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/MathFunctionTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/MathFunctionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/MultiIteratorTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/MultiIteratorTest.java index 553a57c29..f22002881 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/MultiIteratorTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/MultiIteratorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/OrderTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/OrderTest.java index 61c241127..ee00fec15 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/OrderTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/OrderTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/PagingTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/PagingTest.java index e4e77e57a..8ab5b0261 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/PagingTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/PagingTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/StringHandlingTest.java b/querydsl-collections/src/test/java/com/mysema/query/collections/StringHandlingTest.java index caae2013a..c8e024ae0 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/StringHandlingTest.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/StringHandlingTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Mysema Ltd. + * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ diff --git a/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalk.java b/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalk.java new file mode 100644 index 000000000..9f828e3cd --- /dev/null +++ b/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalk.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ +package com.mysema.query.file; + +import java.io.File; +import java.util.Iterator; + +/** + * @author tiwe + * + */ +public class DirectoryWalk implements Iterable{ + + private final File directory; + + public DirectoryWalk(String path) { + this.directory = new File(path); + } + + public DirectoryWalk(File directory) { + this.directory = directory; + } + + @Override + public Iterator iterator() { + return new DirectoryWalkIterator(directory); + } + +} diff --git a/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalkIterator.java b/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalkIterator.java new file mode 100644 index 000000000..72d07d4bf --- /dev/null +++ b/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalkIterator.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ +package com.mysema.query.file; + +import java.io.File; +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.Iterator; +import java.util.NoSuchElementException; + +/** + * @author tiwe + * + */ +public class DirectoryWalkIterator implements Iterator { + + private final Deque files = new ArrayDeque(); + + public DirectoryWalkIterator(File directory) { + File[] children = directory.listFiles(); + if (children != null){ + for (File file : children){ + files.add(file); + } + } + } + + @Override + public boolean hasNext() { + return !files.isEmpty(); + } + + @Override + public File next() { + if (!files.isEmpty()){ + File file = files.pop(); + File[] children = file.listFiles(); + if (children != null){ + for (File child : children){ + files.add(child); + } + } + return file; + }else{ + throw new NoSuchElementException(); + } + } + + @Override + public void remove() { + throw new UnsupportedOperationException(); + } + +} diff --git a/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalkTest.java b/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalkTest.java new file mode 100644 index 000000000..72251415a --- /dev/null +++ b/querydsl-collections/src/test/java/com/mysema/query/file/DirectoryWalkTest.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ +package com.mysema.query.file; + +import java.io.File; + +import org.junit.Test; + +public class DirectoryWalkTest { + + @Test + public void test(){ + DirectoryWalk walk = new DirectoryWalk(new File("target")); + for (File file : walk){ + System.out.println(file.getPath()); + } + } + +} diff --git a/querydsl-collections/src/test/java/com/mysema/query/file/FileTest.java b/querydsl-collections/src/test/java/com/mysema/query/file/FileTest.java deleted file mode 100644 index ccb0dd576..000000000 --- a/querydsl-collections/src/test/java/com/mysema/query/file/FileTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.mysema.query.file; - -import java.io.File; -import java.util.Map; - -import org.junit.Test; - -import com.mysema.query.collections.MiniApi; - -public class FileTest { - - @Test - public void path_to_file_map(){ - Map files = MiniApi - .from(QFile.any, new File(".").listFiles()) - .map(QFile.any.absolutePath, QFile.any); - - for (Map.Entry entry : files.entrySet()){ - System.out.println(entry.getKey() + " : " + entry.getValue()); - } - } -} diff --git a/querydsl-collections/src/test/java/com/mysema/query/file/QFile.java b/querydsl-collections/src/test/java/com/mysema/query/file/QFile.java index ef775cb6e..b3da11eac 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/file/QFile.java +++ b/querydsl-collections/src/test/java/com/mysema/query/file/QFile.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ package com.mysema.query.file; import static com.mysema.query.types.path.PathMetadataFactory.forProperty; @@ -6,6 +11,9 @@ import static com.mysema.query.types.path.PathMetadataFactory.forVariable; import java.io.File; import com.mysema.query.types.PathMetadata; +import com.mysema.query.types.custom.CString; +import com.mysema.query.types.expr.EString; +import com.mysema.query.types.expr.EStringConst; import com.mysema.query.types.path.PBoolean; import com.mysema.query.types.path.PComparable; import com.mysema.query.types.path.PString; @@ -16,10 +24,16 @@ import com.mysema.query.types.path.PString; */ public class QFile extends PComparable{ + private static final long serialVersionUID = -7703329992523284173L; + + private static final String GET_CONTENT = "org.apache.commons.io.FileUtils.readFileToString({0}, {1})"; + public static final QFile any = new QFile("any"); - private static final long serialVersionUID = -7703329992523284173L; - + public static Iterable walk(File dir){ + return new DirectoryWalk(dir); + } + public final PBoolean absolute = new PBoolean(this, "absolute"); private volatile QFile absoluteFile, canonicalFile, parentFile; @@ -66,6 +80,10 @@ public class QFile extends PComparable{ return canonicalFile; } + public EString getContent(String encoding){ + return CString.create(GET_CONTENT, this, EStringConst.create(encoding)); + } + public QFile parentFile() { if (parentFile == null){ parentFile = new QFile(this, "parentFile"); diff --git a/querydsl-collections/src/test/java/com/mysema/query/file/QFileTest.java b/querydsl-collections/src/test/java/com/mysema/query/file/QFileTest.java new file mode 100644 index 000000000..d7c3a1535 --- /dev/null +++ b/querydsl-collections/src/test/java/com/mysema/query/file/QFileTest.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2010 Mysema Ltd. + * All rights reserved. + * + */ +package com.mysema.query.file; + +import java.io.File; +import java.util.Map; + +import org.junit.Ignore; +import org.junit.Test; + +import com.mysema.query.collections.MiniApi; + +public class QFileTest { + + @Test + public void path_to_file_map(){ + QFile anyFile = QFile.any; + Map files = MiniApi + .from(anyFile, new File(".").listFiles()) + .map(anyFile.absolutePath, anyFile); + + for (Map.Entry entry : files.entrySet()){ + System.out.println(entry.getKey() + " : " + entry.getValue()); + } + } + + @Test + public void walk(){ + QFile anyFile = QFile.any; + for (File file : MiniApi + .from(anyFile, QFile.walk(new File("target"))) + .where(anyFile.name.endsWith(".class")) + .list(anyFile)){ + System.out.println(file.getName()); + } + } + + @Test + @Ignore + public void getContent(){ + // FIXME + QFile anyFile = QFile.any; + Map rv = MiniApi + .from(anyFile, QFile.walk(new File("src/test"))) + .where(anyFile.name.endsWith(".properties")) + .map(anyFile, anyFile.getContent("ISO-8859-1")); + System.out.println(rv); + } +}