Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/apache/directory-studio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java')
-rw-r--r--plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java37
1 files changed, 13 insertions, 24 deletions
diff --git a/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java b/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java
index af283625e..d509d29a2 100644
--- a/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java
+++ b/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java
@@ -23,7 +23,6 @@ package org.apache.directory.studio.connection.core;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashSet;
@@ -33,7 +32,6 @@ import org.apache.directory.api.util.FileUtils;
import org.apache.directory.studio.connection.core.event.ConnectionEventRegistry;
import org.apache.directory.studio.connection.core.event.ConnectionUpdateListener;
import org.apache.directory.studio.connection.core.io.ConnectionIO;
-import org.apache.directory.studio.connection.core.io.ConnectionIOException;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionPoint;
@@ -360,29 +358,29 @@ public class ConnectionManager implements ConnectionUpdateListener
public synchronized void saveConnections()
{
Set<ConnectionParameter> connectionParameters = new HashSet<>();
-
+
for ( Connection connection : connectionList )
{
connectionParameters.add( connection.getConnectionParameter() );
}
+ File file = new File( getConnectionStoreFileName() );
+ File tempFile = new File( getConnectionStoreFileName() + TEMP_SUFFIX );
+
// To avoid a corrupt file, save object to a temp file first
- try
+ try ( FileOutputStream fileOutputStream = new FileOutputStream( tempFile ) )
{
- ConnectionIO
- .save( connectionParameters, new FileOutputStream( getConnectionStoreFileName() + TEMP_SUFFIX ) );
+ ConnectionIO.save( connectionParameters, fileOutputStream );
}
catch ( IOException e )
{
Status status = new Status( IStatus.ERROR, ConnectionCoreConstants.PLUGIN_ID,
Messages.error__saving_connections + e.getMessage(), e );
ConnectionCorePlugin.getDefault().getLog().log( status );
+ return;
}
// move temp file to good file
- File file = new File( getConnectionStoreFileName() );
- File tempFile = new File( getConnectionStoreFileName() + TEMP_SUFFIX );
-
if ( file.exists() )
{
file.delete();
@@ -398,6 +396,7 @@ public class ConnectionManager implements ConnectionUpdateListener
Status status = new Status( IStatus.ERROR, ConnectionCoreConstants.PLUGIN_ID,
Messages.error__saving_connections + e.getMessage(), e );
ConnectionCorePlugin.getDefault().getLog().log( status );
+ return;
}
}
@@ -409,24 +408,14 @@ public class ConnectionManager implements ConnectionUpdateListener
{
Set<ConnectionParameter> connectionParameters = null;
- try
- {
- connectionParameters = ConnectionIO.load( new FileInputStream( getConnectionStoreFileName() ) );
- }
- catch ( Exception e )
+ File file = new File( getConnectionStoreFileName() );
+ if ( file.exists() )
{
- // If loading failed, try with temp file
- try
- {
- connectionParameters = ConnectionIO.load( new FileInputStream( getConnectionStoreFileName()
- + TEMP_SUFFIX ) );
- }
- catch ( FileNotFoundException e1 )
+ try ( FileInputStream fileInputStream = new FileInputStream( file ) )
{
- // ignore, this is a fresh workspace
- return;
+ connectionParameters = ConnectionIO.load( fileInputStream );
}
- catch ( ConnectionIOException e1 )
+ catch ( Exception e )
{
Status status = new Status( IStatus.ERROR, ConnectionCoreConstants.PLUGIN_ID,
Messages.error__loading_connections + e.getMessage(), e );