[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qexo-general] Exception while using Extensions with 1.7beta2
From: |
Seshukumar Venkata Adiraju |
Subject: |
[Qexo-general] Exception while using Extensions with 1.7beta2 |
Date: |
Mon, 19 May 2003 12:07:48 +0530 |
I needed to implement distinct value of a list of names, for which I'm
using the 1.7beta2 extensions feature. I'm getting a
StackOverflowException
Please find details below,
I wrote a Util class as below
************************************************************************
**********************
public class XQueryExtensionsUtil
{
public static List getDistinctNames(gnu.mapping.Values vals)
{
System.out.println("vals: class:
"+vals.getClass().getName());
TreeSet ts = new TreeSet();
Object [] oArr = vals.toArray();
System.out.println("oArr.length: "+oArr.length);
for (int i=0;i<oArr.length;i++ )
{
Object obj = oArr[i];
String str = obj.toString();
System.out.println("Doint: "+i+" Adding:
"+str);
ts.add(str);
}
System.out.println("Done Returning");
return new Vector(ts);
}
}
************************************************************************
**********************
In the xQuery I have the following code
************************************************************************
*******************
declare namespace ExtUtil =
"uci.Influx.reportingtool.XQueryExtensionsUtil"
define function getDistinctNames($names)
{
let $distnames := list-items(ExtUtil:getDistinctNames($names))
return $distnames
}
define function getNames($books)
{
for $book in $books/book
let $name := string($book/@id)
return $name
}
<books>
{
let $books := document("books.xml")/books
let $names := getNames($books)
let $distnames := getDistinctNames($names)
for $name in $distnames
return
<p>{ $name}</p>
}
</books>
************************************************************************
*******************
In the books.xml is as below
************************************************************************
*******************
<books>
<book id="book1"/>
<book id="book2"/>
<book id="book3"/>
<!-- repeating name -->
<book id="book2"/>
</books>
************************************************************************
*******************
The stack Trace is as below,
Starting log at: Mon May 19 11:34:51 GMT+05:30 2003
java.lang.StackOverflowError
at java.lang.reflect.Field.doSecurityCheck(Field.java:804)
at java.lang.reflect.Field.getFieldAccessor(Field.java:758)
at java.lang.reflect.Field.get(Field.java:228)
at
gnu.kawa.reflect.ClassMemberConstraint.get(ClassMemberConstraint.java:80
)
at gnu.mapping.Symbol.get(Symbol.java:61)
at gnu.expr.Interpreter.getSymbolProcedure(Interpreter.java:651)
at lambda.getDistinctNames$T(Unknown Source)
at lambda.apply(Unknown Source)
at gnu.mapping.CpsMethodProc.apply(CpsMethodProc.java:49)
at gnu.mapping.CallContext.runUntilDone(CallContext.java:258)
at gnu.mapping.CallContext.runUntilValue(CallContext.java:272)
at gnu.mapping.CpsProcedure.applyV(CpsProcedure.java:49)
at gnu.mapping.CpsProcedure.applyN(CpsProcedure.java:25)
at gnu.mapping.ProcedureN.apply1(ProcedureN.java:29)
at lambda.getDistinctNames$T(Unknown Source)
at lambda.apply(Unknown Source)
.............................................................
............................................................
..........................................................
at gnu.mapping.CpsMethodProc.apply(CpsMethodProc.java:49)
at gnu.mapping.CallContext.runUntilDone(CallContext.java:258)
at gnu.mapping.CallContext.runUntilValue(CallContext.java:272)
at gnu.mapping.CpsProcedure.applyV(CpsProcedure.java:49)
at gnu.mapping.CpsProcedure.applyN(CpsProcedure.java:25)
at gnu.mapping.ProcedureN.apply1(ProcedureN.java:29)
at lambda.getDistinctNames$T(Unknown Source)
at lambda.apply(Unknown Source)
Seshu Kumar Adiraju
SETLabs, Infosys Technologies Limited
In all chaos there is a cosmos,
in all disorder a secret order."
-- Carl Jung
-----Original Message-----
From: Per Bothner [mailto:address@hidden
Sent: Saturday, May 17, 2003 6:45 AM
To: Seshukumar Venkata Adiraju
Cc: address@hidden
Subject: Re: [Qexo-general] string function in 1.7 beta1
Seshukumar Venkata Adiraju wrote:
> now (with 1.7)
> string($book/@id) ==> ""
> i.e. empty
>
> Is this a bug?
Well, the following does work in the CVS version:
$ java kawa.repl --xquery
(: 1:) let $book := <book id="book1"/>
(: l2:) return string($book/@id)
book1
(: 3:)
I'm aiming for the second (and last) beta this wekend.
--
--Per Bothner
address@hidden http://per.bothner.com/
- [Qexo-general] Exception while using Extensions with 1.7beta2,
Seshukumar Venkata Adiraju <=