This is an automated email from the ASF dual-hosted git repository.
juanpablo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git
The following commit(s) were added to refs/heads/master by this push:
new 800196d JSPWIKI-1148 - Avoid File Stream
800196d is described below
commit 800196dc239553ee2ea8f71754f8ee3f85bcf70f
Author: Arturo Bernal <[email protected]>
AuthorDate: Sat Mar 13 11:46:47 2021 +0100
JSPWIKI-1148 - Avoid File Stream
---
.../main/java/org/apache/wiki/api/core/Engine.java | 4 ++--
.../org/apache/wiki/attachment/AttachmentManager.java | 4 ++--
.../apache/wiki/auth/authorize/XMLGroupDatabase.java | 4 ++--
.../auth/login/CookieAuthenticationLoginModule.java | 7 +++----
.../org/apache/wiki/auth/user/XMLUserDatabase.java | 4 ++--
.../org/apache/wiki/filters/DefaultFilterManager.java | 4 ++--
.../java/org/apache/wiki/plugin/PageViewPlugin.java | 7 +++----
.../apache/wiki/providers/AbstractFileProvider.java | 9 ++++-----
.../wiki/providers/BasicAttachmentProvider.java | 11 +++++------
.../org/apache/wiki/providers/FileSystemProvider.java | 7 +++----
.../apache/wiki/providers/VersioningFileProvider.java | 19 +++++++++----------
.../wiki/references/DefaultReferenceManager.java | 9 +++++----
.../src/main/java/org/apache/wiki/rss/RSSThread.java | 4 ++--
.../src/main/java/org/apache/wiki/ui/Installer.java | 4 ++--
.../apache/wiki/workflow/DefaultWorkflowManager.java | 5 +++--
.../src/main/java/org/apache/wiki/util/FileUtil.java | 3 ++-
.../java/org/apache/wiki/util/PropertyReader.java | 14 ++++++++------
17 files changed, 59 insertions(+), 60 deletions(-)
diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java
b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java
index db0a98a..dab54a5 100644
--- a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java
+++ b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Engine.java
@@ -26,13 +26,13 @@ import org.apache.wiki.util.TextUtil;
import javax.servlet.ServletContext;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.Charset;
+import java.nio.file.Files;
import java.util.Collection;
import java.util.Date;
import java.util.List;
@@ -269,7 +269,7 @@ public interface Engine {
LogManager.getLogger( Engine.class ).info( "looking for /" + name
+ " on classpath" );
// create a tmp file of the policy loaded as an InputStream and
return the URL to it
try( final InputStream is = Engine.class.getResourceAsStream( "/"
+ name );
- final OutputStream os = new FileOutputStream( tmpFile ) ) {
+ final OutputStream os = Files.newOutputStream(
tmpFile.toPath() ) ) {
if( is == null ) {
throw new FileNotFoundException( name + " not found" );
}
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
index e0629d9..447b92f 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentManager.java
@@ -29,9 +29,9 @@ import org.apache.wiki.api.providers.AttachmentProvider;
import org.apache.wiki.api.providers.WikiProvider;
import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.file.Files;
import java.util.Collection;
import java.util.List;
@@ -221,7 +221,7 @@ public interface AttachmentManager {
* @throws ProviderException If something else went wrong.
*/
default void storeAttachment( final Attachment att, final File source )
throws IOException, ProviderException {
- try( final FileInputStream in = new FileInputStream( source ) ) {
+ try( final InputStream in = Files.newInputStream( source.toPath() ) ) {
storeAttachment( att, in );
}
}
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java
b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java
index f004b87..e8f8ea4 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/XMLGroupDatabase.java
@@ -37,10 +37,10 @@ import javax.xml.parsers.ParserConfigurationException;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.security.Principal;
import java.text.DateFormat;
import java.text.ParseException;
@@ -345,7 +345,7 @@ public class XMLGroupDatabase implements GroupDatabase {
}
final File newFile = new File( m_file.getAbsolutePath() + ".new" );
- try( final BufferedWriter io = new BufferedWriter( new
OutputStreamWriter( new FileOutputStream( newFile ), StandardCharsets.UTF_8 ) )
) {
+ try( final BufferedWriter io = new BufferedWriter( new
OutputStreamWriter( Files.newOutputStream( newFile.toPath() ),
StandardCharsets.UTF_8 ) ) ) {
// Write the file header and document root
io.write( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" );
io.write( "<groups>\n" );
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/auth/login/CookieAuthenticationLoginModule.java
b/jspwiki-main/src/main/java/org/apache/wiki/auth/login/CookieAuthenticationLoginModule.java
index 45f1be5..4ef8f8c 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/auth/login/CookieAuthenticationLoginModule.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/auth/login/CookieAuthenticationLoginModule.java
@@ -35,8 +35,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
@@ -44,6 +42,7 @@ import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.util.UUID;
@@ -124,7 +123,7 @@ public class CookieAuthenticationLoginModule extends
AbstractLoginModule {
if( cookieFile != null && cookieFile.exists() &&
cookieFile.canRead() ) {
- try( final Reader in = new BufferedReader( new
InputStreamReader( new FileInputStream( cookieFile ), StandardCharsets.UTF_8 )
) ) {
+ try( final Reader in = new BufferedReader( new
InputStreamReader(Files.newInputStream( cookieFile.toPath() ),
StandardCharsets.UTF_8 ) ) ) {
final String username = FileUtil.readContents( in );
if( log.isDebugEnabled() ) {
@@ -225,7 +224,7 @@ public class CookieAuthenticationLoginModule extends
AbstractLoginModule {
final File cf = getCookieFile( engine, uid.toString() );
if( cf != null ) {
// Write the cookie content to the cookie store file.
- try( final Writer out = new BufferedWriter( new
OutputStreamWriter( new FileOutputStream( cf ), StandardCharsets.UTF_8 ) ) ) {
+ try( final Writer out = new BufferedWriter( new
OutputStreamWriter( Files.newOutputStream( cf.toPath() ),
StandardCharsets.UTF_8 ) ) ) {
FileUtil.copyContents( new StringReader( username ), out );
if( log.isDebugEnabled() ) {
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java
b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java
index 3fa5c62..d0010c9 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/user/XMLUserDatabase.java
@@ -38,11 +38,11 @@ import javax.xml.parsers.ParserConfigurationException;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Serializable;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.security.Principal;
import java.text.DateFormat;
import java.text.ParseException;
@@ -233,7 +233,7 @@ public class XMLUserDatabase extends AbstractUserDatabase {
}
final File newFile = new File( c_file.getAbsolutePath() + ".new" );
- try( final BufferedWriter io = new BufferedWriter( new
OutputStreamWriter( new FileOutputStream( newFile ), StandardCharsets.UTF_8 ) )
) {
+ try( final BufferedWriter io = new BufferedWriter( new
OutputStreamWriter( Files.newOutputStream( newFile.toPath() ),
StandardCharsets.UTF_8 ) ) ) {
// Write the file header and document root
io.write( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" );
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/filters/DefaultFilterManager.java
b/jspwiki-main/src/main/java/org/apache/wiki/filters/DefaultFilterManager.java
index 01aa68b..618c47b 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/filters/DefaultFilterManager.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/filters/DefaultFilterManager.java
@@ -35,9 +35,9 @@ import org.apache.wiki.util.XmlUtil;
import org.jdom2.Element;
import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.file.Files;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -189,7 +189,7 @@ public class DefaultFilterManager extends BaseModuleManager
implements FilterMan
if( (xmlStream == null) && (xmlFile != null) ) {
log.debug("Attempting to load property file "+xmlFile);
- xmlStream = new FileInputStream( new File(xmlFile) );
+ xmlStream = Files.newInputStream( new File(xmlFile).toPath() );
}
if( xmlStream == null ) {
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
index 6a38f20..376747b 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
@@ -46,11 +46,10 @@ import org.apache.wiki.render.RenderingManager;
import org.apache.wiki.util.TextUtil;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Files;
import java.text.MessageFormat;
import java.util.Collection;
import java.util.Comparator;
@@ -511,7 +510,7 @@ public class PageViewPlugin extends AbstractReferralPlugin
implements Plugin, In
if( m_counters != null && m_storage != null ) {
log.info( "Loading counters." );
synchronized( this ) {
- try( final InputStream fis = new FileInputStream( new
File( m_workDir, COUNTER_PAGE ) ) ) {
+ try( final InputStream fis = Files.newInputStream( new
File( m_workDir, COUNTER_PAGE ).toPath() ) ) {
m_storage.load( fis );
} catch( final IOException ioe ) {
log.error( "Can't load page counter store: " +
ioe.getMessage() + " , will create a new one!" );
@@ -535,7 +534,7 @@ public class PageViewPlugin extends AbstractReferralPlugin
implements Plugin, In
log.info( "Storing " + m_counters.size() + " counter values."
);
synchronized( this ) {
// Write out the collection of counters
- try( final OutputStream fos = new FileOutputStream( new
File( m_workDir, COUNTER_PAGE ) ) ) {
+ try( final OutputStream fos = Files.newOutputStream( new
File( m_workDir, COUNTER_PAGE ).toPath() ) ) {
m_storage.store( fos, "\n# The number of times each
page has been viewed.\n# Do not modify.\n" );
fos.flush();
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
index 7376757..a32aeec 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/providers/AbstractFileProvider.java
@@ -36,15 +36,14 @@ import org.apache.wiki.util.FileUtil;
import org.apache.wiki.util.TextUtil;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -248,7 +247,7 @@ public abstract class AbstractFileProvider implements
PageProvider {
final File pagedata = findPage( page );
if( pagedata.exists() ) {
if( pagedata.canRead() ) {
- try( final InputStream in = new FileInputStream( pagedata ) ) {
+ try( final InputStream in = Files.newInputStream(
pagedata.toPath() ) ) {
result = FileUtil.readContents( in, m_encoding );
} catch( final IOException e ) {
log.error( "Failed to read", e );
@@ -270,7 +269,7 @@ public abstract class AbstractFileProvider implements
PageProvider {
@Override
public void putPageText( final Page page, final String text ) throws
ProviderException {
final File file = findPage( page.getName() );
- try( final PrintWriter out = new PrintWriter( new OutputStreamWriter(
new FileOutputStream( file ), m_encoding ) ) ) {
+ try( final PrintWriter out = new PrintWriter( new OutputStreamWriter(
Files.newOutputStream( file.toPath() ), m_encoding ) ) ) {
out.print( text );
} catch( final IOException e ) {
log.error( "Saving failed", e );
@@ -348,7 +347,7 @@ public abstract class AbstractFileProvider implements
PageProvider {
final String filename = wikipage.getName();
final int cutpoint = filename.lastIndexOf( FILE_EXT );
final String wikiname = unmangleName( filename.substring( 0,
cutpoint ) );
- try( final FileInputStream input = new FileInputStream(
wikipage ) ) {
+ try( final InputStream input = Files.newInputStream(
wikipage.toPath() ) ) {
final String pagetext = FileUtil.readContents( input,
m_encoding );
final SearchResult comparison = matcher.matchPageContent(
wikiname, pagetext );
if( comparison != null ) {
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
index 22c138c..1937dac 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/providers/BasicAttachmentProvider.java
@@ -34,13 +34,12 @@ import org.apache.wiki.util.FileUtil;
import org.apache.wiki.util.TextUtil;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -242,7 +241,7 @@ public class BasicAttachmentProvider implements
AttachmentProvider {
private void putPageProperties( final Attachment att, final Properties
properties ) throws IOException, ProviderException {
final File attDir = findAttachmentDir( att );
final File propertyFile = new File( attDir, PROPERTY_FILE );
- try( final OutputStream out = new FileOutputStream( propertyFile ) ) {
+ try( final OutputStream out = Files.newOutputStream(
propertyFile.toPath() ) ) {
properties.store( out, " JSPWiki page properties for " +
att.getName() + ". DO NOT MODIFY!" );
}
}
@@ -254,7 +253,7 @@ public class BasicAttachmentProvider implements
AttachmentProvider {
final Properties props = new Properties();
final File propertyFile = new File( findAttachmentDir(att),
PROPERTY_FILE );
if( propertyFile.exists() ) {
- try( final InputStream in = new FileInputStream( propertyFile ) ) {
+ try( final InputStream in = Files.newInputStream(
propertyFile.toPath() ) ) {
props.load( in );
}
}
@@ -276,7 +275,7 @@ public class BasicAttachmentProvider implements
AttachmentProvider {
final int versionNumber = latestVersion + 1;
final File newfile = new File( attDir, versionNumber + "." +
getFileExtension( att.getFileName() ) );
- try( final OutputStream out = new FileOutputStream( newfile ) ) {
+ try( final OutputStream out = Files.newOutputStream( newfile.toPath()
) ) {
log.info( "Uploading attachment " + att.getFileName() + " to page
" + att.getParentName() );
log.info( "Saving attachment contents to " +
newfile.getAbsolutePath() );
FileUtil.copyContents( data, out );
@@ -341,7 +340,7 @@ public class BasicAttachmentProvider implements
AttachmentProvider {
final File attDir = findAttachmentDir( att );
try {
final File f = findFile( attDir, att );
- return new FileInputStream( f );
+ return Files.newInputStream( f.toPath() );
} catch( final FileNotFoundException e ) {
log.error( "File not found: " + e.getMessage() );
throw new ProviderException( "No such page was found." );
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/providers/FileSystemProvider.java
b/jspwiki-main/src/main/java/org/apache/wiki/providers/FileSystemProvider.java
index a5c96cd..440a3e9 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/providers/FileSystemProvider.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/providers/FileSystemProvider.java
@@ -24,11 +24,10 @@ import org.apache.wiki.api.core.Page;
import org.apache.wiki.api.exceptions.ProviderException;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Files;
import java.util.Properties;
/**
@@ -84,7 +83,7 @@ public class FileSystemProvider extends AbstractFileProvider {
getCustomProperties( page, props );
final File file = new File( getPageDirectory(), mangleName(
page.getName() ) + PROP_EXT );
- try( final OutputStream out = new FileOutputStream( file ) ) {
+ try( final OutputStream out = Files.newOutputStream( file.toPath() ) )
{
props.store( out, "JSPWiki page properties for page
"+page.getName() );
}
}
@@ -95,7 +94,7 @@ public class FileSystemProvider extends AbstractFileProvider {
private void getPageProperties( final Page page ) throws IOException {
final File file = new File( getPageDirectory(), mangleName(
page.getName() ) + PROP_EXT );
if( file.exists() ) {
- try( final InputStream in = new FileInputStream( file ) ) {
+ try( final InputStream in = Files.newInputStream( file.toPath() )
) {
final Properties props = new Properties();
props.load( in );
page.setAuthor( props.getProperty( Page.AUTHOR ) );
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java
b/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java
index 9f9dbcb..db9e757 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/providers/VersioningFileProvider.java
@@ -33,11 +33,10 @@ import org.apache.wiki.util.FileUtil;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -214,7 +213,7 @@ public class VersioningFileProvider extends
AbstractFileProvider {
return cp.m_props;
}
- try( final InputStream in = new BufferedInputStream(new
FileInputStream( propertyFile ) ) ) {
+ try( final InputStream in = new BufferedInputStream(
Files.newInputStream( propertyFile.toPath() ) ) ) {
final Properties props = new Properties();
props.load( in );
cp = new CachedProperties( page, props, lastModified );
@@ -233,7 +232,7 @@ public class VersioningFileProvider extends
AbstractFileProvider {
*/
private void putPageProperties( final String page, final Properties
properties ) throws IOException {
final File propertyFile = new File( findOldPageDir(page), PROPERTYFILE
);
- try( final OutputStream out = new FileOutputStream( propertyFile ) ) {
+ try( final OutputStream out = Files.newOutputStream(
propertyFile.toPath() ) ) {
properties.store( out, " JSPWiki page properties for "+page+". DO
NOT MODIFY!" );
}
@@ -293,7 +292,7 @@ public class VersioningFileProvider extends
AbstractFileProvider {
String result = null;
if( pagedata.exists() ) {
if( pagedata.canRead() ) {
- try( final InputStream in = new FileInputStream( pagedata ) ) {
+ try( final InputStream in = Files.newInputStream(
pagedata.toPath() ) ) {
result = FileUtil.readContents( in, m_encoding );
} catch( final IOException e ) {
log.error("Failed to read", e);
@@ -347,8 +346,8 @@ public class VersioningFileProvider extends
AbstractFileProvider {
if( oldFile != null && oldFile.exists() ) {
final File pageFile = new File( pageDir, versionNumber +
FILE_EXT );
- try( final InputStream in = new BufferedInputStream( new
FileInputStream( oldFile ) );
- final OutputStream out = new BufferedOutputStream( new
FileOutputStream( pageFile ) ) ) {
+ try( final InputStream in = new BufferedInputStream(
Files.newInputStream( oldFile.toPath() ) );
+ final OutputStream out = new BufferedOutputStream(
Files.newOutputStream( pageFile.toPath() ) ) ) {
FileUtil.copyContents( in, out );
// We need also to set the date, since we rely on this.
@@ -518,7 +517,7 @@ public class VersioningFileProvider extends
AbstractFileProvider {
return cp.m_props;
}
- try( final InputStream in = new BufferedInputStream( new
FileInputStream( propertyFile ) ) ) {
+ try( final InputStream in = new BufferedInputStream(
Files.newInputStream( propertyFile.toPath() ) ) ) {
final Properties props = new Properties();
props.load( in );
@@ -600,8 +599,8 @@ public class VersioningFileProvider extends
AbstractFileProvider {
final File pageDir = findOldPageDir( page );
final File previousFile = new File( pageDir, latest + FILE_EXT );
final File pageFile = findPage(page);
- try( final InputStream in = new BufferedInputStream( new
FileInputStream( previousFile ) );
- final OutputStream out = new BufferedOutputStream( new
FileOutputStream( pageFile ) ) ) {
+ try( final InputStream in = new BufferedInputStream(
Files.newInputStream( previousFile.toPath() ) );
+ final OutputStream out = new BufferedOutputStream(
Files.newOutputStream( pageFile.toPath() ) ) ) {
if( previousFile.exists() ) {
FileUtil.copyContents( in, out );
// We need also to set the date, since we rely on this.
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
index d8f51ee..c169282 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
@@ -42,6 +42,7 @@ import org.apache.wiki.util.TextUtil;
import java.io.*;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.*;
@@ -235,7 +236,7 @@ public class DefaultReferenceManager extends BasePageFilter
implements Reference
final long saved;
final File f = new File( m_engine.getWorkDir(), SERIALIZATION_FILE );
- try( final ObjectInputStream in = new ObjectInputStream( new
BufferedInputStream( new FileInputStream( f ) ) ) ) {
+ try( final ObjectInputStream in = new ObjectInputStream( new
BufferedInputStream( Files.newInputStream( f.toPath() ) ) ) ) {
final StopWatch sw = new StopWatch();
sw.start();
@@ -264,7 +265,7 @@ public class DefaultReferenceManager extends BasePageFilter
implements Reference
*/
private synchronized void serializeToDisk() {
final File f = new File( m_engine.getWorkDir(), SERIALIZATION_FILE );
- try( final ObjectOutputStream out = new ObjectOutputStream( new
BufferedOutputStream( new FileOutputStream( f ) ) ) ) {
+ try( final ObjectOutputStream out = new ObjectOutputStream( new
BufferedOutputStream( Files.newOutputStream( f.toPath() ) ) ) ) {
final StopWatch sw = new StopWatch();
sw.start();
@@ -311,7 +312,7 @@ public class DefaultReferenceManager extends BasePageFilter
implements Reference
return 0L;
}
- try( final ObjectInputStream in = new ObjectInputStream( new
BufferedInputStream( new FileInputStream( f ) ) ) ) {
+ try( final ObjectInputStream in = new ObjectInputStream( new
BufferedInputStream( Files.newInputStream( f.toPath() ) ) ) ) {
final StopWatch sw = new StopWatch();
sw.start();
log.debug( "Deserializing attributes for " + p.getName() );
@@ -363,7 +364,7 @@ public class DefaultReferenceManager extends BasePageFilter
implements Reference
// Create a digest for the name
f = new File( f, hashName );
- try( final ObjectOutputStream out = new ObjectOutputStream( new
BufferedOutputStream( new FileOutputStream( f ) ) ) ) {
+ try( final ObjectOutputStream out = new ObjectOutputStream( new
BufferedOutputStream( Files.newOutputStream( f.toPath() ) ) ) ) {
// new Set to avoid concurrency issues
final Set< Map.Entry < String, Object > > entries = new
HashSet<>( p.getAttributes().entrySet() );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSThread.java
b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSThread.java
index a9d92e6..cf6c51e 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSThread.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSThread.java
@@ -27,13 +27,13 @@ import org.apache.wiki.util.FileUtil;
import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
/**
@@ -88,7 +88,7 @@ public class RSSThread extends WikiBackgroundThread {
// Generate RSS file, output it to default "rss.rdf".
try( final Reader in = new StringReader( feed );
- final Writer out = new BufferedWriter( new
OutputStreamWriter( new FileOutputStream( m_rssFile ), StandardCharsets.UTF_8 )
) ) {
+ final Writer out = new BufferedWriter( new OutputStreamWriter(
Files.newOutputStream( m_rssFile.toPath() ), StandardCharsets.UTF_8 ) ) ) {
FileUtil.copyContents( in, out );
} catch( final IOException e ) {
log.error( "Cannot generate RSS feed to " +
m_rssFile.getAbsolutePath(), e );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java
b/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java
index 9f90a6c..50b5900 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/Installer.java
@@ -38,9 +38,9 @@ import org.apache.wiki.util.TextUtil;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.nio.file.Files;
import java.text.MessageFormat;
import java.util.Properties;
import java.util.ResourceBundle;
@@ -202,7 +202,7 @@ public class Installer {
final ResourceBundle rb = ResourceBundle.getBundle(
InternationalizationManager.CORE_BUNDLE, m_session.getLocale() );
// Write the file back to disk
try {
- try( final OutputStream out = new FileOutputStream( m_propertyFile
) ) {
+ try( final OutputStream out = Files.newOutputStream(
m_propertyFile.toPath() ) ) {
m_props.store( out, null );
}
m_session.addMessage( INSTALL_INFO,
MessageFormat.format(rb.getString("install.installer.props.saved"),
m_propertyFile) );
diff --git
a/jspwiki-main/src/main/java/org/apache/wiki/workflow/DefaultWorkflowManager.java
b/jspwiki-main/src/main/java/org/apache/wiki/workflow/DefaultWorkflowManager.java
index a166efa..f5a7e91 100644
---
a/jspwiki-main/src/main/java/org/apache/wiki/workflow/DefaultWorkflowManager.java
+++
b/jspwiki-main/src/main/java/org/apache/wiki/workflow/DefaultWorkflowManager.java
@@ -34,6 +34,7 @@ import org.apache.wiki.event.WorkflowEvent;
import org.apache.wiki.util.TextUtil;
import java.io.*;
+import java.nio.file.Files;
import java.security.Principal;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@@ -133,7 +134,7 @@ public class DefaultWorkflowManager implements
WorkflowManager {
long saved = 0L;
final StopWatch sw = new StopWatch();
sw.start();
- try( final ObjectInputStream in = new ObjectInputStream( new
BufferedInputStream( new FileInputStream( f ) ) ) ) {
+ try( final ObjectInputStream in = new ObjectInputStream( new
BufferedInputStream( Files.newInputStream( f.toPath() ) ) ) ) {
final long ver = in.readLong();
if( ver != serialVersionUID ) {
LOG.warn( "File format has changed; Unable to recover
workflows and decision queue from disk." );
@@ -157,7 +158,7 @@ public class DefaultWorkflowManager implements
WorkflowManager {
* Serializes workflows and decisionqueue to disk. The format is
private, don't touch it.
*/
synchronized void serializeToDisk( final File f ) {
- try( final ObjectOutputStream out = new ObjectOutputStream( new
BufferedOutputStream( new FileOutputStream( f ) ) ) ) {
+ try( final ObjectOutputStream out = new ObjectOutputStream( new
BufferedOutputStream( Files.newOutputStream( f.toPath() ) ) ) ) {
final StopWatch sw = new StopWatch();
sw.start();
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/FileUtil.java
b/jspwiki-util/src/main/java/org/apache/wiki/util/FileUtil.java
index 2219b47..a961e96 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/FileUtil.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/FileUtil.java
@@ -42,6 +42,7 @@ import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
/**
* Generic utilities related to file and stream handling.
@@ -72,7 +73,7 @@ public final class FileUtil {
public static File newTmpFile( final String content, final Charset
encoding ) throws IOException {
final File f = File.createTempFile( "jspwiki", null );
try( final Reader in = new StringReader( content );
- final Writer out = new OutputStreamWriter( new FileOutputStream(
f ), encoding ) ) {
+ final Writer out = new OutputStreamWriter( Files.newOutputStream(
f.toPath() ), encoding ) ) {
copyContents( in, out );
}
diff --git
a/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java
b/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java
index 50170e3..34f71a3 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/PropertyReader.java
@@ -24,12 +24,14 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.servlet.ServletContext;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
+import java.nio.file.Files;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
/**
@@ -171,7 +173,7 @@ public final class PropertyReader {
* @return inputstream holding the properties file
* @throws FileNotFoundException properties file not found
*/
- static InputStream loadCustomPropertiesFile( final ServletContext
context, final String propertyFile ) throws FileNotFoundException {
+ static InputStream loadCustomPropertiesFile( final ServletContext
context, final String propertyFile ) throws IOException {
final InputStream propertyStream;
if( propertyFile == null ) {
LOG.debug( "No " + PARAM_CUSTOMCONFIG + " defined for this
context, looking for custom properties file with default name of: " +
CUSTOM_JSPWIKI_CONFIG );
@@ -179,7 +181,7 @@ public final class PropertyReader {
propertyStream = locateClassPathResource(context,
CUSTOM_JSPWIKI_CONFIG);
} else {
LOG.debug( PARAM_CUSTOMCONFIG + " defined, using " +
propertyFile + " as the custom properties file." );
- propertyStream = new FileInputStream( propertyFile );
+ propertyStream = Files.newInputStream( new
File(propertyFile).toPath() );
}
return propertyStream;
}