Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Made OpenTox server prefs persisted when changed in preferences
- Loading branch information
1 parent
e6d61c3
commit 27b982f
Showing
5 changed files
with
97 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
82 changes: 82 additions & 0 deletions
82
...et.bioclipse.opentox/src/net/bioclipse/opentox/business/OpentoxPreferenceInitializer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
package net.bioclipse.opentox.business; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
import net.bioclipse.opentox.Activator; | ||
import net.bioclipse.opentox.OpenToxConstants; | ||
import net.bioclipse.opentox.OpenToxService; | ||
import net.bioclipse.opentox.ServiceReader; | ||
import net.bioclipse.opentox.prefs.ServicesPreferencePage; | ||
import org.apache.log4j.Logger; | ||
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; | ||
import org.eclipse.core.runtime.preferences.DefaultScope; | ||
import org.osgi.service.prefs.BackingStoreException; | ||
import org.osgi.service.prefs.Preferences; | ||
|
||
|
||
public class OpentoxPreferenceInitializer extends AbstractPreferenceInitializer { | ||
|
||
private static final Logger logger = Logger | ||
.getLogger(OpentoxPreferenceInitializer.class); | ||
|
||
@Override | ||
public void initializeDefaultPreferences() { | ||
|
||
logger.debug("Initializing OpenTox services"); | ||
|
||
//A list of OpenTox services in order | ||
List<OpenToxService> openToxServices = new ArrayList<OpenToxService>(); | ||
List<String[]> toPrefs = new ArrayList<String[]>(); | ||
|
||
Preferences preferences = | ||
DefaultScope.INSTANCE | ||
.getNode( OpenToxConstants.PLUGIN_ID ); | ||
|
||
// Get the (new) services from the extension point. | ||
List<OpenToxService> epservices = ServiceReader | ||
.readServicesFromExtensionPoints(); | ||
for (OpenToxService eps : epservices){ | ||
if (!openToxServices.contains(eps)){ | ||
openToxServices.add(eps); | ||
logger.debug("Added new service from EP: " + eps); | ||
} | ||
} | ||
|
||
// Read the data from the services and serialize it | ||
for (OpenToxService eps : epservices){ | ||
String[] entry = new String[3]; | ||
entry[0]=eps.getName(); | ||
entry[1]=eps.getService(); | ||
entry[2]=eps.getServiceSPARQL(); | ||
toPrefs.add( entry ); | ||
} | ||
String toPrefsString = ServicesPreferencePage | ||
.convertToPreferenceString(toPrefs); | ||
|
||
//Save the serialized services to preferences | ||
preferences.put( OpenToxConstants.SERVICES, toPrefsString ); | ||
try { | ||
preferences.flush(); | ||
} catch ( BackingStoreException e ) { | ||
logger.error( e.getMessage() ); | ||
e.printStackTrace(); | ||
} | ||
|
||
logger.debug("Saved the serialized services prefs string: " + | ||
toPrefsString); | ||
|
||
Preferences node = DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID); | ||
node.put( OpenToxConstants.SERVICES, toPrefsString ); | ||
try { | ||
node.flush(); | ||
} catch ( BackingStoreException e ) { | ||
logger.error( e.getMessage() ); | ||
e.printStackTrace(); | ||
} | ||
logger.debug( "Sat the loaded services as default" ); | ||
|
||
logger.debug("OpenTox initialization ended"); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters