From: Demian K. <dem...@vi...> - 2012-04-06 12:18:40
|
Could you show the code where authorField is populated? Is it possible that in this case, the variable is either a Set or null? - Demian ________________________________________ From: Ronan McHugh [rm...@nl...] Sent: Thursday, April 05, 2012 11:54 AM To: vuf...@li... Subject: [VuFind-Tech] Problems using Marc4J DataField methods Hi All, I've been working on a custom beanshell script and am having some problems with the Marc4J end of it. For whatever reason, the datafield methods I'm calling are throwing errors of "Method not found". Here is the relevant code extract: while (authorField.hasSubfield('e')){ authorRoles.add(authorField.getSubfield('e').getData()); } Caused by: Error in method invocation: Method hasSubfield( char ) not found in class'org.marc4j.marc.impl.DataFieldImpl' : at Line: 48 : in file: inline evaluation of: ``import org.marc4j.marc.Record; import org.marc4j.marc.DataField; import org.solr . . . '' : authorField.hasSubfield ( 'e' ) So it is recognising authorField as a DataField, but does not think hasSubfield() is a valid method. However, according to the docs: http://marc4j.tigris.org/doc/apidoc/org/marc4j/marc/DataField.html#hasSu bfield%28char%29 hasSubfield public boolean hasSubfield(char code) Returns true if there is a subfield with the given identifier. Parameters: code - the data element identifier Returns: true if the data element exists, false if not So something funny is going on. My best guess is that hasSubfield belongs to a later version of Marc4J than we're using here in Vufind, but I'm not sure if that's true or not. Does anyone have a suggestion? Cheers, Ronan McHugh National Library of Ireland The contents of this e-mail (including attachments) are private and confidential and may also be subject to legal privilege. It is intended only for the use of the addressee. If you are not the addressee, or the person responsible for delivering it to the addressee, you may not copy or deliver this e-mail or any attachments to anyone else or make any use of its contents; you should not read any part of this e-mail or any attachments. Unauthorised disclosure or communication or other use of the contents of this e-mail or any part thereof may be prohibited by law and may constitute a criminal offence. If you receive this e-mail by mistake please notify the system manager @ 6030219. T? an r?omhphost seo (agus aon iat?n a ghabhann leis) pr?obh?ideach agus r?nda agus d\'fh?adadh s? a bheith ina chion coiri?il. M? bhfuair t? an r?omhphost seo tr? earr?id, dean teagmh?il le bainisteoir an ch?rais @6030219 |