{
Connection[] connections = ConnectionCorePlugin.getDefault().getConnectionManager().getConnections();
for ( int i = 0; i < connections.length; i++ )
{
Connection connection = connections[i];
BrowserConnection browserConnection = new BrowserConnection( connection );
connectionMap.put( connection.getId(), browserConnection );
try
{
String schemaFilename = getSchemaCacheFileName( connection.getId() );
FileReader reader = new FileReader( schemaFilename );
Schema schema = new Schema();
schema.loadFromLdif( reader );
browserConnection.setSchema( schema );
}
catch ( Exception e )
{
}
}
// java.beans.XMLDecoder
try
{
String fileName = getBrowserConnectionStoreFileName();
File file = new File( fileName );
if ( file.exists() )
{
String oldContent = FileUtils.readFileToString( file, "UTF-8" ); //$NON-NLS-1$
if ( !oldContent.contains( "java.beans.XMLDecoder" ) ) //$NON-NLS-1$
{
// new file format
try
{
BrowserConnectionIO.load( new FileInputStream( getBrowserConnectionStoreFileName() ),
connectionMap );
}
catch ( Exception e )
{
// If loading failed, try with temp file
try
{
BrowserConnectionIO.load( new FileInputStream( getBrowserConnectionStoreFileName()
+ "-temp" ), connectionMap ); //$NON-NLS-1$
}
catch ( FileNotFoundException e1 )
{
// TODO Auto-generated catch block
return;
}
catch ( ConnectionIOException e1 )
{
// TODO Auto-generated catch block
return;
}
}
}
else
{
// old file format
Object[][] object = ( Object[][] ) this.load( getBrowserConnectionStoreFileName() );
if ( object != null )
{
try
{
for ( int i = 0; i < object.length; i++ )
{
String connectionId = ( String ) object[i][0];
IBrowserConnection browserConnection = getBrowserConnectionById( connectionId );
if ( browserConnection != null )
{
if ( object[i].length > 0 )
{
SearchParameter[] searchParameters = ( SearchParameter[] ) object[i][1];
for ( int k = 0; k < searchParameters.length; k++ )
{
ISearch search = new Search( browserConnection, searchParameters[k] );
browserConnection.getSearchManager().addSearch( search );
}
}
if ( object[i].length > 1 )
{
BookmarkParameter[] bookmarkParameters = ( BookmarkParameter[] ) object[i][2];
for ( int k = 0; k < bookmarkParameters.length; k++ )
{
IBookmark bookmark = new Bookmark( browserConnection, bookmarkParameters[k] );
browserConnection.getBookmarkManager().addBookmark( bookmark );
}
}
}
}
}