|
From: <rga...@us...> - 2002-10-21 12:01:19
|
Update of /cvsroot/csms/csms-core/src/java/org/fanfoot/scoring In directory usw-pr-cvs1:/tmp/cvs-serv22682/src/java/org/fanfoot/scoring Modified Files: Event.java EventParser.java EventParserConfiguration.java EventParserConfigurationException.java EventParserListener.java EventPattern.java Events.java Scores.java ScoringConfiguration.java ScoringConfigurationException.java Log Message: Various code stule fixes Index: Event.java =================================================================== RCS file: /cvsroot/csms/csms-core/src/java/org/fanfoot/scoring/Event.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Event.java 20 Oct 2002 20:50:21 -0000 1.3 --- Event.java 21 Oct 2002 12:01:14 -0000 1.4 *************** *** 1,35 **** ! /* ***** BEGIN LICENSE BLOCK ***** ! * Version: MPL 1.1 * ! * The contents of this file are subject to the Mozilla Public License Version ! * 1.1 (the "License"); you may not use this file except in compliance with ! * the License. You may obtain a copy of the License at ! * http://www.mozilla.org/MPL/ * ! * Software distributed under the License is distributed on an "AS IS" basis, ! * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ! * for the specific language governing rights and limitations under the ! * License. * ! * The Original Code is Community Sports Management System. * ! * The Initial Developer of the Original Code is ! * We know What you Want.net * ! * Portions created by the Initial Developer are Copyright (C) 2002 ! * the Initial Developer. All Rights Reserved. * ! * Contributor(s): * ! * Ross Gardler <ross [at] saafe.org> ! * Mike Lever <mikel [at] fanfoot.com> ! * Stuart Gardler <stuart [at] wkwyw.net> * ! * ***** END LICENSE BLOCK ***** */ ! /* ! * Event.java * ! * Created on 20 September 2002, 21:59 */ package org.fanfoot.scoring; --- 1,36 ---- ! /* ! * ***** BEGIN LICENSE BLOCK ***** ! * Version: MPL 1.1 * ! * The contents of this file are subject to the Mozilla Public License Version ! * 1.1 (the "License"); you may not use this file except in compliance with ! * the License. You may obtain a copy of the License at ! * http://www.mozilla.org/MPL/ * ! * Software distributed under the License is distributed on an "AS IS" basis, ! * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ! * for the specific language governing rights and limitations under the ! * License. * ! * The Original Code is Community Sports Management System. * ! * The Initial Developer of the Original Code is ! * We know What you Want.net * ! * Portions created by the Initial Developer are Copyright (C) 2002 ! * the Initial Developer. All Rights Reserved. * ! * Contributor(s): * ! * Ross Gardler <ross [at] saafe.org> ! * Mike Lever <mikel [at] fanfoot.com> ! * Stuart Gardler <stuart [at] wkwyw.net> * ! * ***** END LICENSE BLOCK ***** ! */ /* ! * Event.java * ! * Created on 20 September 2002, 21:59 */ package org.fanfoot.scoring; *************** *** 45,244 **** /** ! * An event in a live game that may have an impact on the fantasy game ! * @author rgardler */ public class Event { ! /** Holds value of property src which indicates ! * where this event record came from. */ ! private String src = ""; ! /** Holds value of property type. */ ! private String type = ""; ! ! /** The parts describing this event */ ! Hashtable parts = new Hashtable(); ! /** Holds value of property uid. */ ! private String uid = ""; ! ! /** Where to write log entries to */ ! final Logger logger = Logger.getLogger("org.fanfoot.scoring"); ! ! /** Creates a new instance of Event of the type indicated ! * @param strType the type of this event ! *this event belongs to. From this a unique event identifier will be ! *created. ! */ ! public Event(String strType) { ! this.setType(strType); ! } ! /** Getter for property src. ! * @return Value of property src. ! * ! */ ! public String getSrc() { ! return this.src; ! } ! /** Setter for property src. ! * @param src New value of property src. ! * ! */ ! public void setSrc(String src) { ! this.src = src; ! } - /** Getter for property type. - * @return Value of property type. - * - */ - public String getType() { - return this.type; - } ! /** Setter for property type. ! * @param type New value of property type. ! * ! */ ! public void setType(String type) { ! this.type = type; ! } - /** - * Get the part of the event named. - * @param strPart name of the part required - * @return value of the part requested - */ - public String getPart(String strPart) { - return (String) parts.get(strPart); - } ! /** ! * Add the named part and value to the collection of parts. ! * @param strName name of the part, nulls are converted to an empty string ! * @param strValue value of the part ! */ ! public void putPart(String strName, String strValue) { ! if (strValue == null) ! strValue = ""; ! parts.put(strName, strValue); ! } ! ! /** ! * Get all the parts for this event. ! * @return Hashtable containing all the parts, indexed by part name ! */ ! public Hashtable getParts() { ! return this.parts; ! } ! ! /** ! * Get all part names for this event. ! * @return the part names present in this event ! */ ! public Enumeration getPartNames() { ! return parts.keys(); ! } ! ! ! /** Return an XML DOM representation of this event ! * @return Document XML DOM representation of this event ! * @throws ParserConfigurationException if there is a ! * problem with the XML Parser ! */ ! public Document toXMLDoc() throws ParserConfigurationException { ! logger.entering("org.fanfoot.scoring.Event", "toXMLDoc()"); ! ! Document doc = XMLUtils.createXMLDoc(); ! appendXMLTo(doc); ! ! logger.finest("Root element of document is named " ! + doc.getDocumentElement().getNodeName()); ! logger.exiting("org.fanfoot.scoring.Event", "toXMLDoc()"); ! return doc; ! } ! ! /** Append this event as a DOM node to the supplied XMl Docmuent. ! * @param doc the document to append to ! */ ! public void appendXMLTo(Document doc) { ! Element root = doc.createElement("event"); ! if (doc.getDocumentElement() == null) { ! doc.appendChild(root); ! } else { ! doc.getDocumentElement().appendChild(root); ! } ! ! root.appendChild(getUIDElement(doc)); ! root.appendChild(getTypeElement(doc)); ! root.appendChild(getSourceElement(doc)); - Enumeration enuPartNames = this.getPartNames(); - Element elem; - Text text; - String strPartName; - String strPartValue; - while (enuPartNames.hasMoreElements()) { - strPartName = (String)enuPartNames.nextElement(); - strPartValue = this.getPart(strPartName); - elem = doc.createElement(strPartName); - if (strPartValue != "") { - text = doc.createTextNode(strPartValue); - elem.appendChild(text); - } - root.appendChild(elem); - } - } ! /** Get the UID XML ELement ! * @param doc the document this element will be a part of ! * @return Element representing the UID of this event ! */ ! protected Element getUIDElement(Document doc) { ! Element elem = doc.createElement("uid"); ! Text text = doc.createTextNode(this.getUID()); ! elem.appendChild(text); ! return elem; } ! /** Get the type XML ELement ! * @param doc the document this element will be a part of ! * @return Element representing the type of this event ! */ ! protected Element getTypeElement(Document doc) { ! Element elem = doc.createElement("type"); ! Text text = doc.createTextNode(this.getType()); ! elem.appendChild(text); ! return elem; } ! /** Get the source XML ELement ! * @param doc the document this element will be a part of ! * @return Element representing the source of this event ! */ ! protected Element getSourceElement(Document doc) { ! Element elem = doc.createElement("src"); ! Text text = doc.createTextNode(this.getSrc()); elem.appendChild(text); ! return elem; ! } ! ! ! /** Getter for property UID. ! * @return Value of property UID. ! * ! */ ! public String getUID() { ! return this.uid; ! } ! ! /** Setter for property UID. ! * @param uid New value of property UID. ! * ! */ ! public void setUID(String uid) { ! this.uid = uid; } ! } --- 46,290 ---- /** ! * An event in a live game that may have an impact on the fantasy ! * game ! * ! *@author rgardler ! *@created 21 October 2002 */ public class Event { ! /** ! * Holds value of property src which indicates where this event ! * record came from. ! */ ! private String src = ""; ! /** Holds value of property type. */ ! private String type = ""; ! /** The parts describing this event */ ! Hashtable parts = new Hashtable(); ! /** Holds value of property uid. */ ! private String uid = ""; ! /** Where to write log entries to */ ! final Logger logger = Logger.getLogger("org.fanfoot.scoring"); ! /** ! * Creates a new instance of Event of the type indicated ! * ! *@param strType the type of this event this event belongs to. ! * From this a unique event identifier will be created. ! */ ! public Event(String strType) { ! this.setType(strType); ! } ! /** ! * Getter for property src. ! * ! *@return Value of property src. ! */ ! public String getSrc() { ! return this.src; ! } ! /** ! * Setter for property src. ! * ! *@param src New value of property src. ! */ ! public void setSrc(String src) { ! this.src = src; ! } ! ! ! /** ! * Getter for property type. ! * ! *@return Value of property type. ! */ ! public String getType() { ! return this.type; ! } ! ! ! /** ! * Setter for property type. ! * ! *@param type New value of property type. ! */ ! public void setType(String type) { ! this.type = type; ! } ! ! ! /** ! * Get the part of the event named. ! * ! *@param strPart name of the part required ! *@return value of the part requested ! */ ! public String getPart(String strPart) { ! return (String) parts.get(strPart); ! } ! ! ! /** ! * Add the named part and value to the collection of parts. ! * ! *@param strName name of the part, nulls are converted to an ! * empty string ! *@param strValue value of the part ! */ ! public void putPart(String strName, String strValue) { ! if (strValue == null) { ! strValue = ""; } + parts.put(strName, strValue); + } ! ! /** ! * Get all the parts for this event. ! * ! *@return Hashtable containing all the parts, indexed by part ! * name ! */ ! public Hashtable getParts() { ! return this.parts; ! } ! ! ! /** ! * Get all part names for this event. ! * ! *@return the part names present in this event ! */ ! public Enumeration getPartNames() { ! return parts.keys(); ! } ! ! ! /** ! * Return an XML DOM representation of this event ! * ! *@return Document XML DOM ! * representation of this event ! *@throws ParserConfigurationException if there is a problem with ! * the XML Parser ! */ ! public Document toXMLDoc() throws ParserConfigurationException { ! logger.entering("org.fanfoot.scoring.Event", "toXMLDoc()"); ! ! Document doc = XMLUtils.createXMLDoc(); ! appendXMLTo(doc); ! ! logger.finest("Root element of document is named " ! + doc.getDocumentElement().getNodeName()); ! logger.exiting("org.fanfoot.scoring.Event", "toXMLDoc()"); ! return doc; ! } ! ! ! /** ! * Append this event as a DOM node to the supplied XMl Docmuent. ! * ! *@param doc the document to append to ! */ ! public void appendXMLTo(Document doc) { ! Element root = doc.createElement("event"); ! if (doc.getDocumentElement() == null) { ! doc.appendChild(root); ! } else { ! doc.getDocumentElement().appendChild(root); } ! root.appendChild(getUIDElement(doc)); ! root.appendChild(getTypeElement(doc)); ! root.appendChild(getSourceElement(doc)); ! ! Enumeration enuPartNames = this.getPartNames(); ! Element elem; ! Text text; ! String strPartName; ! String strPartValue; ! while (enuPartNames.hasMoreElements()) { ! strPartName = (String) enuPartNames.nextElement(); ! strPartValue = this.getPart(strPartName); ! elem = doc.createElement(strPartName); ! if (strPartValue != "") { ! text = doc.createTextNode(strPartValue); elem.appendChild(text); ! } ! root.appendChild(elem); } ! } ! ! ! /** ! * Get the UID XML ELement ! * ! *@param doc the document this element will be a part of ! *@return Element representing the UID of this event ! */ ! protected Element getUIDElement(Document doc) { ! Element elem = doc.createElement("uid"); ! Text text = doc.createTextNode(this.getUID()); ! elem.appendChild(text); ! return elem; ! } ! ! ! /** ! * Get the type XML ELement ! * ! *@param doc the document this element will be a part of ! *@return Element representing the type of this event ! */ ! protected Element getTypeElement(Document doc) { ! Element elem = doc.createElement("type"); ! Text text = doc.createTextNode(this.getType()); ! elem.appendChild(text); ! return elem; ! } ! ! ! /** ! * Get the source XML ELement ! * ! *@param doc the document this element will be a part of ! *@return Element representing the source of this event ! */ ! protected Element getSourceElement(Document doc) { ! Element elem = doc.createElement("src"); ! Text text = doc.createTextNode(this.getSrc()); ! elem.appendChild(text); ! return elem; ! } ! ! ! /** ! * Getter for property UID. ! * ! *@return Value of property UID. ! */ ! public String getUID() { ! return this.uid; ! } ! ! ! /** ! * Setter for property UID. ! * ! *@param uid New value of property UID. ! */ ! public void setUID(String uid) { ! this.uid = uid; ! } ! } + Index: EventParser.java =================================================================== RCS file: /cvsroot/csms/csms-core/src/java/org/fanfoot/scoring/EventParser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** EventParser.java 18 Oct 2002 14:56:45 -0000 1.1 --- EventParser.java 21 Oct 2002 12:01:14 -0000 1.2 *************** *** 1,35 **** ! /* ***** BEGIN LICENSE BLOCK ***** ! * Version: MPL 1.1 * ! * The contents of this file are subject to the Mozilla Public License Version ! * 1.1 (the "License"); you may not use this file except in compliance with ! * the License. You may obtain a copy of the License at ! * http://www.mozilla.org/MPL/ * ! * Software distributed under the License is distributed on an "AS IS" basis, ! * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ! * for the specific language governing rights and limitations under the ! * License. * ! * The Original Code is Community Sports Management System. * ! * The Initial Developer of the Original Code is ! * We know What you Want.net * ! * Portions created by the Initial Developer are Copyright (C) 2002 ! * the Initial Developer. All Rights Reserved. * ! * Contributor(s): * ! * Ross Gardler <ross [at] saafe.org> ! * Mike Lever <mikel [at] fanfoot.com> ! * Stuart Gardler <stuart [at] wkwyw.net> * ! * ***** END LICENSE BLOCK ***** */ ! /* ! * EventParser.java * ! * Created on 21 September 2002, 11:51 */ package org.fanfoot.scoring; --- 1,36 ---- ! /* ! * ***** BEGIN LICENSE BLOCK ***** ! * Version: MPL 1.1 * ! * The contents of this file are subject to the Mozilla Public License Version ! * 1.1 (the "License"); you may not use this file except in compliance with ! * the License. You may obtain a copy of the License at ! * http://www.mozilla.org/MPL/ * ! * Software distributed under the License is distributed on an "AS IS" basis, ! * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ! * for the specific language governing rights and limitations under the ! * License. * ! * The Original Code is Community Sports Management System. * ! * The Initial Developer of the Original Code is ! * We know What you Want.net * ! * Portions created by the Initial Developer are Copyright (C) 2002 ! * the Initial Developer. All Rights Reserved. * ! * Contributor(s): * ! * Ross Gardler <ross [at] saafe.org> ! * Mike Lever <mikel [at] fanfoot.com> ! * Stuart Gardler <stuart [at] wkwyw.net> * ! * ***** END LICENSE BLOCK ***** ! */ /* ! * EventParser.java * ! * Created on 21 September 2002, 11:51 */ package org.fanfoot.scoring; *************** *** 52,309 **** import org.w3c.dom.Document; - /** ! * Parsers a file looking for events that may be important in a fantasy game. ! * Creates a set of Event objects from a given commentary/statistics file. ! * @author rgardler */ public class EventParser { ! /** Holds value of property conf. */ ! private EventParserConfiguration conf; ! final Logger logger = Logger.getLogger("org.fanfoot.scoring"); ! private Vector listeners = new Vector(); // list of Listeners ! private Document docCommentary = null; // the original commentary document ! ! /** Creates a new instance of EventParser ! */ ! public EventParser() { ! super(); ! } - /** Creates a new instance of EventParser - * @param strURL the url of the configuration file for this parser - * @throws EventParserConfigurationException - */ - public EventParser(String strURL) throws EventParserConfigurationException { - super(); - conf = new EventParserConfiguration(strURL); - } ! /** ! * Parse the supplied resource ! * @param strURL the URL of the resource to parse ! * @param strType the type of resource this is (this corresponds ! * to the sourceType element of the matcher element in the config file ! * @return Events found in the resource ! */ ! public Events parse(String strURL, String strType) ! throws MalformedURLException, IOException, ! EventParserConfigurationException { ! URL url = new URL(strURL); ! return parse(url, strType); ! } - /** - * Parse the supplied file - * @param file the file to parse - * @param strType the type of resource this is (this corresponds - * to the sourceType element of the matcher element in the config file - * @return Events found in the resource - */ - public Events parse(File file, String strType) throws IOException, - EventParserConfigurationException { - return parse(file.toURL(), strType); - } ! /** ! * Parse the supplied resource ! * @param url the URL of the resource to parse ! * @param strType the type of resource this is (this corresponds ! * to the sourceType element of the matcher element in the config file ! * @return Events found in the resource ! */ ! public Events parse(URL url, String strType) throws MalformedURLException, ! IOException, ! EventParserConfigurationException { ! docCommentary = XMLUtils.loadTidiedHTML(url); ! this.notifyRetrievedCommentary(); ! ! StringBuffer sbData = new StringBuffer(); ! XMLUtils.appendAllText(docCommentary.getDocumentElement(), sbData); - String strData = sbData.toString(); - logger.finest("Live Data: " + strData); ! ArrayList patterns = conf.getPatternsForType(strType); ! Events evtsResult = new Events(); ! String strEventsUID = parseEventsUID(strData, strType); ! evtsResult.setUID(strEventsUID); ! logger.info("UID for these events is: " + strEventsUID); - Events evtsCurrent; - EventPattern p; ! logger.info("Start processing " + patterns.size() + ! " event patterns."); - for (int i = 0; i < patterns.size(); i++) { - p = (EventPattern) patterns.get(i); - evtsCurrent = processEvents(p, strData); ! if (evtsCurrent != null) { ! evtsResult.addAll(evtsCurrent, this.conf); ! } ! } ! return evtsResult; ! } ! /** ! * Extract all events matched by the supplied pattern in ! * the supplied textual data. ! * @param p Pattern matching the event ! * @param strData the data to look for events in ! * @return Events matched by the pattern ! */ ! private Events processEvents(EventPattern p, String strData) { ! logger.entering("org.fanfoot.scoring.EventParser", ! "processEvents(eventPattern, strData)"); ! Events evts = new Events(); ! Matcher m = p.getRegexPattern().matcher(strData); ! String strPartValue; ! String strPartName; ! logger.finest("Looking for matches of type " + p.getType() + " (RE=" + ! p.getRegexPattern().pattern() + ")"); ! while (m.find()) { ! logger.fine("Matched event in: " + m.group()); ! Event evt = new Event(p.getType()); ! // Extract the event parts and store them in the event object ! logger.finest("There are " + m.groupCount() + ! " groups in the match"); ! for (int i = 1; i <= m.groupCount(); i++) { ! strPartValue = m.group(i).trim(); ! strPartName = p.getPartName(i); ! evt.putPart(strPartName, strPartValue); ! logger.finest("Set " + strPartName + " to " + strPartValue + ! " (part #" + i + ")"); ! } - logger.fine("Added event of type " + p.getType()); - evts.add(evt); - } ! logger.exiting("org.fanfoot.scoring.EventParser", ! "processEvents(eventPattern, strData)"); ! return evts; ! } ! /** Create a Unique Identifier for a set of Events held in the ! * supplied game data string. This is done by matching the ! * Regular Expression ! * in the UID child element of the events root element in the parser ! * configuration file. ! * @param strData the game data ! * @para, strType the type of data supplied ! * @returns String UID for this set of events ! * @throws EventParserConfigurationException ! */ ! public String parseEventsUID(String strData, String strType) ! throws EventParserConfigurationException { ! StringBuffer sb = new StringBuffer(); ! Matcher m; ! logger.entering("org.fanfoot.scoring.EventParser", ! "parseEventUID(strData, strType"); ! // get the UID element ! EventPattern uidPattern = this.conf.getEventsUIDPattern(strType); ! m = uidPattern.getRegexPattern().matcher(strData); ! logger.finest("UID pattern is " + ! uidPattern.getRegexPattern().pattern()); ! // get the UID parts ! while (m.find()) { ! // Extract the UID parts and build the UID ! for (int i = 1; i <= m.groupCount(); i++) { ! sb.append('_'); ! sb.append(m.group(i).trim()); ! } ! } ! logger.exiting("org.fanfoot.scoring.EventParser", ! "parseEventUID(strData, strType"); ! // concatenate the parts ! return sb.toString(); } ! /** Getter for property conf. ! * @return Value of property conf. ! * ! */ ! public EventParserConfiguration getConfiguration() { ! return this.conf; ! } ! /** Setter for property conf. ! * @param conf New value of property conf. ! * ! */ ! public void setConfiguration(EventParserConfiguration conf) { ! this.conf = conf; ! } - /** Load the configuration file indicated. - * @param strConf URL from which to load configuration file - * - */ - public void loadConfiguration(String strConf) - throws EventParserConfigurationException { - EventParserConfiguration conf = new EventParserConfiguration(strConf); - setConfiguration(conf); - } ! public synchronized void addListener(EventParserListener epl) { ! Vector v = (Vector) listeners.clone(); ! v.addElement(epl); ! listeners = v; ! } ! public synchronized void removeListener(EventParserListener epl) { ! Vector v = (Vector) listeners.clone(); ! v.removeElement(epl); ! listeners = v; } ! protected void notifyRetrievedCommentary() { ! logger.entering("org.fanfoot.scoring.EventParser", "notifyRetrievedCommentary()"); ! Vector l; ! EventObject e = new EventObject(this); ! l = listeners; // Atomic assignment ! EventParserListener epl = null; ! for (int i = 0; i < l.size(); i++) { ! epl = (EventParserListener) l.elementAt(i); ! epl.retrievedCommentary(e); ! } ! logger.entering("org.fanfoot.scoring.EventParser", "notifyRetrievedCommentary()"); } ! ! /** ! * Return the source code of the currently loaded commentary. ! * @return string containing the source code for the current commentary ! */ ! public String getCommentarySource() { ! String strCommentary; ! try { ! strCommentary = XMLUtils.xmlToString(docCommentary); ! } catch (javax.xml.transform.TransformerConfigurationException tce) { ! logger.log(Level.WARNING, "Unable to convert commentary document to string", tce); ! strCommentary = "ERROR: Unable to convert commentary document to a string du to a Transformer Configuration problem"; ! } catch (javax.xml.transform.TransformerException te) { ! logger.log(Level.WARNING, "Unable to convert commentary document to string", te); ! strCommentary = "ERROR: Unable to convert commentary document to a string du to a Transformer problem"; ! } ! return strCommentary; } } --- 53,379 ---- import org.w3c.dom.Document; /** ! * Parsers a file looking for events that may be important in a ! * fantasy game. Creates a set of Event objects from a given ! * commentary/statistics file. ! * ! *@author rgardler ! *@created 21 October 2002 */ public class EventParser { ! /** Holds value of property conf. */ ! private EventParserConfiguration conf; ! /** WHere to write log info */ ! final Logger logger = Logger.getLogger("org.fanfoot.scoring"); ! /** The listeners to this parser */ ! private Vector listeners = new Vector(); ! /** The commentary document to parse */ ! private Document docCommentary = null; ! // the original commentary document ! /** Creates a new instance of EventParser */ ! public EventParser() { ! super(); ! } ! /** ! * Creates a new instance of EventParser ! * ! *@param strURL the url of the configuration file for this parser ! *@exception EventParserConfigurationException Description of the ! * Exception ! *@throws EventParserConfigurationException ! */ ! public EventParser(String strURL) throws EventParserConfigurationException { ! super(); ! conf = new EventParserConfiguration(strURL); ! } ! /** ! * Parse the supplied resource ! * ! *@param strURL the URL of the resource to parse ! *@param strType the type of resource this is (this corresponds to ! * the sourceType element of the matcher element in the config ! * file ! *@return Events found in the resource ! *@exception MalformedURLException Description of the Exception ! *@exception IOException Description of the Exception ! *@exception EventParserConfigurationException Description of the ! * Exception ! */ ! public Events parse(String strURL, String strType) ! throws MalformedURLException, IOException, ! EventParserConfigurationException { ! URL url = new URL(strURL); ! return parse(url, strType); ! } ! /** ! * Parse the supplied file ! * ! *@param file the file to parse ! *@param strType the type of resource this is (this corresponds to ! * the sourceType element of the matcher element in the config ! * file ! *@return Events found in the resource ! *@exception IOException Description of the Exception ! *@exception EventP... [truncated message content] |