package de.mukis.gemini.sample.rcp.handlers; import java.lang.reflect.InvocationTargetException; import javax.inject.Inject; import javax.inject.Named; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.core.di.extensions.Preference; import org.eclipse.e4.ui.services.IServiceConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Shell; import org.osgi.service.prefs.BackingStoreException; public class SavePreferencesHandler { @Inject @Preference IEclipsePreferences preferences; @Execute public void execute(@Named(IServiceConstants.ACTIVE_SHELL) Shell shell) throws InvocationTargetException, InterruptedException { try { preferences.put("jdbc_driver", "org.apache.derby.jdbc.EmbeddedDriver"); preferences.put("jdbc_url", "jdbc:derby:memory:test2;create=true"); preferences.putBoolean("jdbc_reconnect", true); preferences.flush(); MessageDialog.openInformation(shell, "Info :: Save Preferences", "Done! Saved driver (derby embedded) and url"); } catch (BackingStoreException e) { e.printStackTrace(); } } }