The array constructor patch has been merged with master. Riyafa, Please rebase/merge your branch with master. You will also find an example test query Christina set up. You can use this as starting point to add your object query tests.
Thanks, Preston On Thu, Jun 9, 2016 at 7:23 PM, Christina Pavlopoulou <[email protected]> wrote: > Hi, > > I made some further changes to the array runtime constructor and I added > some test cases for it [1]. I, also, added a framework for Riyafa's test > cases for the object. The test cases that I added consist of the following 4 > cases: > > 1. an array with a single item > 2. an array with a sequence of items > 3. an array with nested arrays > 4. an empty array > > All the tests run and print the correct results. > > [1] https://github.com/apache/vxquery/pull/54 > > Thank you, > Christina > > On 06/09/2016 07:25 AM, Till Westmann wrote: >> >> Hi, >> >> I’ve also just added a few comments here. >> >> Cheers, >> Till >> >> On 8 Jun 2016, at 21:20, Christina Pavlopoulou wrote: >> >>> Hello, >>> >>> I implemented the array runtime constructor and the printer and it looks >>> to print correctly. The code is here [1] >>> >>> [1] https://github.com/apache/vxquery/pull/52 >>> >>> Thank you, >>> Christina >>> >>> On 06/07/2016 05:05 PM, Till Westmann wrote: >>>> >>>> Hi Riyafa, >>>> >>>> this looks very good! >>>> I’ve added a few comments on improvements and generalizations, but we >>>> are >>>> mostly there. >>>> Once you've addressed my comments we should also be able to use >>>> constructors >>>> like >>>> >>>> { "a": xs:date("2016-06-07"), "b": 2 } >>>> >>>> Wrt the test, I think that we should create a new test catalog similar >>>> to >>>> >>>> ./vxquery-xtest/src/test/resources/VXQueryCatalog.xml >>>> >>>> with tests for JSONiq. I don't remember of the top of my head what is >>>> needed >>>> to do that, but maybe you can find out by looking at it (or somebody >>>> else on >>>> the list could provide some more guidance :) ). >>>> >>>> Cheers, >>>> Till >>>> >>>> On 6 Jun 2016, at 13:14, Riyafa Abdul Hameed wrote: >>>> >>>>> Hi, >>>>> >>>>> Thanks Till. I have implemented the runtime for objects[1], but I am >>>>> not >>>>> sure of the implementation though it is working and the Object is >>>>> printed >>>>> in the console from the XMLSerializer class. I think this >>>>> implementation >>>>> needs improvements and testing. I would like to know how/where to write >>>>> test classes for the implementation. Also please let me know if the >>>>> implementation is correct. >>>>> >>>>> [1] https://github.com/apache/vxquery/pull/51 >>>>> >>>>> Thank you. >>>>> >>>>> Yours sincerely, >>>>> Riyafa >>>>> >>>>> On 3 June 2016 at 03:43, Till Westmann <[email protected]> wrote: >>>>> >>>>>> Hi Riyafa, >>>>>> >>>>>> I think that the sample that I pointed you to might not have been the >>>>>> best >>>>>> one as it depends on methods that are available in superclasses that >>>>>> do >>>>>> common work for the node constructors. >>>>>> >>>>>> The top level contract for the evaluators is IScalarEvaluator and that >>>>>> only >>>>>> has one method >>>>>> >>>>>> void evaluate(IFrameTupleReference tuple, IPointable result) >>>>>> >>>>>> which takes in a IFrameTupleReference (that provides a value for each >>>>>> variable in the tuple) and an IPointable that should point to the >>>>>> (scalar) >>>>>> result after evaluation. >>>>>> >>>>>> The abstract class AbstractTaggedValueArgumentScalarEvaluator factors >>>>>> out >>>>>> some common code for the common pattern that most of our evaluators >>>>>> follow: >>>>>> 1) pass n IScalarEvaluator to the constructor >>>>>> 2) evaluate each of those (argument) scalar evaluators on each >>>>>> IFrameTupleReference that is passed to an evaluate call to get n >>>>>> result >>>>>> values for each tuple >>>>>> 3) pass those n values (stored in a TaggedValuePointable array) on to >>>>>> a >>>>>> simpler evaluate-method that is declared in >>>>>> AbstractTaggedValueArgumentScalarEvaluator and implemented in the >>>>>> subclasses. >>>>>> >>>>>> The AbstractNodeConstructorScalarEvaluator then refines this even more >>>>>> for >>>>>> nodes, but I think that that's not helpful for our object (or array) >>>>>> constructors as we e.g. don't consider using dictionaries for those >>>>>> for >>>>>> now. >>>>>> >>>>>> Does this help/make sense? >>>>>> >>>>>> Cheers, >>>>>> Till >>>>>> >>>>>> On 2 Jun 2016, at 7:22, Riyafa Abdul Hameed wrote: >>>>>> >>>>>>> Hi again, >>>>>>> >>>>>>> Sorry about my ignorance. On attempting to implement the >>>>>>> ObjectNodeConstructorScalarEvaluator I have started wondering about >>>>>>> the >>>>>>> arguments passed to the method constructNode--I am not sure how I >>>>>>> could >>>>>>> find out what would be passed as arguments for the method in >>>>>>> ObjectNodeConstructorScalarEvaluator. Can I assume key and value pair >>>>>> >>>>>> would >>>>>>> >>>>>>> be passed as the TaggedValuePointable[] argument? Or where is this >>>>>>> method >>>>>>> used and how can I find out about the arguments? I have also tried >>>>>>> debugging to no avail. Again sorry about the ignorance. I read the >>>>>> >>>>>> paper[1] >>>>>>> >>>>>>> and still couldn't get a grasp of what's happening (I will read again >>>>>>> to >>>>>>> see if I could figure it out) >>>>>>> >>>>>>> [1] http://dl.acm.org/citation.cfm?id=2806941 >>>>>>> >>>>>>> Thank you. >>>>>>> >>>>>>> Yours sincerely, >>>>>>> Riyafa >>>>>>> >>>>>>> On 2 June 2016 at 10:43, Riyafa Abdul Hameed >>>>>>> <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> When attempting to implement runtime operators for Object >>>>>> >>>>>> implementation, >>>>>>>> >>>>>>>> I have come across the following issues: >>>>>>>> >>>>>>>> - Should there be a ConstructorScalarEvaluator for >>>>>>>> PairConstructor? >>>>>>>> - Should I be checking if the keys are unique in the >>>>>>>> ObjectNodeConstructorScalarEvaluator? >>>>>>>> >>>>>>>> >>>>>>>> Thank you. >>>>>>>> >>>>>>>> Yours sincerely, >>>>>>>> >>>>>>>> Riyafa >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Riyafa Abdul Hameed >>>>>>>> Undergraduate, University of Moratuwa >>>>>>>> >>>>>>>> Email: [email protected] >>>>>>>> Website: https://riyafa.wordpress.com/ >>>>>>>> <http://riyafa.wordpress.com/> >>>>>>>> <http://facebook.com/riyafa.ahf> <http://lk.linkedin.com/in/riyafa> >>>>>>>> <http://twitter.com/Riyafa1> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Riyafa Abdul Hameed >>>>>>> Undergraduate, University of Moratuwa >>>>>>> >>>>>>> Email: [email protected] >>>>>>> Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/> >>>>>>> <http://facebook.com/riyafa.ahf> <http://lk.linkedin.com/in/riyafa> >>>>>>> <http://twitter.com/Riyafa1> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Riyafa Abdul Hameed >>>>> Undergraduate, University of Moratuwa >>>>> >>>>> Email: [email protected] >>>>> Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/> >>>>> <http://facebook.com/riyafa.ahf> <http://lk.linkedin.com/in/riyafa> >>>>> <http://twitter.com/Riyafa1> > >
