You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by fe...@apache.org on 2007/07/12 07:37:32 UTC

svn commit: r555496 - /cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java

Author: felixk
Date: Wed Jul 11 22:37:32 2007
New Revision: 555496

URL: http://svn.apache.org/viewvc?view=rev&rev=555496
Log:
Make sure, they finally are closed

Modified:
    cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java

Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java?view=diff&rev=555496&r1=555495&r2=555496
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java Wed Jul 11 22:37:32 2007
@@ -67,11 +67,23 @@
                 final File out = new File(fileName);
                 // create directory
                 out.getParentFile().mkdirs();
-                final InputStream inStream = jarFile.getInputStream(entry);
-                final OutputStream outStream = new FileOutputStream(out);
-                IOUtils.copy(inStream, outStream);
-                inStream.close();
-                outStream.close();
+                
+                InputStream inStream = null;
+                OutputStream outStream = null;
+                try {
+                    inStream = jarFile.getInputStream(entry);
+                    outStream = new FileOutputStream(out);
+                    IOUtils.copy(inStream, outStream);
+                    inStream.close();
+                    outStream.close();
+                } finally {
+                    if (outStream != null) {
+                        outStream.close();
+                    }
+                    if (inStream != null) {
+                        inStream.close();
+                    }
+                }
             }
         }
     }



Re: svn commit: r555496 - /cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java

Posted by Felix Knecht <fe...@apache.org>.
Joerg Heinicke schrieb:
> On 12.07.2007 01:37, felixk@apache.org wrote:
>> Author: felixk
>> Date: Wed Jul 11 22:37:32 2007
>> New Revision: 555496
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=555496
>> Log:
>> Make sure, they finally are closed
>
> Hi Felix,
>
> the streams are now closed twice since close() is also inside try
> block. Also if outStream.close() fails with an exception instream will
> remain open.

Ups, I forget to delete after copying.

Thanks Joerg
>
> Joerg
>
>> ==============================================================================
>>
>> ---
>> cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java
>> (original)
>> +++
>> cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java
>> Wed Jul 11 22:37:32 2007
>> @@ -67,11 +67,23 @@
>>                  final File out = new File(fileName);
>>                  // create directory
>>                  out.getParentFile().mkdirs();
>> -                final InputStream inStream =
>> jarFile.getInputStream(entry);
>> -                final OutputStream outStream = new
>> FileOutputStream(out);
>> -                IOUtils.copy(inStream, outStream);
>> -                inStream.close();
>> -                outStream.close();
>> +                +                InputStream inStream = null;
>> +                OutputStream outStream = null;
>> +                try {
>> +                    inStream = jarFile.getInputStream(entry);
>> +                    outStream = new FileOutputStream(out);
>> +                    IOUtils.copy(inStream, outStream);
>> +                    inStream.close();
>> +                    outStream.close();
>> +                } finally {
>> +                    if (outStream != null) {
>> +                        outStream.close();
>> +                    }
>> +                    if (inStream != null) {
>> +                        inStream.close();
>> +                    }
>> +                }
>>              }
>>          }
>>      }
>>
>>
>


Re: svn commit: r555496 - /cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java

Posted by Joerg Heinicke <jo...@gmx.de>.
On 12.07.2007 08:20, Felix Knecht wrote:
> Joerg Heinicke schrieb:
> 
> My conclusion must be:
> NEVER getting up, committing the dreams I had during sleep and then
> getting fully awake ...

Oh, you dream of unclosed streams? :-)

Joerg

Re: svn commit: r555496 - /cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java

Posted by Felix Knecht <fe...@apache.org>.
Joerg Heinicke schrieb:

My conclusion must be:
NEVER getting up, committing the dreams I had during sleep and then
getting fully awake ...


> Hi Felix,
>
> the streams are now closed twice since close() is also inside try
> block. Also if outStream.close() fails with an exception instream will
> remain open.
>
> Joerg
>


Re: svn commit: r555496 - /cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java

Posted by Joerg Heinicke <jo...@gmx.de>.
On 12.07.2007 01:37, felixk@apache.org wrote:
> Author: felixk
> Date: Wed Jul 11 22:37:32 2007
> New Revision: 555496
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=555496
> Log:
> Make sure, they finally are closed

Hi Felix,

the streams are now closed twice since close() is also inside try block. 
Also if outStream.close() fails with an exception instream will remain open.

Joerg

> ==============================================================================
> --- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java (original)
> +++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/configurator/impl/DeploymentUtil.java Wed Jul 11 22:37:32 2007
> @@ -67,11 +67,23 @@
>                  final File out = new File(fileName);
>                  // create directory
>                  out.getParentFile().mkdirs();
> -                final InputStream inStream = jarFile.getInputStream(entry);
> -                final OutputStream outStream = new FileOutputStream(out);
> -                IOUtils.copy(inStream, outStream);
> -                inStream.close();
> -                outStream.close();
> +                
> +                InputStream inStream = null;
> +                OutputStream outStream = null;
> +                try {
> +                    inStream = jarFile.getInputStream(entry);
> +                    outStream = new FileOutputStream(out);
> +                    IOUtils.copy(inStream, outStream);
> +                    inStream.close();
> +                    outStream.close();
> +                } finally {
> +                    if (outStream != null) {
> +                        outStream.close();
> +                    }
> +                    if (inStream != null) {
> +                        inStream.close();
> +                    }
> +                }
>              }
>          }
>      }
> 
>