Java tutorial
/******************************************************************************* * Copyright (c) 2013, 2014 ETAS GmbH. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Dennis Eder (ETAS GmbH) - initial API and implementation and/or initial documentation *******************************************************************************/ package mbtarranger.preferences; import java.io.File; import java.util.Map; import mbtarranger.Activator; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; /** * Class used to initialize default preference values. */ public class PreferenceInitializer extends AbstractPreferenceInitializer { /* * (non-Javadoc) * * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer# * initializeDefaultPreferences() */ public void initializeDefaultPreferences() { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); if (isLinux()) { store.setDefault(PreferenceConstants.P_GRAPHVIZ_DIR, "/usr/bin/Graphviz2.26.3/"); store.setDefault(PreferenceConstants.P_MSVC_COMMONTOOLS_DIR, "--n.a.--"); store.setDefault(PreferenceConstants.P_SMV_DIR, "/usr/bin/nusmv258"); store.setDefault(PreferenceConstants.P_PLATFORM_CHOICE, PreferenceConstants.const_Platform_LinuxGCC); } else { /* Graphviz2 */ if (new File("C:\\Program Files\\Graphviz2.26.3\\bin\\dot.exe").exists()) { store.setDefault(PreferenceConstants.P_GRAPHVIZ_DIR, "C:\\Program Files\\Graphviz2.26.3\\bin"); } else if (new File("C:\\Program Files (x86)\\Graphviz2.26.3\\bin\\dot.exe").exists()) { store.setDefault(PreferenceConstants.P_GRAPHVIZ_DIR, "C:\\Program Files (x86)\\Graphviz2.26.3\\bin"); } else { store.setDefault(PreferenceConstants.P_GRAPHVIZ_DIR, "???\\Graphviz2.26.3\\bin"); } /* SMV */ if (new File("C:\\Program Files\\NuSMV\\2.5.4\\bin\\nusmv\\nusmv.exe").exists()) { store.setDefault(PreferenceConstants.P_SMV_DIR, "C:\\Program Files\\NuSMV\\2.5.4\\bin\\nusmv"); } else if (new File("C:\\Program Files (x86)\\NuSMV\\2.5.4\\bin\\nusmv\\nusmv.exe").exists()) { store.setDefault(PreferenceConstants.P_SMV_DIR, "C:\\Program Files (x86)\\NuSMV\\2.5.4\\bin\\nusmv"); } else { store.setDefault(PreferenceConstants.P_SMV_DIR, "???\\nusmv2.5.4"); } /* C Compiler */ if (isMsVisualStudio2010CompilerToolchain()) { store.setDefault(PreferenceConstants.P_MSVC_COMMONTOOLS_DIR, "C:\\Program Files\\Microsoft Visual Studio 10.0\\Common7\\Tools"/* "%VS100COMNTOOLS%vsvars32.bat" */); store.setDefault(PreferenceConstants.P_PLATFORM_CHOICE, PreferenceConstants.const_Platform_WindowsMSSVS); } else if (isMsVisualStudio2012CompilerToolchain()) { store.setDefault(PreferenceConstants.P_MSVC_COMMONTOOLS_DIR, "C:\\Program Files\\Microsoft Visual Studio 11.0\\Common7\\Tools"/* "%VS110COMNTOOLS%vsvars32.bat" */); store.setDefault(PreferenceConstants.P_PLATFORM_CHOICE, PreferenceConstants.const_Platform_WindowsMSSVS); } else if (isMsVisualStudio2008CompilerToolchain()) { store.setDefault(PreferenceConstants.P_MSVC_COMMONTOOLS_DIR, "C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\Tools"/* "%VS90COMNTOOLS%vsvars32.bat" */); store.setDefault(PreferenceConstants.P_PLATFORM_CHOICE, PreferenceConstants.const_Platform_WindowsMSSVS); } else { store.setDefault(PreferenceConstants.P_MSVC_COMMONTOOLS_DIR, "???\\Microsoft Visual Studio ???\\Common7\\Tools"/* "%VS100COMNTOOLS%vsvars32.bat" */); store.setDefault(PreferenceConstants.P_PLATFORM_CHOICE, PreferenceConstants.const_Platform_WindowsMinGW); } } } private boolean isLinux() { Map<String, String> env = System.getenv(); if (env.containsKey("OS") && env.get("OS").toLowerCase().contains("win")) return false; return true; } private boolean isMsVisualStudio2008CompilerToolchain() { Map<String, String> env = System.getenv(); if (env.containsKey("VS90COMNTOOLS") && env.get("VS90COMNTOOLS").contains("9.0\\Common7\\Tools")) return true; return false; } private boolean isMsVisualStudio2010CompilerToolchain() { Map<String, String> env = System.getenv(); if (env.containsKey("VS100COMNTOOLS") && env.get("VS100COMNTOOLS").contains("10.0\\Common7\\Tools")) return true; return false; } private boolean isMsVisualStudio2012CompilerToolchain() { Map<String, String> env = System.getenv(); if (env.containsKey("VS110COMNTOOLS") && env.get("VS110COMNTOOLS").contains("11.0\\Common7\\Tools")) return true; return false; } }