You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by bo...@apache.org on 2011/07/17 07:25:02 UTC

svn commit: r1147529 - /incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java

Author: bodewig
Date: Sun Jul 17 05:25:01 2011
New Revision: 1147529

URL: http://svn.apache.org/viewvc?rev=1147529&view=rev
Log:
close resources

Modified:
    incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java

Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java?rev=1147529&r1=1147528&r2=1147529&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java Sun Jul 17 05:25:01 2011
@@ -158,11 +158,6 @@ public abstract class AbstractLicenceApp
         if (type == TYPE_UNKNOWN) {
             return;
         }
-        File newDocument = new File(document.getAbsolutePath() + ".new");
-        FileWriter writer = new FileWriter(newDocument);
-
-        FileReader fr = new FileReader(document);
-        BufferedReader br = new BufferedReader(fr);
 
         boolean expectsHashPling = expectsHashPling(type);
         boolean expectsAtEcho = expectsAtEcho(type);
@@ -170,41 +165,57 @@ public abstract class AbstractLicenceApp
         boolean expectsXMLDecl = expectsXMLDecl(type);
         boolean expectsPhpPI = expectsPhpPI(type);
 
-        if (!expectsHashPling
-            && !expectsAtEcho
-            && !expectsPackage
-            && !expectsXMLDecl
-            && !expectsPhpPI) {
-            writer.write(getLicenceHeader(document));
-            writer.write('\n');
-        }
-
-        String line;
-        boolean first = true;
-        while ((line = br.readLine()) != null) {
-            if (first && expectsHashPling) {
-                doFirstLine(document, writer, line, "#!");
-            } else if (first && expectsAtEcho) {
-                doFirstLine(document, writer, line, "@echo");
-            } else {
-                writer.write(line);
-                writer.write('\n');
-            }
+        File newDocument = new File(document.getAbsolutePath() + ".new");
+        FileWriter writer = new FileWriter(newDocument);
 
-            if (expectsPackage && line.startsWith("package ")) {
-                writer.write(getLicenceHeader(document));
-                writer.write('\n');
-            } else if (expectsXMLDecl && line.startsWith("<?xml ")) {
-                writer.write(getLicenceHeader(document));
-                writer.write('\n');
-            } else if (expectsPhpPI && line.startsWith("<?php")) {
-                writer.write(getLicenceHeader(document));
-                writer.write('\n');
+        try {
+            FileReader fr = new FileReader(document);
+            BufferedReader br = null;
+            try {
+                br = new BufferedReader(fr);
+
+                if (!expectsHashPling
+                    && !expectsAtEcho
+                    && !expectsPackage
+                    && !expectsXMLDecl
+                    && !expectsPhpPI) {
+                    writer.write(getLicenceHeader(document));
+                    writer.write('\n');
+                }
+
+                String line;
+                boolean first = true;
+                while ((line = br.readLine()) != null) {
+                    if (first && expectsHashPling) {
+                        doFirstLine(document, writer, line, "#!");
+                    } else if (first && expectsAtEcho) {
+                        doFirstLine(document, writer, line, "@echo");
+                    } else {
+                        writer.write(line);
+                        writer.write('\n');
+                    }
+
+                    if (expectsPackage && line.startsWith("package ")) {
+                        writer.write(getLicenceHeader(document));
+                        writer.write('\n');
+                    } else if (expectsXMLDecl && line.startsWith("<?xml ")) {
+                        writer.write(getLicenceHeader(document));
+                        writer.write('\n');
+                    } else if (expectsPhpPI && line.startsWith("<?php")) {
+                        writer.write(getLicenceHeader(document));
+                        writer.write('\n');
+                    }
+                    first = false;
+                }
+            } finally {
+                if (br != null) {
+                    br.close();
+                }
+                fr.close();
             }
-            first = false;
+        } finally {
+            writer.close();
         }
-        br.close();
-        writer.close();
 
         if (isForced) {
             document.delete();