From: Timo Mueller <timo.muel...@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.muel...@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

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to