/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.eclipse.repositorysystem.preferences.core; import org.ebayopensource.turmeric.eclipse.core.logging.SOALogger; import org.ebayopensource.turmeric.eclipse.repositorysystem.RepositorySystemActivator; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.core.runtime.preferences.DefaultScope; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.InstanceScope; import org.osgi.service.prefs.BackingStoreException; /** * The preference initializer which will be called for the default * first time the preference is read. * * @author dcarver * @since 1.0 Upgraded to use IEclipsePreferences. * */ public class PreferenceInitializer extends AbstractPreferenceInitializer { /* (non-Javadoc) * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() * default preference value initialization */ @Override public void initializeDefaultPreferences() { IEclipsePreferences node = new DefaultScope().getNode(RepositorySystemActivator.getDefault().getBundle().getSymbolicName()); IEclipsePreferences instanceNode = new InstanceScope().getNode(RepositorySystemActivator.getDefault().getBundle().getSymbolicName()); setNodeValues(node); try { if (instanceNode.keys() != null && instanceNode.keys().length == 0) { setNodeValues(instanceNode); instanceNode.flush(); } } catch (BackingStoreException e) { SOALogger.getLogger().warning(e); } } private void setNodeValues(IEclipsePreferences node) { node.put(PreferenceConstants.PREF_REPOSITORY_SYSTEM, PreferenceConstants._PREF_DEFAULT_REPOSITORY_SYSTEM); node.put(PreferenceConstants.PREF_SERVICE_LAYERS, PreferenceConstants.getDefaultServiceLayers()); } }