diff --git a/.classpath b/.classpath
index ff61764..4967d10 100644
--- a/.classpath
+++ b/.classpath
@@ -1,12 +1,8 @@
-
-
-
-
-
-
+
+
diff --git a/dist/doc/thumbnailator.xqm.xml b/dist/doc/thumbnailator.xqm.xml
index 5e353f4..5367beb 100644
--- a/dist/doc/thumbnailator.xqm.xml
+++ b/dist/doc/thumbnailator.xqm.xml
@@ -1,6 +1,6 @@
- 2017-04-29T22:28:45.705+01:00
+ 2017-11-24T23:26:38.524Z
1.1
diff --git a/dist/thumbnailator-6.0.2.xar b/dist/thumbnailator-6.0.2.xar
new file mode 100644
index 0000000..5a757e3
Binary files /dev/null and b/dist/thumbnailator-6.0.2.xar differ
diff --git a/lib/BaseX90-20171123.jar b/lib/BaseX90-20171123.jar
new file mode 100644
index 0000000..a3560cf
Binary files /dev/null and b/lib/BaseX90-20171123.jar differ
diff --git a/makejar.jardesc b/makejar.jardesc
index 76b73bd..1189940 100644
--- a/makejar.jardesc
+++ b/makejar.jardesc
@@ -1,6 +1,6 @@
-
+
diff --git a/package.xml b/package.xml
index 904a132..dbffefd 100644
--- a/package.xml
+++ b/package.xml
@@ -49,5 +49,14 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/readme.md b/readme.md
index e65641b..e750f9e 100644
--- a/readme.md
+++ b/readme.md
@@ -1,9 +1,11 @@
# expkg-zone58:image.thumbnailator
An XQuery interface to the image thumbnail generator library
-[thumbnailator](https://github.com/coobird/thumbnailator) for BaseX 8.6.2+.
+[thumbnailator](https://github.com/coobird/thumbnailator) for BaseX 9+.
Features size, scale, caption, rotate, flip, colorize, watermark. More details at [doc](doc/readme.md)
+## Versions
+* For Basex 9+ use thumbnailator 6.0.2+
## Usage
@@ -61,7 +63,7 @@ the thumbnailator jar included. See [releases](../../releases) for installation
## License
-* ex-thumbnailator Copyright (c) 2016-2017, Andy Bunce. (Apache 2 License).
+* ex-thumbnailator Copyright (c) 2013-2017, Andy Bunce. (Apache 2 License).
* thumbnailator Copyright (c) Chris Kroells (MIT License).
diff --git a/src/java/org/expkgzone58/image/Thumbs.java b/src/java/org/expkgzone58/image/Thumbs.java
index 6595e7c..81e8a3c 100644
--- a/src/java/org/expkgzone58/image/Thumbs.java
+++ b/src/java/org/expkgzone58/image/Thumbs.java
@@ -18,7 +18,7 @@ import org.basex.io.IOContent;
import org.basex.query.QueryException;
import org.basex.query.QueryModule;
//import org.basex.query.func.fn.FnTrace;
-import org.basex.query.value.item.B64Stream;
+import org.basex.query.value.item.B64Lazy;
import org.basex.query.value.item.Dbl;
import org.basex.query.value.item.Int;
import org.basex.query.value.node.ANode;
@@ -51,7 +51,7 @@ import net.coobird.thumbnailator.filters.ImageFilter;
*/
public class Thumbs extends QueryModule{
- public B64Stream size(final B64Stream inputStream, final int width, final int height)
+ public B64Lazy size(final B64Lazy inputStream, final int width, final int height)
throws IOException, QueryException {
ByteArrayInputStream is = new ByteArrayInputStream(inputStream.binary(null));
ByteArrayOutputStream os = new ByteArrayOutputStream();
@@ -59,10 +59,10 @@ public class Thumbs extends QueryModule{
builder.size(width, height);
StreamThumbnailTask task = new StreamThumbnailTask(builder.build(), is, os);
Thumbnailator.createThumbnail(task);
- return new B64Stream(new IOContent(os.toByteArray()), IOERR_X);
+ return new B64Lazy(new IOContent(os.toByteArray()), IOERR_X);
}
- public B64Stream scale(final B64Stream inputStream,
+ public B64Lazy scale(final B64Lazy inputStream,
final double xscale, final double yscale)
throws IOException, QueryException {
ByteArrayInputStream is = new ByteArrayInputStream(inputStream.binary(null));
@@ -71,17 +71,17 @@ public class Thumbs extends QueryModule{
builder.scale(xscale, yscale);
StreamThumbnailTask task = new StreamThumbnailTask(builder.build(), is, os);
Thumbnailator.createThumbnail(task);
- return new B64Stream(new IOContent(os.toByteArray()), IOERR_X);
+ return new B64Lazy(new IOContent(os.toByteArray()), IOERR_X);
}
- public B64Stream task(final B64Stream inputStream, final ANode thumbnail)
+ public B64Lazy task(final B64Lazy inputStream, final ANode thumbnail)
throws IOException, QueryException {
ByteArrayInputStream is = new ByteArrayInputStream(inputStream.binary(null));
ByteArrayOutputStream os = new ByteArrayOutputStream();
ThumbnailParameter param = fromNode(thumbnail);
StreamThumbnailTask task = new StreamThumbnailTask(param, is, os);
Thumbnailator.createThumbnail(task);
- return new B64Stream(new IOContent(os.toByteArray()), IOERR_X);
+ return new B64Lazy(new IOContent(os.toByteArray()), IOERR_X);
}
// build parameters from XML
diff --git a/src/main/basex.xml b/src/main/basex.xml
index 008a15b..3599837 100644
--- a/src/main/basex.xml
+++ b/src/main/basex.xml
@@ -1,5 +1,5 @@
- thumbhelper-5.0.11.jar
+ thumbhelper-6.0.0.jar
thumbnailator-0.4.8.jar
org.expkgzone58.image.Thumbs
diff --git a/src/main/content/thumbhelper-5.0.11.jar b/src/main/content/thumbhelper-5.0.11.jar
deleted file mode 100644
index a7e9ecd..0000000
Binary files a/src/main/content/thumbhelper-5.0.11.jar and /dev/null differ
diff --git a/src/main/content/thumbhelper-6.0.0.jar b/src/main/content/thumbhelper-6.0.0.jar
new file mode 100644
index 0000000..7a3cabe
Binary files /dev/null and b/src/main/content/thumbhelper-6.0.0.jar differ
diff --git a/src/main/expath-pkg.xml b/src/main/expath-pkg.xml
index e68905a..6f04a83 100644
--- a/src/main/expath-pkg.xml
+++ b/src/main/expath-pkg.xml
@@ -1,8 +1,8 @@
+ abbrev="thumbnailator" version="6.0.2" spec="1.0">
An XQuery interface to thumbnailator the thumbnail generator library.
-
+
expkg-zone58:image.thumbnailator
thumbnailator.xqm
diff --git a/src/test/inset.xq b/src/test/inset.xq
new file mode 100644
index 0000000..87f550e
--- /dev/null
+++ b/src/test/inset.xq
@@ -0,0 +1,37 @@
+(:~
+ :examples of inset use
+:)
+import module namespace t="expkg-zone58:image.thumbnailator";
+
+declare variable $watermark:=local:path("resources\icon.gif");
+declare variable $src:=local:path("resources/A34283.jpg");
+
+declare function local:path($name){
+ file:resolve-path($name,file:base-dir())
+};
+declare function local:save($data as xs:base64Binary,$filename as xs:string)
+{
+ file:write-binary(local:path($filename),$data)
+};
+
+
+let $img:= fetch:binary($src)
+
+let $task:=
+
+
+
+
+ DRAFT
+
+
+ Caption insets = 10
+
+ BOTTOM_LEFT -3
+
+
+
+
+return t:task($img,$task) => local:save("resources/" || "inset.gif")
diff --git a/src/test/resources/inset.gif b/src/test/resources/inset.gif
new file mode 100644
index 0000000..836d67d
Binary files /dev/null and b/src/test/resources/inset.gif differ
diff --git a/tools/buildx.xqm b/tools/buildx.xqm
index 4d88ee1..12b283c 100644
--- a/tools/buildx.xqm
+++ b/tools/buildx.xqm
@@ -32,7 +32,7 @@ declare %updating function write-xqdoc($path,$src,$dest){
case "application/xquery"
return file:write(
fn:resolve-uri($path || ".xml",$dest),
- inspect:xqdoc($url)
+ inspect:xqdoc($url)
)
default
return ()