[ 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