[jdom-interest] jdom2 migration issue

Rolf Lear jdom at tuis.net
Mon Aug 20 12:02:04 PDT 2012


Right, then the next thing to do is to worry about the protected variable
'document'.

In your code you have protected org.jdom2.Document document;

I had assumed that this was the same variable as the one in the line:

    document = builder.build(dmFile);

But, now I am not so sure.... perhaps in this case the document in the
build line is some other document variable with the same name from a super
class or something.

So, what happens if you replace the build line:

    document = builder.build(dmFile);

with:

    final org.jdom2.Document mydoc = builder.build(dmFile);
    document = mydoc;

Rolf


On Mon, 20 Aug 2012 12:51:33 -0600, "Craig Christophersen"
<craigch at synesis7.com> wrote:
> In the open type window it does show another project in eclipse with
> "org.jdom.Document".  But it is another project that I will migrate also
> once I get it working in this project.  The other project is not
referenced
> by the current project.
> 
> There are 8 classes in the project that use jdom.  Below is a typical
> import:
> 
> import java.io.*;
> import java.util.*;
> import java.util.regex.Pattern;
> 
> import org.jdom2.*;
> import org.jdom2.filter.ElementFilter;
> import org.jdom2.input.SAXBuilder;
> 
> And another class imports:
> 
> import java.io.*;
> import java.util.*;
> import java.io.File.*;
> import java.io.IOException;
> import java.util.concurrent.ConcurrentLinkedQueue;
> 
> import javax.xml.parsers.DocumentBuilder;
> import javax.xml.parsers.DocumentBuilderFactory;
> import javax.xml.parsers.ParserConfigurationException;
> 
> import org.jaxen.JaxenException;
> 
> import org.jdom2.output.*;
> import org.jdom2.*;
> import org.jdom2.filter.ElementFilter;
> import org.jdom2.filter.ContentFilter;
> import org.jdom2.input.*;
> import org.jdom2.xpath.*;
> 
> -----Original Message-----
> From: Rolf Lear [mailto:jdom at tuis.net] 
> Sent: Monday, August 20, 2012 12:25 PM
> To: Craig Christophersen; Jdom interest
> Subject: RE: [jdom-interest] jdom2 migration issue
> 
> 
> In eclipse, edit your file, then type shift-ctrl-T
> Then type org.jdom.Document
> 
> In the box below, you have all the locations of jdom 1.x Documents.
> 
> As a double-check, can you copy/paste the entire import section in your
> class.... I am convinced there must be an import from org.jdom.* or
> something.
> 
> P.S. when you reply, do a reply-all, and I will get your answer
> faster.....
> 
> Rolf
> 
> 
> On Mon, 20 Aug 2012 12:18:29 -0600, "Craig Christophersen"
> <craigch at synesis7.com> wrote:
>> Hello Rolf; Thank you for your reply.  I have again looked thru stuff
> and
>> found no old jdom.  Are there known jars(I use several apache) that
> would 
>> include jdom classes???  I am using eclipse.
>> 
>> 
>> -----Original Message-----
>> From: Rolf Lear [mailto:jdom at tuis.net] 
>> Sent: Monday, August 20, 2012 11:35 AM
>> To: Craig Christophersen
>> Cc: jdom-interest at jdom.org
>> Subject: Re: [jdom-interest] jdom2 migration issue
>> 
>> 
>> Hi Craig.
>> 
>> There must be some other imports from the org.jdom package (as well as
>> org.jdom2....).
>> 
>> The error message you are getting would be impossible unless you have
>> those imports.
>> 
>> Something is wrong in your imports.... and your build path must have
> some
>> old JDOM classes from places other than just the old JDOM jar.
>> 
>> Finally, it is normal in GUI-type development tools, (eclipse,
IntelliJ,
>> etc) to exclude the package on field names.... i.e. the line:
>> 
>>     protected org.jdom2.Document document;
>> 
>> would not normally be created by Eclipse/IntelliJ unless your class was
>> already using the org.jdom.Document version somewhere. You should
> probably
>> replace the line with:
>> 
>>     protected Document document;
>> 
>> and ensure that you can import Document from org.jdom2 with
>> 
>>     import org.jdom2.Document;
>> 
>> Bottom line is that you still have old JDOM classes in your build path,
>> and the copde you have shown us us using *both* Document versions
>> (org.jdom, as well as org.jdom2).
>> 
>> Rolf
>> 
>> 
>> 
>> 
>> 
>> On Mon, 20 Aug 2012 09:58:15 -0600, "Craig Christophersen"
>> <craigch at synesis7.com> wrote:
>>> Hello;
>>> 
>>> I have been trying to migrate to Jdom2 in an application.  I have
>> followed
>>> the migration guide but get a type mismatch error.
>>> 
>>> Snippit below:
>>> 
>>>    protected org.jdom2.Document document;
>>> 
>>>  
>>> 
>>>     private String str = null;
>>> 
>>>     private String dmString = "";
>>> 
>>>     String f = "f";
>>> 
>>>     String t = "t";
>>> 
>>>     protected DocType dt;
>>> 
>>>     /**
>>> 
>>>      * Read the specified File and parse it to create a JDOM tree
>>> 
>>>      **/
>>> 
>>>     public ReadDmFile(File dmFile)// throws IOException, JDOMException

>>> {
>>> 
>>>     {
>>> 
>>>         System.out.println("File in ReadDm X: " + dmFile);
>>> 
>>>        
>>> 
>>>         try {
>>> 
>>>         SAXBuilder builder =
>>> 
>>>             new SAXBuilder(); //"org.apache.xerces.parsers.SAXParser"
>>> 
>>>       
>>> 
>>>         // Parse the specified file and convert it to a JDOM document
>>> 
>>>         builder.setIgnoringElementContentWhitespace(true);
>>> 
>>>         document = builder.build(dmFile);
>>> 
>>>  
>>> 
>>>  
>>> 
>>>  
>>> 
>>> On last line I get "Type mismatch: cannot convert from
>> org.jdom2.Document
>>> to
>>> org.jdom.Document"
>>> 
>>> The old jdom jar is removed from this project.
>>> 
>>> Any help would be appreciated.
>>> 
>>>  
>>> 
>>> Thanks,
>>> 
>>>  
>>> 
>>>  
>>> 
>>> Craig Christophersen
>>> 
>>> Software Developer
>>> 
>>> Synesis7
>>> 
>>> craigch at synesis7.com


More information about the jdom-interest mailing list