Merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba

Proposed by Cezar Andrei
Status: Superseded
Proposed branch: lp:~zorba-coders/zorba/fread-pdf-trunk
Merge into: lp:zorba
Diff against target: 179 lines (+42/-12)
7 files modified
ChangeLog (+2/-1)
cmake_modules/ZorbaModule.cmake (+26/-1)
include/zorba/item_factory.h (+7/-7)
modules/ExternalModules.conf (+2/-0)
src/store/naive/atomic_items.h (+2/-2)
test/rbkt/modules/CMakeLists.txt (+2/-1)
test/rbkt/modules/ext2_config.txt.in (+1/-0)
To merge this branch: bzr merge lp:~zorba-coders/zorba/fread-pdf-trunk
Reviewer Review Type Date Requested Status
Matthias Brantner Approve
Cezar Andrei Approve
Juan Zacarias Pending
Review via email: mp+126823@code.launchpad.net

This proposal supersedes a proposal from 2012-09-27.

This proposal has been superseded by a proposal from 2012-09-27.

Commit message

Add read-pdf module for getting text and rendered images from pdf documents.
Make doc comments for createBaser64Binary more explicit on what parameters they expect and what they do.
Change, return value to xs_int for getIntValue() method.

Description of the change

Add read-pdf module for getting text and rendered images from pdf documents.
Make doc comments for createBaser64Binary more explicit on what parameters they expect and what they do.
Change, return value to xs_int for getIntValue() method.

To post a comment you must log in.
Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

You changed the URIs of the test modules back to www.zorba-xquery.com, instead of zorba-tests.28msec.us. That will cause test failures. Make sure you've merged from the trunk recently.

review: Needs Fixing
Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

(Other than that the changes look fine)

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

It's up to date now.

review: Approve
Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

You still haven't corrected the URIs of the test modules, though (test/rbkt/modules/CMakeLists.txt).

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Let me add the new module.

review: Needs Fixing
Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

The ref to the new module is in, please review it too: lp:zorba/read-pdf-module at
https://code.launchpad.net/~zorba-coders/zorba/fread-pdf-the-module .

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Back to zorba-tests.28msec.us in test/rbkt/modules/CMakeLists.txt and mention in Changelog.

Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

Great, thanks.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in ChangeLog

Revision history for this message
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal

It looks nice (without being able to testing it ;-)

- The module should follow XQuery coding conventions. For example, no camel-case
but function and variable names using dashes.

- The read-pdf:renderToImages-internal function is not documented. This will probably cause
the xqdoc test to fail.

- There is a conflict in the ChangeLog.

- The schema contains some commented out code => remove?

- The declaration of the $options variable for the -internal functions should not allow for
an optional occurrence indicator.

review: Needs Fixing
Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

I fixed all the comments with the exception of the optional occurrence indicator for internal functions. I tested it with empty sequence and works fine.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Validation queue job fread-pdf-trunk-2012-09-20T03-03-43.261Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 2 Needs Fixing.

Revision history for this message
Paul J. Lucas (paul-lucas) wrote : Posted in a previous version of this proposal

It doesn't look like the fpdf.* files were added via "bzr add" -- were they supposed to be?

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Paul,

If you're asking about my last commit msg, it is as it should be just one line change, by deleting the tag name, it makes trunk use the latest HEAD version of the module branch. The files in util-jvm were already reviewed and merged see this merge: https://code.launchpad.net/~zorba-coders/zorba/fread-pdf-utiljvm-module/+merge/125332 .

The changes in file: modules/ExternalModules.conf'

117 --- modules/ExternalModules.conf 2012-09-17 00:36:37 +0000
118 +++ modules/ExternalModules.conf 2012-09-21 15:25:26 +0000
119 @@ -39,11 +39,12 @@
123 +read-pdf bzr lp:zorba/read-pdf-module
128 -util-jvm bzr lp:zorba/util-jvm-module zorba-2.6
129 +util-jvm bzr lp:zorba/util-jvm-module

Revision history for this message
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal

The module works pretty decent. I was able to extract text or generate images for several pdfs without any problems.
There are some minor things that should be discussed and/or fixed:

- the error seems to be too general, essentially it always raises JAVA-EXCEPTION no matter what goes wrong (e.g. it the given input is not a valid pdf)

- the java stack trace seems to be sent to standard error

- Renders the each page of the PDF document as an image. => Renders each page of the PDF document as an image.

- the names of the private functions should also adhere to the code conventions renderToImages => render-to-images

- make xqdoc failes because the comments seem to contain invalid xml
</home/mbrantner/zorba/build/URI_PATH/com/zorba-xquery/www/modules/project_xqdoc.xq>:142,9: user-defined error [err:UE004]: Error processing module zerr:ZXQD0002 - " This module provides funtionality to read the text from PDF documents and
 to render PDF documents to images.
 <a href="http://pdfbox.apache.org">Apache PDFBox</a> library is used to
 implement these functions.
 <br />
 <br />
 <b>Note:</b> Since this module has a Java library dependency a JVM required
 to be installed on the system. For Windows: jvm.dll is required on the system
 path ( usually located in "C:\Program Files\Java\jre6\bin\client".
 <b>Note:<b> For Debian based Linux distributions install PdfBox and FontBox
 packages: sudo apt-get install libpdfbox-java libfontbox-java
": can not parse as XML for xqdoc: loader parsing error: Opening and ending tag mismatch: b line 0 and root
; raised at /home/mbrantner/zorba/sandbox/src/runtime/errors_and_diagnostics/errors_and_diagnostics_impl.cpp:81

- adapt the year in "Copyright 2006-2009 The FLWOR Foundation." in the .xq file (and some other files also)

- would it make sense to return one string per page in the pdf instead of one big string?

- remove commented out code in read-pdf.cpp

- valgrind shows tons of invalid writes. Why? Are they critical? Is there anything we can do?

- would it make sense to return the images in a streaming fashion (i.e. don't create all base64's in a vector)?

- encoding each image shouldn't be necessary and will probably we wasted effort because the images might be written to a file in their binary form

review: Needs Fixing
Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

See answers inline:
- the error seems to be too general, essentially it always raises JAVA-EXCEPTION no matter what goes wrong (e.g. it the given input is not a valid pdf)
I adapted the error msg to be more clear/specific.

- the java stack trace seems to be sent to standard error
Goes to std err.

- Renders the each page of the PDF document as an image. => Renders each page of the PDF document as an image.
Done.

- the names of the private functions should also adhere to the code conventions renderToImages => render-to-images
Done.

- make xqdoc failes because the comments seem to contain invalid xml
</home/mbrantner/zorba/build/URI_PATH/com/zorba-xquery/www/modules/project_xqdoc.xq>:142,9: user-defined error [err:UE004]: Error processing module zerr:ZXQD0002 - " This module provides funtionality to read the text from PDF documents and
 to render PDF documents to images.
 <a href="http://pdfbox.apache.org">Apache PDFBox</a> library is used to
 implement these functions.
 <br />
 <br />
 <b>Note:</b> Since this module has a Java library dependency a JVM required
 to be installed on the system. For Windows: jvm.dll is required on the system
 path ( usually located in "C:\Program Files\Java\jre6\bin\client".
 <b>Note:<b> For Debian based Linux distributions install PdfBox and FontBox
 packages: sudo apt-get install libpdfbox-java libfontbox-java
": can not parse as XML for xqdoc: loader parsing error: Opening and ending tag mismatch: b line 0 and root
; raised at /home/mbrantner/zorba/sandbox/src/runtime/errors_and_diagnostics/errors_and_diagnostics_impl.cpp:81
Done.

- adapt the year in "Copyright 2006-2009 The FLWOR Foundation." in the .xq file (and some other files also)
Done.

- would it make sense to return one string per page in the pdf instead of one big string?
The API doesn't alow it, but I added two more optional options, to insert a user defined string at the start and end of each page.

- remove commented out code in read-pdf.cpp
Done.

- valgrind shows tons of invalid writes. Why? Are they critical? Is there anything we can do?
Jvm always shows in valgrind, even if nothing is done with it. I was careful to remove any allocated memory.

- would it make sense to return the images in a streaming fashion (i.e. don't create all base64's in a vector)?
No, because it's a push write of all images. And as discussed, optimize only a copy in some cases isn't worth the effort.

- encoding each image shouldn't be necessary and will probably we wasted effort because the images might be written to a file in their binary form
Done.

Revision history for this message
Cezar Andrei (cezar-andrei) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Validation queue job fread-pdf-trunk-2012-09-22T21-29-56.025Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 2 Pending.

Revision history for this message
Matthias Brantner (matthias-brantner) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Validation queue job fread-pdf-trunk-2012-09-25T20-57-55.26Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 2 Approve, 1 Pending.

Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

Cezar - The remote queue is still not finding the jars, although they are installed correctly in /usr/share/java as requested. (This is also probably why the experimental build isn't including the module.) The problem, I believe, is that you are using FIND_FILE() to find them, and you only list a few specific version numbers to find - I installed 1.7.1 from the URL you sent, but that isn't one of the versions listed in CMakeLists.txt in the read-pdf module.

The correct solution is to use ZORBA_FIND_JAR(), which will look for .jar files with any embedded version number. See src/com/zorba-xquery/www/modules/CMakeLists.txt in the data-formatting module for an example. If you make that change in the module, this merge proposal should succeed.

Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

I have re-assigned my review request to Juan, since I will not be around much longer to vote on this proposal.

Juan, all you need to review is the CMake stuff in the lp:zorba/read-pdf-module branch, specifically to ensure that it uses FIND_ZORBA_JAR() appropriately. Once Cezar makes that change, you can vote Approve on this proposal.

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

I've modified read-pdf's CMakeLists.txt to use ZORBA_FIND_JAR instead of FIND_FILE.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fread-pdf-trunk-2012-09-25T23-51-47.915Z is finished.
  The final status was:

  No tests were run - build or configure step must have failed.

  Not commiting changes.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

The read-pdf module was found and built with this latest RQ run.

However, it has no tests. I personally don't think that's acceptable, even for a beta release.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fread-pdf-trunk-2012-09-26T04-11-47.786Z is finished.
  The final status was:

  1 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

Error message from failed test:

</home/ceej/zo/testing/zorbatest/tester/remotequeue/fread-pdf-trunk-2012-09-26T04-11-47.786Z/bzr/zorba/build/URI_PATH/com/zorba-xquery/www/modules/read-pdf_0.xq>:127,18: Zorba error [zerr:ZXQP0008]: "{http://www.zorba-xquery.com/modules/read-pdf}extract-text-internal#2": function implementation not found

Remember that the RQ runs in release mode.

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

I added texts for all functions.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in ChangeLog

Revision history for this message
Cezar Andrei (cezar-andrei) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fread-pdf-trunk-2012-09-26T23-05-52.544Z is finished.
  The final status was:

  13 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fread-pdf-trunk-2012-09-27T01-51-44.419Z is finished.
  The final status was:

  7 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

It's strange that a few tests where failing because pdfbox was trying to use lob4j. The website clearly says it depends on commons-logging which can use log4j if available but fall down to java's default logging api.

I added explicit checks for jempbox and commons-lib to read-pdf module. And also added them to classpath.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in ChangeLog

Revision history for this message
Cezar Andrei (cezar-andrei) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fread-pdf-trunk-2012-09-27T19-32-56.467Z is finished.
  The final status was:

  7 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Fixed fonts on build box and changed tests to be machine independent.

review: Approve
Revision history for this message
Matthias Brantner (matthias-brantner) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in modules/ExternalModules.conf

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Merged and solved conflict.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in modules/ExternalModules.conf

Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

Merged and solved conflict.

review: Approve
Revision history for this message
Matthias Brantner (matthias-brantner) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
10958. By Cezar Andrei <email address hidden>

Add tag to read-pdf module.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 2 Approve, 1 Pending.

10959. By Cezar Andrei <email address hidden>

Merge from trunk, resolve Changelog conflict.

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ChangeLog'
2--- ChangeLog 2012-09-27 22:25:40 +0000
3+++ ChangeLog 2012-09-27 23:23:22 +0000
4@@ -17,10 +17,11 @@
5 * Recognize the {http://www.zorba-xquery.com/extensions}no-copy pragma to avoid
6 copying nodes before insertion into a collection.
7 * Recognize the no-copy pragma to avoid copying nodes before insertion into a collection.
8- * Added createUntypedAtomic to API's ItemFactory.
9+ * Added createUntypedAtomic to API's ItemFactory.
10 * new xqDoc feature; reporting collections and indexes
11 * new xqDoc function parameter to enable/disable xqDoc generation of
12 certain components
13+ * Adding new external module read-pdf, it converts PDF documents to text or rendered images.
14
15 Optimizations:
16 * Improved memory management for compiler expressions (no more ref counting)
17
18=== modified file 'cmake_modules/ZorbaModule.cmake'
19--- cmake_modules/ZorbaModule.cmake 2012-09-17 00:36:37 +0000
20+++ cmake_modules/ZorbaModule.cmake 2012-09-27 23:23:22 +0000
21@@ -114,9 +114,20 @@
22 # relative to CMAKE_CURRENT_SOURCE_DIR)
23 # LINK_LIBRARIES - (optional) List of libraries to link external
24 # function library against
25+# CONFIG_FILES - (optional) List of files to configure with package
26+# information; see below
27 # TEST_ONLY - (optional) Module is for testcases only and should not
28 # be installed
29 #
30+# CONFIG_FILES - any files specific here will be copied to
31+# CMAKE_CURRENT_BINARY_DIR using CONFIGURE_FILE(). They may contain
32+# the following @VARIABLES@ which will be substituted:
33+# ZORBA_MODULE_RELATIVE_DIR - directory portion of mangled URI
34+# ZORBA_MODULE_LIBFILE_WE - filename (without extension) portion of
35+# mangled URI
36+# The input files should have a .in extension. The resulting file in
37+# the build directory will have the .in removed.
38+#
39 # QQQ this currently doesn't support modules with multiple component
40 # .xq files. (Neither does Zorba's automatic loading mechanism, so
41 # this probably isn't a huge deal, but worth thinking about.)
42@@ -125,7 +136,7 @@
43 # file enough to deduce the URI and version?
44 MACRO (DECLARE_ZORBA_MODULE)
45 # Parse and validate arguments
46- PARSE_ARGUMENTS(MODULE "LINK_LIBRARIES;EXTRA_SOURCES"
47+ PARSE_ARGUMENTS(MODULE "LINK_LIBRARIES;EXTRA_SOURCES;CONFIG_FILES"
48 "URI;FILE;VERSION" "TEST_ONLY" ${ARGN})
49 IF (NOT MODULE_FILE)
50 MESSAGE (FATAL_ERROR "'FILE' argument is required for ZORBA_DECLARE_MODULE()")
51@@ -353,6 +364,20 @@
52 "${version_infix}" "" 1 "${MODULE_TEST_ONLY}")
53 ENDFOREACH (version_infix)
54
55+ # Configure any module-specified config files.
56+ SET (ZORBA_MODULE_RELATIVE_DIR ${module_path})
57+ SET (ZORBA_MODULE_LIBFILE_WE ${module_filewe})
58+ FOREACH (_config_file ${MODULE_CONFIG_FILES})
59+ # Strip off .in - can't use GET_FILENAME_COMPONENT as it always removes
60+ # the longest possible extension
61+ STRING (REGEX REPLACE "\\.in$" "" _config_filename_we "${_config_file}")
62+ IF (NOT IS_ABSOLUTE "${_config_file}")
63+ SET (_config_file "${CMAKE_CURRENT_SOURCE_DIR}/${_config_file}")
64+ ENDIF (NOT IS_ABSOLUTE "${_config_file}")
65+ CONFIGURE_FILE (${_config_file}
66+ "${CMAKE_CURRENT_BINARY_DIR}/${_config_filename_we}" @ONLY)
67+ ENDFOREACH (_config_file)
68+
69 # Last but not least, whip up a test case that ensures the module
70 # can at least be compiled. Don't bother for test-only modules
71 # (presumably they're there to be tested!).
72
73=== modified file 'include/zorba/item_factory.h'
74--- include/zorba/item_factory.h 2012-09-26 17:09:11 +0000
75+++ include/zorba/item_factory.h 2012-09-27 23:23:22 +0000
76@@ -123,8 +123,8 @@
77 /** \brief Creates a Base64Binary Item
78 * see [http://www.w3.org/TR/xmlschema-2/#base64Binary]
79 *
80- * @param aBinData a pointer to the base6c4 binary data.
81- * @param aLength the length of the base64 binary data.
82+ * @param aBinData a pointer to the base64 encoded data. The data is copied from aBinData.
83+ * @param aLength the length of the base64 encoded data.
84 * @return The Base64Binary Item.
85 */
86 virtual Item
87@@ -133,7 +133,7 @@
88 /** \brief Creates a Base64Binary Item
89 * see [http://www.w3.org/TR/xmlschema-2/#base64Binary]
90 *
91- * @param aStream A stream containing the Base64 encoded data.
92+ * @param aStream A stream containing the Base64 encoded data. The data is copied from aStream imediately.
93 * @return the Base64Binary Item.
94 */
95 virtual Item
96@@ -142,11 +142,11 @@
97 /** \brief Creates a Base64Binary Item
98 * see [http://www.w3.org/TR/xmlschema-2/#base64Binary]
99 *
100- * @param aBinData the data in binary form. The data is copied from aBinData.
101- * @param aLength the length of the data
102+ * @param aBinData the data in binary form (not encoded). The data is copied from aBinData.
103+ * @param aLength the length of the binary data
104 * @return the Base64Binary Item.
105 */
106- virtual Item
107+ virtual Item
108 createBase64Binary(const unsigned char* aBinData, size_t aLength) = 0;
109
110 /** \brief Creates a streamable Base64Binary Item
111@@ -742,7 +742,7 @@
112 * @param aNames A vector containing the name and value of each pair.
113 */
114 virtual Item createJSONObject(std::vector<std::pair<Item, Item> >& aNames) = 0;
115-
116+
117 /**
118 * Create a JSON Array containing the specified items.
119 *
120
121=== modified file 'modules/ExternalModules.conf'
122--- modules/ExternalModules.conf 2012-09-26 04:47:44 +0000
123+++ modules/ExternalModules.conf 2012-09-27 23:23:22 +0000
124@@ -39,6 +39,7 @@
125 languages bzr lp:zorba/languages-module zorba-2.7
126 oauth bzr lp:zorba/oauth-module zorba-2.7
127 process bzr lp:zorba/process-module zorba-2.7
128+read-pdf bzr lp:zorba/read-pdf-module zorba-2.7
129 security bzr lp:zorba/security-module zorba-2.7
130 system bzr lp:zorba/system-module zorba-2.7
131 xqxq bzr lp:zorba/xqxq-module zorba-2.7
132@@ -47,3 +48,4 @@
133 schema-tools bzr lp:zorba/schema-tools-module zorba-2.7
134 stack bzr lp:zorba/stack-module zorba-2.7
135 queue bzr lp:zorba/queue-module zorba-2.7
136+
137
138=== modified file 'src/store/naive/atomic_items.h'
139--- src/store/naive/atomic_items.h 2012-09-17 00:36:37 +0000
140+++ src/store/naive/atomic_items.h 2012-09-27 23:23:22 +0000
141@@ -1776,7 +1776,7 @@
142 friend class AtomicItem;
143
144 protected:
145- int32_t theValue;
146+ xs_int theValue;
147
148 protected:
149 IntItem(xs_int aValue) : theValue(aValue) {}
150@@ -1792,7 +1792,7 @@
151
152 xs_long getLongValue() const { return static_cast<xs_long>(theValue); }
153
154- int32_t getIntValue() const { return theValue; }
155+ xs_int getIntValue() const { return theValue; }
156
157 store::SchemaTypeCode getTypeCode() const { return store::XS_INT; }
158
159
160=== modified file 'test/rbkt/modules/CMakeLists.txt'
161--- test/rbkt/modules/CMakeLists.txt 2012-09-17 00:36:37 +0000
162+++ test/rbkt/modules/CMakeLists.txt 2012-09-27 23:23:22 +0000
163@@ -27,8 +27,9 @@
164 DECLARE_ZORBA_MODULE(URI "http://zorba-tests.28msec.us/modules/B" VERSION 1.0
165 FILE "${CMAKE_CURRENT_SOURCE_DIR}/module-B.xq" TEST_ONLY)
166
167+# This one also has a CONFIG_FILE
168 DECLARE_ZORBA_MODULE(URI "http://zorba-tests.28msec.us/modules/ext"
169- VERSION 2.0 FILE "ext2.xq" TEST_ONLY)
170+ VERSION 2.0 FILE "ext2.xq" TEST_ONLY CONFIG_FILES ext2_config.txt.in)
171 DECLARE_ZORBA_MODULE(URI "http://zorba-tests.28msec.us/modules/ext"
172 VERSION 1.0 FILE "ext.xq" TEST_ONLY)
173
174
175=== added file 'test/rbkt/modules/ext2_config.txt.in'
176--- test/rbkt/modules/ext2_config.txt.in 1970-01-01 00:00:00 +0000
177+++ test/rbkt/modules/ext2_config.txt.in 2012-09-27 23:23:22 +0000
178@@ -0,0 +1,1 @@
179+This is a test: "@ZORBA_MODULE_RELATIVE_DIR@" "@ZORBA_MODULE_LIBFILE_WE@"

Subscribers

People subscribed via source and target branches