From d9afbe27681347d61ecdc8470153a103eaaeeb3a Mon Sep 17 00:00:00 2001 From: Richard Morales Date: Tue, 11 Dec 2012 16:48:34 -0500 Subject: [PATCH] IDEMPIERE-455 Discover and fix FindBugs problems / Pattern OS_OPEN_STREAM --- .../base/equinox/ExtensionPriorityManager.java | 13 ++++++++++++- .../src/org/adempiere/util/RestletUtil.java | 11 ++++++++++- .../src/org/compiere/cm/CacheHandler.java | 15 ++++++++++++--- .../src/org/compiere/model/MPasswordRule.java | 8 ++++++++ .../src/org/compiere/util/StoredHtmlSrc.java | 11 ++++++++++- .../src/org/compiere/install/KeyStoreMgt.java | 8 ++++++++ .../src/org/adempiere/pipo2/PackIn.java | 10 ++++++++-- .../src/org/adempiere/pipo2/Zipper.java | 11 ++++++++++- .../plugin/utils/AdempiereActivator.java | 10 +++++++++- .../org/adempiere/apps/graph/HtmlDashboard.java | 11 ++++++++++- .../webui/desktop/DashboardController.java | 12 ++++++++++-- .../adempiere/db/oracle/config/ConfigOracle.java | 11 ++++++++++- 12 files changed, 117 insertions(+), 14 deletions(-) diff --git a/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java b/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java index d53a67b9e2..7df6c951a8 100644 --- a/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java +++ b/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java @@ -39,8 +39,10 @@ public class ExtensionPriorityManager { URL url = location.getURL(); File file = new File(url.getPath(), "extensions-priorty.properties"); if (file.exists() && file.canRead()) { + FileInputStream fileInput = null; try { - priorityMap.load(new FileInputStream(file)); + fileInput = new FileInputStream(file); + priorityMap.load(fileInput); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -48,6 +50,15 @@ public class ExtensionPriorityManager { // TODO Auto-generated catch block e.printStackTrace(); } + finally{ + if (fileInput != null) { + try { + fileInput.close(); + } catch (Exception e2) {} + fileInput = null; + } + } + } } diff --git a/org.adempiere.base/src/org/adempiere/util/RestletUtil.java b/org.adempiere.base/src/org/adempiere/util/RestletUtil.java index ed4ba160e1..dec3fc5b68 100644 --- a/org.adempiere.base/src/org/adempiere/util/RestletUtil.java +++ b/org.adempiere.base/src/org/adempiere/util/RestletUtil.java @@ -37,6 +37,7 @@ public class RestletUtil { */ @SuppressWarnings("unchecked") public static T toObject(Representation entity) { + ObjectInputStream ois = null; try { if (entity instanceof WrapperRepresentation) { entity = ((WrapperRepresentation)entity).getWrappedRepresentation(); @@ -46,7 +47,7 @@ public class RestletUtil { return (T) or.getObject(); } else if (entity instanceof InputRepresentation) { InputRepresentation ir = (InputRepresentation) entity; - ObjectInputStream ois = new ObjectInputStream(ir.getStream()); + ois = new ObjectInputStream(ir.getStream()); return (T) ois.readObject(); } else { return null; @@ -55,5 +56,13 @@ public class RestletUtil { log.log(Level.SEVERE, e.getLocalizedMessage(), e); return null; } + finally{ + if (ois != null) { + try { + ois.close(); + } catch (Exception e2) {} + ois = null; + } + } } } diff --git a/org.adempiere.base/src/org/compiere/cm/CacheHandler.java b/org.adempiere.base/src/org/compiere/cm/CacheHandler.java index ad5522704a..7999aa75b3 100644 --- a/org.adempiere.base/src/org/compiere/cm/CacheHandler.java +++ b/org.adempiere.base/src/org/compiere/cm/CacheHandler.java @@ -145,6 +145,7 @@ public class CacheHandler { private void runURLRequest(String cache, String ID) { String thisURL = null; for(int i=0; i entries = zipFile.entries(); ZipEntry entry = entries.nextElement(); File tempfile = new File(entry.getName()); @@ -114,6 +115,14 @@ public class Zipper { ioe.printStackTrace(); return ""; } + finally{ + if (zipFile != null) { + try { + zipFile.close(); + } catch (Exception e) {} + zipFile = null; + } + } } }// CreateZipFile diff --git a/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java b/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java index 3c2f44130e..5566639762 100644 --- a/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java +++ b/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java @@ -75,11 +75,12 @@ public class AdempiereActivator implements BundleActivator { URL packout = context.getBundle().getEntry("/META-INF/2Pack.zip"); if (packout != null) { IDictionaryService service = Service.locator().locate(IDictionaryService.class).getService(); + FileOutputStream zipstream = null; try { // copy the resource to a temporary file to process it with 2pack InputStream stream = context.getBundle().getEntry("/META-INF/2Pack.zip").openStream(); File zipfile = File.createTempFile(getName(), ".zip"); - FileOutputStream zipstream = new FileOutputStream(zipfile); + zipstream = new FileOutputStream(zipfile); byte[] buffer = new byte[1024]; int read; while((read = stream.read(buffer)) != -1){ @@ -90,6 +91,13 @@ public class AdempiereActivator implements BundleActivator { } catch (Exception e) { logger.log(Level.SEVERE, "Error on Dictionary service", e); } + finally{ + if (zipstream != null) { + try { + zipstream.close(); + } catch (Exception e2) {} + } + } } } diff --git a/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java b/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java index dbea264cc5..19bbfc19f8 100644 --- a/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java +++ b/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java @@ -114,9 +114,10 @@ public class HtmlDashboard extends JPanel implements MouseListener, URL url = getClass().getClassLoader(). getResource("org/compiere/css/PAPanel.css"); InputStreamReader ins; + BufferedReader bufferedReader = null; try { ins = new InputStreamReader(url.openStream()); - BufferedReader bufferedReader = new BufferedReader( ins ); + bufferedReader = new BufferedReader( ins ); String cssLine; result.append("