[yocto] [PATCHv2 3/8] plugins/sdk.ide: Move project specific util methods
Timo Mueller
mail at timomueller.eu
Fri Jun 21 05:44:42 PDT 2013
From: Timo Mueller <timo.mueller at bmw-carit.de>
Move project specific methods to the new util class to allow public
usage of theses methods.
Signed-off-by: Timo Mueller <timo.mueller at bmw-carit.de>
---
.../preferences/YoctoSDKProjectPropertyPage.java | 121 ++-------------------
.../sdk/ide/utils/ProjectPreferenceUtils.java | 102 +++++++++++++++++
2 files changed, 109 insertions(+), 114 deletions(-)
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKProjectPropertyPage.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKProjectPropertyPage.java
index f075c5b..1f82fe1 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKProjectPropertyPage.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKProjectPropertyPage.java
@@ -13,12 +13,8 @@
package org.yocto.sdk.ide.preferences;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -27,19 +23,17 @@ import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.ui.IWorkbenchPropertyPage;
import org.eclipse.ui.dialogs.PropertyPage;
-import org.osgi.service.prefs.BackingStoreException;
import org.yocto.sdk.ide.YoctoProfileElement;
import org.yocto.sdk.ide.YoctoProfileSetting;
import org.yocto.sdk.ide.YoctoProjectSpecificSetting;
import org.yocto.sdk.ide.YoctoSDKChecker.SDKCheckRequestFrom;
import org.yocto.sdk.ide.YoctoSDKChecker.SDKCheckResults;
import org.yocto.sdk.ide.YoctoSDKMessages;
-import org.yocto.sdk.ide.utils.ProjectPreferenceUtils;
-import org.yocto.sdk.ide.utils.YoctoSDKUtils;
-import org.yocto.sdk.ide.utils.YoctoSDKUtilsConstants;
import org.yocto.sdk.ide.YoctoSDKPlugin;
import org.yocto.sdk.ide.YoctoUIElement;
import org.yocto.sdk.ide.YoctoUISetting;
+import org.yocto.sdk.ide.utils.ProjectPreferenceUtils;
+import org.yocto.sdk.ide.utils.YoctoSDKUtils;
public class YoctoSDKProjectPropertyPage extends PropertyPage implements
IWorkbenchPropertyPage {
@@ -79,10 +73,10 @@ public class YoctoSDKProjectPropertyPage extends PropertyPage implements
yoctoProfileSetting = new YoctoProfileSetting(
new YoctoProfileElement(globalProfileElement.getProfilesAsString(), selectedProfile), this, false);
- boolean useProjectSpecificSetting = getUseProjectSpecificOptionFromProjectPreferences(project);
+ boolean useProjectSpecificSetting = ProjectPreferenceUtils.getUseProjectSpecificOptionFromProjectPreferences(project);
if (useProjectSpecificSetting) {
- yoctoUISetting = new YoctoUISetting(getElemFromProjectPreferences(project));
+ yoctoUISetting = new YoctoUISetting(ProjectPreferenceUtils.getElemFromProjectPreferences(project));
} else {
yoctoUISetting = new YoctoUISetting(YoctoSDKUtils.getElemFromStore(YoctoSDKPlugin.getProfilePreferenceStore(selectedProfile)));
}
@@ -160,11 +154,11 @@ public class YoctoSDKProjectPropertyPage extends PropertyPage implements
return false;
}
- saveUseProjectSpecificOptionToProjectPreferences(project, true);
+ ProjectPreferenceUtils.saveUseProjectSpecificOptionToProjectPreferences(project, true);
ProjectPreferenceUtils.saveProfilesToProjectPreferences(yoctoProfileSetting.getCurrentInput(), project);
- saveElemToProjectPreferences(yoctoUISetting.getCurrentInput(), project);
+ ProjectPreferenceUtils.saveElemToProjectPreferences(yoctoUISetting.getCurrentInput(), project);
} else {
- saveUseProjectSpecificOptionToProjectPreferences(project, false);
+ ProjectPreferenceUtils.saveUseProjectSpecificOptionToProjectPreferences(project, false);
ProjectPreferenceUtils.saveProfilesToProjectPreferences(yoctoProfileSetting.getCurrentInput(), project);
}
@@ -173,107 +167,6 @@ public class YoctoSDKProjectPropertyPage extends PropertyPage implements
return super.performOk();
}
- private void saveUseProjectSpecificOptionToProjectPreferences(IProject project, boolean useProjectSpecificSetting) {
- IScopeContext projectScope = new ProjectScope(project);
- IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
- if (projectNode == null) {
- return;
- }
-
- if (useProjectSpecificSetting) {
- projectNode.put(PreferenceConstants.PROJECT_SPECIFIC_PROFILE, IPreferenceStore.TRUE);
- } else {
- projectNode.put(PreferenceConstants.PROJECT_SPECIFIC_PROFILE, IPreferenceStore.FALSE);
- }
-
- try {
- projectNode.flush();
- } catch (BackingStoreException e) {
- e.printStackTrace();
- }
- }
-
- private boolean getUseProjectSpecificOptionFromProjectPreferences(IProject project) {
- IScopeContext projectScope = new ProjectScope(project);
- IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
- if (projectNode == null) {
- return false;
- }
-
- String useProjectSpecificSettingString = projectNode.get(PreferenceConstants.PROJECT_SPECIFIC_PROFILE, IPreferenceStore.FALSE);
-
- if (useProjectSpecificSettingString.equals(IPreferenceStore.FALSE)) {
- return false;
- }
- return true;
- }
-
- /* Save POKY Preference settings to project's preference store */
- private void saveElemToProjectPreferences(YoctoUIElement elem, IProject project) {
- IScopeContext projectScope = new ProjectScope(project);
- IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
- if (projectNode == null) {
- return;
- }
-
- projectNode.putInt(PreferenceConstants.TARGET_ARCH_INDEX, elem.getIntTargetIndex());
- if (elem.getEnumPokyMode() == YoctoUIElement.PokyMode.POKY_SDK_MODE) {
- projectNode.put(PreferenceConstants.SDK_MODE, IPreferenceStore.TRUE);
- } else {
- projectNode.put(PreferenceConstants.SDK_MODE, IPreferenceStore.FALSE);
- }
- projectNode.put(PreferenceConstants.QEMU_KERNEL, elem.getStrQemuKernelLoc());
- projectNode.put(PreferenceConstants.QEMU_OPTION, elem.getStrQemuOption());
- projectNode.put(PreferenceConstants.SYSROOT, elem.getStrSysrootLoc());
-
- if (elem.getEnumDeviceMode() == YoctoUIElement.DeviceMode.QEMU_MODE) {
- projectNode.put(PreferenceConstants.TARGET_MODE, IPreferenceStore.TRUE);
- } else {
- projectNode.put(PreferenceConstants.TARGET_MODE, IPreferenceStore.FALSE);
- }
- projectNode.put(PreferenceConstants.TOOLCHAIN_ROOT, elem.getStrToolChainRoot());
- projectNode.put(PreferenceConstants.TOOLCHAIN_TRIPLET, elem.getStrTarget());
-
- try {
- projectNode.flush();
- } catch (BackingStoreException e) {
- e.printStackTrace();
- }
- }
-
- /* Get POKY Preference settings from project's preference store */
- private YoctoUIElement getElemFromProjectPreferences(IProject project) {
- IScopeContext projectScope = new ProjectScope(project);
- IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
- if (projectNode == null) {
- return ProjectPreferenceUtils.getElemFromProjectEnv(project);
- }
-
- YoctoUIElement elem = new YoctoUIElement();
- elem.setStrToolChainRoot(projectNode.get(PreferenceConstants.TOOLCHAIN_ROOT,""));
- elem.setStrTarget(projectNode.get(PreferenceConstants.TOOLCHAIN_TRIPLET,""));
- elem.setStrQemuKernelLoc(projectNode.get(PreferenceConstants.QEMU_KERNEL,""));
- elem.setStrSysrootLoc(projectNode.get(PreferenceConstants.SYSROOT,""));
- elem.setStrQemuOption(projectNode.get(PreferenceConstants.QEMU_OPTION,""));
- String sTemp = projectNode.get(PreferenceConstants.TARGET_ARCH_INDEX,"");
- if (!sTemp.isEmpty()) {
- elem.setIntTargetIndex(Integer.valueOf(sTemp).intValue());
- }
-
- if (projectNode.get(PreferenceConstants.SDK_MODE,"").equalsIgnoreCase(IPreferenceStore.TRUE)) {
- elem.setEnumPokyMode(YoctoUIElement.PokyMode.POKY_SDK_MODE);
- } else {
- elem.setEnumPokyMode(YoctoUIElement.PokyMode.POKY_TREE_MODE);
- }
-
- if(projectNode.get(PreferenceConstants.TARGET_MODE,"").equalsIgnoreCase(IPreferenceStore.TRUE)) {
- elem.setEnumDeviceMode(YoctoUIElement.DeviceMode.QEMU_MODE);
- } else {
- elem.setEnumDeviceMode(YoctoUIElement.DeviceMode.DEVICE_MODE);
- }
- return elem;
- }
-
private void clearMessages() {
setErrorMessage(null);
setMessage(null);
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/ProjectPreferenceUtils.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/ProjectPreferenceUtils.java
index 0f84912..50904c1 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/ProjectPreferenceUtils.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/ProjectPreferenceUtils.java
@@ -35,6 +35,39 @@ import org.yocto.sdk.ide.preferences.PreferenceConstants;
public class ProjectPreferenceUtils {
private static final String CONSOLE_MESSAGE = "Menu.SDK.Console.Configure.Message";
+ /* Get POKY Preference settings from project's preference store */
+ public static YoctoUIElement getElemFromProjectPreferences(IProject project) {
+ IScopeContext projectScope = new ProjectScope(project);
+ IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
+ if (projectNode == null) {
+ return getElemFromProjectEnv(project);
+ }
+
+ YoctoUIElement elem = new YoctoUIElement();
+ elem.setStrToolChainRoot(projectNode.get(PreferenceConstants.TOOLCHAIN_ROOT,""));
+ elem.setStrTarget(projectNode.get(PreferenceConstants.TOOLCHAIN_TRIPLET,""));
+ elem.setStrQemuKernelLoc(projectNode.get(PreferenceConstants.QEMU_KERNEL,""));
+ elem.setStrSysrootLoc(projectNode.get(PreferenceConstants.SYSROOT,""));
+ elem.setStrQemuOption(projectNode.get(PreferenceConstants.QEMU_OPTION,""));
+ String sTemp = projectNode.get(PreferenceConstants.TARGET_ARCH_INDEX,"");
+ if (!sTemp.isEmpty()) {
+ elem.setIntTargetIndex(Integer.valueOf(sTemp).intValue());
+ }
+
+ if (projectNode.get(PreferenceConstants.SDK_MODE,"").equalsIgnoreCase(IPreferenceStore.TRUE)) {
+ elem.setEnumPokyMode(YoctoUIElement.PokyMode.POKY_SDK_MODE);
+ } else {
+ elem.setEnumPokyMode(YoctoUIElement.PokyMode.POKY_TREE_MODE);
+ }
+
+ if(projectNode.get(PreferenceConstants.TARGET_MODE,"").equalsIgnoreCase(IPreferenceStore.TRUE)) {
+ elem.setEnumDeviceMode(YoctoUIElement.DeviceMode.QEMU_MODE);
+ } else {
+ elem.setEnumDeviceMode(YoctoUIElement.DeviceMode.DEVICE_MODE);
+ }
+ return elem;
+ }
+
/* Get POKY Preference settings from project's environment */
public static YoctoUIElement getElemFromProjectEnv(IProject project) {
YoctoUIElement elem = new YoctoUIElement();
@@ -79,6 +112,55 @@ public class ProjectPreferenceUtils {
return new YoctoProfileElement(profiles, selectedProfile);
}
+ public static boolean getUseProjectSpecificOptionFromProjectPreferences(IProject project) {
+ IScopeContext projectScope = new ProjectScope(project);
+ IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
+ if (projectNode == null) {
+ return false;
+ }
+
+ String useProjectSpecificSettingString = projectNode.get(PreferenceConstants.PROJECT_SPECIFIC_PROFILE,
+ IPreferenceStore.FALSE);
+
+ if (useProjectSpecificSettingString.equals(IPreferenceStore.FALSE)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /* Save POKY Preference settings to project's preference store */
+ public static void saveElemToProjectPreferences(YoctoUIElement elem, IProject project) {
+ IScopeContext projectScope = new ProjectScope(project);
+ IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
+ if (projectNode == null) {
+ return;
+ }
+
+ projectNode.putInt(PreferenceConstants.TARGET_ARCH_INDEX, elem.getIntTargetIndex());
+ if (elem.getEnumPokyMode() == YoctoUIElement.PokyMode.POKY_SDK_MODE) {
+ projectNode.put(PreferenceConstants.SDK_MODE, IPreferenceStore.TRUE);
+ } else {
+ projectNode.put(PreferenceConstants.SDK_MODE, IPreferenceStore.FALSE);
+ }
+ projectNode.put(PreferenceConstants.QEMU_KERNEL, elem.getStrQemuKernelLoc());
+ projectNode.put(PreferenceConstants.QEMU_OPTION, elem.getStrQemuOption());
+ projectNode.put(PreferenceConstants.SYSROOT, elem.getStrSysrootLoc());
+ if (elem.getEnumDeviceMode() == YoctoUIElement.DeviceMode.QEMU_MODE) {
+ projectNode.put(PreferenceConstants.TARGET_MODE, IPreferenceStore.TRUE);
+ } else {
+ projectNode.put(PreferenceConstants.TARGET_MODE, IPreferenceStore.FALSE);
+ }
+ projectNode.put(PreferenceConstants.TOOLCHAIN_ROOT, elem.getStrToolChainRoot());
+ projectNode.put(PreferenceConstants.TOOLCHAIN_TRIPLET, elem.getStrTarget());
+
+ try {
+ projectNode.flush();
+ } catch (BackingStoreException e) {
+ e.printStackTrace();
+ }
+ }
+
/* Save POKY Preference settings to project's environment */
public static void saveElemToProjectEnv(YoctoUIElement elem, IProject project) {
ConsoleOutputStream consoleOutStream = null;
@@ -135,4 +217,24 @@ public class ProjectPreferenceUtils {
e.printStackTrace();
}
}
+
+ public static void saveUseProjectSpecificOptionToProjectPreferences(IProject project, boolean useProjectSpecificSetting) {
+ IScopeContext projectScope = new ProjectScope(project);
+ IEclipsePreferences projectNode = projectScope.getNode(YoctoSDKUtilsConstants.PROJECT_SCOPE);
+ if (projectNode == null) {
+ return;
+ }
+
+ if (useProjectSpecificSetting) {
+ projectNode.put(PreferenceConstants.PROJECT_SPECIFIC_PROFILE, IPreferenceStore.TRUE);
+ } else {
+ projectNode.put(PreferenceConstants.PROJECT_SPECIFIC_PROFILE, IPreferenceStore.FALSE);
+ }
+
+ try {
+ projectNode.flush();
+ } catch (BackingStoreException e) {
+ e.printStackTrace();
+ }
+ }
}
--
1.8.1.4
More information about the yocto
mailing list