the explanation is to be found here:
http://jakarta.apache.org/commons/betwixt/tasks.html
multi-mapping has been added since the 0.6 build was taken. the next
betwixt release will be 0.6.1 (which is why the current CVS version is
numbered 0.6.1-dev) and will include new features such as
multi-mapping.
so, you'll need to roll your own version from CVS HEAD (you can use
something like cvsgrab if you cannot use CVS) or use a recent nightly.
if you really need to use a released version, then it's probably worth
petitioning for a new release including the new features...
- robert
On 27 Oct 2004, at 18:45, JonTom Kittredge wrote:
> Robert, Thank you for the reply. I appreciate the help. Unfortunately,
> I'm still very confused.
>
> I tried reducing my code to the simplest possible test case (code at
> bottom of the message) and I compiled with the -classpath set to
> smallest possible set of jars (commons-betwixt-0.6.jar,
> commons-digester-1.6.jar, and xalan-2_6_0.jar), but I still got the
> same compile error. (Just to be extra sure, I used jar to examine the
> contents of these three jars, but found BeanReader only in the betwixt
> jar.)
>
> I tried it both with the jar included in the binary
> commons-betwixt-0.6 down load and in the source
> commons-betwixt-0.6-src that I downloaded and compiled myself. When I
> look at the BeanReader.java file included in that download, I see only
> two versions of the registerBeanClass() method, without the one that
> takes a InputSource.
>
> I get even more confused when I look at the Javadoc on the Betwixt web
> site.
>
> If I look at the Javadoc found at
> http://jakarta.apache.org/commons/betwixt/apidocs/index.html (I got
> there follow the "Javadoc" link on the left-hand navbar at the
> top-level of the site),
> the package list displayed is titled "Betwixt 0.6.1-dev API"
>
> There I find these three versions of the BeanReader.registerBeanClass()
> method:
> void registerBeanClass(java.lang.Class beanClass)
> Register a bean class and add mapping rules for this bean class.
>
> void registerBeanClass(org.xml.sax.InputSource mapping,
> java.lang.Class beanClass)
> Registers a class with a custom mapping.
>
> void registerBeanClass(java.lang.String path, java.lang.Class
> beanClass)
> Registers a bean class and add mapping rules for this bean class
> at the given path expression.
>
>
> *However*, in the Javadoc found at
> http://jakarta.apache.org/commons/betwixt/betwixt-0.6/apidocs/
> index.html
> (I got there following the "Release Documentation"->"0.6" link on the
> top-lvel Betwixt web site, and *then* clicking on "Javadoc")
> the package list that is displayed is titled "Betwixt 0.6 API".
>
> In that Javadoc, there only two versions of the
> BeanReader.registerBeanClass() method:
>
> void registerBeanClass(java.lang.Class beanClass)
> Register a bean class and add mapping rules for this bean class.
>
> void registerBeanClass(java.lang.String path, java.lang.Class
> beanClass)
> Registers a bean class and add mapping rules for this bean
> class at the given path expression.
>
> It's starting to look to me like the Betwixt 0.6 available for
> download is earlier version of 0.6 that doesn't support custom
> dot-betwixt documents and multi-mapping.
>
> Or am I completely missing it? Thanks for any help you can give.
>
> Yours, JonTom
>
> JT Kittredge
> ITA Software, Inc.
> Cambridge, Massachusetts
>
>
>
> On 2004-10-25 at 22:35, robert burrell donkin wrote:
>> looks like a dependency issue.
>>
>> i suspect that there's an old betwixt jar in your runtime classpath
>> (that isn't in you compile classpath). it's just possible that (since
>> you look like you're using bytecode enhancement) that some of your
>> code
>> is old and needs to be cleanly recompiled.
>>
>> - robert
>>
>> On 22 Oct 2004, at 21:52, JonTom Kittredge wrote:
>>
>>> I am using Betwixt-0.6, which I downloaded last week.
>>> I was trying to use the "Custom Dot Betwixt Documents" feature, as
>>> described in the "Binding Beans" feature of the User Guide.
>>>
>>> I'm trying to imitate the following example:
>>>
>>> String contractSetBetwixt =
>>> ("<?xml version='1.0' encoding='UTF-8' ?>" +
>>> "<info primitiveTypes=\"attribute\">" +
>>> " <element name=\"dbq:ContractSet\">" +
>>> " <element name=\"dbq:Contract\"
>>> property=\"contracts\"/>" +
>>> " <addDefaults/>" +
>>> " </element>" +
>>> "</info>");
>>> beanReader.registerBeanClass(new InputSource(new
>>> StringReader(contractSetBetwixt)),
>>> DBQContractSet.class);
>>>
>>> When I tried to compile the code, however, I got this error:
>>> com/itasoftware/rfd/hibernate/DBQContractStoreHIB.java:153: cannot
>>> resolve symbol
>>> nsymbol : method registerBeanClass
>>> (org.xml.sax.InputSource,java.lang.Class)
>>> location: class org.apache.commons.betwixt.io.BeanReader
>>> beanReader.registerBeanClass(new InputSource(new
>>> StringReader(contractSetBetwixt)),
>>>
>>> When I look at the Java Doc, the method is definitely there:
>>>
>>> void registerBeanClass(org.xml.sax.InputSource mapping,
>>> java.lang.Class beanClass)
>>> Registers a class with a custom mapping.
>>>
>>> But when I look at the source for BeanReader.java, the method isn't
>>> there!
>>>
>>> What gives?
>>>
>>> Yours, JonTom
>>>
>>> JT Kittredge
>>> ITA Software, Inc.
>>> Cambridge, Massachusetts
>
> import java.beans.*;
> import java.io.*;
> import java.text.*;
> import java.util.*;
>
> import org.apache.commons.betwixt.*;
> import org.apache.commons.betwixt.io.*;
> import org.xml.sax.*;
>
> public abstract class BetwixtTest
> {
>
> public static BeanReader newBeanReader()
> throws IOException, IntrospectionException
> {
> BeanReader bReader = new BeanReader();
>
> String testSetBetwixt =
> ("<?xml version='1.0'?>\n" +
> "<info>\n" +
> " <element name=\"TestSet\">\n" +
> " <addDefaults/>\n" +
> " </element>\n" +
> "</info>\n");
> bReader.registerBeanClass(new InputSource(new
> StringReader(testSetBetwixt)), TestSet.class);
> //bReader.registerBeanClass("TestSet", TestSet.class);
>
> return bReader;
> }
>
> public class TestSet
> {
> public TestSet() {
> mSetObject = new TreeSet();
> }
>
> public Iterator getObjects() {
> return mSetObject.iterator();
> }
> public void addObject(Object object)
> {
> mSetObject.add(object);
> }
>
> public String toString() {
> return ("<TestSet: " + mSetObject.size() + "/>");
> }
>
> private Set mSetObject;
> }
>
> }
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
|