|
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.
|