[ 
https://issues.apache.org/jira/browse/LUCENE-2423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862686#action_12862686
 ] 

Bill Herbert commented on LUCENE-2423:
--------------------------------------

The last statement in addConntact(), below, is line #46

public void addContact(Contact contact) throws IOException
    {
        System.out.println("Adding " + contact.getName());
        Document contactDocument  = new Document();
        contactDocument.add(new Field("type", contact.getType(), 
Field.Store.YES, Field.Index.ANALYZED));
        contactDocument.add(new Field("name", contact.getName(), 
Field.Store.YES, Field.Index.ANALYZED));
        contactDocument.add(new Field("address", contact.getAddress(), 
Field.Store.YES, Field.Index.ANALYZED));
        contactDocument.add(new Field("city", contact.getCity(), 
Field.Store.YES, Field.Index.ANALYZED));
        contactDocument.add(new Field("province", contact.getProvince(), 
Field.Store.YES, Field.Index.ANALYZED));
        contactDocument.add(new Field("postalcode", contact.getPostalcode(), 
Field.Store.YES, Field.Index.ANALYZED));
        contactDocument.add(new Field("country", contact.getCountry(), 
Field.Store.YES, Field.Index.ANALYZED));
        contactDocument.add(new Field("telephone", contact.getTelephone(), 
Field.Store.YES, Field.Index.ANALYZED));

        System.out.println("Added Telephone to contactDocument: " + 
contact.getTelephone());
        System.out.println("Printed Telephone from contactDocument: " + 
contactDocument.getFields("telephone"));
        System.out.println("Printed entire contactDocument: " + 
contactDocument.getFields());

        writer.addDocument(contactDocument);   //line #46
    }

If it is any help, here is the code surrounding line #94:

 // set different properties of Contact instance using specified methods
        digester.addCallMethod("address-book/contact/name",       "setName", 0);
        digester.addCallMethod("address-book/contact/address",    "setAddress", 
0);
        digester.addCallMethod("address-book/contact/city",       "setCity", 0);
        digester.addCallMethod("address-book/contact/province",   
"setProvince", 0);
        digester.addCallMethod("address-book/contact/postalcode", 
"setPostalcode", 0);
        digester.addCallMethod("address-book/contact/country",    "setCountry", 
0);
        digester.addCallMethod("address-book/contact/telephone",  
"setTelephone", 0);

        // call 'addContact' method when the next 'address-book/contact' 
pattern is seen
        digester.addSetNext("address-book/contact",               "addContact" 
);  

        // now that rules and actions are configured, start the parsing process
        DigesterMarriesLucene dml = (DigesterMarriesLucene) digester.parse(new 
File(args[0]));   // line #94

        // optimize and close the index
        writer.optimize();
        writer.close();
    } // end of public static void main

Thanks again,  Bill


> NullPointerException when attemping to add a new document to an instance of 
> IndexWriter
> ---------------------------------------------------------------------------------------
>
>                 Key: LUCENE-2423
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2423
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 3.0.1
>         Environment: Windows Vista Home Premium, Lucene version 3.0.1, JRE6, 
> org.apache.commons.digester.Digester, org.apache.lucene.index.IndexWriter 
>            Reporter: Bill Herbert
>             Fix For: 3.0.1
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> I'm attempting to run Listing #4 from "Parsing, Indexing, and Searching XML 
> with Digester and Lucene"  
> <https://www.ibm.com/developerworks/library/j-lucene/> .  Using this code 
> (with minor modifications), I am able to read and parse an XML input file and 
> create a document to be indexed.  However, attempting to index the document 
> with an instance of IndexWriter (using the statement: 
> writer.addDocument(contactDocument);) causes a NullPointerException with the 
> following messages:
> Apr 29, 2010 2:57:32 PM org.apache.commons.digester.Digester endElement
> SEVERE: End event threw exception
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at 
> org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.jav
> a:282)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:217)
>         at org.apache.commons.digester.Rule.end(Rule.java:253)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1332)
>         at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endEleme
> nt(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
> l.scanEndElement(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
> l$FragmentContentDriver.next(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(U
> nknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
> l.scanDocument(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
> nknown Source)
>         at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
> nknown Source)
>         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown 
> So
> urce)
>         at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
> known Source)
>         at 
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.p
> arse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1842)
>         at DigesterMarriesLucene.main(DigesterMarriesLucene.java:94)
> Caused by: java.lang.NullPointerException
>         at DigesterMarriesLucene.addContact(DigesterMarriesLucene.java:46)
>         ... 20 more
> Exception in thread "main" java.lang.NullPointerException
>         at 
> org.apache.commons.digester.Digester.createSAXException(Digester.java
> :3333)
>         at 
> org.apache.commons.digester.Digester.createSAXException(Digester.java
> :3359)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1335)
>         at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endEleme
> nt(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
> l.scanEndElement(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
> l$FragmentContentDriver.next(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(U
> nknown Source)
>         at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
> l.scanDocument(Unknown Source)
>         at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
> nknown Source)
>         at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
> nknown Source)
>         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown 
> So
> urce)
>         at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
> known Source)
>         at 
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.p
> arse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1842)
>         at DigesterMarriesLucene.main(DigesterMarriesLucene.java:94)
> Caused by: java.lang.NullPointerException
>         at DigesterMarriesLucene.addContact(DigesterMarriesLucene.java:46)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at 
> org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.jav
> a:282)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:217)
>         at org.apache.commons.digester.Rule.end(Rule.java:253)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1332)
>         ... 12 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to