*/ \r
public final static int INFO = 0;\r
\r
- private List errors;\r
+ private List<Error> errors;\r
private String curRecordID;\r
private String curField;\r
private String curSubfield;\r
* \r
* @return List - A list of all of the errors encountered for the current record.\r
*/\r
- public List getErrors()\r
+ public List<Error> getErrors()\r
{\r
if (errors == null || errors.size() == 0) return null; \r
return(errors);\r
{\r
if (errors == null) \r
{\r
- errors = new LinkedList();\r
+ errors = new LinkedList<Error>();\r
hasMissingID = false;\r
}\r
if (id != null && id.equals("unknown")) hasMissingID = true;\r
{\r
if (id != null)\r
{ \r
- Iterator iter = errors.iterator(); \r
+ Iterator<Error> iter = errors.iterator(); \r
while (iter.hasNext())\r
{\r
Error err = (Error)(iter.next());\r
public class MarcException extends RuntimeException {\r
\r
/**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = -7600942667740838717L;\r
+\r
+ /**\r
* Create a new <code>MarcException</code> with no detail mesage.\r
*/\r
public MarcException() {\r
import java.io.InputStream;\r
import java.io.InputStreamReader;\r
import java.io.UnsupportedEncodingException;\r
-import java.util.HashMap;\r
import java.util.Iterator;\r
import java.util.List;\r
import java.util.regex.Matcher;\r
import java.util.regex.Pattern;\r
\r
-import org.marc4j.Constants;\r
-import org.marc4j.MarcException;\r
-import org.marc4j.MarcReader;\r
import org.marc4j.converter.CharConverter;\r
import org.marc4j.converter.impl.AnselToUnicode;\r
import org.marc4j.converter.impl.Iso5426ToUnicode;\r
{\r
input.readFully(recordBuf);\r
}\r
- String tmp = new String(recordBuf);\r
+ //String tmp = new String(recordBuf);\r
parseRecord(record, byteArray, recordBuf, recordLength);\r
\r
if (this.convertToUTF8)\r
import java.io.InputStream;\r
import java.io.InputStreamReader;\r
import java.io.UnsupportedEncodingException;\r
-import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.List;\r
\r
import org.marc4j.converter.CharConverter;\r
import org.marc4j.converter.impl.AnselToUnicode;\r
import org.marc4j.marc.MarcFactory;\r
import org.marc4j.marc.Record;\r
import org.marc4j.marc.Subfield;\r
-import org.marc4j.marc.VariableField;\r
import org.marc4j.marc.impl.Verifier;\r
\r
/**\r
\r
for (int i = 0; i < size; i++) \r
{\r
- int fieldLength = getFieldLength(inputrec);\r
+ //int fieldLength = getFieldLength(inputrec);\r
if (Verifier.isControlField(tags[i])) \r
{\r
byteArray = new byte[lengths[i] - 1];\r
return dataField;\r
}\r
\r
+ @SuppressWarnings("unused")\r
private int getFieldLength(DataInputStream bais) throws IOException \r
{\r
bais.mark(9999);\r
ByteArrayOutputStream dir = new ByteArrayOutputStream();\r
\r
// control fields\r
- List fields = record.getControlFields();\r
- Iterator i = fields.iterator();\r
+ List<ControlField> fields = record.getControlFields();\r
+ Iterator<ControlField> i = fields.iterator();\r
while (i.hasNext()) {\r
ControlField cf = (ControlField) i.next();\r
\r
}\r
\r
// data fields\r
- fields = record.getDataFields();\r
- i = fields.iterator();\r
- while (i.hasNext()) {\r
- DataField df = (DataField) i.next();\r
+ List<DataField> dataFields = record.getDataFields();\r
+ Iterator<DataField> di = dataFields.iterator();\r
+ while (di.hasNext()) {\r
+ DataField df = di.next();\r
data.write(df.getIndicator1());\r
data.write(df.getIndicator2());\r
- List subfields = df.getSubfields();\r
- Iterator si = subfields.iterator();\r
+ List<Subfield> subfields = df.getSubfields();\r
+ Iterator<Subfield> si = subfields.iterator();\r
while (si.hasNext()) {\r
- Subfield sf = (Subfield) si.next();\r
+ Subfield sf = si.next();\r
data.write(Constants.US);\r
data.write(sf.getCode());\r
data.write(getDataElement(sf.getData()));\r
import org.marc4j.marc.Subfield;\r
import org.xml.sax.Attributes;\r
import org.xml.sax.ContentHandler;\r
-import org.xml.sax.InputSource;\r
import org.xml.sax.Locator;\r
import org.xml.sax.SAXException;\r
\r
\r
private RecordStack queue;\r
\r
- private InputSource input;\r
+ //private InputSource input;\r
\r
private StringBuffer sb;\r
\r
private static final String IND_2_ATTR = "ind2";\r
\r
/** Hashset for mapping of element strings to constants (Integer) */\r
- private static final HashMap elementMap;\r
+ private static final HashMap<String, Integer> elementMap;\r
\r
private MarcFactory factory = null;\r
\r
static {\r
- elementMap = new HashMap();\r
+ elementMap = new HashMap<String, Integer>();\r
elementMap.put("collection", new Integer(COLLECTION_ID));\r
elementMap.put("leader", new Integer(LEADER_ID));\r
elementMap.put("record", new Integer(RECORD_ID));\r
* <p>\r
* In addition you can perform Unicode normalization. This is for example not\r
* done by the MARC-8 to UCS/Unicode converter. With Unicode normalization text\r
- * is transformed into the canonical composed form. For example "a´bc"\r
- * is normalized to "ábc". To perform normalization set Unicode\r
+ * is transformed into the canonical composed form. For example "a�bc"\r
+ * is normalized to "�bc". To perform normalization set Unicode\r
* normalization to true:\r
* </p>\r
* \r
/**\r
* Character encoding. Default is UTF-8.\r
*/\r
- private String encoding = "UTF8";\r
+ //private String encoding = "UTF8";\r
\r
private CharConverter converter = null;\r
\r
setIndent(indent);\r
writer = new OutputStreamWriter(out, encoding);\r
writer = new BufferedWriter(writer);\r
- this.encoding = encoding;\r
+ // this.encoding = encoding;\r
setHandler(new StreamResult(writer), null);\r
} catch (UnsupportedEncodingException e) {\r
throw new MarcException(e.getMessage(), e);\r
handler.characters(temp, 0, temp.length);\r
handler.endElement(Constants.MARCXML_NS_URI, LEADER, LEADER);\r
\r
- Iterator i = record.getControlFields().iterator();\r
- while (i.hasNext()) {\r
- ControlField field = (ControlField) i.next();\r
+ Iterator<ControlField> ci = record.getControlFields().iterator();\r
+ while (ci.hasNext()) {\r
+ ControlField field = (ControlField) ci.next();\r
atts = new AttributesImpl();\r
atts.addAttribute("", "tag", "tag", "CDATA", field.getTag());\r
\r
CONTROL_FIELD);\r
}\r
\r
- i = record.getDataFields().iterator();\r
- while (i.hasNext()) {\r
- DataField field = (DataField) i.next();\r
+ Iterator<DataField> di = record.getDataFields().iterator();\r
+ while (di.hasNext()) {\r
+ DataField field = di.next();\r
atts = new AttributesImpl();\r
atts.addAttribute("", "tag", "tag", "CDATA", field.getTag());\r
atts.addAttribute("", "ind1", "ind1", "CDATA", String.valueOf(field\r
\r
handler.startElement(Constants.MARCXML_NS_URI, DATA_FIELD,\r
DATA_FIELD, atts);\r
- Iterator j = field.getSubfields().iterator();\r
- while (j.hasNext()) {\r
- Subfield subfield = (Subfield) j.next();\r
+ Iterator<Subfield> si = field.getSubfields().iterator();\r
+ while (si.hasNext()) {\r
+ Subfield subfield = (Subfield) si.next();\r
atts = new AttributesImpl();\r
atts.addAttribute("", "code", "code", "CDATA", String\r
.valueOf(subfield.getCode()));\r
*/\r
public class RecordStack {\r
\r
- private List list;\r
+ private List<Record> list;\r
private RuntimeException re = null;\r
private boolean eof = false;\r
\r
* \r
*/\r
public RecordStack() {\r
- list = new ArrayList();\r
+ list = new ArrayList<Record>();\r
}\r
\r
/**\r
*/\r
public class AnselToUnicode extends CharConverter {\r
\r
+ @SuppressWarnings("rawtypes")\r
class Queue extends Vector {\r
\r
/**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 7414878465947143461L;\r
+\r
+ /**\r
* Puts an item into the queue.\r
* \r
* @param item\r
* the item to be put into the queue.\r
*/\r
- public Object put(Object item) {\r
+ @SuppressWarnings("unchecked")\r
+ public Object put(Object item) {\r
addElement(item);\r
\r
return item;\r
*/\r
public Object get() {\r
Object obj;\r
- int len = size();\r
+ @SuppressWarnings("unused")\r
+ int len = size();\r
\r
obj = peek();\r
removeElementAt(0);\r
* Peeks at the front of the queue.\r
*/\r
public Object peek() {\r
- int len = size();\r
+ @SuppressWarnings("unused")\r
+ int len = size();\r
\r
return elementAt(0);\r
}\r
}\r
\r
\r
+ @SuppressWarnings({ "rawtypes", "unchecked" })\r
private CodeTableInterface loadGeneratedTable(boolean loadMultibyte) \r
{\r
try\r
private void checkMode(char[] data, CodeTracker cdt) {\r
int extra = 0;\r
int extra2 = 0;\r
- int extra3 = 0;\r
+ @SuppressWarnings("unused")\r
+ int extra3 = 0;\r
while (cdt.offset + extra + extra2< data.length && isEscape(data[cdt.offset])) {\r
switch (data[cdt.offset + 1 + extra]) {\r
case 0x28: // '('\r
return sb.toString();\r
}\r
\r
+ @SuppressWarnings("unused")\r
private int makeMultibyte(char[] data) {\r
int[] chars = new int[3];\r
chars[0] = data[0] << 16;\r
import java.io.File;\r
import java.io.FileInputStream;\r
import java.io.InputStream;\r
-import java.io.PrintStream;\r
import java.net.URI;\r
-import java.util.Arrays;\r
import java.util.HashMap;\r
-import java.util.Iterator;\r
import java.util.Vector;\r
\r
import javax.xml.parsers.SAXParser;\r
* \r
*/\r
public class CodeTable implements CodeTableInterface {\r
+ @SuppressWarnings("rawtypes")\r
protected static HashMap charsets = null;\r
\r
+ @SuppressWarnings("rawtypes")\r
protected static HashMap combining = null;\r
\r
+ @SuppressWarnings("rawtypes")\r
public boolean isCombining(int i, int g0, int g1) {\r
if (i <= 0x7E) {\r
Vector v = (Vector) combining.get(new Integer(g0));\r
}\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public char getChar(int c, int mode) {\r
if (c == 0x20)\r
return (char) c;\r
ct.dumpTableAsSwitchStatement(System.out);\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
private void dumpTableAsSwitchStatement(PrintStream output)\r
{\r
output.println("package org.marc4j.converter.impl;");\r
output.println("}");\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
private void dumpPartialMultiByteTable(PrintStream output, StringBuffer buffer, Object keyArray[], HashMap map, int startByte, int endByte)\r
{\r
String startByteStr = "0x"+Integer.toHexString(startByte);\r
*/\r
public class CodeTableHandler extends DefaultHandler {\r
\r
+ @SuppressWarnings("rawtypes")\r
private HashMap sets;\r
\r
+ @SuppressWarnings("rawtypes")\r
private HashMap charset;\r
\r
+ @SuppressWarnings("rawtypes")\r
private HashMap combiningchars;\r
\r
/** Data element identifier */\r
\r
private boolean iscombining;\r
\r
+ @SuppressWarnings("rawtypes")\r
private Vector combining;\r
\r
/** Tag name */\r
+ @SuppressWarnings("unused")\r
private String tag;\r
\r
/** StringBuffer to store data */\r
private StringBuffer data;\r
\r
/** Locator object */\r
+ @SuppressWarnings("unused")\r
private Locator locator;\r
\r
+ @SuppressWarnings("rawtypes")\r
public HashMap getCharSets() {\r
return sets;\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public HashMap getCombiningChars() {\r
return combiningchars;\r
}\r
this.locator = locator;\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public void startElement(String uri, String name, String qName,\r
Attributes atts) throws SAXParseException {\r
if (name.equals("characterSet")) {\r
}\r
}\r
\r
+ @SuppressWarnings("unchecked")\r
public void endElement(String uri, String name, String qName)\r
throws SAXParseException {\r
if (name.equals("characterSet")) {\r
data = null;\r
}\r
\r
+ @SuppressWarnings({ "unused", "rawtypes" })\r
public static void main(String[] args) {\r
HashMap charsets = null;\r
\r
* @see DefaultHandler\r
*/\r
public class ReverseCodeTable {\r
+ @SuppressWarnings("rawtypes")\r
protected static Hashtable charset = null;\r
\r
+ @SuppressWarnings("rawtypes")\r
protected static Vector combining = null;\r
\r
public boolean isCombining(Character c) {\r
return combining.contains(c);\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public Hashtable codeTableHash(Character c) {\r
Hashtable chars = (Hashtable) charset.get(c);\r
if (chars == null) {\r
return chars;\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public static boolean inPreviousCharCodeTable(Character c,\r
CodeTableTracker ctt) {\r
Hashtable chars = (Hashtable) charset.get(c);\r
}\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public static char getChar(Character c, CodeTableTracker ctt) {\r
Hashtable chars = (Hashtable) charset.get(c);\r
\r
* @see DefaultHandler\r
*/\r
public class ReverseCodeTableHandler extends DefaultHandler {\r
+ @SuppressWarnings("rawtypes")\r
private Hashtable charset;\r
\r
+ @SuppressWarnings("rawtypes")\r
private Vector combiningchars;\r
\r
private boolean useAlt = false;\r
private boolean combining;\r
\r
/** Tag name */\r
+ @SuppressWarnings("unused")\r
private String tag;\r
\r
/** StringBuffer to store data */\r
private StringBuffer data;\r
\r
/** Locator object */\r
+ @SuppressWarnings("unused")\r
private Locator locator;\r
\r
+ @SuppressWarnings("rawtypes")\r
public Hashtable getCharSets() {\r
return charset;\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public Vector getCombiningChars() {\r
return combiningchars;\r
}\r
this.locator = locator;\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public void startElement(String uri, String name, String qName,\r
Attributes atts) throws SAXParseException {\r
if (name.equals("characterSet"))\r
}\r
}\r
\r
+ @SuppressWarnings({ "unchecked", "rawtypes" })\r
public void endElement(String uri, String name, String qName)\r
throws SAXParseException {\r
if (name.equals("marc")) {\r
data = null;\r
}\r
\r
+ @SuppressWarnings({ "rawtypes", "unused" })\r
public static void main(String[] args) {\r
Hashtable charsets = null;\r
\r
* @param data - the UCS/Unicode data in an array of char\r
* @return String - the MARC-8 data\r
*/\r
+ @SuppressWarnings("rawtypes")\r
public String convert(char data[]) {\r
StringBuffer sb = new StringBuffer();\r
CodeTableTracker ctt = new CodeTableTracker();\r
\r
- boolean technique1 = false;\r
+ @SuppressWarnings("unused")\r
+ boolean technique1 = false;\r
\r
for (int i = 0; i < data.length; i++) {\r
Character c = new Character(data[i]);\r
* \r
* @return List - the list of <code>Subfield</code> objects\r
*/\r
- public List getSubfields();\r
+ public List<Subfield> getSubfields();\r
\r
/**\r
* Returns the list of <code>Subfield</code> objects for the goven\r
* the subfield code\r
* @return List - the list of <code>Subfield</code> objects\r
*/\r
- public List getSubfields(char code);\r
+ public List<Subfield> getSubfields(char code);\r
\r
/**\r
* Returns the first <code>Subfield</code> with the given code.\r
extends IllegalArgumentException {\r
\r
/**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 8756226018321264604L;\r
+\r
+ /**\r
* Creates a new <code>Exception</code> indicating that the addttion\r
* of the supplied object is illegal.\r
*\r
className = getFactoryClassName(loader, count++);\r
if (className != null) {\r
try {\r
- Class t = (loader != null) ? loader.loadClass(className) : Class\r
+ @SuppressWarnings("rawtypes")\r
+ Class t = (loader != null) ? loader.loadClass(className) : Class\r
.forName(className);\r
return (MarcFactory) t.newInstance();\r
} catch (ClassNotFoundException e) {\r
* \r
* @return List - the variable fields\r
*/\r
- public List getVariableFields();\r
+ public List<VariableField> getVariableFields();\r
\r
/**\r
* Returns a list of control fields\r
* \r
* @return List - the control fields\r
*/\r
- public List getControlFields();\r
+ public List<ControlField> getControlFields();\r
\r
/**\r
* Returns a list of data fields\r
* \r
* @return List - the data fields\r
*/\r
- public List getDataFields();\r
+ public List<DataField> getDataFields();\r
\r
/**\r
* Returns the control number field or <code>null</code> if no control\r
* \r
* @return List - the variable fields\r
*/\r
- public List getVariableFields(String tag);\r
+ public List<VariableField> getVariableFields(String tag);\r
\r
/**\r
* Returns a list of variable fields for the given tags.\r
* \r
* @return List - the variable fields\r
*/\r
- public List getVariableFields(String[] tag);\r
+ public List<VariableField> getVariableFields(String[] tag);\r
\r
/**\r
* Returns the <code>Leader</code>.\r
* the regular expression\r
* @return List - the result list\r
*/\r
- public List find(String pattern);\r
+ public List<VariableField> find(String pattern);\r
\r
/**\r
* Returns a List of VariableField objects with the given tag that have a\r
* the regular expression\r
* @return List - the result list\r
*/\r
- public List find(String tag, String pattern);\r
+ public List<VariableField> find(String tag, String pattern);\r
\r
/**\r
* Returns a List of VariableField objects with the given tags that have a\r
* the regular expression\r
* @return List - the result list\r
*/\r
- public List find(String[] tag, String pattern);\r
+ public List<VariableField> find(String[] tag, String pattern);\r
\r
}
\ No newline at end of file
\r
import java.io.Serializable;\r
\r
-import org.marc4j.marc.impl.VariableFieldImpl;\r
-\r
/**\r
* Represents a variable field in a MARC record.\r
* \r
* @author Bas Peters\r
* @version $Revision: 1.10 $\r
*/\r
+@SuppressWarnings("rawtypes")\r
public interface VariableField extends Serializable, Comparable {\r
\r
/**\r
*/\r
public class ControlFieldImpl extends VariableFieldImpl implements ControlField {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 8072900114616013850L;\r
+\r
private Long id;\r
\r
private String data;\r
*/\r
public class DataFieldImpl extends VariableFieldImpl implements DataField {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = -1804044736102463060L;\r
+\r
private Long id;\r
\r
private char ind1;\r
\r
private char ind2;\r
\r
- private List subfields;\r
+ private List<Subfield> subfields;\r
\r
/**\r
* Creates a new <code>DataField</code>.\r
*/\r
public DataFieldImpl() {\r
- subfields = new ArrayList();\r
+ subfields = new ArrayList<Subfield>();\r
}\r
\r
/**\r
* \r
* @return List - the list of <code>Subfield</code> objects\r
*/\r
- public List getSubfields() {\r
+ public List<Subfield> getSubfields() {\r
return subfields;\r
}\r
\r
- public List getSubfields(char code) {\r
- List retSubfields = new ArrayList();\r
- Iterator i = subfields.iterator();\r
+ public List<Subfield> getSubfields(char code) {\r
+ List<Subfield> retSubfields = new ArrayList<Subfield>();\r
+ Iterator<Subfield> i = subfields.iterator();\r
while (i.hasNext()) {\r
Subfield sf = (Subfield) i.next();\r
if (sf.getCode() == code)\r
}\r
\r
public Subfield getSubfield(char code) {\r
- Iterator i = subfields.iterator();\r
+ Iterator<Subfield> i = subfields.iterator();\r
while (i.hasNext()) {\r
Subfield sf = (Subfield) i.next();\r
if (sf.getCode() == code)\r
}\r
\r
public boolean find(String pattern) {\r
- Iterator i = subfields.iterator();\r
+ Iterator<Subfield> i = subfields.iterator();\r
while (i.hasNext()) {\r
Subfield sf = (Subfield) i.next();\r
if (sf.find(pattern))\r
sb.append(' ');\r
sb.append(getIndicator1());\r
sb.append(getIndicator2());\r
- Iterator i = getSubfields().iterator();\r
+ Iterator<Subfield> i = getSubfields().iterator();\r
while (i.hasNext()) {\r
Subfield sf = (Subfield) i.next();\r
sb.append(sf.toString());\r
*/\r
public class LeaderImpl implements Leader {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 6483942612907658766L;\r
+\r
private Long id;\r
\r
/** The logical record length (Position 0-4). */\r
import java.util.List;\r
\r
import org.marc4j.marc.ControlField;\r
+import org.marc4j.marc.DataField;\r
import org.marc4j.marc.IllegalAddException;\r
import org.marc4j.marc.Leader;\r
import org.marc4j.marc.Record;\r
*/\r
public class RecordImpl implements Record {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1906886225329068668L;\r
+\r
private Long id;\r
\r
private Leader leader;\r
\r
- private List controlFields;\r
+ private List<ControlField> controlFields;\r
\r
- private List dataFields;\r
+ private List<DataField> dataFields;\r
\r
private String type;\r
\r
* Creates a new <code>Record</code>.\r
*/\r
public RecordImpl() {\r
- controlFields = new ArrayList();\r
- dataFields = new ArrayList();\r
+ controlFields = new ArrayList<ControlField>();\r
+ dataFields = new ArrayList<DataField>();\r
}\r
\r
public void setType(String type) {\r
* when the parameter is not a <code>VariableField</code>\r
* instance\r
*/\r
+ @SuppressWarnings("unchecked")\r
public void addVariableField(VariableField field) {\r
if (!(field instanceof VariableField))\r
throw new IllegalAddException("Expected VariableField instance");\r
String tag = field.getTag();\r
if (Verifier.isControlNumberField(tag)) {\r
if (Verifier.hasControlNumberField(controlFields))\r
- controlFields.set(0, field);\r
+ // TODO create converter from VariableField to ControlField\r
+ controlFields.set(0, ((ControlField) field));\r
else\r
- controlFields.add(0, field);\r
+ controlFields.add(0, ((ControlField) field));\r
Collections.sort(controlFields);\r
} else if (Verifier.isControlField(tag)) {\r
- controlFields.add(field);\r
+ controlFields.add(((ControlField) field));\r
Collections.sort(controlFields);\r
} else {\r
- dataFields.add(field);\r
+ dataFields.add(((DataField) field));\r
Collections.sort(dataFields);\r
}\r
\r
return null;\r
}\r
\r
- public List getControlFields() {\r
+ public List<ControlField> getControlFields() {\r
return controlFields;\r
}\r
\r
- public List getDataFields() {\r
+ public List<DataField> getDataFields() {\r
return dataFields;\r
}\r
\r
public VariableField getVariableField(String tag) {\r
- Iterator i;\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i;\r
if (Verifier.isControlField(tag))\r
i = controlFields.iterator();\r
else\r
return null;\r
}\r
\r
- public List getVariableFields(String tag) {\r
- List fields = new ArrayList();\r
- Iterator i;\r
+ public List<VariableField> getVariableFields(String tag) {\r
+ List<VariableField> fields = new ArrayList<VariableField>();\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i;\r
if (Verifier.isControlField(tag))\r
i = controlFields.iterator();\r
else\r
return fields;\r
}\r
\r
- public List getVariableFields() {\r
- List fields = new ArrayList();\r
- Iterator i;\r
- i = controlFields.iterator();\r
+ @SuppressWarnings("rawtypes")\r
+ public List<VariableField> getVariableFields() {\r
+ List<VariableField> fields = new ArrayList<VariableField>();\r
+ Iterator i;\r
+ i = ((List) controlFields).iterator();\r
while (i.hasNext())\r
- fields.add(i.next());\r
+ fields.add((VariableField) i.next());\r
i = dataFields.iterator();\r
while (i.hasNext())\r
- fields.add(i.next());\r
+ fields.add((VariableField) i.next());\r
return fields;\r
}\r
\r
return(result);\r
}\r
\r
- public List getVariableFields(String[] tags) {\r
+ @SuppressWarnings({ "rawtypes", "unchecked" })\r
+ public List<VariableField> getVariableFields(String[] tags) {\r
List list = new ArrayList();\r
for (int i = 0; i < tags.length; i++) {\r
String tag = tags[i];\r
sb.append("LEADER ");\r
sb.append(getLeader().toString());\r
sb.append('\n');\r
- Iterator i = getVariableFields().iterator();\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i = getVariableFields().iterator();\r
while (i.hasNext()) {\r
VariableField field = (VariableField) i.next();\r
sb.append(field.toString());\r
return sb.toString();\r
}\r
\r
- public List find(String pattern) {\r
- List result = new ArrayList();\r
- Iterator i = controlFields.iterator();\r
+ @SuppressWarnings("unchecked")\r
+ public List<VariableField> find(String pattern) {\r
+ @SuppressWarnings("rawtypes")\r
+ List result = new ArrayList();\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i = controlFields.iterator();\r
while (i.hasNext()) {\r
VariableField field = (VariableField) i.next();\r
if (field.find(pattern))\r
return result;\r
}\r
\r
- public List find(String tag, String pattern) {\r
+ @SuppressWarnings({ "unchecked", "rawtypes" })\r
+ public List<VariableField> find(String tag, String pattern) {\r
List result = new ArrayList();\r
Iterator i = getVariableFields(tag).iterator();\r
while (i.hasNext()) {\r
return result;\r
}\r
\r
- public List find(String[] tag, String pattern) {\r
+ @SuppressWarnings({ "rawtypes", "unchecked" })\r
+ public List<VariableField> find(String[] tag, String pattern) {\r
List result = new ArrayList();\r
Iterator i = getVariableFields(tag).iterator();\r
while (i.hasNext()) {\r
*/\r
public class SubfieldImpl implements Subfield {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = -5652216007819993017L;\r
+\r
private Long id;\r
\r
private char code;\r
*/\r
public abstract class VariableFieldImpl implements VariableField {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = -1946945669891526509L;\r
private String tag;\r
\r
/**\r
* @param col\r
* the collection of <code>ControlField</code> objects.\r
*/\r
- public static boolean hasControlNumberField(Collection col) {\r
+ public static boolean hasControlNumberField(@SuppressWarnings("rawtypes") Collection col) {\r
+ @SuppressWarnings("rawtypes")\r
Iterator i = col.iterator();\r
while (i.hasNext()) {\r
ControlField field = (ControlField) i.next();\r
import org.marc4j.MarcStreamReader;\r
import org.marc4j.marc.DataField;\r
import org.marc4j.marc.Record;\r
+import org.marc4j.marc.VariableField;\r
\r
/**\r
* Demostrates the use of the find method.\r
Record record = reader.next();\r
\r
// check if the cataloging agency is DLC\r
- List result = record.find("040", "DLC");\r
+ List<VariableField> result = record.find("040", "DLC");\r
if (result.size() > 0)\r
System.out.println("Agency for this record is DLC");\r
\r
import org.marc4j.marc.DataField;\r
import org.marc4j.marc.Record;\r
import org.marc4j.marc.Subfield;\r
+import org.marc4j.marc.VariableField;\r
\r
/**\r
* Read data fields.\r
System.out.println(dataField.toString() + '\n');\r
\r
// get all occurences for a particular tag\r
- List dataFields = record.getVariableFields("650");\r
- Iterator i = dataFields.iterator();\r
- while (i.hasNext()) {\r
- dataField = (DataField) i.next();\r
- System.out.println(dataField.toString());\r
+ List<VariableField> variableFields = record.getVariableFields("650");\r
+ Iterator<VariableField> vi = variableFields.iterator();\r
+ while (vi.hasNext()) {\r
+ VariableField variableField = vi.next();\r
+ System.out.println(variableField.toString());\r
}\r
System.out.print('\n');\r
\r
// get all occurences for a given list of tags\r
String[] tags = { "010", "100", "245", "250", "260", "300" };\r
- dataFields = record.getVariableFields(tags);\r
- i = dataFields.iterator();\r
- while (i.hasNext()) {\r
- dataField = (DataField) i.next();\r
- System.out.println(dataField.toString());\r
+ variableFields = record.getVariableFields(tags);\r
+ vi = variableFields.iterator();\r
+ while (vi.hasNext()) {\r
+ VariableField vf = (DataField) vi.next();\r
+ if (vf instanceof DataField)\r
+ System.out.println( ((DataField) vf).toString());\r
+ else\r
+ System.err.println("Not a Datafield: " + vf.toString());\r
}\r
System.out.print('\n');\r
\r
System.out.println("Tag: " + tag + " Indicator 1: " + ind1\r
+ " Indicator 2: " + ind2);\r
\r
- List subfields = dataField.getSubfields();\r
- i = subfields.iterator();\r
+ List<Subfield> subfields = dataField.getSubfields();\r
+ Iterator<Subfield> si = subfields.iterator();\r
\r
- while (i.hasNext()) {\r
- Subfield subfield = (Subfield) i.next();\r
+ while (si.hasNext()) {\r
+ Subfield subfield = si.next();\r
char code = subfield.getCode();\r
String data = subfield.getData();\r
\r
import java.util.List;\r
\r
import org.marc4j.ErrorHandler;\r
+import org.marc4j.ErrorHandler.Error;\r
import org.marc4j.MarcException;\r
import org.marc4j.MarcPermissiveStreamReader;\r
import org.marc4j.MarcReader;\r
\r
}\r
\r
- @SuppressWarnings("unchecked")\r
public static void dumpErrors(PrintStream out, ErrorHandler errorHandler)\r
{\r
- List<Object> errors = errorHandler.getErrors();\r
+ List<Error> errors = errorHandler.getErrors();\r
if (errors != null) \r
{\r
- Iterator<Object> iter = errors.iterator();\r
+ Iterator<Error> iter = errors.iterator();\r
while (iter.hasNext())\r
{\r
Object error = iter.next();\r
\r
Pattern pattern = Pattern.compile("9\\d\\d");\r
\r
- List fields = record.getDataFields();\r
+ List<DataField> fields = record.getDataFields();\r
\r
- Iterator i = fields.iterator();\r
+ Iterator<DataField> i = fields.iterator();\r
while (i.hasNext()) {\r
DataField field = (DataField) i.next();\r
Matcher matcher = pattern.matcher(field.getTag());\r
InputStream input = AddLocationExample.class\r
.getResourceAsStream("resources/chabon.mrc");\r
\r
- Hashtable table = new Hashtable();\r
+ Hashtable<String, Integer> table = new Hashtable<String, Integer>();\r
\r
int counter = 0;\r
\r
\r
Record record = reader.next();\r
\r
- List fields = record.getVariableFields();\r
- Iterator i = fields.iterator();\r
+ List<VariableField> fields = record.getVariableFields();\r
+ Iterator<VariableField> i = fields.iterator();\r
while (i.hasNext()) {\r
VariableField field = (VariableField) i.next();\r
String tag = field.getTag();\r
System.out.println("Analyzed " + counter + " records");\r
System.out.println("Tag\tCount");\r
\r
- List list = new ArrayList(table.keySet());\r
+ List<String> list = new ArrayList<String>(table.keySet());\r
Collections.sort(list);\r
- Iterator i = list.iterator();\r
+ Iterator<String> i = list.iterator();\r
while (i.hasNext()) {\r
String tag = (String) i.next();\r
Integer value = (Integer) table.get(tag);\r
\r
import java.io.InputStream;\r
\r
-import javax.xml.transform.Result;\r
-import javax.xml.transform.sax.SAXResult;\r
-\r
-// import org.apache.xml.serialize.OutputFormat;\r
-// import org.apache.xml.serialize.XMLSerializer;\r
import org.marc4j.MarcReader;\r
import org.marc4j.MarcStreamReader;\r
-import org.marc4j.MarcXmlWriter;\r
-import org.marc4j.converter.impl.AnselToUnicode;\r
import org.marc4j.marc.Record;\r
\r
/**\r
// MarcXmlWriter writer = new MarcXmlWriter(result);\r
// writer.setConverter(new AnselToUnicode());\r
while (reader.hasNext()) {\r
- Record record = reader.next();\r
+ @SuppressWarnings("unused")\r
+ Record record = reader.next();\r
// writer.write(record);\r
}\r
// writer.close();\r
assertEquals("12883376", cf.getData());\r
}\r
\r
+ @SuppressWarnings("unchecked")\r
public void testComparable() throws Exception {\r
ControlField cf1 = factory.newControlField("008", "12345");\r
ControlField cf2 = factory.newControlField("008", "12345");\r
assertEquals('a', s.getCode());\r
}\r
\r
+ @SuppressWarnings("unchecked")\r
public void testComparable() throws Exception {\r
DataField df1 = factory.newDataField("600", '0', '0');\r
DataField df2 = factory.newDataField("600", '0', '0');\r
assertEquals("001", cf.getTag());\r
assertEquals("12883376", cf.getData());\r
\r
- List fieldList = record.getVariableFields();\r
+ List<VariableField> fieldList = record.getVariableFields();\r
assertEquals(15, fieldList.size());\r
\r
- fieldList = record.getControlFields();\r
- assertEquals(3, fieldList.size());\r
+ List<ControlField> controlList = record.getControlFields();\r
+ assertEquals(3, controlList.size());\r
\r
- fieldList = record.getDataFields();\r
- assertEquals(12, fieldList.size());\r
+ List<DataField> dataList = record.getDataFields();\r
+ assertEquals(12, dataList.size());\r
\r
VariableField field = record.getVariableField("245");\r
assertEquals("245", field.getTag());\r
assertEquals(3, fieldList.size());\r
}\r
\r
+ @SuppressWarnings("rawtypes")\r
public void testFind() throws Exception {\r
VariableField field = record.getVariableField("245");\r
assertEquals(true, field.find("Summerland"));\r
\r
reader = new MarcStreamReader(input);\r
while (reader.hasNext()) {\r
- Record record = reader.next();\r
+ @SuppressWarnings("unused")\r
+ Record record = reader.next();\r
counter++;\r
}\r
input.close();\r
reader = new MarcStreamReader(input, "UTF8");\r
\r
while (reader.hasNext()) {\r
- Record record = reader.next();\r
+ @SuppressWarnings("unused")\r
+ Record record = reader.next();\r
counter++;\r
}\r
input.close();\r