You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by il...@apache.org on 2011/08/01 14:34:53 UTC

svn commit: r1152752 - in /cocoon/cocoon3/trunk: cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/ cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/ cocoon-monitoring/src/main/java/org/apache/cocoon/monitor...

Author: ilgrosso
Date: Mon Aug  1 12:34:49 2011
New Revision: 1152752

URL: http://svn.apache.org/viewvc?rev=1152752&view=rev
Log:
Continuing the battle against Sonar & Findbugs

Modified:
    cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheBurstActions.java
    cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheMonitor.java
    cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/JmxSpringSettings.java
    cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/Log4JReconfigurator.java
    cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitor.java
    cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitorInitializer.java
    cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/CompoundCacheKey.java
    cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/SimpleCache.java
    cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/TimestampCacheKey.java
    cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/LogTransformer.java
    cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/XMLGenerator.java
    cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/collector/ResponseHeaderCollector.java
    cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/util/ManifestUtils.java
    cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java
    cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/matcher/WildcardMatcher.java
    cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/navigation/InSubtreeNavigator.java

Modified: cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheBurstActions.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheBurstActions.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheBurstActions.java (original)
+++ cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheBurstActions.java Mon Aug  1 12:34:49 2011
@@ -234,7 +234,7 @@ public class CacheBurstActions {
             returnList = results;
         }
 
-        return returnList.toArray(new String[] {});
+        return returnList.toArray(new String[returnList.size()]);
     }
 
     /**

Modified: cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheMonitor.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheMonitor.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheMonitor.java (original)
+++ cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/cache/CacheMonitor.java Mon Aug  1 12:34:49 2011
@@ -78,7 +78,7 @@ public class CacheMonitor {
         Set<CacheKey> keySet = this.cache.keySet();
 
         for (CacheKey cacheKey : keySet) {
-            if (cacheKey.equals(cacheKeyName)) {
+            if (cacheKeyName.equals(cacheKey.toString())) {
                 this.cache.remove(cacheKey);
                 return true;
             }

Modified: cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/JmxSpringSettings.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/JmxSpringSettings.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/JmxSpringSettings.java (original)
+++ cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/JmxSpringSettings.java Mon Aug  1 12:34:49 2011
@@ -71,7 +71,7 @@ public class JmxSpringSettings {
     @SuppressWarnings("unchecked")
     @ManagedAttribute(description = "List classes that should be loaded at initialization time of the servlet.")
     public final String[] listLoadClasses() {
-        return (String[]) this.settings.getLoadClasses().toArray(new String[] {});
+        return (String[]) this.settings.getLoadClasses().toArray(new String[this.settings.getLoadClasses().size()]);
     }
 
     /**

Modified: cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/Log4JReconfigurator.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/Log4JReconfigurator.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/Log4JReconfigurator.java (original)
+++ cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/reconfiguration/Log4JReconfigurator.java Mon Aug  1 12:34:49 2011
@@ -99,7 +99,7 @@ public class Log4JReconfigurator {
             }
         }
 
-        return result.toArray(new String[] {});
+        return result.toArray(new String[result.size()]);
     }
 
     /**

Modified: cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitor.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitor.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitor.java (original)
+++ cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitor.java Mon Aug  1 12:34:49 2011
@@ -68,7 +68,7 @@ public class ServletServiceMonitor {
             }
         }
 
-        return result.toArray(new String[] {});
+        return result.toArray(new String[result.size()]);
     }
 
     /**
@@ -99,8 +99,9 @@ public class ServletServiceMonitor {
         if (servletServiceConnections != null) {
             String connections[] = new String[servletServiceConnections.size()];
             int i = 0;
-            for (String key : servletServiceConnections.keySet()) {
-                connections[i] = key + " = " + servletServiceConnections.get(key);
+            for (Map.Entry<String, String> entry :
+                    servletServiceConnections.entrySet()) {
+                connections[i] = entry.getKey() + " = " + entry.getValue();
                 i++;
             }
             return connections;

Modified: cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitorInitializer.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitorInitializer.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitorInitializer.java (original)
+++ cocoon/cocoon3/trunk/cocoon-monitoring/src/main/java/org/apache/cocoon/monitoring/servletservice/ServletServiceMonitorInitializer.java Mon Aug  1 12:34:49 2011
@@ -35,7 +35,7 @@ import org.springframework.jmx.export.MB
 
 public class ServletServiceMonitorInitializer {
 
-    private final Log logger = LogFactory.getLog(this.getClass());
+    private static final Log LOG = LogFactory.getLog(ServletServiceMonitorInitializer.class);
 
     public ServletServiceMonitorInitializer(Map<String, Servlet> servlets, MBeanExporter exporter) {
         List<String> servletNames = new ArrayList<String>();
@@ -46,7 +46,7 @@ public class ServletServiceMonitorInitia
             ServletContext servletContext = servletConfig.getServletContext();
             String servletName = servletConfig.getServletName();
             if (!(servletContext instanceof ServletServiceContext)) {
-                this.logger.info(servletName + " isn't Servlet-Service servlet, it will be ignored.");
+                LOG.info(servletName + " isn't Servlet-Service servlet, it will be ignored.");
                 continue;
             }
 
@@ -57,15 +57,15 @@ public class ServletServiceMonitorInitia
             try {
                 name = new ObjectName(stringName);
             } catch (MalformedObjectNameException e) {
-                this.logger.error("The string passed as a parameter does not have the right format.", e);
+                LOG.error("The string passed as a parameter does not have the right format.", e);
                 continue;
             } catch (NullPointerException e) {
-                this.logger.fatal("Should never happened. Value of name parameter always is different than null.", e);
+                LOG.fatal("Should never happened. Value of name parameter always is different than null.", e);
                 continue;
             }
 
             if (name == null) {
-                this.logger.error("ObjectName is null, something strange happen. Should never happen.");
+                LOG.error("ObjectName is null, something strange happen. Should never happen.");
                 continue;
             }
 

Modified: cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/CompoundCacheKey.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/CompoundCacheKey.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/CompoundCacheKey.java (original)
+++ cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/CompoundCacheKey.java Mon Aug  1 12:34:49 2011
@@ -31,7 +31,7 @@ public class CompoundCacheKey extends Ab
 
     private static final long serialVersionUID = 1L;
 
-    private final Log logger = LogFactory.getLog(this.getClass());
+    private static final Log LOG = LogFactory.getLog(CompoundCacheKey.class);
 
     private final List<CacheKey> cacheKeys = new LinkedList<CacheKey>();
 
@@ -41,10 +41,10 @@ public class CompoundCacheKey extends Ab
 
     @Override
     public boolean equals(Object obj) {
-        if (this.logger.isDebugEnabled()) {
-            this.logger.debug("Comparing two cache keys: ");
-            this.logger.debug("  this=" + this);
-            this.logger.debug("  other=" + obj);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Comparing two cache keys: ");
+            LOG.debug("  this=" + this);
+            LOG.debug("  other=" + obj);
         }
 
         if (!(obj instanceof CompoundCacheKey)) {
@@ -56,18 +56,18 @@ public class CompoundCacheKey extends Ab
             return false;
         }
 
-        Iterator<CacheKey> myIterator = this.cacheKeys.iterator();
-        Iterator<CacheKey> otherIterator = other.cacheKeys.iterator();
+        final Iterator<CacheKey> myIterator = this.cacheKeys.iterator();
+        final Iterator<CacheKey> otherIterator = other.cacheKeys.iterator();
 
         while (myIterator.hasNext()) {
-            CacheKey myCacheKey = myIterator.next();
-            CacheKey otherCacheKey = otherIterator.next();
+            final CacheKey myCacheKey = myIterator.next();
+            final CacheKey otherCacheKey = otherIterator.next();
 
             if (myCacheKey == null || !myCacheKey.equals(otherCacheKey)) {
-                if (this.logger.isDebugEnabled()) {
-                    this.logger.debug("Cache keys are not equal: ");
-                    this.logger.debug("  myCacheKey=" + myCacheKey);
-                    this.logger.debug("  otherCacheKey=" + otherCacheKey);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Cache keys are not equal: ");
+                    LOG.debug("  myCacheKey=" + myCacheKey);
+                    LOG.debug("  otherCacheKey=" + otherCacheKey);
                 }
                 return false;
             }
@@ -78,7 +78,8 @@ public class CompoundCacheKey extends Ab
 
     @Override
     public int hashCode() {
-        MurmurHashCodeBuilder murmurHashCodeBuilder = new MurmurHashCodeBuilder();
+        MurmurHashCodeBuilder murmurHashCodeBuilder =
+                new MurmurHashCodeBuilder();
 
         for (CacheKey cacheKey : this.cacheKeys) {
             murmurHashCodeBuilder.append(cacheKey.hashCode());
@@ -92,24 +93,25 @@ public class CompoundCacheKey extends Ab
      *
      * @see org.apache.cocoon.pipeline.caching.CacheKey#isValid(org.apache.cocoon.pipeline.caching.CacheKey)
      */
-    public boolean isValid(CacheKey cacheKey) {
+    @Override
+    public boolean isValid(final CacheKey cacheKey) {
         if (!this.equals(cacheKey)) {
             return false;
         }
 
-        CompoundCacheKey other = (CompoundCacheKey) cacheKey;
-        Iterator<CacheKey> myIterator = this.cacheKeys.iterator();
-        Iterator<CacheKey> otherIterator = other.cacheKeys.iterator();
+        final CompoundCacheKey other = (CompoundCacheKey) cacheKey;
+        final Iterator<CacheKey> myIterator = this.cacheKeys.iterator();
+        final Iterator<CacheKey> otherIterator = other.cacheKeys.iterator();
 
         while (myIterator.hasNext()) {
             CacheKey myCacheKey = myIterator.next();
             CacheKey otherCacheKey = otherIterator.next();
 
             if (!myCacheKey.isValid(otherCacheKey)) {
-                if (this.logger.isDebugEnabled()) {
-                    this.logger.debug("Cache key is not valid: ");
-                    this.logger.debug("  myCacheKey=" + myCacheKey);
-                    this.logger.debug("  otherCacheKey=" + otherCacheKey);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Cache key is not valid: ");
+                    LOG.debug("  myCacheKey=" + myCacheKey);
+                    LOG.debug("  otherCacheKey=" + otherCacheKey);
                 }
 
                 return false;

Modified: cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/SimpleCache.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/SimpleCache.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/SimpleCache.java (original)
+++ cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/SimpleCache.java Mon Aug  1 12:34:49 2011
@@ -31,7 +31,8 @@ import org.apache.cocoon.pipeline.util.S
  */
 public class SimpleCache extends AbstractCache {
 
-    private final Map<CacheKey, CacheValue> map = new WeakHashMap<CacheKey, CacheValue>();
+    private final Map<CacheKey, CacheValue> map =
+            new WeakHashMap<CacheKey, CacheValue>();
 
     /**
      * {@inheritDoc}
@@ -39,8 +40,10 @@ public class SimpleCache extends Abstrac
      * @see java.lang.Object#toString()
      */
     @Override
-    public synchronized String toString() {
-        return StringRepresentation.buildString(this);
+    public String toString() {
+        synchronized (this) {
+            return StringRepresentation.buildString(this);
+        }
     }
 
     /**
@@ -49,8 +52,10 @@ public class SimpleCache extends Abstrac
      * @see org.apache.cocoon.pipeline.caching.AbstractCache#retrieve(org.apache.cocoon.pipeline.caching.CacheKey)
      */
     @Override
-    protected synchronized CacheValue retrieve(CacheKey cacheKey) {
-        return this.map.get(cacheKey);
+    protected CacheValue retrieve(final CacheKey cacheKey) {
+        synchronized (this.map) {
+            return this.map.get(cacheKey);
+        }
     }
 
     /**
@@ -60,8 +65,10 @@ public class SimpleCache extends Abstrac
      *      org.apache.cocoon.pipeline.caching.CacheValue)
      */
     @Override
-    protected synchronized void store(CacheKey cacheKey, CacheValue cacheValue) {
-        this.map.put(cacheKey, cacheValue);
+    protected void store(final CacheKey cacheKey, final CacheValue cacheValue) {
+        synchronized (this.map) {
+            this.map.put(cacheKey, cacheValue);
+        }
     }
 
     /**
@@ -70,8 +77,10 @@ public class SimpleCache extends Abstrac
      * @see org.apache.cocoon.pipeline.caching.AbstractCach#doClear()
      */
     @Override
-    protected synchronized void doClear() {
-        this.map.clear();
+    protected void doClear() {
+        synchronized (this.map) {
+            this.map.clear();
+        }
     }
 
     /**
@@ -80,11 +89,17 @@ public class SimpleCache extends Abstrac
      * @see org.apache.cocoon.pipeline.caching.AbstractCach#doRemove(org.apache.cocoon.pipeline.caching.CacheKey)
      */
     @Override
-    protected synchronized boolean doRemove(CacheKey cacheKey) {
-        Object pattern = this.map.get(cacheKey);
-        Object removed = this.map.remove(cacheKey);
-        return pattern == null && removed == null ? true : pattern == null && removed != null ? false : pattern
-                .equals(removed);
+    protected boolean doRemove(final CacheKey cacheKey) {
+        Object pattern;
+        Object removed;
+        synchronized (this.map) {
+            pattern = this.map.get(cacheKey);
+            removed = this.map.remove(cacheKey);
+        }
+
+        return pattern == null
+                ? (removed == null)
+                : pattern.equals(removed);
     }
 
     /**
@@ -93,7 +108,9 @@ public class SimpleCache extends Abstrac
      * @see org.apache.cocoon.pipeline.caching.AbstractCach#retrieve()
      */
     @Override
-    protected synchronized Set<CacheKey> retrieveKeySet() {
-        return this.map.keySet();
+    protected Set<CacheKey> retrieveKeySet() {
+        synchronized (this.map) {
+            return this.map.keySet();
+        }
     }
 }

Modified: cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/TimestampCacheKey.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/TimestampCacheKey.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/TimestampCacheKey.java (original)
+++ cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/TimestampCacheKey.java Mon Aug  1 12:34:49 2011
@@ -46,7 +46,7 @@ public class TimestampCacheKey extends A
             return false;
         }
 
-        TimestampCacheKey other = (TimestampCacheKey) obj;
+        final TimestampCacheKey other = (TimestampCacheKey) obj;
         return this.url.toExternalForm().equals(other.url.toExternalForm());
     }
 
@@ -64,18 +64,19 @@ public class TimestampCacheKey extends A
                 append(this.timestamp).toHashCode();
     }
 
-    public boolean isValid(CacheKey cacheKey) {
+    @Override
+    public boolean isValid(final CacheKey cacheKey) {
         if (!this.equals(cacheKey)) {
             return false;
         }
 
-        TimestampCacheKey other = (TimestampCacheKey) cacheKey;
+        final TimestampCacheKey other = (TimestampCacheKey) cacheKey;
         return this.timestamp == other.timestamp;
     }
 
     @Override
     public String toString() {
-        SimpleDateFormat dateFormat =
+        final SimpleDateFormat dateFormat =
                 new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
         return StringRepresentation.buildString(this,
                 "url=" + this.url, "timestamp=" + this.timestamp + " ("

Modified: cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/LogTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/LogTransformer.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/LogTransformer.java (original)
+++ cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/LogTransformer.java Mon Aug  1 12:34:49 2011
@@ -57,7 +57,7 @@ public final class LogTransformer extend
     /**
      * This class log.
      */
-    private final Log log = LogFactory.getLog(this.getClass());
+    private static final Log LOG = LogFactory.getLog(LogTransformer.class);
 
     /**
      * The file where log will be stored.
@@ -73,44 +73,52 @@ public final class LogTransformer extend
      * Anonimous constructor, used in sitemap declaration.
      */
     public LogTransformer() {
-        this.logWriter = null;
+        super();
+
         this.dateFormat = ISO_FORMAT;
     }
 
-    public LogTransformer(File logFile, boolean append)
+    public LogTransformer(final File logFile, final boolean append)
             throws IOException {
+
         this(logFile, append, ISO_FORMAT);
     }
 
-    public LogTransformer(File logFile, boolean append, String datePattern)
+    public LogTransformer(final File logFile, final boolean append,
+            final String datePattern)
             throws IOException {
+
         this(logFile, append, new SimpleDateFormat(datePattern));
     }
 
-    public LogTransformer(File logFile, boolean append,
-            SimpleDateFormat dateFormat)
+    public LogTransformer(final File logFile, final boolean append,
+            final SimpleDateFormat dateFormat)
             throws IOException {
 
+        super();
+
         this.logWriter = new FileWriter(logFile, append);
         this.dateFormat = dateFormat;
     }
 
     @Override
-    public void setConfiguration(Map<String, ? extends Object> configuration) {
+    public void setConfiguration(
+            final Map<String, ? extends Object> configuration) {
+
         this.setup((Map<String, Object>) configuration);
     }
 
     @Override
-    public void setup(Map<String, Object> parameters) {
+    public void setup(final Map<String, Object> parameters) {
         if (parameters == null || parameters.isEmpty()) {
             return;
         }
 
-        Object logFileString = parameters.get(LOG_FILE);
-        Object appendString = parameters.get(APPEND);
+        final Object logFileString = parameters.get(LOG_FILE);
+        final Object appendString = parameters.get(APPEND);
 
         if (logFileString != null) {
-            File logFile = new File(String.valueOf(logFileString));
+            final File logFile = new File(String.valueOf(logFileString));
             boolean append = false;
             if (appendString != null) {
                 append = Boolean.parseBoolean(String.valueOf(appendString));
@@ -126,7 +134,7 @@ public final class LogTransformer extend
             }
         }
 
-        Object datePatternString = parameters.get(DATE_PATTERN);
+        final Object datePatternString = parameters.get(DATE_PATTERN);
         if (datePatternString != null) {
             this.dateFormat = new SimpleDateFormat(String.valueOf(
                     datePatternString));
@@ -137,27 +145,25 @@ public final class LogTransformer extend
     public void finish() {
         if (this.logWriter != null) {
             try {
-                if (System.out.equals(this.logWriter)) {
-                    this.logWriter.flush();
-                } else {
-                    this.logWriter.close();
-                }
+                this.logWriter.close();
             } catch (IOException e) {
-                this.log.debug("Impossible to close the log writer", e);
+                LOG.debug("Impossible to close the log writer", e);
             }
         }
     }
 
     @Override
-    public void characters(char[] ch, int start, int length)
+    public void characters(final char[] ch, final int start, final int length)
             throws SAXException {
+
         this.log("characters", new String(ch, start, length));
         super.characters(ch, start, length);
     }
 
     @Override
-    public void comment(char[] ch, int start, int length)
+    public void comment(final char[] ch, final int start, final int length)
             throws SAXException {
+
         this.log("comment", new String(ch, start, length));
         super.comment(ch, start, length);
     }
@@ -165,6 +171,7 @@ public final class LogTransformer extend
     @Override
     public void endCDATA()
             throws SAXException {
+
         this.log("endCDATA", null);
         super.endCDATA();
     }
@@ -172,6 +179,7 @@ public final class LogTransformer extend
     @Override
     public void endDocument()
             throws SAXException {
+
         this.log("endDocument", null);
         super.endDocument();
     }
@@ -179,13 +187,16 @@ public final class LogTransformer extend
     @Override
     public void endDTD()
             throws SAXException {
+
         this.log("endDTD", null);
         super.endDTD();
     }
 
     @Override
-    public void endElement(String uri, String localName, String name)
+    public void endElement(final String uri, final String localName,
+            final String name)
             throws SAXException {
+
         this.log("endElement", "uri="
                 + uri
                 + ", local="
@@ -196,15 +207,17 @@ public final class LogTransformer extend
     }
 
     @Override
-    public void endEntity(String name)
+    public void endEntity(final String name)
             throws SAXException {
+
         this.log("endEntity", "name=" + name);
         super.endEntity(name);
     }
 
     @Override
-    public void endPrefixMapping(String prefix)
+    public void endPrefixMapping(final String prefix)
             throws SAXException {
+
         this.log("endPrefixMapping", "prefix=" + prefix);
         super.endPrefixMapping(prefix);
     }
@@ -212,20 +225,24 @@ public final class LogTransformer extend
     @Override
     public SAXBuffer endSAXRecording()
             throws SAXException {
+
         this.log("endSAXRecording", null);
         return super.endSAXRecording();
     }
 
     @Override
-    public void ignorableWhitespace(char[] ch, int start, int length)
+    public void ignorableWhitespace(final char[] ch, final int start,
+            final int length)
             throws SAXException {
+
         this.log("ignorableWhitespace", new String(ch, start, length));
         super.ignorableWhitespace(ch, start, length);
     }
 
     @Override
-    public void processingInstruction(String target, String data)
+    public void processingInstruction(final String target, final String data)
             throws SAXException {
+
         this.log("processingInstruction", "target="
                 + target
                 + ", data="
@@ -234,7 +251,7 @@ public final class LogTransformer extend
     }
 
     @Override
-    public void setDocumentLocator(Locator locator) {
+    public void setDocumentLocator(final Locator locator) {
         this.log("setDocumentLocator", locator != null ? "systemid="
                 + locator.getSystemId()
                 + ", publicid="
@@ -243,8 +260,9 @@ public final class LogTransformer extend
     }
 
     @Override
-    public void skippedEntity(String name)
+    public void skippedEntity(final String name)
             throws SAXException {
+
         this.log("skippedEntity", "name=" + name);
         super.skippedEntity(name);
     }
@@ -252,6 +270,7 @@ public final class LogTransformer extend
     @Override
     public void startCDATA()
             throws SAXException {
+
         this.log("startCDATA", null);
         super.startCDATA();
     }
@@ -259,13 +278,16 @@ public final class LogTransformer extend
     @Override
     public void startDocument()
             throws SAXException {
+
         this.log("startDocument", null);
         super.startDocument();
     }
 
     @Override
-    public void startDTD(String name, String publicId, String systemId)
+    public void startDTD(final String name, final String publicId,
+            final String systemId)
             throws SAXException {
+
         this.log("startDTD", "name="
                 + name
                 + ", publicId="
@@ -276,9 +298,10 @@ public final class LogTransformer extend
     }
 
     @Override
-    public void startElement(String uri, String localName, String name,
-            Attributes atts)
+    public void startElement(final String uri, final String localName,
+            final String name, final Attributes atts)
             throws SAXException {
+
         this.log("startElement", "uri="
                 + uri
                 + ", localName="
@@ -302,15 +325,17 @@ public final class LogTransformer extend
     }
 
     @Override
-    public void startEntity(String name)
+    public void startEntity(final String name)
             throws SAXException {
+
         this.log("startEntity", "name=" + name);
         super.startEntity(name);
     }
 
     @Override
-    public void startPrefixMapping(String prefix, String uri)
+    public void startPrefixMapping(final String prefix, final String uri)
             throws SAXException {
+
         this.log("startPrefixMapping", "prefix="
                 + prefix
                 + ", uri="
@@ -321,6 +346,7 @@ public final class LogTransformer extend
     @Override
     public void startSAXRecording()
             throws SAXException {
+
         this.log("startSAXRecording", null);
         super.startSAXRecording();
     }
@@ -331,7 +357,7 @@ public final class LogTransformer extend
      * @param location
      * @param description
      */
-    private void log(String location, String description) {
+    private void log(final String location, final String description) {
         final StringBuilder logEntry = new StringBuilder();
         logEntry.append(this.dateFormat.format(new Date()));
         logEntry.append(" - [");
@@ -344,14 +370,14 @@ public final class LogTransformer extend
         final String text = logEntry.toString();
 
         try {
-            if (this.logWriter != null) {
+            if (this.logWriter == null) {
+                System.out.print(text);
+            } else {
                 this.logWriter.write(text, 0, text.length());
                 this.logWriter.flush();
-            } else {
-                System.out.print(text);
             }
         } catch (IOException ioe) {
-            this.log.error("LogTransformer.log", ioe);
+            LOG.error("LogTransformer.log", ioe);
         }
     }
 }

Modified: cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/XMLGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/XMLGenerator.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/XMLGenerator.java (original)
+++ cocoon/cocoon3/trunk/cocoon-sax/src/main/java/org/apache/cocoon/sax/component/XMLGenerator.java Mon Aug  1 12:34:49 2011
@@ -65,12 +65,14 @@ public class XMLGenerator extends Abstra
 
     public XMLGenerator(final byte[] bytes) {
         super();
-        this.generator = new ByteArrayGenerator(bytes);
+        this.generator = new ByteArrayGenerator(
+                bytes == null ? null : bytes.clone());
     }
 
     public XMLGenerator(final byte[] bytes, final String encoding) {
         super();
-        this.generator = new ByteArrayGenerator(bytes, encoding);
+        this.generator = new ByteArrayGenerator(
+                bytes == null ? null : bytes.clone(), encoding);
     }
 
     public XMLGenerator(final File file) {

Modified: cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/collector/ResponseHeaderCollector.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/collector/ResponseHeaderCollector.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/collector/ResponseHeaderCollector.java (original)
+++ cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/collector/ResponseHeaderCollector.java Mon Aug  1 12:34:49 2011
@@ -120,7 +120,7 @@ public class ResponseHeaderCollector {
         return invocationResult;
     }
 
-    public void setCollectorDataStore(CollectorDataStore collectorDataStore) {
+    public static void setCollectorDataStore(CollectorDataStore collectorDataStore) {
         ResponseHeaderCollector.collectorDataStore = collectorDataStore;
     }
 

Modified: cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/util/ManifestUtils.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/util/ManifestUtils.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/util/ManifestUtils.java (original)
+++ cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/util/ManifestUtils.java Mon Aug  1 12:34:49 2011
@@ -19,34 +19,41 @@ package org.apache.cocoon.servlet.util;
 import java.io.IOException;
 import java.net.URL;
 import java.util.Iterator;
-import java.util.Map;
-import java.util.jar.Attributes;
+import java.util.Map.Entry;
 import java.util.jar.JarInputStream;
-import java.util.jar.Manifest;
 
 public class ManifestUtils {
 
-    public static String getAttribute(Class<?> c, String property) throws IOException {
-        URL codeBase = c.getProtectionDomain().getCodeSource().getLocation();
+    public static String getAttribute(final Class<?> reference,
+            final String property)
+            throws IOException {
+
+        String result = null;
+
+        final URL codeBase = reference.getProtectionDomain().getCodeSource().
+                getLocation();
         if (codeBase.getPath().endsWith(".jar")) {
             JarInputStream jin = null;
             try {
                 jin = new JarInputStream(codeBase.openStream());
-                Manifest mf = jin.getManifest();
-                Map<Object, Object> entries = mf.getMainAttributes();
-                for (Iterator<Object> it = entries.keySet().iterator(); it.hasNext();) {
-                    Attributes.Name key = (Attributes.Name) it.next();
-                    String keyName = key.toString();
-                    if (property.equals(keyName)) {
-                        String value = (String) entries.get(key);
-                        return value;
+                Entry<Object, Object> entry;
+                for (final Iterator<Entry<Object, Object>> itor =
+                        jin.getManifest().getMainAttributes().entrySet().
+                        iterator(); itor.hasNext()
+                        && result == null;) {
+
+                    entry = itor.next();
+                    if (property.equals(entry.getKey())) {
+                        result = (String) entry.getValue();
                     }
                 }
             } finally {
-                jin.close();
+                if (jin != null) {
+                    jin.close();
+                }
             }
         }
 
-        return null;
+        return result;
     }
 }

Modified: cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java (original)
+++ cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java Mon Aug  1 12:34:49 2011
@@ -386,17 +386,17 @@ public class InvocationImpl implements I
     private Map<String, ? extends Object> resolveParameters(final Map<String, ? extends Object> componentParameters) {
         final Map<String, Object> resolvedParameters = new HashMap<String, Object>();
 
-        for (String key : componentParameters.keySet()) {
-            final Object parameter = componentParameters.get(key);
-
-            if (!(parameter instanceof String)) {
+        for (Map.Entry <String, ? extends Object> entry : 
+                componentParameters.entrySet()) {
+            if (!(entry.getValue() instanceof String)) {
                 // can only resolve strings
-                resolvedParameters.put(key, parameter);
+                resolvedParameters.put(entry.getKey(), entry.getValue());
                 continue;
             }
 
-            final String resolvedParameter = this.resolveParameter((String) parameter);
-            resolvedParameters.put(key, resolvedParameter);
+            final String resolvedParameter = 
+                    this.resolveParameter((String) entry.getValue());
+            resolvedParameters.put(entry.getKey(), resolvedParameter);
         }
 
         return resolvedParameters;

Modified: cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/matcher/WildcardMatcher.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/matcher/WildcardMatcher.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/matcher/WildcardMatcher.java (original)
+++ cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/matcher/WildcardMatcher.java Mon Aug  1 12:34:49 2011
@@ -18,32 +18,38 @@ package org.apache.cocoon.sitemap.matche
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.regex.Pattern;
 
 import org.apache.cocoon.util.wildcard.WildcardMatcherHelper;
 
 public class WildcardMatcher implements Matcher {
 
-    public Map<String, String> match(String expression, String testValue) {
+    public Map<String, String> match(final String expression,
+            final String testValue) {
+
         if (testValue == null) {
             return null;
         }
 
-        WildcardExpressionRewriter rewriter = new WildcardExpressionRewriter(expression);
-        Map<String, String> matchingResult = WildcardMatcherHelper.match(rewriter.rewrittenExpression, testValue);
-        Map<String, String> parameterGroups = rewriter.getParameters();
+        final WildcardExpressionRewriter rewriter =
+                new WildcardExpressionRewriter(expression);
+        final Map<String, String> matchingResult =
+                WildcardMatcherHelper.match(rewriter.rewrittenExpression,
+                testValue);
 
+        final Map<String, String> parameterGroups = rewriter.getParameters();
         if (matchingResult == null) {
             return null;
         }
 
-        Map<String, String> result = new HashMap<String, String>();
-        for (String key : matchingResult.keySet()) {
-            String value = matchingResult.get(key);
-            result.put(key, value);
-            String param = parameterGroups.get(key);
+        final Map<String, String> result = new HashMap<String, String>();
+        String param;
+        for (Entry<String, String> entry : matchingResult.entrySet()) {
+            result.put(entry.getKey(), entry.getValue());
+            param = parameterGroups.get(entry.getKey());
             if (param != null) {
-                result.put(param, value);
+                result.put(param, entry.getValue());
             }
         }
 
@@ -57,9 +63,11 @@ public class WildcardMatcher implements 
      */
     protected static class WildcardExpressionRewriter {
 
-        private static final Pattern PARAMETER_PATTERN = Pattern.compile("(\\{[\\w\\.\\-]+})");
+        private static final Pattern PARAMETER_PATTERN = Pattern.compile(
+                "(\\{[\\w\\.\\-]+})");
 
-        private static final Pattern PARAMETER_WILDCARD_PATTERN = Pattern.compile("([\\*]{1,2}|\\{([\\w\\.\\-]+)})");
+        private static final Pattern PARAMETER_WILDCARD_PATTERN = Pattern.
+                compile("([\\*]{1,2}|\\{([\\w\\.\\-]+)})");
 
         private String originalExpression;
 
@@ -76,8 +84,10 @@ public class WildcardMatcher implements 
             this.originalExpression = originalExpression;
             this.checkExpression();
 
-            this.parameterAndWildcardMatcher = PARAMETER_WILDCARD_PATTERN.matcher(originalExpression);
-            this.parameterMatcher = PARAMETER_PATTERN.matcher(originalExpression);
+            this.parameterAndWildcardMatcher = PARAMETER_WILDCARD_PATTERN.
+                    matcher(originalExpression);
+            this.parameterMatcher =
+                    PARAMETER_PATTERN.matcher(originalExpression);
             this.parameters = this.findParameters();
             this.rewrittenExpression = this.rewriteExpression();
         }
@@ -90,7 +100,7 @@ public class WildcardMatcher implements 
             return this.parameters;
         }
 
-        public int getParameterPosition(String parameterName) {
+        public int getParameterPosition(final String parameterName) {
             return 1;
         }
 
@@ -100,13 +110,15 @@ public class WildcardMatcher implements 
 
         private void checkExpression() {
             if (this.originalExpression.contains("}{")) {
-                throw new UnsupportedNamedWildcardExpressionException("}{ is not allowed (" + this.originalExpression
+                throw new UnsupportedNamedWildcardExpressionException(
+                        "}{ is not allowed (" + this.originalExpression
                         + "). There must be a seperating character between two named wildcards.");
             }
         }
 
         private Map<String, String> findParameters() {
-            Map<String, String> parameterNames = new HashMap<String, String>();
+            final Map<String, String> parameterNames =
+                    new HashMap<String, String>();
 
             int count = 1;
             while (true) {
@@ -130,11 +142,12 @@ public class WildcardMatcher implements 
         }
     }
 
-    public static class UnsupportedNamedWildcardExpressionException extends RuntimeException {
+    public static class UnsupportedNamedWildcardExpressionException
+            extends RuntimeException {
 
         private static final long serialVersionUID = 1L;
 
-        public UnsupportedNamedWildcardExpressionException(String msg) {
+        public UnsupportedNamedWildcardExpressionException(final String msg) {
             super(msg);
         }
     }

Modified: cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/navigation/InSubtreeNavigator.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/navigation/InSubtreeNavigator.java?rev=1152752&r1=1152751&r2=1152752&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/navigation/InSubtreeNavigator.java (original)
+++ cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/navigation/InSubtreeNavigator.java Mon Aug  1 12:34:49 2011
@@ -158,15 +158,14 @@ public final class InSubtreeNavigator im
             this.active = true;
             return this.active;
         } else if (event.isEndElement()) {
-            EndElement element = (EndElement) event;
+            final EndElement element = (EndElement) event;
 
             boolean nameMatches = false;
 
-            switch (this.matchingType) {
-            case RegexMatch:
-                nameMatches = Pattern.compile(this.name).matcher(element.getName().getLocalPart()).matches();
-
-            default:
+            if (this.matchingType == MatchingType.RegexMatch) {
+                nameMatches = Pattern.compile(this.name).
+                        matcher(element.getName().getLocalPart()).matches();
+            } else {
                 nameMatches = element.getName().getLocalPart().equals(this.name);
             }