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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to