Author: juanpablo
Date: Thu Dec 26 18:07:29 2013
New Revision: 1553531
URL: http://svn.apache.org/r1553531
Log:
sonar: Bad practice - Method may fail to close stream + format code
Modified:
jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/filters/ProfanityFilter.java
Modified:
jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/filters/ProfanityFilter.java
URL:
http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/filters/ProfanityFilter.java?rev=1553531&r1=1553530&r2=1553531&view=diff
==============================================================================
---
jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/filters/ProfanityFilter.java
(original)
+++
jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/filters/ProfanityFilter.java
Thu Dec 26 18:07:29 2013
@@ -25,8 +25,8 @@ import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
-
import org.apache.wiki.WikiContext;
import org.apache.wiki.api.filters.BasicPageFilter;
import org.apache.wiki.util.TextUtil;
@@ -38,57 +38,51 @@ import org.apache.wiki.util.TextUtil;
* is case unsensitive.
*
*/
-public class ProfanityFilter extends BasicPageFilter
-{
- private static Logger log = Logger.getLogger(ProfanityFilter.class);
+public class ProfanityFilter extends BasicPageFilter {
+
+ private static final Logger log = Logger.getLogger( ProfanityFilter.class
);
private static final String PROPERTYFILE =
"org/apache/wiki/filters/profanity.properties";
private static String[] c_profanities = new String[0];
- static
- {
- try
- {
+ static {
+ BufferedReader br = null;
+ InputStream in = null;
+ try {
ClassLoader loader = ProfanityFilter.class.getClassLoader();
- InputStream in = loader.getResourceAsStream( PROPERTYFILE );
+ in = loader.getResourceAsStream( PROPERTYFILE );
- if( in == null )
- {
- throw new IOException("No property file found! (Check the
installation, it should be there.)");
+ if( in == null ) {
+ throw new IOException( "No property file found! (Check the
installation, it should be there.)" );
}
- BufferedReader br = new BufferedReader( new InputStreamReader( in
) );
- List<String> profs = new ArrayList<String>();
+ br = new BufferedReader( new InputStreamReader( in ) );
+ List< String > profs = new ArrayList< String >();
String str;
- while ( ( str = br.readLine() ) != null )
- {
- if( str.length() > 0 && !str.startsWith( "#" ) )
- { // allow comments on profanities file
+ while ( ( str = br.readLine() ) != null ) {
+ if( str.length() > 0 && !str.startsWith( "#" ) ) { // allow
comments on profanities file
profs.add( str );
}
}
c_profanities = profs.toArray( new String[0] );
- }
- catch( IOException e )
- {
- log.error( "Unable to load profanities from "+PROPERTYFILE, e );
- }
- catch( Exception e )
- {
+ } catch( IOException e ) {
+ log.error( "Unable to load profanities from " + PROPERTYFILE, e );
+ } catch( Exception e ) {
log.error( "Unable to initialize Profanity Filter", e );
+ } finally {
+ IOUtils.closeQuietly( br );
+ IOUtils.closeQuietly( in );
}
}
/**
* {@inheritDoc}
*/
- public String preTranslate( WikiContext context, String content )
- {
- for( int i = 0; i < c_profanities.length; i++ )
- {
- String word = c_profanities[i];
- String replacement =
word.charAt(0)+"*"+word.charAt(word.length()-1);
+ public String preTranslate( WikiContext context, String content ) {
+ for( int i = 0; i < c_profanities.length; i++ ) {
+ String word = c_profanities[ i ];
+ String replacement = word.charAt( 0 ) + "*" + word.charAt(
word.length() - 1 );
content = TextUtil.replaceStringCaseUnsensitive( content, word,
replacement );
}