From: <zep...@us...> - 2006-12-16 17:51:26
|
Revision: 238 http://svn.sourceforge.net/pzfilereader/?rev=238&view=rev Author: zepernick Date: 2006-12-16 09:51:25 -0800 (Sat, 16 Dec 2006) Log Message: ----------- findbug fixes Modified Paths: -------------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/AbstractDelimiterPZParser.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBDelimiterPZParser.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBFixedLengthPZParser.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/FixedWidthParserUtils.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/AbstractDelimiterPZParser.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/AbstractDelimiterPZParser.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/AbstractDelimiterPZParser.java 2006-12-16 17:51:25 UTC (rev 238) @@ -91,22 +91,16 @@ try { stream = ParserUtils.createInputStream(getDataSource()); return doDelimitedFile(stream, shouldCreateMDFromFile()); - } catch (final Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); } finally { if (stream != null) { stream.close(); } } } - } catch (final FileNotFoundException e) { - // TODO Auto-generated catch block + } catch (final IOException e) { + // TODO add logger e.printStackTrace(); - } catch (final Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + } return null; } Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBDelimiterPZParser.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBDelimiterPZParser.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBDelimiterPZParser.java 2006-12-16 17:51:25 UTC (rev 238) @@ -65,10 +65,12 @@ try { final String sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " - + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + "WHERE DATAFILE.DATAFILE_DESC = '" - + getDataDefinition() + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; + + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + + "WHERE DATAFILE.DATAFILE_DESC = ? " + + "ORDER BY DATASTRUCTURE_COL_ORDER"; stmt = con.prepareStatement(sql); // always use PreparedStatement + stmt.setString(1, getDataDefinition()); // as the DB can do clever things. rs = stmt.executeQuery(); Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBFixedLengthPZParser.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBFixedLengthPZParser.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DBFixedLengthPZParser.java 2006-12-16 17:51:25 UTC (rev 238) @@ -70,11 +70,13 @@ try { final String sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " - + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + "WHERE DATAFILE.DATAFILE_DESC = '" - + getDataDefinition() + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; + + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + + "WHERE DATAFILE.DATAFILE_DESC = ? " + + "ORDER BY DATASTRUCTURE_COL_ORDER"; stmt = con.prepareStatement(sql); // always use PreparedStatement // as the DB can do clever things. + stmt.setString(1, getDataDefinition()); rs = stmt.executeQuery(); int recPosition = 1; Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java 2006-12-16 17:51:25 UTC (rev 238) @@ -1,22 +1,42 @@ /* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. + * ObjectLab, http://www.objectlab.co.uk/open is supporting PZFileReader. + * + * Based in London, we are world leaders in the design and development + * of bespoke applications for the securities financing markets. + * + * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a> + * ___ _ _ _ _ _ + * / _ \| |__ (_) ___ ___| |_| | __ _| |__ + * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ + * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | + * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ + * |__/ + * + * www.ObjectLab.co.uk + * + * $Id: ColorProvider.java 74 2006-10-24 22:19:05Z benoitx $ + * + * Copyright 2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. */ package net.sf.pzfilereader.ordering; +import java.io.Serializable; import java.util.ArrayList; import java.util.Comparator; import java.util.List; +import java.util.Locale; import net.sf.pzfilereader.structure.Row; import net.sf.pzfilereader.util.PZConstants; @@ -30,7 +50,9 @@ * * @version 2.0 */ -public class OrderBy implements Comparator { +public class OrderBy implements Comparator, Serializable { + private static final long serialVersionUID = 5622406168247149895L; + /** collection of order elements to sort by */ private final ArrayList orderbys = new ArrayList(); @@ -77,8 +99,10 @@ // convert to one type of case so the comparator does not take case // into account when sorting - final Comparable comp0 = row0.getValue(ParserUtils.findColumn(oc.getColumnName(), columnMD)).toLowerCase(); - final Comparable comp1 = row1.getValue(ParserUtils.findColumn(oc.getColumnName(), columnMD)).toLowerCase(); + final Comparable comp0 = row0.getValue(ParserUtils.findColumn( + oc.getColumnName(), columnMD)).toLowerCase(Locale.getDefault()); + final Comparable comp1 = row1.getValue(ParserUtils.findColumn( + oc.getColumnName(), columnMD)).toLowerCase(Locale.getDefault()); // multiply by the sort indicator to get a ASC or DESC result result = comp0.compareTo(comp1) * oc.getSortIndicator(); Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java 2006-12-16 17:51:25 UTC (rev 238) @@ -1,16 +1,34 @@ /* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. + * ObjectLab, http://www.objectlab.co.uk/open is supporting PZFileReader. + * + * Based in London, we are world leaders in the design and development + * of bespoke applications for the securities financing markets. + * + * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a> + * ___ _ _ _ _ _ + * / _ \| |__ (_) ___ ___| |_| | __ _| |__ + * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ + * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | + * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ + * |__/ + * + * www.ObjectLab.co.uk + * + * $Id: ColorProvider.java 74 2006-10-24 22:19:05Z benoitx $ + * + * Copyright 2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. */ package net.sf.pzfilereader.ordering; Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java 2006-12-16 17:51:25 UTC (rev 238) @@ -29,10 +29,19 @@ private List cols; /** Row number in flat file */ - private int rowNumber = 0; + private int rowNumber; /** key to the MD for this row, null will indicate it is "detail" MD */ private String mdkey; + + /** + * Constructs a new Row + * + */ + public Row() { + mdkey = null; + cols = new ArrayList(); + } /** * Adds a column to a row @@ -41,9 +50,6 @@ * String value to add to the row */ public void addColumn(final String colValue) { - if (cols == null) { - cols = new ArrayList(); - } cols.add(colValue); } Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/FixedWidthParserUtils.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/FixedWidthParserUtils.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/FixedWidthParserUtils.java 2006-12-16 17:51:25 UTC (rev 238) @@ -36,6 +36,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import net.sf.pzfilereader.structure.ColumnMetaData; import net.sf.pzfilereader.xml.XMLRecordElement; @@ -86,16 +87,16 @@ // detail id return PZConstants.DETAIL_ID; } - final Iterator keys = columnMD.keySet().iterator(); + final Iterator mapEntries = columnMD.entrySet().iterator(); // loop through the XMLRecordElement objects and see if we need a // different MD object - while (keys.hasNext()) { - final String key = (String) keys.next(); - if (key.equals(PZConstants.DETAIL_ID) || key.equals(PZConstants.COL_IDX)) { + while (mapEntries.hasNext()) { + final Entry entry = (Entry) mapEntries.next(); + if (entry.getKey().equals(PZConstants.DETAIL_ID) || entry.getKey().equals(PZConstants.COL_IDX)) { continue; // skip this key will be assumed if none of the // others match } - final XMLRecordElement recordXMLElement = (XMLRecordElement) columnMD.get(key); + final XMLRecordElement recordXMLElement = (XMLRecordElement) entry.getValue(); if (recordXMLElement.getEndPositition() > line.length()) { // make sure our substring is not going to fail @@ -107,7 +108,7 @@ final int subto = recordXMLElement.getEndPositition(); if (line.substring(subfrm, subto).equals(recordXMLElement.getIndicator())) { // we found the MD object we want to return - return key; + return (String)entry.getKey(); } } Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-12-16 17:51:25 UTC (rev 238) @@ -50,6 +50,7 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Properties; +import java.util.Map.Entry; import net.sf.pzfilereader.converter.PZConvertException; import net.sf.pzfilereader.converter.PZConverter; @@ -588,13 +589,13 @@ final Map recordLengths = new HashMap(); List cmds = null; - final Iterator columnMDIt = columnMD.keySet().iterator(); + final Iterator columnMDIt = columnMD.entrySet().iterator(); while (columnMDIt.hasNext()) { - final String key = (String) columnMDIt.next(); - if (key.equals(PZConstants.DETAIL_ID) || key.equals(PZConstants.COL_IDX)) { - cmds = (List) columnMD.get(PZConstants.DETAIL_ID); + final Entry entry = (Entry) columnMDIt.next(); + if (entry.getKey().equals(PZConstants.DETAIL_ID) || entry.getKey().equals(PZConstants.COL_IDX)) { + cmds = (List) entry.getValue(); } else { - cmds = ((XMLRecordElement) columnMD.get(key)).getColumns(); + cmds = ((XMLRecordElement) entry.getValue()).getColumns(); } int recordLength = 0; @@ -602,7 +603,7 @@ recordLength += ((ColumnMetaData) cmds.get(i)).getColLength(); } - recordLengths.put(key, new Integer(recordLength)); + recordLengths.put(entry.getKey(), new Integer(recordLength)); } @@ -622,40 +623,7 @@ * */ public static String getCMDKeyForFixedLengthFile(final Map columnMD, final String line) { - if (columnMD.size() == 1) { - // no <RECORD> elments were specifed for this parse, just return the - // detail id - return PZConstants.DETAIL_ID; - } - final Iterator keys = columnMD.keySet().iterator(); - // loop through the XMLRecordElement objects and see if we need a - // different MD object - while (keys.hasNext()) { - final String key = (String) keys.next(); - if (key.equals(PZConstants.DETAIL_ID) || key.equals(PZConstants.COL_IDX)) { - continue; // skip this key will be assumed if none of the - // others match - } - final XMLRecordElement recordXMLElement = (XMLRecordElement) columnMD.get(key); - - if (recordXMLElement.getEndPositition() > line.length()) { - // make sure our substring is not going to fail - continue; - } - final int subfrm = recordXMLElement.getStartPosition() - 1; // convert - // to 0 - // based - final int subto = recordXMLElement.getEndPositition(); - if (line.substring(subfrm, subto).equals(recordXMLElement.getIndicator())) { - // we found the MD object we want to return - return key; - } - - } - - // must be a detail line - return PZConstants.DETAIL_ID; - + return FixedWidthParserUtils.getCMDKey(columnMD, line); } /** @@ -673,16 +641,16 @@ // detail id return PZConstants.DETAIL_ID; } - final Iterator keys = columnMD.keySet().iterator(); + final Iterator mapEntries = columnMD.entrySet().iterator(); // loop through the XMLRecordElement objects and see if we need a // different MD object - while (keys.hasNext()) { - final String key = (String) keys.next(); - if (key.equals(PZConstants.DETAIL_ID) || key.equals(PZConstants.COL_IDX)) { + while (mapEntries.hasNext()) { + final Entry entry = (Entry) mapEntries.next(); + if (entry.getKey().equals(PZConstants.DETAIL_ID) || entry.getKey().equals(PZConstants.COL_IDX)) { continue; // skip this key will be assumed if none of the // others match } - final XMLRecordElement recordXMLElement = (XMLRecordElement) columnMD.get(key); + final XMLRecordElement recordXMLElement = (XMLRecordElement) entry.getValue(); if (recordXMLElement.getElementNumber() > lineElements.size()) { // make sure the element referenced in the mapping exists @@ -691,7 +659,7 @@ final String lineElement = (String) lineElements.get(recordXMLElement.getElementNumber() - 1); if (lineElement.equals(recordXMLElement.getIndicator())) { // we found the MD object we want to return - return key; + return (String)entry.getKey(); } } Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java 2006-12-16 17:51:25 UTC (rev 238) @@ -1,16 +1,34 @@ /* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. + * ObjectLab, http://www.objectlab.co.uk/open is supporting PZFileReader. + * + * Based in London, we are world leaders in the design and development + * of bespoke applications for the securities financing markets. + * + * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a> + * ___ _ _ _ _ _ + * / _ \| |__ (_) ___ ___| |_| | __ _| |__ + * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ + * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | + * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ + * |__/ + * + * www.ObjectLab.co.uk + * + * $Id: ColorProvider.java 74 2006-10-24 22:19:05Z benoitx $ + * + * Copyright 2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. */ package net.sf.pzfilereader.xml; @@ -22,6 +40,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import net.sf.pzfilereader.structure.ColumnMetaData; import net.sf.pzfilereader.util.PZConstants; @@ -188,17 +207,19 @@ public static void setDebug(final boolean b) { showDebug = b; } - + + //TODO convert to logger instead of system out private static void showDebug(final Map xmlResults) { - final Iterator mapIt = xmlResults.keySet().iterator(); + final Iterator mapIt = xmlResults.entrySet().iterator(); while (mapIt.hasNext()) { XMLRecordElement xmlrecEle = null; - final String recordID = (String) mapIt.next(); + final Entry entry = (Entry)mapIt.next(); + final String recordID = (String) entry.getKey(); Iterator columns = null; if (recordID.equals(PZConstants.DETAIL_ID)) { - columns = ((List) xmlResults.get(recordID)).iterator(); + columns = ((List) entry.getValue()).iterator(); } else { - xmlrecEle = (XMLRecordElement) xmlResults.get(recordID); + xmlrecEle = (XMLRecordElement) entry.getValue(); columns = xmlrecEle.getColumns().iterator(); } Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java 2006-12-16 16:53:07 UTC (rev 237) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java 2006-12-16 17:51:25 UTC (rev 238) @@ -1,32 +1,52 @@ /* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. + * ObjectLab, http://www.objectlab.co.uk/open is supporting PZFileReader. + * + * Based in London, we are world leaders in the design and development + * of bespoke applications for the securities financing markets. + * + * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a> + * ___ _ _ _ _ _ + * / _ \| |__ (_) ___ ___| |_| | __ _| |__ + * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ + * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | + * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ + * |__/ + * + * www.ObjectLab.co.uk + * + * $Id: ColorProvider.java 74 2006-10-24 22:19:05Z benoitx $ + * + * Copyright 2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. */ package net.sf.pzfilereader.xml; import java.io.IOException; import java.net.URL; +import java.util.Locale; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; import org.xml.sax.SAXException; /** - * @author zepernick + * Resolves a local copy of the DTD instead of having to pull + * over the internet from the SF site * - * Resolves a local copy of the DTD instead of having to pull from SF + * @author Paul Zepernick */ -public class ResolveLocalDTD implements EntityResolver { +public final class ResolveLocalDTD implements EntityResolver { /* * (non-Javadoc) @@ -35,18 +55,14 @@ * java.lang.String) */ public InputSource resolveEntity(final String publicId, final String systemId) throws SAXException, IOException { - try { - if (!systemId.toLowerCase().startsWith("http://")) { - final URL resource = getClass().getResource("pzfilereader.dtd"); + if (!systemId.toLowerCase(Locale.getDefault()).startsWith("http://")) { + final URL resource = getClass().getResource("pzfilereader.dtd"); - if (resource != null) { - return new InputSource(resource.openStream()); - } else { - throw new Exception("could not load dtd resource!!"); - } + if (resource != null) { + return new InputSource(resource.openStream()); + } else { + throw new RuntimeException("could not load dtd resource from jar!!"); } - } catch (final Exception ex) { - ex.printStackTrace(); } // must be pulling from the web, stick with default implementation This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |