lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Herbert (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-2423) NullPointerException when attemping to add a new document to an instance of IndexWriter
Date Fri, 30 Apr 2010 14:35:53 GMT

    [ 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message