/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.ivyde.internal.eclipse.ui.preferences;
import org.apache.ivy.util.Message;
import org.apache.ivyde.eclipse.cp.AdvancedSetup;
import org.apache.ivyde.eclipse.cp.ClasspathSetup;
import org.apache.ivyde.eclipse.cp.MappingSetup;
import org.apache.ivyde.eclipse.cp.RetrieveSetup;
import org.apache.ivyde.eclipse.cp.SettingsSetup;
import org.apache.ivyde.internal.eclipse.IvyPlugin;
import org.apache.ivyde.internal.eclipse.cpcontainer.IvyClasspathInitializer;
import org.apache.ivyde.internal.eclipse.cpcontainer.IvyClasspathUtil;
import org.apache.ivyde.internal.eclipse.ui.editors.xml.IXMLColorConstants;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.StringConverter;
import org.eclipse.swt.graphics.RGB;
/**
* Class used to initialize default preference values.
*/
public class PreferenceInitializer extends AbstractPreferenceInitializer {
public static final String DEFAULT_ORGANISATION = "";
public static final String DEFAULT_ORGANISATION_URL = "";
public static final String DEFAULT_IVYSETTINGS_PATH = "";
public static final String DEFAULT_IVY_USER_DIR = "";
public static final String DEFAULT_PROPERTY_FILES = "";
public static final boolean DEFAULT_LOAD_SETTINGS_ON_DEMAND = false;
public static final SettingsSetup DEFAULT_SETTINGS_SETUP = new SettingsSetup();
static {
DEFAULT_SETTINGS_SETUP.setIvySettingsPath(DEFAULT_IVYSETTINGS_PATH);
DEFAULT_SETTINGS_SETUP.setLoadSettingsOnDemand(DEFAULT_LOAD_SETTINGS_ON_DEMAND);
DEFAULT_SETTINGS_SETUP.setIvyUserDir(DEFAULT_IVY_USER_DIR);
DEFAULT_SETTINGS_SETUP.setPropertyFiles(IvyClasspathUtil.split(DEFAULT_PROPERTY_FILES));
}
public static final String DEFAULT_ACCEPTED_TYPES = "jar,bundle,ejb,maven-plugin";
public static final boolean DEFAULT_ALPHABETICAL_ORDER = false;
public static final boolean DEFAULT_RESOLVE_IN_WORKSPACE = false;
public static final boolean DEFAULT_TRANSITIVE_RESOLVE = true;
private static final boolean DEFAULT_READ_OSGI_METADATA = false;
public static final boolean DEFAULT_RETRIEVED_CLASSPATH = false;
private static final String DEFAULT_RETRIEVED_CLASSPATH_PATTERN = "lib/[artifact]-[revision].[ext]";
private static final boolean DEFAULT_RETRIEVED_CLASSPATH_SYNC = false;
private static final String DEFAULT_RETRIEVED_CLASSPATH_TYPES = "jar";
public static final RetrieveSetup DEFAULT_RETRIEVED_CLASSPATH_SETUP = new RetrieveSetup();
static {
DEFAULT_RETRIEVED_CLASSPATH_SETUP.setRetrievePattern(DEFAULT_RETRIEVED_CLASSPATH_PATTERN);
DEFAULT_RETRIEVED_CLASSPATH_SETUP.setRetrieveSync(DEFAULT_RETRIEVED_CLASSPATH_SYNC);
DEFAULT_RETRIEVED_CLASSPATH_SETUP.setRetrieveTypes(DEFAULT_RETRIEVED_CLASSPATH_TYPES);
}
public static final ClasspathSetup DEFAULT_CLASSPATH_SETUP = new ClasspathSetup();
static {
DEFAULT_CLASSPATH_SETUP.setAcceptedTypes(IvyClasspathUtil.split(DEFAULT_ACCEPTED_TYPES));
DEFAULT_CLASSPATH_SETUP.setAlphaOrder(DEFAULT_ALPHABETICAL_ORDER);
DEFAULT_CLASSPATH_SETUP.setResolveInWorkspace(DEFAULT_RESOLVE_IN_WORKSPACE);
DEFAULT_CLASSPATH_SETUP.setTransitiveResolve(DEFAULT_TRANSITIVE_RESOLVE);
DEFAULT_CLASSPATH_SETUP.setReadOSGiMetadata(DEFAULT_READ_OSGI_METADATA);
DEFAULT_CLASSPATH_SETUP.setRetrievedClasspath(DEFAULT_RETRIEVED_CLASSPATH);
DEFAULT_CLASSPATH_SETUP.setRetrieveSetup(DEFAULT_RETRIEVED_CLASSPATH_SETUP);
}
public static final String DEFAULT_SOURCES_TYPES = "source";
public static final String DEFAULT_JAVADOC_TYPES = "javadoc";
public static final String DEFAULT_SOURCES_SUFFIXES = "-source,-sources,-src";
public static final String DEFAULT_JAVADOC_SUFFIXES = "-javadoc,-javadocs,-doc,-docs";
public static final boolean DEFAULT_MAP_IF_ONLY_ONE_SOURCE = false;
public static final boolean DEFAULT_MAP_IF_ONLY_ONE_JAVADOC = false;
public static final int DEFAULT_IVY_CONSOLE_LOG_MESSAGE = Message.MSG_INFO;
public static final int DEFAULT_IVY_CONSOLE_IVYDE_LOG_MESSAGE = Message.MSG_INFO;
public static final boolean DEFAULT_OPEN_IVY_CONSOLE_ON_STARTUP = false;
public static final MappingSetup DEFAULT_MAPPING_SETUP = new MappingSetup();
static {
DEFAULT_MAPPING_SETUP.setSourceTypes(IvyClasspathUtil.split(DEFAULT_SOURCES_TYPES));
DEFAULT_MAPPING_SETUP.setJavadocTypes(IvyClasspathUtil.split(DEFAULT_JAVADOC_TYPES));
DEFAULT_MAPPING_SETUP.setSourceSuffixes(IvyClasspathUtil.split(DEFAULT_SOURCES_SUFFIXES));
DEFAULT_MAPPING_SETUP.setJavadocSuffixes(IvyClasspathUtil.split(DEFAULT_JAVADOC_SUFFIXES));
DEFAULT_MAPPING_SETUP.setMapIfOnlyOneSource(DEFAULT_MAP_IF_ONLY_ONE_SOURCE);
DEFAULT_MAPPING_SETUP.setMapIfOnlyOneJavadoc(DEFAULT_MAP_IF_ONLY_ONE_JAVADOC);
}
public static final boolean DEFAULT_RESOLVE_BEFORE_LAUNCH = false;
public static final boolean DEFAULT_USE_EXTENDED_RESOLVE_ID = false;
public static final AdvancedSetup DEFAULT_ADVANCED_SETUP = new AdvancedSetup();
static {
DEFAULT_ADVANCED_SETUP.setResolveBeforeLaunch(DEFAULT_RESOLVE_BEFORE_LAUNCH);
DEFAULT_ADVANCED_SETUP.setUseExtendedResolveId(DEFAULT_USE_EXTENDED_RESOLVE_ID);
}
public static final int DEFAULT_RESOLVE_ON_STARTUP = IvyClasspathInitializer.ON_STARTUP_NOTHING;
public static final boolean DEFAULT_AUTO_RESOLVE_ON_CLOSE = true;
public static final boolean DEFAULT_AUTO_RESOLVE_ON_OPEN = false;
public static final boolean DEFAULT_AUTO_RESOLVE_ON_CHANGE = true;
public static final boolean DEFAULT_IGNORE_BRANCH_ON_WORKSPACE_PROJECTS = false;
public static final boolean DEFAULT_IGNORE_VERSION_ON_WORKSPACE_PROJECTS = false;
public static final boolean DEFAULT_OFFLINE = false;
public static final boolean DEFAULT_ERROR_POPUP = true;
public void initializeDefaultPreferences() {
IPreferenceStore store = IvyPlugin.getDefault().getPreferenceStore();
store.setDefault(PreferenceConstants.P_BOOLEAN, true);
store.setDefault(PreferenceConstants.P_CHOICE, "choice2");
store.setDefault(PreferenceConstants.P_STRING, "Default value");
store.setDefault(PreferenceConstants.IVYSETTINGS_PATH, DEFAULT_IVYSETTINGS_PATH);
store.setDefault(PreferenceConstants.IVY_USER_DIR, DEFAULT_IVY_USER_DIR);
store.setDefault(PreferenceConstants.ORGANISATION, DEFAULT_ORGANISATION);
store.setDefault(PreferenceConstants.ORGANISATION_URL, DEFAULT_ORGANISATION_URL);
store.setDefault(PreferenceConstants.ACCEPTED_TYPES, DEFAULT_ACCEPTED_TYPES);
store.setDefault(PreferenceConstants.SOURCES_TYPES, DEFAULT_SOURCES_TYPES);
store.setDefault(PreferenceConstants.JAVADOC_TYPES, DEFAULT_JAVADOC_TYPES);
store.setDefault(PreferenceConstants.SOURCES_SUFFIXES, DEFAULT_SOURCES_SUFFIXES);
store.setDefault(PreferenceConstants.JAVADOC_SUFFIXES, DEFAULT_JAVADOC_SUFFIXES);
store.setDefault(PreferenceConstants.MAP_IF_ONLY_ONE_SOURCE, DEFAULT_MAP_IF_ONLY_ONE_SOURCE);
store.setDefault(PreferenceConstants.MAP_IF_ONLY_ONE_JAVADOC,
DEFAULT_MAP_IF_ONLY_ONE_JAVADOC);
store.setDefault(PreferenceConstants.ALPHABETICAL_ORDER, DEFAULT_ALPHABETICAL_ORDER);
store.setDefault(PreferenceConstants.RESOLVE_IN_WORKSPACE, DEFAULT_RESOLVE_IN_WORKSPACE);
store.setDefault(PreferenceConstants.TRANSITIVE_RESOLVE, DEFAULT_TRANSITIVE_RESOLVE);
store.setDefault(PreferenceConstants.READ_OSGI_METADATA, DEFAULT_READ_OSGI_METADATA);
store.setDefault(PreferenceConstants.RESOLVE_BEFORE_LAUNCH, DEFAULT_RESOLVE_BEFORE_LAUNCH);
store.setDefault(PreferenceConstants.PROPERTY_FILES, DEFAULT_PROPERTY_FILES);
store.setDefault(PreferenceConstants.LOAD_SETTINGS_ON_DEMAND,
DEFAULT_LOAD_SETTINGS_ON_DEMAND);
store.setDefault(PreferenceConstants.RESOLVE_ON_STARTUP, DEFAULT_RESOLVE_ON_STARTUP);
store.setDefault(PreferenceConstants.AUTO_RESOLVE_ON_CLOSE, DEFAULT_AUTO_RESOLVE_ON_CLOSE);
store.setDefault(PreferenceConstants.AUTO_RESOLVE_ON_OPEN, DEFAULT_AUTO_RESOLVE_ON_OPEN);
store.setDefault(PreferenceConstants.AUTO_RESOLVE_ON_CHANGE, DEFAULT_AUTO_RESOLVE_ON_CHANGE);
store.setDefault(PreferenceConstants.IVY_CONSOLE_LOG_LEVEL, DEFAULT_IVY_CONSOLE_LOG_MESSAGE);
store.setDefault(PreferenceConstants.IVY_CONSOLE_IVYDE_LOG_LEVEL, DEFAULT_IVY_CONSOLE_IVYDE_LOG_MESSAGE);
store.setDefault(PreferenceConstants.OPEN_IVY_CONSOLE_ON_STARTUP, DEFAULT_OPEN_IVY_CONSOLE_ON_STARTUP);
store.setDefault(PreferenceConstants.IGNORE_BRANCH_ON_WORKSPACE_PROJECTS,
DEFAULT_IGNORE_BRANCH_ON_WORKSPACE_PROJECTS);
store.setDefault(PreferenceConstants.IGNORE_VERSION_ON_WORKSPACE_PROJECTS,
DEFAULT_IGNORE_VERSION_ON_WORKSPACE_PROJECTS);
store.setDefault(PreferenceConstants.EDITOR_COLOR_XML_COMMENT,
asString(IXMLColorConstants.XML_COMMENT));
store.setDefault(PreferenceConstants.EDITOR_COLOR_PROC_INSTR,
asString(IXMLColorConstants.PROC_INSTR));
store.setDefault(PreferenceConstants.EDITOR_COLOR_STRING,
asString(IXMLColorConstants.STRING));
store.setDefault(PreferenceConstants.EDITOR_COLOR_DEFAULT,
asString(IXMLColorConstants.DEFAULT));
store.setDefault(PreferenceConstants.EDITOR_COLOR_TAG, asString(IXMLColorConstants.TAG));
store.setDefault(PreferenceConstants.RETRIEVED_CLASSPATH, DEFAULT_RETRIEVED_CLASSPATH);
store.setDefault(PreferenceConstants.RETRIEVED_CLASSPATH_PATTERN,
DEFAULT_RETRIEVED_CLASSPATH_PATTERN);
store.setDefault(PreferenceConstants.RETRIEVED_CLASSPATH_SYNC,
DEFAULT_RETRIEVED_CLASSPATH_SYNC);
store.setDefault(PreferenceConstants.RETRIEVED_CLASSPATH_TYPES,
DEFAULT_RETRIEVED_CLASSPATH_TYPES);
store.setDefault(PreferenceConstants.OFFLINE, DEFAULT_OFFLINE);
store.setDefault(PreferenceConstants.ERROR_POPUP, DEFAULT_ERROR_POPUP);
}
private String asString(RGB value) {
return StringConverter.asString(value);
}
}