You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2007/11/06 22:11:52 UTC
svn commit: r592555 - in
/felix/trunk/framework/src/main/java/org/apache/felix/framework:
ExtensionManager.java URLHandlersBundleURLConnection.java
Author: pauls
Date: Tue Nov 6 13:11:52 2007
New Revision: 592555
URL: http://svn.apache.org/viewvc?rev=592555&view=rev
Log:
Avoid creating an unnecessary inner class by reusing an existing one and fix some thread safety issue in URLHandlersBundleURLConnection.
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java?rev=592555&r1=592554&r2=592555&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Tue Nov 6 13:11:52 2007
@@ -512,13 +512,7 @@
if (path.trim().equals("/"))
{
- return new URLConnection(url)
- {
- public void connect() throws IOException
- {
- throw new IOException("Resource not provided by any extension!");
- }
- };
+ return new URLHandlersBundleURLConnection(url);
}
for (Iterator iter = m_extensions.iterator(); iter.hasNext();)
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java?rev=592555&r1=592554&r2=592555&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java Tue Nov 6 13:11:52 2007
@@ -37,6 +37,11 @@
private String m_contentType;
private InputStream m_is;
+ public URLHandlersBundleURLConnection(URL url)
+ {
+ super(url);
+ }
+
public URLHandlersBundleURLConnection(URL url, Felix framework)
throws IOException
{
@@ -92,7 +97,7 @@
}
}
- public void connect() throws IOException
+ public synchronized void connect() throws IOException
{
if (!connected)
{
@@ -112,42 +117,36 @@
public InputStream getInputStream()
throws IOException
{
- if (!connected)
- {
- connect();
- }
+ connect();
+
return m_is;
}
public int getContentLength()
{
- if (!connected)
+ try
{
- try
- {
- connect();
- }
- catch(IOException ex)
- {
- return -1;
- }
+ connect();
+ }
+ catch(IOException ex)
+ {
+ return -1;
}
+
return m_contentLength;
}
public long getLastModified()
{
- if (!connected)
+ try
{
- try
- {
- connect();
- }
- catch(IOException ex)
- {
- return 0;
- }
+ connect();
+ }
+ catch(IOException ex)
+ {
+ return 0;
}
+
if (m_contentTime != -1L)
{
return m_contentTime;
@@ -160,17 +159,15 @@
public String getContentType()
{
- if (!connected)
+ try
{
- try
- {
- connect();
- }
- catch (IOException ex)
- {
- return null;
- }
+ connect();
+ }
+ catch (IOException ex)
+ {
+ return null;
}
+
return m_contentType;
}