You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by js...@apache.org on 2006/05/18 03:03:09 UTC
svn commit: r407422 - in /geronimo/branches/1.1/applications:
console-core/src/java/org/apache/geronimo/console/core/security/
console-core/src/java/org/apache/geronimo/console/core/system/serverinfo/
console-standard/src/java/org/apache/geronimo/conso...
Author: jsisson
Date: Wed May 17 18:03:08 2006
New Revision: 407422
URL: http://svn.apache.org/viewvc?rev=407422&view=rev
Log:
GERONIMO-2032 - [console] Some input and output streams are not closed in finally blocks
Modified:
geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/security/PropertiesLoginModuleManager.java
geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/system/serverinfo/ServerConstants.java
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSProviderData.java
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/MasterLoginModuleInfo.java
Modified: geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/security/PropertiesLoginModuleManager.java
URL: http://svn.apache.org/viewvc/geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/security/PropertiesLoginModuleManager.java?rev=407422&r1=407421&r2=407422&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/security/PropertiesLoginModuleManager.java (original)
+++ geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/security/PropertiesLoginModuleManager.java Wed May 17 18:03:08 2006
@@ -19,6 +19,7 @@
import java.io.File;
import java.io.FileOutputStream;
+import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URL;
@@ -58,42 +59,78 @@
private void refreshUsers() {
users.clear();
+ InputStream in = null;
try {
- users.load(serverInfo.resolve(getUsersURI()).toURL().openStream());
+ in = serverInfo.resolve(getUsersURI()).toURL().openStream();
+ users.load(in);
} catch (Exception e) {
throw new GeronimoSecurityException(e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException ignored) {
+ // ignored
+ }
+ }
}
}
private void refreshGroups() throws GeronimoSecurityException {
groups.clear();
+ InputStream in = null;
try {
- groups
- .load(serverInfo.resolve(getGroupsURI()).toURL()
- .openStream());
+ in = serverInfo.resolve(getGroupsURI()).toURL().openStream();
+ groups.load(in);
} catch (Exception e) {
throw new GeronimoSecurityException(e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException ignored) {
+ // ignored
+ }
+ }
}
}
public String[] getUsers() throws GeronimoSecurityException {
users.clear();
+ InputStream in = null;
try {
- users.load(serverInfo.resolve(getUsersURI()).toURL().openStream());
+ in = serverInfo.resolve(getUsersURI()).toURL().openStream();
+ users.load(in);
} catch (Exception e) {
throw new GeronimoSecurityException(e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException ignored) {
+ // ignored
+ }
+ }
}
return (String[]) users.keySet().toArray(new String[0]);
}
public String[] getGroups() throws GeronimoSecurityException {
groups.clear();
+ InputStream in = null;
try {
- groups
- .load(serverInfo.resolve(getGroupsURI()).toURL()
- .openStream());
+ in = serverInfo.resolve(getGroupsURI()).toURL().openStream();
+ groups.load(in);
} catch (Exception e) {
throw new GeronimoSecurityException(e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException ignored) {
+ // ignored
+ }
+ }
}
return (String[]) groups.keySet().toArray(new String[0]);
}
@@ -226,23 +263,28 @@
}
private void store(Properties props, URL url) throws Exception {
- OutputStream out;
+ OutputStream out = null;
try {
- URLConnection con = url.openConnection();
- con.setDoOutput(true);
- out = con.getOutputStream();
- } catch (Exception e) {
- if ("file".equalsIgnoreCase(url.getProtocol()) && e instanceof UnknownServiceException) {
- out = new FileOutputStream(new File(url.getFile()));
- } else {
- throw e;
+ try {
+ URLConnection con = url.openConnection();
+ con.setDoOutput(true);
+ out = con.getOutputStream();
+ } catch (Exception e) {
+ if ("file".equalsIgnoreCase(url.getProtocol()) && e instanceof UnknownServiceException) {
+ out = new FileOutputStream(new File(url.getFile()));
+ } else {
+ throw e;
+ }
+ }
+ props.store(out, null);
+ } finally {
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException ignored) {
+ // ignored
+ }
}
- }
- props.store(out, null);
- try {
- out.close();
- } catch (IOException ie) {
- // Ignore
}
}
Modified: geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/system/serverinfo/ServerConstants.java
URL: http://svn.apache.org/viewvc/geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/system/serverinfo/ServerConstants.java?rev=407422&r1=407421&r2=407422&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/system/serverinfo/ServerConstants.java (original)
+++ geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/core/system/serverinfo/ServerConstants.java Wed May 17 18:03:08 2006
@@ -17,6 +17,7 @@
package org.apache.geronimo.console.core.system.serverinfo;
+import java.io.InputStream;
import java.util.Properties;
public class ServerConstants {
@@ -91,12 +92,26 @@
*/
static {
Properties versionInfo = new Properties();
+ InputStream in = ServerConstants.class.getClassLoader()
+ .getResourceAsStream(PROPERTIES_FILE);
+ if(in == null) {
+ throw new ExceptionInInitializerError(new Exception(
+ "Unable to locate geronimo-version.properties"));
+ }
+
try {
- versionInfo.load(ServerConstants.class.getClassLoader()
- .getResourceAsStream(PROPERTIES_FILE));
+ versionInfo.load(in);
} catch (java.io.IOException e) {
throw new ExceptionInInitializerError(new Exception(
"Could not load geronimo-version.properties", e));
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (java.io.IOException ignored) {
+ // ignore
+ }
+ }
}
VERSION = versionInfo.getProperty("version");
if (VERSION == null || VERSION.length() == 0) {
Modified: geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSProviderData.java
URL: http://svn.apache.org/viewvc/geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSProviderData.java?rev=407422&r1=407421&r2=407422&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSProviderData.java (original)
+++ geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSProviderData.java Wed May 17 18:03:08 2006
@@ -353,9 +353,15 @@
Properties props = new Properties();
try {
props.load(in);
- in.close();
} catch (IOException e) {
log.error("Unable to read JMS provider properties file", e);
+ } finally {
+ // load could fail, ensure stream is closed.
+ try {
+ in.close();
+ } catch (IOException ignore) {
+ // ignore
+ }
}
Set set = new HashSet();
// Find the names of the provider entries
Modified: geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/MasterLoginModuleInfo.java
URL: http://svn.apache.org/viewvc/geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/MasterLoginModuleInfo.java?rev=407422&r1=407421&r2=407422&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/MasterLoginModuleInfo.java (original)
+++ geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/MasterLoginModuleInfo.java Wed May 17 18:03:08 2006
@@ -100,9 +100,14 @@
Properties props = new Properties();
try {
props.load(in);
- in.close();
} catch (IOException e) {
log.error("Unable to read login module properties file", e);
+ } finally {
+ try {
+ in.close();
+ } catch (java.io.IOException ignored) {
+ // ignore
+ }
}
for (Iterator it = props.keySet().iterator(); it.hasNext();) {
String key = (String) it.next();