// ============================================================================ // // Copyright (C) 2006-2012 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.designer.core.ui.preferences; import java.io.File; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.gef.ui.palette.FlyoutPaletteComposite; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Display; import org.talend.commons.CommonsPlugin; import org.talend.core.CorePlugin; import org.talend.core.language.ECodeLanguage; import org.talend.core.model.repository.IRepositoryPrefConstants; import org.talend.core.model.utils.DesignerColorUtils; import org.talend.core.model.utils.TalendTextUtils; import org.talend.core.prefs.ITalendCorePrefConstants; import org.talend.designer.core.DesignerPlugin; import org.talend.designer.core.model.components.EParameterName; import org.talend.designer.core.model.components.EmfComponent; import org.talend.designer.core.ui.editor.TalendEditorPaletteFactory; import org.talend.repository.ProjectManager; /** * Preference Initializer for the designer. * * $Id: PreferenceInitializer.java 77219 2012-01-24 01:14:15Z mhirt $ * */ public class PreferenceInitializer extends AbstractPreferenceInitializer { public static final String DEFAULT_LOGS_FILE_NAME = "logs_file.txt"; //$NON-NLS-1$ public static final String DEFAULT_STATS_FILE_NAME = "stats_file.txt"; //$NON-NLS-1$ public static final String DEFAULT_METER_FILE_NAME = "meter_file.txt"; //$NON-NLS-1$ /* * (non-Javadoc) * * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() */ @Override public void initializeDefaultPreferences() { IPreferenceStore store = DesignerPlugin.getDefault().getPreferenceStore(); String logPath = Platform.getLogFileLocation().toOSString(); int lastIndex = logPath.lastIndexOf(File.separatorChar); logPath = TalendTextUtils.addQuotes(logPath.substring(0, lastIndex)); store.setDefault(TalendDesignerPrefConstants.DEFAULT_LABEL, "__UNIQUE_NAME__"); //$NON-NLS-1$ store.setDefault(TalendDesignerPrefConstants.DEFAULT_HINT, "<b>__UNIQUE_NAME__</b><br>__COMMENT__"); //$NON-NLS-1$ store.setDefault(TalendDesignerPrefConstants.DEFAULT_CONNECTION_FORMAT, "row"); //$NON-NLS-1$ store.setDefault(TalendDesignerPrefConstants.DEFAULT_HINT_USED, false); store.setDefault(TalendDesignerPrefConstants.DEFAULT_DISPLAY, false); store.setDefault(TalendDesignerPrefConstants.USE_REPOSITORY_NAME, true); store.setDefault(TalendEditorPaletteFactory.PALETTE_STATE, FlyoutPaletteComposite.STATE_PINNED_OPEN); store.setDefault(TalendDesignerPrefConstants.COMP_DEFAULT_FILE_DIR, Platform.getLocation().toPortableString()); // MOD by zshen for TDQ_INSTALL_DIR bug 17622 store.setDefault(TalendDesignerPrefConstants.PRODUCT_ROOT_DIR, Platform.getLocation().removeLastSegments(1) .toPortableString()); // see feature 7758 add project dir to COMP_DEFAULT_PROJECT_DIR. if (ProjectManager.getInstance().getCurrentProject() != null) { store.setDefault(TalendDesignerPrefConstants.COMP_DEFAULT_PROJECT_DIR, Platform.getLocation().toPortableString() + "/" + ProjectManager.getInstance().getCurrentProject().getLabel()); } store.setDefault(TalendDesignerPrefConstants.PROPERTY_CODE_CHECK, false); store.setDefault(TalendDesignerPrefConstants.LARGE_ICONS_SIZE, "24"); //$NON-NLS-1$ store.setDefault(TalendDesignerPrefConstants.SCHEMA_OPTIONS, "none"); //$NON-NLS-1$ store.setDefault(TalendDesignerPrefConstants.VIEW_OPTIONS, "default"); //$NON-NLS-1$ store.setDefault(TalendDesignerPrefConstants.DISPLAY_SUBJOBS, true); store.setDefault(TalendDesignerPrefConstants.GENERATE_CODE_WHEN_OPEN_JOB, false); // When updating jobs or joblets, check only the last version, and checked by default store.setDefault(TalendDesignerPrefConstants.CHECK_ONLY_LAST_VERSION, true); // defaults for the stats preferences for java store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.PROPERTY_TYPE.getName(), EmfComponent.BUILTIN); //$NON-NLS-1$ store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.CATCH_REALTIME_STATS.getName(), false); //$NON-NLS-1$ store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.CATCH_RUNTIME_ERRORS.getName(), true); //$NON-NLS-1$ store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.CATCH_USER_ERRORS.getName(), true); //$NON-NLS-1$ store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.CATCH_USER_WARNING.getName(), true); //$NON-NLS-1$ store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.FILE_PATH.getName(), logPath); //$NON-NLS-1$ store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.FILENAME_LOGS.getName(), TalendTextUtils //$NON-NLS-1$ .addQuotes(DEFAULT_LOGS_FILE_NAME)); store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.FILENAME_STATS.getName(), TalendTextUtils //$NON-NLS-1$ .addQuotes(DEFAULT_STATS_FILE_NAME)); store.setDefault(ECodeLanguage.JAVA.toString() + "_" + EParameterName.FILENAME_METTER.getName(), TalendTextUtils //$NON-NLS-1$ .addQuotes(DEFAULT_METER_FILE_NAME)); // defaults for the stats preferences for perl store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.PROPERTY_TYPE.getName(), EmfComponent.BUILTIN); //$NON-NLS-1$ store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.CATCH_REALTIME_STATS.getName(), false); //$NON-NLS-1$ store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.CATCH_RUNTIME_ERRORS.getName(), true); //$NON-NLS-1$ store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.CATCH_USER_ERRORS.getName(), true); //$NON-NLS-1$ store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.CATCH_USER_WARNING.getName(), true); //$NON-NLS-1$ store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.FILE_PATH.getName(), logPath); //$NON-NLS-1$ store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.FILENAME_LOGS.getName(), TalendTextUtils //$NON-NLS-1$ .addQuotes(DEFAULT_LOGS_FILE_NAME)); store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.FILENAME_STATS.getName(), TalendTextUtils //$NON-NLS-1$ .addQuotes(DEFAULT_STATS_FILE_NAME)); store.setDefault(ECodeLanguage.PERL.toString() + "_" + EParameterName.FILENAME_METTER.getName(), TalendTextUtils //$NON-NLS-1$ .addQuotes(DEFAULT_METER_FILE_NAME)); // repository refresh store.setDefault(IRepositoryPrefConstants.MANUALLY_REFRESH, false); store.setDefault(IRepositoryPrefConstants.CREATING_REFRESH, true); store.setDefault(IRepositoryPrefConstants.SAVING_REFRESH, true); store.setDefault(IRepositoryPrefConstants.DELETING_REFRESH, true); // db connection time out store.setDefault(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT_ACTIVED, true); store.setDefault(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT, 15); // store.setDefault(ITalendCorePrefConstants.ITEM_INDEX, false); // Add dependencies routines for job store.setDefault(ITalendCorePrefConstants.ADD_USER_ROUTINES, true); store.setDefault(ITalendCorePrefConstants.ADD_SYSTEM_ROUTINES, true); // have removed this function // store.setDefault(ITalendCorePrefConstants.ITEM_INDEX, false); store.setDefault(IRepositoryPrefConstants.USE_EXPORT_SAVE, false); if (!CommonsPlugin.isHeadless()) { Display display = Display.getCurrent(); if (display == null) { display = Display.getDefault(); } if (display != null) { display.syncExec(new Runnable() { public void run() { IPreferenceStore store = CorePlugin.getDefault().getPreferenceStore(); Font font = new Font(null, "courier", 10, SWT.NONE); //$NON-NLS-1$ PreferenceConverter.setDefault(store, TalendDesignerPrefConstants.MEMO_TEXT_FONT, font.getFontData()); PreferenceConverter.setDefault(store, TalendDesignerPrefConstants.CONSOLT_TEXT_FONT, font.getFontData()); } }); } store.setDefault(TalendDesignerPrefConstants.EDITOR_ANTIALIASING, false); // store.setDefault(TalendDesignerPrefConstants.EDITOR_INTERPOLATION, false); // designer color DesignerColorUtils.initPreferenceDefault(store); } } }