<div dir="ltr"><span style="font-size:12.800000190734863px">Merged to master and oxygen-master. Created oxygen/sumo as this forks compared to oxygen/rocko and earlier.</span><div style="font-size:12.800000190734863px"><br></div><div style="font-size:12.800000190734863px">Do we want a neon/sumo branch or only support oxygen for sumo (YP 2.5)?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 5, 2018 at 11:04 AM, Tim Orling <span dir="ltr"><<a href="mailto:timothy.t.orling@linux.intel.com" target="_blank">timothy.t.orling@linux.intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Reference for yocto-bsp being dropped from Documentation:<br>
<a href="https://bugzilla.yoctoproject.org/show_bug.cgi?id=12300" rel="noreferrer" target="_blank">https://bugzilla.yoctoproject.<wbr>org/show_bug.cgi?id=12300</a><br>
<div class="HOEnZb"><div class="h5"><br>
> On Jan 30, 2018, at 7:21 PM, Chin Huat Ang <<a href="mailto:chin.huat.ang@intel.com">chin.huat.ang@intel.com</a>> wrote:<br>
><br>
> Remove all wizard or UI code for yocto-bsp tool<br>
><br>
> [YOCTO #12509]<br>
><br>
> Signed-off-by: Chin Huat Ang <<a href="mailto:chin.huat.ang@intel.com">chin.huat.ang@intel.com</a>><br>
> ---<br>
> .../org/yocto/sdk/remotetools/<wbr>YoctoBspElement.java |  88 ----<br>
> .../sdk/remotetools/<wbr>YoctoBspPropertyElement.java  Â |  65 ---<br>
> .../org/yocto/sdk/remotetools/<wbr>YoctoJSONHelper.java |  95 ----<br>
> .../sdk/remotetools/actions/<wbr>YoctoBspHandler.java  Â |  38 --<br>
> .../sdk/remotetools/wizards/<wbr>bsp/BSPAction.java  Â  Â |  32 --<br>
> .../remotetools/wizards/bsp/<wbr>BSPProgressDialog.java |  47 --<br>
> .../sdk/remotetools/wizards/<wbr>bsp/BSPThread.java  Â  Â |  92 ----<br>
> .../wizards/bsp/<wbr>ErrorCollectorThread.java  Â  Â  Â  Â  |  19 -<br>
> .../remotetools/wizards/bsp/<wbr>KernelArchGetter.java  |  23 -<br>
> .../wizards/bsp/<wbr>KernelBranchesGetter.java  Â  Â  Â  Â  |  28 --<br>
> .../sdk/remotetools/wizards/<wbr>bsp/MainPage.java  Â  Â  | 498 --------------------<br>
> .../wizards/bsp/<wbr>OutputCollectorThread.java  Â  Â  Â  Â |  19 -<br>
> .../remotetools/wizards/bsp/<wbr>PropertiesPage.java  Â  | 499 ---------------------<br>
> .../remotetools/wizards/bsp/<wbr>QemuArchGetter.java  Â  |  27 --<br>
> .../remotetools/wizards/bsp/<wbr>YoctoBSPWizard.java  Â  |  99 ----<br>
> 15 files changed, 1669 deletions(-)<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoBspElement.<wbr>java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/<wbr>YoctoBspPropertyElement.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoJSONHelper.<wbr>java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/actions/<wbr>YoctoBspHandler.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPAction.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPProgressDialog.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPThread.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>ErrorCollectorThread.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelArchGetter.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelBranchesGetter.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>MainPage.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>OutputCollectorThread.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>PropertiesPage.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>QemuArchGetter.java<br>
> delete mode 100644 plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>YoctoBSPWizard.java<br>
><br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoBspElement.<wbr>java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoBspElement.<wbr>java<br>
> deleted file mode 100644<br>
> index e7bf054..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoBspElement.<wbr>java<br>
> +++ /dev/null<br>
> @@ -1,88 +0,0 @@<br>
> -/****************************<wbr>******************************<wbr>*********************<br>
> - * Copyright (c) 2010 Intel Corporation.<br>
> - * All rights reserved. This program and the accompanying materials<br>
> - * are made available under the terms of the Eclipse Public License v1.0<br>
> - * which accompanies this distribution, and is available at<br>
> - * <a href="http://www.eclipse.org/legal/epl-v10.html" rel="noreferrer" target="_blank">http://www.eclipse.org/legal/<wbr>epl-v10.html</a><br>
> - *<br>
> - * Contributors:<br>
> - * Intel - initial API and implementation<br>
> - ******************************<wbr>******************************<wbr>*******************/<br>
> -package org.yocto.sdk.remotetools;<br>
> -<br>
> -public class YoctoBspElement {<br>
> -  Â  Â private String metadataLoc;<br>
> -  Â  Â private String buildLoc;<br>
> -  Â  Â private String bspName;<br>
> -  Â  Â private String bspOutLoc;<br>
> -  Â  Â private String karch;<br>
> -  Â  Â private String qarch;<br>
> -  Â  Â private boolean validPropertiesFile;<br>
> -<br>
> -  Â  Â public YoctoBspElement()<br>
> -  Â  Â {<br>
> -  Â  Â  Â  Â  Â  Â this.metadataLoc = "";<br>
> -  Â  Â  Â  Â  Â  Â this.buildLoc = "";<br>
> -  Â  Â  Â  Â  Â  Â this.bspName = "";<br>
> -  Â  Â  Â  Â  Â  Â this.bspOutLoc = "";<br>
> -  Â  Â  Â  Â  Â  Â this.karch = "";<br>
> -  Â  Â  Â  Â  Â  Â this.qarch = "";<br>
> -  Â  Â  Â  Â  Â  Â this.validPropertiesFile = false;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getMetadataLoc() {<br>
> -  Â  Â  Â  Â  Â  Â return metadataLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setMetadataLoc(String value) {<br>
> -  Â  Â  Â  Â  Â  Â metadataLoc = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getBuildLoc() {<br>
> -  Â  Â  Â  Â  Â  Â return buildLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setBuildLoc(String value) {<br>
> -  Â  Â  Â  Â  Â  Â buildLoc = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getBspName() {<br>
> -  Â  Â  Â  Â  Â  Â return bspName;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setBspName(String value) {<br>
> -  Â  Â  Â  Â  Â  Â this.bspName = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getBspOutLoc() {<br>
> -  Â  Â  Â  Â  Â  Â return bspOutLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setBspOutLoc(String value) {<br>
> -  Â  Â  Â  Â  Â  Â this.bspOutLoc = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getKarch() {<br>
> -  Â  Â  Â  Â  Â  Â return karch;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setKarch(String value) {<br>
> -  Â  Â  Â  Â  Â  Â this.karch = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getQarch() {<br>
> -  Â  Â  Â  Â  Â  Â return qarch;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setQarch(String value) {<br>
> -  Â  Â  Â  Â  Â  Â this.qarch = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public boolean getValidPropertiesFile() {<br>
> -  Â  Â  Â  Â  Â  Â return validPropertiesFile;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setValidPropertiesFile(boolean value) {<br>
> -  Â  Â  Â  Â  Â  Â this.validPropertiesFile = value;<br>
> -  Â  Â }<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/<wbr>YoctoBspPropertyElement.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/<wbr>YoctoBspPropertyElement.java<br>
> deleted file mode 100644<br>
> index e88b4bd..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/<wbr>YoctoBspPropertyElement.java<br>
> +++ /dev/null<br>
> @@ -1,65 +0,0 @@<br>
> -/****************************<wbr>******************************<wbr>*********************<br>
> - * Copyright (c) 2010 Intel Corporation.<br>
> - * All rights reserved. This program and the accompanying materials<br>
> - * are made available under the terms of the Eclipse Public License v1.0<br>
> - * which accompanies this distribution, and is available at<br>
> - * <a href="http://www.eclipse.org/legal/epl-v10.html" rel="noreferrer" target="_blank">http://www.eclipse.org/legal/<wbr>epl-v10.html</a><br>
> - *<br>
> - * Contributors:<br>
> - * Intel - initial API and implementation<br>
> - ******************************<wbr>******************************<wbr>*******************/<br>
> -package org.yocto.sdk.remotetools;<br>
> -<br>
> -public class YoctoBspPropertyElement implements Comparable<<wbr>YoctoBspPropertyElement>{<br>
> -  Â  Â private String name;<br>
> -  Â  Â private String type;<br>
> -  Â  Â private String value;<br>
> -  Â  Â private String defaultValue;<br>
> -<br>
> -  Â  Â public YoctoBspPropertyElement()<br>
> -  Â  Â {<br>
> -  Â  Â  Â  Â  Â  Â <a href="http://this.name" rel="noreferrer" target="_blank">this.name</a> = "";<br>
> -  Â  Â  Â  Â  Â  Â this.type = "";<br>
> -  Â  Â  Â  Â  Â  Â this.value = "";<br>
> -  Â  Â  Â  Â  Â  Â this.defaultValue = "";<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getName() {<br>
> -  Â  Â  Â  Â  Â  Â return name;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setName(String value) {<br>
> -  Â  Â  Â  Â  Â  Â name = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getType() {<br>
> -  Â  Â  Â  Â  Â  Â return type;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setType(String value) {<br>
> -  Â  Â  Â  Â  Â  Â type = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getDefaultValue() {<br>
> -  Â  Â  Â  Â  Â  Â return defaultValue;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setDefaultValue(String value) {<br>
> -  Â  Â  Â  Â  Â  Â this.defaultValue = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getValue() {<br>
> -  Â  Â  Â  Â  Â  Â return value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setValue(String value) {<br>
> -  Â  Â  Â  Â  Â  Â this.value = value;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public int compareTo(<wbr>YoctoBspPropertyElement o) {<br>
> -  Â  Â  Â  Â  Â  Â return type.compareTo(o.type);<br>
> -  Â  Â }<br>
> -<br>
> -<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoJSONHelper.<wbr>java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoJSONHelper.<wbr>java<br>
> deleted file mode 100644<br>
> index 36723d9..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/YoctoJSONHelper.<wbr>java<br>
> +++ /dev/null<br>
> @@ -1,95 +0,0 @@<br>
> -/****************************<wbr>******************************<wbr>*********************<br>
> - * Copyright (c) 2010 Intel Corporation.<br>
> - * All rights reserved. This program and the accompanying materials<br>
> - * are made available under the terms of the Eclipse Public License v1.0<br>
> - * which accompanies this distribution, and is available at<br>
> - * <a href="http://www.eclipse.org/legal/epl-v10.html" rel="noreferrer" target="_blank">http://www.eclipse.org/legal/<wbr>epl-v10.html</a><br>
> - *<br>
> - * Contributors:<br>
> - * Intel - initial API and implementation<br>
> - ******************************<wbr>******************************<wbr>*******************/<br>
> -package org.yocto.sdk.remotetools;<br>
> -<br>
> -import java.io.IOException;<br>
> -import java.io.FileWriter;<br>
> -import java.util.Iterator;<br>
> -import java.util.Set;<br>
> -import java.util.HashSet;<br>
> -import java.io.FileReader;<br>
> -<br>
> -import org.json.simple.JSONObject;<br>
> -import org.json.simple.JSONValue;<br>
> -<br>
> -public class YoctoJSONHelper {<br>
> -  Â  Â private static final String PROPERTIES_FILE = "/tmp/properties.json";<br>
> -  Â  Â private static final String PROPERTY_VALUE_FILE = "/tmp/propertyvalues.json";<br>
> -<br>
> -  Â  Â private static HashSet<<wbr>YoctoBspPropertyElement> properties;<br>
> -<br>
> -  Â  Â public static HashSet<<wbr>YoctoBspPropertyElement> getProperties() throws Exception {<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â properties = new HashSet<<wbr>YoctoBspPropertyElement>();<br>
> -  Â  Â  Â  Â  Â  Â try {<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â JSONObject obj = (JSONObject)JSONValue.parse(<wbr>new FileReader(PROPERTIES_FILE));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @SuppressWarnings("unchecked")<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Set<String> keys = obj.keySet();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!keys.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Iterator<String> iter = keys.iterator();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â while (iter.hasNext()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String key = (String)iter.next();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (validKey(key)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â JSONObject value_obj = (JSONObject)obj.get(key);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement elem = new YoctoBspPropertyElement();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â elem.setName(key);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String type = (String)value_obj.get("type");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â elem.setType(type);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (type.contentEquals("boolean")<wbr>) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â elem.setDefaultValue((String)<wbr>value_obj.get("default"));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.add(elem);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â } catch (Exception e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â throw e;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â return properties;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @SuppressWarnings("unchecked")<br>
> -  Â  Â public static void createBspJSONFile(HashSet<<wbr>YoctoBspPropertyElement> properties) {<br>
> -  Â  Â  Â  Â  Â  Â try {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â /* should be JSONObject<String, Object> obj = new JSONObject<String, Object>();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  * but upstream json-simple would have to change.<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  * See <a href="http://stackoverflow.com/questions/16415436/json-and-generics-in-java-type-safety-warning" rel="noreferrer" target="_blank">http://stackoverflow.com/<wbr>questions/16415436/json-and-<wbr>generics-in-java-type-safety-<wbr>warning</a><br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  */<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â JSONObject obj = new JSONObject();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!properties.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Iterator<<wbr>YoctoBspPropertyElement> it = properties.iterator();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â while (it.hasNext()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â // Get property<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement propElem = (YoctoBspPropertyElement)it.<wbr>next();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â obj.put(propElem.getName(), propElem.getValue());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â FileWriter file = new FileWriter(PROPERTY_VALUE_<wbr>FILE);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â file.write(obj.toJSONString())<wbr>;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â file.flush();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â file.close();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â } catch (IOException e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â e.printStackTrace();<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private static boolean validKey(String key) {<br>
> -  Â  Â  Â  Â  Â  Â if (key.contains("kernel"))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â if (key.contentEquals("qemuarch")<wbr>)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â return true;<br>
> -  Â  Â }<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/actions/<wbr>YoctoBspHandler.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/actions/<wbr>YoctoBspHandler.java<br>
> deleted file mode 100644<br>
> index c97afb6..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/actions/<wbr>YoctoBspHandler.java<br>
> +++ /dev/null<br>
> @@ -1,38 +0,0 @@<br>
> -/****************************<wbr>******************************<wbr>*********************<br>
> - * Copyright (c) 2010 Intel Corporation.<br>
> - * All rights reserved. This program and the accompanying materials<br>
> - * are made available under the terms of the Eclipse Public License v1.0<br>
> - * which accompanies this distribution, and is available at<br>
> - * <a href="http://www.eclipse.org/legal/epl-v10.html" rel="noreferrer" target="_blank">http://www.eclipse.org/legal/<wbr>epl-v10.html</a><br>
> - *<br>
> - * Contributors:<br>
> - * Intel - initial API and implementation<br>
> - ******************************<wbr>******************************<wbr>*******************/<br>
> -package org.yocto.sdk.remotetools.<wbr>actions;<br>
> -<br>
> -import org.eclipse.core.commands.<wbr>AbstractHandler;<br>
> -import org.eclipse.core.commands.<wbr>ExecutionEvent;<br>
> -import org.eclipse.core.commands.<wbr>ExecutionException;<br>
> -import org.eclipse.jface.wizard.<wbr>WizardDialog;<br>
> -import org.eclipse.ui.<wbr>IWorkbenchWindow;<br>
> -import org.eclipse.ui.handlers.<wbr>HandlerUtil;<br>
> -<br>
> -import org.yocto.sdk.remotetools.<wbr>wizards.bsp.YoctoBSPWizard;<br>
> -<br>
> -public class YoctoBspHandler extends AbstractHandler {<br>
> -<br>
> -  Â  Â public Object execute(ExecutionEvent event) throws ExecutionException {<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â IWorkbenchWindow window = HandlerUtil.<wbr>getActiveWorkbenchWindowChecke<wbr>d(event);<br>
> -  Â  Â  Â  Â  Â  Â  // Instantiates and initializes the wizard<br>
> -  Â  Â  Â  Â YoctoBSPWizard bspWizard = new YoctoBSPWizard();<br>
> -  Â  Â  Â  Â //bspWizard.init(window.<wbr>getWorkbench(), (IStructuredSelection)<wbr>selection);<br>
> -  Â  Â  Â  Â // Instantiates the wizard container with the wizard and opens it<br>
> -  Â  Â  Â  Â WizardDialog dialog = new WizardDialog(window.getShell()<wbr>, bspWizard);<br>
> -  Â  Â  Â  Â //dialog.create();<br>
> -  Â  Â  Â  Â dialog.open();<br>
> -  Â  Â  Â  Â  Â  Â //YoctoBspDialog setting=new YoctoBspDialog(window.<wbr>getShell());<br>
> -  Â  Â  Â  Â  Â  Â //setting.open();<br>
> -  Â  Â  Â  Â  Â  Â return null;<br>
> -  Â  Â }<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPAction.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPAction.java<br>
> deleted file mode 100644<br>
> index 171f181..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPAction.java<br>
> +++ /dev/null<br>
> @@ -1,32 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -/**<br>
> - * Stores a list of items from the output of a background thread and the error message if something went wrong<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public class BSPAction {<br>
> -  Â  Â private String[] items;<br>
> -  Â  Â private String message;<br>
> -<br>
> -  Â  Â BSPAction(String[] items, String message){<br>
> -  Â  Â  Â  Â  Â  Â this.setItems(items);<br>
> -  Â  Â  Â  Â  Â  Â this.setMessage(message);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String[] getItems() {<br>
> -  Â  Â  Â  Â  Â  Â return items;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setItems(String[] items) {<br>
> -  Â  Â  Â  Â  Â  Â this.items = items;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getMessage() {<br>
> -  Â  Â  Â  Â  Â  Â return message;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setMessage(String message) {<br>
> -  Â  Â  Â  Â  Â  Â this.message = message;<br>
> -  Â  Â }<br>
> -}<br>
> \ No newline at end of file<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPProgressDialog.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPProgressDialog.java<br>
> deleted file mode 100644<br>
> index 8d5864c..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPProgressDialog.java<br>
> +++ /dev/null<br>
> @@ -1,47 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -import org.eclipse.core.runtime.<wbr>IProgressMonitor;<br>
> -import org.eclipse.jface.dialogs.<wbr>ProgressMonitorDialog;<br>
> -import org.eclipse.jface.operation.<wbr>IRunnableWithProgress;<br>
> -import org.eclipse.swt.widgets.Shell;<br>
> -<br>
> -/**<br>
> - * Creates a progress monitor dialog that will run in the background a BSPThread and display a custom message<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public class BSPProgressDialog extends ProgressMonitorDialog{<br>
> -  Â  Â String displayMessage;<br>
> -  Â  Â BSPThread getterThread;<br>
> -  Â  Â Shell shell;<br>
> -<br>
> -<br>
> -  Â  Â public BSPProgressDialog(Shell parent, BSPThread getterThread, String displayMessage) {<br>
> -  Â  Â  Â  Â  Â  Â super(parent);<br>
> -  Â  Â  Â  Â  Â  Â this.shell = parent;<br>
> -  Â  Â  Â  Â  Â  Â this.getterThread = getterThread;<br>
> -  Â  Â  Â  Â  Â  Â this.displayMessage = displayMessage;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void run(boolean showProgressDialog){<br>
> -  Â  Â  Â  Â  Â  Â try {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (showProgressDialog)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â super.run(true, true, new IRunnableWithProgress(){<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void run(IProgressMonitor monitor) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â monitor.beginTask(<wbr>displayMessage + " ...", 100);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â getterThread.run();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â monitor.done();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â });<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â getterThread.run();<br>
> -  Â  Â  Â  Â  Â  Â } catch (Exception e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â getterThread.getBspAction().<wbr>setMessage(e.getMessage());<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public BSPAction getBspAction() {<br>
> -  Â  Â  Â  Â  Â  Â return getterThread.getBspAction();<br>
> -  Â  Â }<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPThread.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPThread.java<br>
> deleted file mode 100644<br>
> index f6b19ac..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>BSPThread.java<br>
> +++ /dev/null<br>
> @@ -1,92 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -import java.io.BufferedReader;<br>
> -import java.io.InputStreamReader;<br>
> -import java.util.ArrayList;<br>
> -<br>
> -/**<br>
> - * Receives a command to be run on a separate thread in the background<br>
> - * It contains an BSPAction object that will collect the output & error<br>
> - * Output lines are processed and collected into the items of BSPAction<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public abstract class BSPThread implements Runnable {<br>
> -  Â  Â public static final String SUCCESS = "success";<br>
> -  Â  Â public static final String ERROR = "error";<br>
> -<br>
> -  Â  Â private BSPAction bspAction;<br>
> -  Â  Â private String command;<br>
> -<br>
> -  Â  Â /**<br>
> -  Â  Â  * Receives the command to be run in the background<br>
> -  Â  Â  * @param command<br>
> -  Â  Â  */<br>
> -  Â  Â public BSPThread(String command) {<br>
> -  Â  Â  Â  Â  Â  Â this.command = command;<br>
> -  Â  Â  Â  Â  Â  Â this.bspAction = new BSPAction(null, null);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public void run() {<br>
> -  Â  Â  Â  Â  Â  Â ArrayList<String> values = new ArrayList<String>();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â try {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â ProcessBuilder builder = new ProcessBuilder(new String[] {"bash", "-c", command});<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â // redirect error stream to collect both output & error<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â builder.redirectErrorStream(<wbr>true);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Process process = builder.start();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â BufferedReader br = new BufferedReader(new InputStreamReader(process.<wbr>getInputStream()));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String line = null;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String errorMessage = "";<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â while ( (line = br.readLine()) != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String[] result = processLine(line);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String status = result[0];<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String value = result[1];<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (status.equals(ERROR) && !value.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â errorMessage += value;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â continue;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!value.isEmpty())<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â values.add(value);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â int exitVal = process.waitFor();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â // if the background process did not exit with 0 code, we should set the status accordingly<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (exitVal != 0) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspAction.setMessage(<wbr>errorMessage);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspAction.setItems(null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â } catch (Exception e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspAction.setMessage(e.<wbr>getMessage());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspAction.setItems(null);<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â if (!values.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspAction.setMessage(null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspAction.setItems(values.<wbr>toArray(new String[values.size()]));<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â /**<br>
> -  Â  Â  * Each command ran in the background will have a different output and a different way of processing it<br>
> -  Â  Â  * @param line<br>
> -  Â  Â  * @return<br>
> -  Â  Â  */<br>
> -  Â  Â protected abstract String[] processLine(String line);<br>
> -<br>
> -  Â  Â public BSPAction getBspAction() {<br>
> -  Â  Â  Â  Â  Â  Â return bspAction;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setBspAction(BSPAction bspAction) {<br>
> -  Â  Â  Â  Â  Â  Â this.bspAction = bspAction;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public String getCommand() {<br>
> -  Â  Â  Â  Â  Â  Â return command;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setCommand(String command) {<br>
> -  Â  Â  Â  Â  Â  Â this.command = command;<br>
> -  Â  Â }<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>ErrorCollectorThread.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>ErrorCollectorThread.java<br>
> deleted file mode 100644<br>
> index d39ac28..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>ErrorCollectorThread.java<br>
> +++ /dev/null<br>
> @@ -1,19 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -/**<br>
> - * BSPThread that ignores the output of the process and returns an error if the process exits with non zero code<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public class ErrorCollectorThread extends BSPThread{<br>
> -<br>
> -  Â  Â public ErrorCollectorThread(String command) {<br>
> -  Â  Â  Â  Â  Â  Â super(command);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â protected String[] processLine(String line) {<br>
> -  Â  Â  Â  Â  Â  Â return null;<br>
> -  Â  Â }<br>
> -<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelArchGetter.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelArchGetter.java<br>
> deleted file mode 100644<br>
> index 833057a..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelArchGetter.java<br>
> +++ /dev/null<br>
> @@ -1,23 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -/**<br>
> - * BSPThread that processes the output of "yocto-bsp list karch"<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public class KernelArchGetter extends BSPThread{<br>
> -<br>
> -  Â  Â public KernelArchGetter(String command) {<br>
> -  Â  Â  Â  Â  Â  Â super(command);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â protected String[] processLine(String line) {<br>
> -  Â  Â  Â  Â  Â  Â if (line.contains(":"))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return new String[]{SUCCESS, ""};<br>
> -  Â  Â  Â  Â  Â  Â line = line.replaceAll("^\\s+", "");<br>
> -  Â  Â  Â  Â  Â  Â line = line.replaceAll("\\s+$", "");<br>
> -  Â  Â  Â  Â  Â  Â return new String[]{SUCCESS, line};<br>
> -  Â  Â }<br>
> -<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelBranchesGetter.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelBranchesGetter.java<br>
> deleted file mode 100644<br>
> index 4caea2c..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>KernelBranchesGetter.java<br>
> +++ /dev/null<br>
> @@ -1,28 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -/**<br>
> - * BSPThread that processes the output lines from running command "yocto-bsp list" for the selected kernel<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public class KernelBranchesGetter extends BSPThread {<br>
> -<br>
> -  Â  Â public KernelBranchesGetter(String command) {<br>
> -  Â  Â  Â  Â  Â  Â super(command);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â protected String[] processLine(String line) {<br>
> -  Â  Â  Â  Â  Â  Â // [TODO : Ioana]: find a better way to identify error lines<br>
> -  Â  Â  Â  Â  Â  Â if (!line.startsWith("["))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return new String[]{ERROR, line + "\n"};<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String[] items = line.split(",");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String value = items[0];<br>
> -  Â  Â  Â  Â  Â  Â value = value.replace("[\"", "");<br>
> -  Â  Â  Â  Â  Â  Â value = value.replaceAll("\"$", "");<br>
> -  Â  Â  Â  Â  Â  Â return new String[]{SUCCESS, value};<br>
> -  Â  Â }<br>
> -<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>MainPage.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>MainPage.java<br>
> deleted file mode 100644<br>
> index cc3630f..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>MainPage.java<br>
> +++ /dev/null<br>
> @@ -1,498 +0,0 @@<br>
> -/****************************<wbr>******************************<wbr>*********************<br>
> - * Copyright (c) 2012 Intel Corporation.<br>
> - * All rights reserved. This program and the accompanying materials<br>
> - * are made available under the terms of the Eclipse Public License v1.0<br>
> - * which accompanies this distribution, and is available at<br>
> - * <a href="http://www.eclipse.org/legal/epl-v10.html" rel="noreferrer" target="_blank">http://www.eclipse.org/legal/<wbr>epl-v10.html</a><br>
> - *<br>
> - * Contributors:<br>
> - * Intel - initial API and implementation<br>
> - ******************************<wbr>******************************<wbr>*******************/<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -import java.io.BufferedReader;<br>
> -import java.io.File;<br>
> -import java.io.InputStream;<br>
> -import java.io.InputStreamReader;<br>
> -<br>
> -import org.eclipse.core.runtime.<wbr>IStatus;<br>
> -import org.eclipse.core.runtime.<wbr>Status;<br>
> -import org.eclipse.jface.wizard.<wbr>WizardPage;<br>
> -import org.eclipse.swt.SWT;<br>
> -import org.eclipse.swt.events.<wbr>FocusEvent;<br>
> -import org.eclipse.swt.events.<wbr>FocusListener;<br>
> -import org.eclipse.swt.events.<wbr>ModifyEvent;<br>
> -import org.eclipse.swt.events.<wbr>ModifyListener;<br>
> -import org.eclipse.swt.events.<wbr>SelectionAdapter;<br>
> -import org.eclipse.swt.events.<wbr>SelectionEvent;<br>
> -import org.eclipse.swt.layout.<wbr>GridData;<br>
> -import org.eclipse.swt.layout.<wbr>GridLayout;<br>
> -import org.eclipse.swt.widgets.<wbr>Button;<br>
> -import org.eclipse.swt.widgets.Combo;<br>
> -import org.eclipse.swt.widgets.<wbr>Composite;<br>
> -import org.eclipse.swt.widgets.<wbr>Control;<br>
> -import org.eclipse.swt.widgets.<wbr>DirectoryDialog;<br>
> -import org.eclipse.swt.widgets.Label;<br>
> -import org.eclipse.swt.widgets.Text;<br>
> -import org.eclipse.swt.widgets.<wbr>Widget;<br>
> -import org.yocto.sdk.remotetools.<wbr>YoctoBspElement;<br>
> -<br>
> -/**<br>
> - *<br>
> - * Setting up the parameters for creating the new Yocto BSP<br>
> - *<br>
> - * @author jzhang<br>
> - */<br>
> -public class MainPage extends WizardPage {<br>
> -  Â  Â public static  final String  PAGE_NAME = "Main";<br>
> -  Â  Â private static final String KARCH_CMD = "yocto-bsp list karch";<br>
> -  Â  Â private static final String QARCH_CMD = "yocto-bsp list qemu property qemuarch";<br>
> -  Â  Â private static final String BSP_SCRIPT = "yocto-bsp";<br>
> -  Â  Â private static final String PROPERTIES_CMD_PREFIX = "yocto-bsp list ";<br>
> -  Â  Â private static final String PROPERTIES_CMD_SURFIX = " properties -o ";<br>
> -  Â  Â private static final String PROPERTIES_FILE = "/tmp/properties.json";<br>
> -<br>
> -  Â  Â private Button btnMetadataLoc;<br>
> -  Â  Â private Text textMetadataLoc;<br>
> -  Â  Â private Label labelMetadata;<br>
> -<br>
> -  Â  Â private Button btnBspOutputLoc;<br>
> -  Â  Â private Text textBspOutputLoc;<br>
> -  Â  Â private Label labelBspOutput;<br>
> -<br>
> -  Â  Â private Button btnBuildLoc;<br>
> -  Â  Â private Text textBuildLoc;<br>
> -  Â  Â private Label labelBuildLoc;<br>
> -<br>
> -  Â  Â private boolean buildDirChecked;<br>
> -  Â  Â private BuildLocationListener buildLocationListener;<br>
> -<br>
> -  Â  Â private Text textBspName;<br>
> -  Â  Â private Label labelBspName;<br>
> -<br>
> -  Â  Â private Combo comboKArch;<br>
> -  Â  Â private Label labelKArch;<br>
> -<br>
> -  Â  Â private Combo comboQArch;<br>
> -  Â  Â private Label labelQArch;<br>
> -<br>
> -  Â  Â private YoctoBspElement bspElem;<br>
> -<br>
> -  Â  Â public MainPage(YoctoBspElement element) {<br>
> -  Â  Â  Â  Â  Â  Â super(PAGE_NAME, "yocto-bsp Main page", null);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â setMessage("Enter the required fields(with *) to create new Yocto Project BSP!");<br>
> -  Â  Â  Â  Â  Â  Â this.bspElem = element;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public void createControl(Composite parent) {<br>
> -  Â  Â  Â  Â  Â  Â setErrorMessage(null);<br>
> -  Â  Â  Â  Â  Â  Â Composite composite = new Composite(parent, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â GridLayout layout = new GridLayout(2, false);<br>
> -  Â  Â  Â  Â  Â  Â GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);<br>
> -  Â  Â  Â  Â  Â  Â composite.setLayout(layout);<br>
> -  Â  Â  Â  Â  Â  Â gd.horizontalSpan = 2;<br>
> -  Â  Â  Â  Â  Â  Â composite.setLayoutData(gd);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â labelMetadata = new Label(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â labelMetadata.setText("<wbr>Metadata location*: ");<br>
> -  Â  Â  Â  Â  Â  Â Composite textContainer = new Composite(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false));<br>
> -  Â  Â  Â  Â  Â  Â textMetadataLoc = (Text)addTextControl(<wbr>textContainer, "");<br>
> -  Â  Â  Â  Â  Â  Â textMetadataLoc.setEnabled(<wbr>true);<br>
> -  Â  Â  Â  Â  Â  Â textMetadataLoc.<wbr>addModifyListener(new ModifyListener() {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void modifyText(ModifyEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -  Â  Â  Â  Â  Â  Â setBtnMetadataLoc(<wbr>addFileSelectButton(<wbr>textContainer, textMetadataLoc));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â labelBuildLoc = new Label(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â labelBuildLoc.setText("Build location: ");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textContainer = new Composite(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textBuildLoc = (Text)addTextControl(<wbr>textContainer, "");<br>
> -  Â  Â  Â  Â  Â  Â buildLocationListener = new BuildLocationListener("");<br>
> -  Â  Â  Â  Â  Â  Â textBuildLoc.addFocusListener(<wbr>buildLocationListener);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â setBtnBuilddirLoc(<wbr>addFileSelectButton(<wbr>textContainer, textBuildLoc));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â labelBspName = new Label(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â labelBspName.setText("BSP Name*: ");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textContainer = new Composite(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textBspName = (Text)addTextControl(<wbr>textContainer, "");<br>
> -  Â  Â  Â  Â  Â  Â textBspName.addModifyListener(<wbr>new ModifyListener() {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void modifyText(ModifyEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â labelBspOutput = new Label(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â labelBspOutput.setText("BSP output location: ");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textContainer = new Composite(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textBspOutputLoc = (Text)addTextControl(<wbr>textContainer, "");<br>
> -  Â  Â  Â  Â  Â  Â textBspOutputLoc.<wbr>addModifyListener(new ModifyListener() {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void modifyText(ModifyEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -  Â  Â  Â  Â  Â  Â setBtnBspOutLoc(<wbr>addFileSelectButton(<wbr>textContainer, textBspOutputLoc));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â labelKArch = new Label(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â labelKArch.setText("Kernel Architecture*: ");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textContainer = new Composite(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â comboKArch = new Combo(textContainer, SWT.READ_ONLY);<br>
> -  Â  Â  Â  Â  Â  Â comboKArch.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â comboKArch.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));<br>
> -  Â  Â  Â  Â  Â  Â comboKArch.setEnabled(false);<br>
> -  Â  Â  Â  Â  Â  Â comboKArch.addModifyListener(<wbr>new ModifyListener() {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void modifyText(ModifyEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â labelQArch = new Label(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â labelQArch.setText("Qemu Architecture(* for karch as qemu): ");<br>
> -  Â  Â  Â  Â  Â  Â labelQArch.setEnabled(false);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textContainer = new Composite(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â comboQArch = new Combo(textContainer, SWT.READ_ONLY);<br>
> -  Â  Â  Â  Â  Â  Â comboQArch.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â comboQArch.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));<br>
> -  Â  Â  Â  Â  Â  Â comboQArch.setEnabled(false);<br>
> -  Â  Â  Â  Â  Â  Â comboQArch.addModifyListener(<wbr>new ModifyListener() {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void modifyText(ModifyEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â setControl(composite);<br>
> -  Â  Â  Â  Â  Â  Â validatePage();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private Control addTextControl(final Composite parent, String value) {<br>
> -  Â  Â  Â  Â  Â  Â final Text text;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â text = new Text(parent, SWT.SINGLE | SWT.LEAD | SWT.BORDER);<br>
> -  Â  Â  Â  Â  Â  Â text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));<br>
> -  Â  Â  Â  Â  Â  Â text.setText(value);<br>
> -  Â  Â  Â  Â  Â  Â text.setSize(10, 150);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â return text;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private Button addFileSelectButton(final Composite parent, final Text text) {<br>
> -  Â  Â  Â  Â  Â  Â Button button = new Button(parent, SWT.PUSH | SWT.LEAD);<br>
> -  Â  Â  Â  Â  Â  Â button.setText("Browse...");<br>
> -  Â  Â  Â  Â  Â  Â button.addSelectionListener(<wbr>new SelectionAdapter() {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void widgetSelected(SelectionEvent event) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String dirName = new DirectoryDialog(parent.<wbr>getShell()).open();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (dirName != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â text.setText(dirName);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -  Â  Â  Â  Â  Â  Â return button;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private void controlChanged(Widget widget) {<br>
> -  Â  Â  Â  Â  Â  Â Status status = new Status(IStatus.OK, "not_used", 0, "", null);<br>
> -  Â  Â  Â  Â  Â  Â setErrorMessage(null);<br>
> -  Â  Â  Â  Â  Â  Â String metadataLoc = textMetadataLoc.getText();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (widget == textMetadataLoc) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â resetKarchCombo();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (metadataLoc.length() == 0) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status = new Status(IStatus.ERROR, "not_used", 0, "Meta data location can't be empty!", null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â File meta_data = new File(metadataLoc);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!meta_data.exists() || !meta_data.isDirectory()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status = new Status(IStatus.ERROR, "not_used", 0,<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "Invalid meta data location: Make sure it exists and is a directory!", null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â File bspScript = new File(metadataLoc + "/scripts/" + BSP_SCRIPT);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!bspScript.exists() || !bspScript.canExecute())<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status = new Status(IStatus.ERROR, "not_used", 0,<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "Make sure yocto-bsp exists under \"" + metadataLoc + "/scripts\" and is executable!", null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kernelArchesHandler();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â } else if (widget == comboKArch) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String selection = comboKArch.getText();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!bspElem.getKarch().<wbr>contentEquals(selection))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspElem = new YoctoBspElement();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (selection.matches("qemu")) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â labelQArch.setEnabled(true);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â comboQArch.setEnabled(true);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â labelQArch.setEnabled(false);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â comboQArch.setEnabled(false);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String buildDir = textBuildLoc.getText();<br>
> -  Â  Â  Â  Â  Â  Â String outputDir = textBspOutputLoc.getText();<br>
> -  Â  Â  Â  Â  Â  Â String bspName = textBspName.getText();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (bspName.contains(" ")) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status = new Status(IStatus.ERROR, "not_used", 0,<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "BSP name contains space which is not allowed!", null);<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (!outputDir.isEmpty()){<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (outputDir.matches(buildDir)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status = new Status(IStatus.ERROR, "not_used", 0,<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "You've set BSP output directory the same as build directory, please leave output directory empty for this scenario!", null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â File outputDirectory = new File(outputDir);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (outputDirectory.exists()){<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status = new Status(IStatus.ERROR, "not_used", 0,<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "Your BSP output directory points to an existing directory!", null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â } else if (buildDir.startsWith(<wbr>metadataLoc) && !bspName.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String bspDirStr = metadataLoc + "/meta-" + bspName;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â File bspDir = new File(bspDirStr);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (bspDir.exists()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status = new Status(IStatus.ERROR, "not_used", 0,<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "Your BSP with name: " + bspName + " already exist under directory: " + bspDirStr + ", please change your bsp name!", null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (status.getSeverity() == IStatus.ERROR)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage(status.<wbr>getMessage());<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â getWizard().getContainer().<wbr>updateButtons();<br>
> -  Â  Â  Â  Â  Â  Â canFlipToNextPage();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private Status checkBuildDir() {<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String metadataLoc = textMetadataLoc.getText();<br>
> -  Â  Â  Â  Â  Â  Â String buildLoc = textBuildLoc.getText();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (buildLoc.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â buildLoc = metadataLoc + "/build";<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return createBuildDir(buildLoc);<br>
> -  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â File buildLocDir = new File(buildLoc);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!buildLocDir.exists()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return createBuildDir(buildLoc);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else if (buildLocDir.isDirectory()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return createBuildDir(buildLoc);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return new Status(IStatus.ERROR, "not_used", 0, "Invalid build location: Make sure the build location is a directory!", null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private Status createBuildDir(String buildLoc) {<br>
> -  Â  Â  Â  Â  Â  Â String metadataDir = textMetadataLoc.getText();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â // if we do  not change the directory to metadata location the script will be looked into the directory indicated by user.dir system property<br>
> -  Â  Â  Â  Â  Â  Â // system.property usually points to the location from where eclipse was started<br>
> -  Â  Â  Â  Â  Â  Â String createBuildDirCmd = "cd " + metadataDir + ";source " + metadataDir + "/oe-init-build-env " + buildLoc;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â try {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â ProcessBuilder builder = new ProcessBuilder(new String[] {"bash", "-c", createBuildDirCmd});<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Process proc = builder.start();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â InputStream errorStream = proc.getErrorStream();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â InputStreamReader isr = new InputStreamReader(errorStream)<wbr>;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â BufferedReader br = new BufferedReader(isr);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String line = null;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String status = "";<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â while ( (line = br.readLine()) != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â status += line;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (proc.waitFor() != 0)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return new Status(IStatus.ERROR, "not_used", 0, status, null);;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return new Status(IStatus.OK, "not_used", 0, "", null);<br>
> -  Â  Â  Â  Â  Â  Â } catch (Exception e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return  new Status(IStatus.ERROR, "not_used", 0, e.getMessage(), null);<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public YoctoBspElement getBSPElement() {<br>
> -  Â  Â  Â  Â  Â  Â return this.bspElem;<br>
> -  Â  Â }<br>
> -<br>
> -<br>
> -  Â  Â private void resetKarchCombo() {<br>
> -  Â  Â  Â  Â  Â  Â comboKArch.deselectAll();<br>
> -  Â  Â  Â  Â  Â  Â comboQArch.deselectAll();<br>
> -  Â  Â  Â  Â  Â  Â comboKArch.setEnabled(false);<br>
> -  Â  Â  Â  Â  Â  Â labelQArch.setEnabled(false);<br>
> -  Â  Â  Â  Â  Â  Â comboQArch.setEnabled(false);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private void kernelArchesHandler() {<br>
> -  Â  Â  Â  Â  Â  Â BSPAction kArchesAction = getKArches();<br>
> -  Â  Â  Â  Â  Â  Â if (kArchesAction.getMessage() == null && kArchesAction.getItems().<wbr>length != 0) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â comboKArch.setItems(<wbr>kArchesAction.getItems());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â comboKArch.setEnabled(true);<br>
> -  Â  Â  Â  Â  Â  Â } else if (kArchesAction.getMessage() != null){<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage(kArchesAction.<wbr>getMessage());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â BSPAction qArchesAction = getQArches();<br>
> -  Â  Â  Â  Â  Â  Â if (qArchesAction.getMessage() == null && qArchesAction.getItems().<wbr>length != 0) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â comboQArch.setItems(<wbr>qArchesAction.getItems());<br>
> -  Â  Â  Â  Â  Â  Â } else if (qArchesAction.getMessage() != null)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage(qArchesAction.<wbr>getMessage());<br>
> -<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public boolean canFlipToNextPage(){<br>
> -  Â  Â  Â  Â  Â  Â String err = getErrorMessage();<br>
> -  Â  Â  Â  Â  Â  Â if (err != null)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â else if (!validatePage())<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â return true;<br>
> -  Â  Â }<br>
> -<br>
> -<br>
> -  Â  Â public boolean validatePage() {<br>
> -  Â  Â  Â  Â  Â  Â String metadataLoc = textMetadataLoc.getText();<br>
> -  Â  Â  Â  Â  Â  Â String bspname = textBspName.getText();<br>
> -  Â  Â  Â  Â  Â  Â String karch = comboKArch.getText();<br>
> -  Â  Â  Â  Â  Â  Â String qarch = comboQArch.getText();<br>
> -  Â  Â  Â  Â  Â  Â if (metadataLoc.isEmpty() ||<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspname.isEmpty() ||<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â karch.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â } else if (karch.matches("qemu") && qarch.isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â bspElem.setBspName(bspname);<br>
> -  Â  Â  Â  Â  Â  Â if (!textBspOutputLoc.getText().<wbr>isEmpty())<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspElem.setBspOutLoc(<wbr>textBspOutputLoc.getText());<br>
> -  Â  Â  Â  Â  Â  Â else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspElem.setBspOutLoc("");<br>
> -  Â  Â  Â  Â  Â  Â if (!textBuildLoc.getText().<wbr>isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â checkBuildDir();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspElem.setBuildLoc(<wbr>textBuildLoc.getText());<br>
> -  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspElem.setBuildLoc(<wbr>metadataLoc + "/build");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!buildDirChecked) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â checkBuildDir();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â buildDirChecked = true;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â bspElem.setMetadataLoc(<wbr>metadataLoc);<br>
> -  Â  Â  Â  Â  Â  Â bspElem.setKarch(karch);<br>
> -  Â  Â  Â  Â  Â  Â bspElem.setQarch(qarch);<br>
> -<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (!bspElem.<wbr>getValidPropertiesFile()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â boolean validPropertiesFile = true;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â BSPAction action = createPropertiesFile();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (action.getMessage() != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â validPropertiesFile = false;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage(action.<wbr>getMessage());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â bspElem.<wbr>setValidPropertiesFile(<wbr>validPropertiesFile);<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â return true;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private BSPAction createPropertiesFile() {<br>
> -  Â  Â  Â  Â  Â  Â String createPropertiesCmd = bspElem.getMetadataLoc() + "/scripts/" +<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â PROPERTIES_CMD_PREFIX + bspElem.getKarch() +<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â PROPERTIES_CMD_SURFIX + PROPERTIES_FILE;<br>
> -  Â  Â  Â  Â  Â  Â BSPProgressDialog progressDialog = new BSPProgressDialog(getShell(),  new ErrorCollectorThread(<wbr>createPropertiesCmd), "Creating properties file ");<br>
> -  Â  Â  Â  Â  Â  Â progressDialog.run(false);<br>
> -  Â  Â  Â  Â  Â  Â return progressDialog.getBspAction();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private BSPAction getKArches() {<br>
> -  Â  Â  Â  Â  Â  Â String getKArchCmd = textMetadataLoc.getText() + "/scripts/" + KARCH_CMD;<br>
> -  Â  Â  Â  Â  Â  Â BSPProgressDialog progressDialog = new BSPProgressDialog(getShell(), new KernelArchGetter(getKArchCmd), "Loading kernel architectures ");<br>
> -  Â  Â  Â  Â  Â  Â progressDialog.run(false);<br>
> -  Â  Â  Â  Â  Â  Â return progressDialog.getBspAction();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private BSPAction getQArches() {<br>
> -  Â  Â  Â  Â  Â  Â String getQArchCmd = textMetadataLoc.getText() + "/scripts/" + QARCH_CMD;<br>
> -  Â  Â  Â  Â  Â  Â BSPProgressDialog progressDialog = new BSPProgressDialog(getShell(), new QemuArchGetter(getQArchCmd), "Loading Qemu architectures ");<br>
> -  Â  Â  Â  Â  Â  Â progressDialog.run(false);<br>
> -  Â  Â  Â  Â  Â  Â return progressDialog.getBspAction();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public Button getBtnMetadataLoc() {<br>
> -  Â  Â  Â  Â  Â  Â return btnMetadataLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setBtnMetadataLoc(Button btnMetadataLoc) {<br>
> -  Â  Â  Â  Â  Â  Â this.btnMetadataLoc = btnMetadataLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public Button getBtnBspOutLoc() {<br>
> -  Â  Â  Â  Â  Â  Â return btnBspOutputLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setBtnBspOutLoc(Button btnBspOutLoc) {<br>
> -  Â  Â  Â  Â  Â  Â this.btnBspOutputLoc = btnBspOutLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public Button getBtnBuilddirLoc() {<br>
> -  Â  Â  Â  Â  Â  Â return btnBuildLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void setBtnBuilddirLoc(Button btnBuilddirLoc) {<br>
> -  Â  Â  Â  Â  Â  Â this.btnBuildLoc = btnBuilddirLoc;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â class BuildLocationListener implements FocusListener{<br>
> -  Â  Â  Â  Â  Â  Â String value;<br>
> -  Â  Â  Â  Â  Â  Â boolean changed;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â BuildLocationListener(String value){<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â this.value = value;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â public void focusGained(FocusEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â value = ((Text)e.getSource()).getText(<wbr>);<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â public void focusLost(FocusEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if(!((Text)e.getSource()).<wbr>getText().equals(value)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â checkBuildDir();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â buildDirChecked = true;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â }<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>OutputCollectorThread.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>OutputCollectorThread.java<br>
> deleted file mode 100644<br>
> index df5fba5..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>OutputCollectorThread.java<br>
> +++ /dev/null<br>
> @@ -1,19 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -/**<br>
> - * BSPThread that returns all the output lines of the process execution<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public class OutputCollectorThread extends BSPThread{<br>
> -<br>
> -  Â  Â public OutputCollectorThread(String command) {<br>
> -  Â  Â  Â  Â  Â  Â super(command);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â protected String[] processLine(String line) {<br>
> -  Â  Â  Â  Â  Â  Â return new String[]{SUCCESS, line};<br>
> -  Â  Â }<br>
> -<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>PropertiesPage.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>PropertiesPage.java<br>
> deleted file mode 100644<br>
> index 58ee11f..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>PropertiesPage.java<br>
> +++ /dev/null<br>
> @@ -1,499 +0,0 @@<br>
> -/****************************<wbr>******************************<wbr>*********************<br>
> - * Copyright (c) 2012 Intel Corporation.<br>
> - * All rights reserved. This program and the accompanying materials<br>
> - * are made available under the terms of the Eclipse Public License v1.0<br>
> - * which accompanies this distribution, and is available at<br>
> - * <a href="http://www.eclipse.org/legal/epl-v10.html" rel="noreferrer" target="_blank">http://www.eclipse.org/legal/<wbr>epl-v10.html</a><br>
> - *<br>
> - * Contributors:<br>
> - * Intel - initial API and implementation<br>
> - ******************************<wbr>******************************<wbr>*******************/<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -import java.util.ArrayList;<br>
> -import java.util.Collections;<br>
> -import java.util.Enumeration;<br>
> -import java.util.HashSet;<br>
> -import java.util.Hashtable;<br>
> -import java.util.Iterator;<br>
> -<br>
> -import org.eclipse.jface.dialogs.<wbr>MessageDialog;<br>
> -import org.eclipse.jface.wizard.<wbr>WizardPage;<br>
> -import org.eclipse.swt.SWT;<br>
> -import org.eclipse.swt.custom.<wbr>ScrolledComposite;<br>
> -import org.eclipse.swt.events.<wbr>SelectionEvent;<br>
> -import org.eclipse.swt.events.<wbr>SelectionListener;<br>
> -import org.eclipse.swt.layout.<wbr>GridData;<br>
> -import org.eclipse.swt.layout.<wbr>GridLayout;<br>
> -import org.eclipse.swt.widgets.<wbr>Button;<br>
> -import org.eclipse.swt.widgets.Combo;<br>
> -import org.eclipse.swt.widgets.<wbr>Composite;<br>
> -import org.eclipse.swt.widgets.<wbr>Control;<br>
> -import org.eclipse.swt.widgets.Group;<br>
> -import org.eclipse.swt.widgets.Label;<br>
> -import org.eclipse.swt.widgets.Text;<br>
> -import org.eclipse.swt.widgets.<wbr>Widget;<br>
> -import org.yocto.sdk.remotetools.<wbr>YoctoBspElement;<br>
> -import org.yocto.sdk.remotetools.<wbr>YoctoBspPropertyElement;<br>
> -import org.yocto.sdk.remotetools.<wbr>YoctoJSONHelper;<br>
> -/**<br>
> - *<br>
> - * Setting up the parameters for creating the new Yocto BSP<br>
> - *<br>
> - * @author jzhang<br>
> - */<br>
> -public class PropertiesPage extends WizardPage {<br>
> -  Â  Â private static final String PAGE_NAME = "Properties";<br>
> -  Â  Â private static final String VALUES_CMD_PREFIX = "yocto-bsp list ";<br>
> -  Â  Â private static final String VALUES_CMD_SURFIX = " property  ";<br>
> -  Â  Â private static final String KERNEL_CHOICE = "kernel_choice";<br>
> -  Â  Â private static final String DEFAULT_KERNEL = "use_default_kernel";<br>
> -  Â  Â private static final String SMP_NAME = "smp";<br>
> -  Â  Â private static final String EXISTING_KBRANCH_NAME = "existing_kbranch";<br>
> -  Â  Â private static final String NEED_NEW_KBRANCH_NAME = "need_new_kbranch";<br>
> -  Â  Â private static final String NEW_KBRANCH_NAME = "new_kbranch";<br>
> -  Â  Â private static final String QARCH_NAME = "qemuarch";<br>
> -<br>
> -  Â  Â private static final String KERNEL_CHOICES = "choices";<br>
> -  Â  Â private static final String KERNEL_BRANCHES = "branches";<br>
> -<br>
> -  Â  Â private Hashtable<<wbr>YoctoBspPropertyElement, Control> propertyControlMap;<br>
> -  Â  Â HashSet<<wbr>YoctoBspPropertyElement> properties;<br>
> -<br>
> -  Â  Â private ScrolledComposite composite;<br>
> -  Â  Â private Composite controlContainer = null;<br>
> -<br>
> -  Â  Â private YoctoBspElement bspElem = null;<br>
> -  Â  Â private boolean kArchChanged = false;<br>
> -<br>
> -  Â  Â private Combo kernelCombo;<br>
> -  Â  Â private Combo branchesCombo;<br>
> -<br>
> -  Â  Â private Button newBranchButton;<br>
> -  Â  Â private Button existingBranchButton;<br>
> -<br>
> -  Â  Â private Button smpButton;<br>
> -<br>
> -  Â  Â private Group kGroup = null;<br>
> -  Â  Â private Group kbGroup = null;<br>
> -//  Â private Group otherSettingsGroup = null;<br>
> -  Â  Â private Group propertyGroup = null;<br>
> -<br>
> -  Â  Â public PropertiesPage(YoctoBspElement element) {<br>
> -  Â  Â  Â  Â  Â  Â super(PAGE_NAME, "yocto-bsp Properties page", null);<br>
> -  Â  Â  Â  Â  Â  Â this.bspElem = element;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public void onEnterPage(YoctoBspElement element) {<br>
> -  Â  Â  Â  Â  Â  Â if (!element.<wbr>getValidPropertiesFile()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage("There's no valid properties file created, please choose \"Back\" to reselect kernel architecture!");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (this.bspElem == null || this.bspElem.getKarch().<wbr>isEmpty() || !this.bspElem.getKarch().<wbr>contentEquals(element.<wbr>getKarch())) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kArchChanged = true;<br>
> -  Â  Â  Â  Â  Â  Â } else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kArchChanged = false;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â this.bspElem = element;<br>
> -  Â  Â  Â  Â  Â  Â try {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (kArchChanged) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â updateKernelValues(KERNEL_<wbr>CHOICES, KERNEL_CHOICE);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (propertyGroup != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â for (Control cntrl : propertyGroup.getChildren()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â cntrl.dispose();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties = YoctoJSONHelper.getProperties(<wbr>);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!properties.isEmpty()) {<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!element.getQarch().isEmpty()<wbr>) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement qarch_elem = new YoctoBspPropertyElement();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â qarch_elem.setName(QARCH_NAME)<wbr>;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â qarch_elem.setValue(element.<wbr>getQarch());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.add(qarch_elem);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â propertyControlMap = new Hashtable<<wbr>YoctoBspPropertyElement, Control>();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â ArrayList<<wbr>YoctoBspPropertyElement> propertiesList = new ArrayList<<wbr>YoctoBspPropertyElement>(<wbr>properties);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Collections.sort(<wbr>propertiesList, Collections.reverseOrder());<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Iterator<<wbr>YoctoBspPropertyElement> it = propertiesList.iterator();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Composite comp = new Composite(propertyGroup, SWT.FILL);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â GridLayout layout = new GridLayout(2, false);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â GridData data = new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â comp.setLayoutData(data);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â comp.setLayout(layout);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â while (it.hasNext()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â // Get property<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement propElem = it.next();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String type = propElem.getType();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String name = propElem.getName();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (type.contentEquals("edit")) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â new Label (propertyGroup, SWT.FILL).setText(name + ":");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Composite textContainer = new Composite(propertyGroup, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(1, false));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Text text = new Text(textContainer, SWT.BORDER | SWT.SINGLE);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â propertyControlMap.put(<wbr>propElem, text);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else if (type.contentEquals("boolean")<wbr>) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String default_value = propElem.getDefaultValue();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Composite labelContainer = new Composite(propertyGroup, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â labelContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â labelContainer.setLayoutData(<wbr>new GridData(GridData.FILL_<wbr>HORIZONTAL, GridData.FILL_VERTICAL, true, false, 2, 1));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Button button = new Button(propertyGroup, SWT.CHECK);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â button.setText(name);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (default_value.<wbr>equalsIgnoreCase("y")) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â button.setSelection(true);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â button.setSelection(false);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â propertyControlMap.put(<wbr>propElem, button);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else if (type.contentEquals("<wbr>choicelist")) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â new Label (propertyGroup, SWT.NONE).setText(name + ":");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Composite textContainer = new Composite(propertyGroup, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(1, false));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Combo combo = new Combo(textContainer, SWT.READ_ONLY);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â combo.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â combo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â combo.setItems(<wbr>getBSPComboProperties(name));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â propertyControlMap.put(<wbr>propElem, combo);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â composite.setMinSize(<wbr>controlContainer.computeSize(<wbr>SWT.DEFAULT, SWT.DEFAULT, true));<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â composite.computeSize(SWT.<wbr>DEFAULT, SWT.DEFAULT);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlContainer.pack();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â this.composite.layout(true, true);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â } catch (Exception e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â e.printStackTrace();<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -<br>
> -  Â  Â }<br>
> -<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public void createControl(Composite parent) {<br>
> -  Â  Â  Â  Â  Â  Â this.composite = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);<br>
> -  Â  Â  Â  Â  Â  Â GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);<br>
> -  Â  Â  Â  Â  Â  Â GridLayout layout = new GridLayout(2, true);<br>
> -  Â  Â  Â  Â  Â  Â this.composite.setLayout(<wbr>layout);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â gd= new GridData(SWT.FILL, SWT.FILL, true, false);<br>
> -  Â  Â  Â  Â  Â  Â gd.horizontalSpan = 2;<br>
> -  Â  Â  Â  Â  Â  Â this.composite.setLayoutData(<wbr>gd);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â setControl(this.composite);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â controlContainer = new Composite(composite, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â controlContainer.setLayout(new GridLayout(1, true));<br>
> -  Â  Â  Â  Â  Â  Â controlContainer.<wbr>setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â kGroup = new Group(controlContainer, SWT.FILL);<br>
> -  Â  Â  Â  Â  Â  Â kGroup.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â GridData data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);<br>
> -  Â  Â  Â  Â  Â  Â kGroup.setLayoutData(data);<br>
> -  Â  Â  Â  Â  Â  Â kGroup.setText("Kernel Settings:");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â new Label (kGroup, SWT.NONE).setText("Kernel:");<br>
> -  Â  Â  Â  Â  Â  Â Composite textContainer = new Composite(kGroup, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(1, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â kernelCombo = new Combo(textContainer, SWT.READ_ONLY);<br>
> -  Â  Â  Â  Â  Â  Â kernelCombo.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â kernelCombo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â kernelCombo.<wbr>addSelectionListener(new SelectionListener() {<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void widgetSelected(SelectionEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void widgetDefaultSelected(<wbr>SelectionEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â kbGroup = new Group(kGroup, SWT.FILL);<br>
> -  Â  Â  Â  Â  Â  Â kbGroup.setLayout(new GridLayout(2, true));<br>
> -  Â  Â  Â  Â  Â  Â data = new GridData(SWT.FILL, SWT.FILL, true, false);<br>
> -  Â  Â  Â  Â  Â  Â data.horizontalSpan = 2;<br>
> -  Â  Â  Â  Â  Â  Â kbGroup.setLayoutData(data);<br>
> -  Â  Â  Â  Â  Â  Â kbGroup.setText("Branch Settings:");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â textContainer = new Composite(kbGroup, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â textContainer.setLayoutData(<wbr>new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â new Label(textContainer, SWT.NONE).setText("Kernel branch:");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â branchesCombo = new Combo(textContainer, SWT.READ_ONLY);<br>
> -  Â  Â  Â  Â  Â  Â branchesCombo.setLayout(new GridLayout(1, false));<br>
> -  Â  Â  Â  Â  Â  Â branchesCombo.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));<br>
> -  Â  Â  Â  Â  Â  Â branchesCombo.<wbr>addSelectionListener(new SelectionListener() {<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void widgetSelected(SelectionEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void widgetDefaultSelected(<wbr>SelectionEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â });<br>
> -  Â  Â  Â  Â  Â  Â branchesCombo.setSize(200, 200);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â newBranchButton = new Button(kbGroup, SWT.RADIO);<br>
> -  Â  Â  Â  Â  Â  Â newBranchButton.setText("<wbr>Create a new branch from an existing one");<br>
> -  Â  Â  Â  Â  Â  Â newBranchButton.setSelection(<wbr>true);<br>
> -  Â  Â  Â  Â  Â  Â newBranchButton.setLayoutData(<wbr>new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));<br>
> -  Â  Â  Â  Â  Â  Â SelectionListener listener = new SelectionListener() {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void widgetDefaultSelected(<wbr>SelectionEvent e) {}<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â @Override<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â public void widgetSelected(SelectionEvent e) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â controlChanged(e.widget);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â };<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â newBranchButton.<wbr>addSelectionListener(listener)<wbr>;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â existingBranchButton = new Button(kbGroup, SWT.RADIO);<br>
> -  Â  Â  Â  Â  Â  Â existingBranchButton.setText("<wbr>Use existing branch");<br>
> -  Â  Â  Â  Â  Â  Â existingBranchButton.<wbr>setSelection(false);<br>
> -  Â  Â  Â  Â  Â  Â existingBranchButton.<wbr>setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));<br>
> -  Â  Â  Â  Â  Â  Â existingBranchButton.<wbr>addSelectionListener(listener)<wbr>;<br>
> -<br>
> -//  Â  Â  Â  Â  Â otherSettingsGroup = new Group(controlContainer, SWT.FILL);<br>
> -//  Â  Â  Â  Â  Â otherSettingsGroup.setLayout(<wbr>new GridLayout(2, true));<br>
> -//  Â  Â  Â  Â  Â data = new GridData(SWT.FILL, SWT.FILL, true, false);<br>
> -//  Â  Â  Â  Â  Â data.horizontalSpan = 2;<br>
> -//  Â  Â  Â  Â  Â otherSettingsGroup.<wbr>setLayoutData(data);<br>
> -//  Â  Â  Â  Â  Â otherSettingsGroup.setText("<wbr>Other Settings:");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â smpButton = new Button(kGroup, SWT.CHECK);<br>
> -  Â  Â  Â  Â  Â  Â smpButton.setText("Enable SMP support");<br>
> -  Â  Â  Â  Â  Â  Â smpButton.setSelection(true);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â propertyGroup = new Group(controlContainer, SWT.NONE);<br>
> -  Â  Â  Â  Â  Â  Â propertyGroup.setLayout(new GridLayout(2, false));<br>
> -  Â  Â  Â  Â  Â  Â data = new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1);<br>
> -  Â  Â  Â  Â  Â  Â propertyGroup.setLayoutData(<wbr>data);<br>
> -  Â  Â  Â  Â  Â  Â propertyGroup.setText("BSP specific settings:");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â this.composite.layout(true, true);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â composite.setContent(<wbr>controlContainer);<br>
> -  Â  Â  Â  Â  Â  Â composite.setExpandHorizontal(<wbr>true);<br>
> -  Â  Â  Â  Â  Â  Â composite.setExpandVertical(<wbr>true);<br>
> -  Â  Â  Â  Â  Â  Â composite.setMinSize(<wbr>controlContainer.computeSize(<wbr>SWT.DEFAULT, SWT.DEFAULT, true));<br>
> -  Â  Â  Â  Â  Â  Â controlContainer.pack();<br>
> -  Â  Â  Â  Â  Â  Â composite.pack();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public boolean canFlipToNextPage() {<br>
> -  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public HashSet<<wbr>YoctoBspPropertyElement> getProperties() {<br>
> -  Â  Â  Â  Â  Â  Â String kcSelection = kernelCombo.getText();<br>
> -  Â  Â  Â  Â  Â  Â String kbSelection = branchesCombo.getText();<br>
> -  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement kcElement = new YoctoBspPropertyElement();<br>
> -  Â  Â  Â  Â  Â  Â kcElement.setName(KERNEL_<wbr>CHOICE);<br>
> -  Â  Â  Â  Â  Â  Â kcElement.setValue(<wbr>kcSelection);<br>
> -  Â  Â  Â  Â  Â  Â properties.add(kcElement);<br>
> -  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement defaultElement = new YoctoBspPropertyElement();<br>
> -  Â  Â  Â  Â  Â  Â defaultElement.setName(<wbr>DEFAULT_KERNEL);<br>
> -  Â  Â  Â  Â  Â  Â defaultElement.setValue("n");<br>
> -  Â  Â  Â  Â  Â  Â properties.add(defaultElement)<wbr>;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement smpElement = new YoctoBspPropertyElement();<br>
> -  Â  Â  Â  Â  Â  Â smpElement.setName(SMP_NAME);<br>
> -  Â  Â  Â  Â  Â  Â if (smpButton.getSelection())<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â smpElement.setValue("y");<br>
> -  Â  Â  Â  Â  Â  Â else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â smpElement.setValue("n");<br>
> -  Â  Â  Â  Â  Â  Â properties.add(smpElement);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement newKbElement = new YoctoBspPropertyElement();<br>
> -  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement kbElement = new YoctoBspPropertyElement();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â newKbElement.setName(NEED_NEW_<wbr>KBRANCH_NAME);<br>
> -  Â  Â  Â  Â  Â  Â if (newBranchButton.getSelection(<wbr>)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â newKbElement.setValue("y");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.add(newKbElement);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kbElement.setName(NEW_KBRANCH_<wbr>NAME);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kbElement.setValue(<wbr>kbSelection);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.add(kbElement);<br>
> -  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â newKbElement.setValue("n");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.add(newKbElement);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kbElement.setName(EXISTING_<wbr>KBRANCH_NAME);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kbElement.setValue(<wbr>kbSelection);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.add(kbElement);<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â return properties;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â public boolean validatePage() {<br>
> -  Â  Â  Â  Â  Â  Â if (kernelCombo == null)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if ((kernelCombo != null) && (branchesCombo != null)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String kcSelection = kernelCombo.getText();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String kbSelection = branchesCombo.getText();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if ((kcSelection == null) || (kbSelection == null) || (kcSelection.isEmpty()) || (kbSelection.isEmpty())) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage("Please choose a kernel and a specific branch!");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â if ((propertyControlMap != null)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (!propertyControlMap.isEmpty()<wbr>) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Enumeration<<wbr>YoctoBspPropertyElement> keys = propertyControlMap.keys();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â while (keys.hasMoreElements()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement key = keys.nextElement();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Control control = propertyControlMap.get(key);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String type = key.getType();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (type.contentEquals("edit")) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String text_value = ((Text)control).getText();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (text_value == null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage("Field "+ key.getName() +" is not set.  All of the field on this screen must be set!");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â key.setValue(text_value);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else if (type.contentEquals("<wbr>choicelist")) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String choice_value = ((Combo)control).getText();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (choice_value == null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage("Field "+ key.getName() +" is not set.  All of the field on this screen must be set!");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â key.setValue(choice_value);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â boolean button_select = ((Button)control).<wbr>getSelection();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (button_select)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â key.setValue("y");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â key.setValue("n");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â updateProperties(key);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â return true;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private void updateProperties(<wbr>YoctoBspPropertyElement element) {<br>
> -  Â  Â  Â  Â  Â  Â Iterator<<wbr>YoctoBspPropertyElement> it = properties.iterator();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â while (it.hasNext()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â YoctoBspPropertyElement propElem = it.next();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (propElem.getName().<wbr>contentEquals(element.getName(<wbr>))) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.remove(propElem);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â properties.add(element);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â break;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â continue;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â }<br>
> -  Â  Â private void controlChanged(Widget widget) {<br>
> -  Â  Â  Â  Â  Â  Â setErrorMessage(null);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String kernel_choice = kernelCombo.getText();<br>
> -  Â  Â  Â  Â  Â  Â if ((kernel_choice == null) || (kernel_choice.isEmpty())) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage("Please choose kernel !");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â if (widget == kernelCombo) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â updateKernelValues(KERNEL_<wbr>BRANCHES, "\\\"" + kernel_choice + "\\\"." + NEW_KBRANCH_NAME);<br>
> -  Â  Â  Â  Â  Â  Â } else if (widget == branchesCombo) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â setErrorMessage(null);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â branchesCombo.computeSize(SWT.<wbr>DEFAULT, SWT.DEFAULT);<br>
> -  Â  Â  Â  Â  Â  Â } else if (widget == newBranchButton || widget == existingBranchButton) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (newBranchButton.getSelection(<wbr>)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â updateKernelValues(KERNEL_<wbr>BRANCHES, "\"" + kernel_choice + "\"." + NEW_KBRANCH_NAME);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â updateKernelValues(KERNEL_<wbr>BRANCHES, "\"" + kernel_choice + "\"." + EXISTING_KBRANCH_NAME);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â branchesCombo.deselectAll();<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â canFlipToNextPage();<br>
> -  Â  Â  Â  Â  Â  Â getWizard().getContainer().<wbr>updateButtons();<br>
> -  Â  Â  Â  Â  Â  Â this.composite.layout(true, true);<br>
> -  Â  Â  Â  Â  Â  Â composite.pack();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private void updateKernelValues(final String value, String property) {<br>
> -  Â  Â  Â  Â  Â  Â @SuppressWarnings("unused")<br>
> -  Â  Â  Â  Â  Â  Â String build_dir = "";<br>
> -  Â  Â  Â  Â  Â  Â if ((bspElem.getBuildLoc() == null) || bspElem.getBuildLoc().isEmpty(<wbr>))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â build_dir = bspElem.getMetadataLoc()+"/<wbr>build";<br>
> -  Â  Â  Â  Â  Â  Â else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â build_dir = bspElem.getBuildLoc();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String metadataLoc = bspElem.getMetadataLoc();<br>
> -  Â  Â  Â  Â  Â  Â String valuesCmd = "source " + metadataLoc + "/oe-init-build-env;" + metadataLoc + "/scripts/" + VALUES_CMD_PREFIX + bspElem.getKarch() + VALUES_CMD_SURFIX + property;<br>
> -  Â  Â  Â  Â  Â  Â BSPProgressDialog progressDialog = new BSPProgressDialog(getShell(),  new KernelBranchesGetter(<wbr>valuesCmd), "Loading Kernel " + value);<br>
> -  Â  Â  Â  Â  Â  Â if (value.equals(KERNEL_CHOICES))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â progressDialog.run(false);<br>
> -  Â  Â  Â  Â  Â  Â else if (value.equals(KERNEL_BRANCHES)<wbr>)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â progressDialog.run(true);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â BSPAction action = progressDialog.getBspAction();<br>
> -  Â  Â  Â  Â  Â  Â if (action.getItems() != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (value.equals(KERNEL_CHOICES)) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kernelCombo.setItems(action.<wbr>getItems());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kernelCombo.pack();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â kernelCombo.deselectAll();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â branchesCombo.setEnabled(<wbr>false);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â branchesCombo.deselectAll();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else if (value.equals(KERNEL_BRANCHES)<wbr>) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â branchesCombo.setItems(action.<wbr>getItems());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â branchesCombo.pack();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â branchesCombo.setEnabled(true)<wbr>;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â composite.setMinSize(<wbr>controlContainer.computeSize(<wbr>SWT.DEFAULT, SWT.DEFAULT, true));<br>
> -  Â  Â  Â  Â  Â  Â } else if (action.getMessage() != null)<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â MessageDialog.openError(<wbr>getShell(), "Yocto-BSP", action.getMessage());<br>
> -  Â  Â  Â  Â  Â  Â composite.setMinSize(<wbr>controlContainer.computeSize(<wbr>SWT.DEFAULT, SWT.DEFAULT, true));<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private String[] getBSPComboProperties(String property) {<br>
> -  Â  Â  Â  Â  Â  Â String build_dir = "";<br>
> -  Â  Â  Â  Â  Â  Â if ((bspElem.getBuildLoc() == null) || bspElem.getBuildLoc().isEmpty(<wbr>))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â build_dir = bspElem.getMetadataLoc()+"/<wbr>build";<br>
> -  Â  Â  Â  Â  Â  Â else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â build_dir = bspElem.getBuildLoc();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String valuesCmd = "export BUILDDIR=" + build_dir + ";" + bspElem.getMetadataLoc() + "/scripts/" + VALUES_CMD_PREFIX + bspElem.getKarch() + VALUES_CMD_SURFIX + property;<br>
> -  Â  Â  Â  Â  Â  Â BSPProgressDialog progressDialog = new BSPProgressDialog(getShell(),  new KernelBranchesGetter(<wbr>valuesCmd), "Loading property " + property + "values");<br>
> -  Â  Â  Â  Â  Â  Â progressDialog.run(false);<br>
> -  Â  Â  Â  Â  Â  Â BSPAction action = progressDialog.getBspAction();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (action.getItems() != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return action.getItems();<br>
> -  Â  Â  Â  Â  Â  Â } else if (action.getMessage() != null) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â MessageDialog.openError(<wbr>getShell(), "Yocto-BSP", action.getMessage());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return new String[]{};<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â return new String[]{};<br>
> -  Â  Â }<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>QemuArchGetter.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>QemuArchGetter.java<br>
> deleted file mode 100644<br>
> index e235695..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>QemuArchGetter.java<br>
> +++ /dev/null<br>
> @@ -1,27 +0,0 @@<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -/**<br>
> - * BSPThread that processes the output of running "yocto-bsp list qemu property qemuarch"<br>
> - * @author ioana.grigoropol<br>
> - *<br>
> - */<br>
> -public class QemuArchGetter extends BSPThread {<br>
> -<br>
> -  Â  Â public QemuArchGetter(String command) {<br>
> -  Â  Â  Â  Â  Â  Â super(command);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â protected String[] processLine(String line) {<br>
> -  Â  Â  Â  Â  Â  Â if (!line.startsWith("["))<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return new String[]{ERROR, line + "\n"};<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String[] values = line.split(",");<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â String value = values[0];<br>
> -  Â  Â  Â  Â  Â  Â value = value.replace("[\"", "");<br>
> -  Â  Â  Â  Â  Â  Â value = value.replaceAll("\"$", "");<br>
> -  Â  Â  Â  Â  Â  Â return new String[]{SUCCESS, value};<br>
> -  Â  Â }<br>
> -<br>
> -}<br>
> diff --git a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>YoctoBSPWizard.java b/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>YoctoBSPWizard.java<br>
> deleted file mode 100644<br>
> index 3ab24c0..0000000<br>
> --- a/plugins/org.yocto.sdk.<wbr>remotetools/src/org/yocto/sdk/<wbr>remotetools/wizards/bsp/<wbr>YoctoBSPWizard.java<br>
> +++ /dev/null<br>
> @@ -1,99 +0,0 @@<br>
> -/****************************<wbr>******************************<wbr>*********************<br>
> - * Copyright (c) 2010 Intel Corporation.<br>
> - * All rights reserved. This program and the accompanying materials<br>
> - * are made available under the terms of the Eclipse Public License v1.0<br>
> - * which accompanies this distribution, and is available at<br>
> - * <a href="http://www.eclipse.org/legal/epl-v10.html" rel="noreferrer" target="_blank">http://www.eclipse.org/legal/<wbr>epl-v10.html</a><br>
> - *<br>
> - * Contributors:<br>
> - * Intel - initial API and implementation<br>
> - ******************************<wbr>******************************<wbr>*******************/<br>
> -package org.yocto.sdk.remotetools.<wbr>wizards.bsp;<br>
> -<br>
> -import java.util.HashSet;<br>
> -<br>
> -import org.eclipse.jface.dialogs.<wbr>MessageDialog;<br>
> -import org.eclipse.jface.wizard.<wbr>IWizardPage;<br>
> -import org.eclipse.jface.wizard.<wbr>Wizard;<br>
> -import org.yocto.sdk.remotetools.<wbr>YoctoBspElement;<br>
> -import org.yocto.sdk.remotetools.<wbr>YoctoBspPropertyElement;<br>
> -import org.yocto.sdk.remotetools.<wbr>YoctoJSONHelper;<br>
> -<br>
> -/**<br>
> - * A wizard for creating Yocto BSP.<br>
> - *<br>
> - * @author jzhang<br>
> - *<br>
> - */<br>
> -public class YoctoBSPWizard extends Wizard {<br>
> -  Â  Â private static final String CREATE_CMD = "/scripts/yocto-bsp create ";<br>
> -  Â  Â private static final String PROPERTY_VALUE_FILE = "/tmp/propertyvalues.json";<br>
> -<br>
> -  Â  Â private MainPage mainPage;<br>
> -  Â  Â private PropertiesPage propertiesPage;<br>
> -  Â  Â private final YoctoBspElement bspElem;<br>
> -<br>
> -  Â  Â public YoctoBSPWizard() {<br>
> -  Â  Â  Â  Â  Â  Â super();<br>
> -  Â  Â  Â  Â  Â  Â bspElem = new YoctoBspElement();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public IWizardPage getNextPage(IWizardPage page) {<br>
> -  Â  Â  Â  Â  Â  Â propertiesPage.onEnterPage(<wbr>mainPage.getBSPElement());<br>
> -  Â  Â  Â  Â  Â  Â return propertiesPage;<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public void addPages() {<br>
> -  Â  Â  Â  Â  Â  Â mainPage = new MainPage(bspElem);<br>
> -  Â  Â  Â  Â  Â  Â addPage(mainPage);<br>
> -  Â  Â  Â  Â  Â  Â propertiesPage = new PropertiesPage(bspElem);<br>
> -  Â  Â  Â  Â  Â  Â addPage(propertiesPage);<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â private BSPAction createBSP(){<br>
> -  Â  Â  Â  Â  Â  Â YoctoBspElement element = mainPage.getBSPElement();<br>
> -  Â  Â  Â  Â  Â  Â String createBspCmd = element.getMetadataLoc() + CREATE_CMD +<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â element.getBspName() + " " + element.getKarch();<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â if (!element.getBspOutLoc().<wbr>isEmpty())<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â createBspCmd = createBspCmd + " -o " + element.getBspOutLoc();<br>
> -  Â  Â  Â  Â  Â  Â else<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â createBspCmd = createBspCmd + " -o " + element.getMetadataLoc() + "/meta-" + element.getBspName();<br>
> -  Â  Â  Â  Â  Â  Â createBspCmd = createBspCmd + " -i " + PROPERTY_VALUE_FILE;<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â BSPProgressDialog progressDialog = new BSPProgressDialog(getShell(),  new OutputCollectorThread(<wbr>createBspCmd), "Creating BSP ");<br>
> -  Â  Â  Â  Â  Â  Â progressDialog.run(true);<br>
> -  Â  Â  Â  Â  Â  Â return progressDialog.getBspAction();<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public boolean performFinish() {<br>
> -  Â  Â  Â  Â  Â  Â if (propertiesPage.validatePage()<wbr>) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â HashSet<<wbr>YoctoBspPropertyElement> properties = propertiesPage.getProperties()<wbr>;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â YoctoJSONHelper.<wbr>createBspJSONFile(properties);<br>
> -<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â BSPAction createBSPAction = createBSP();<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â if (createBSPAction.getMessage() !=  null && !createBSPAction.getMessage().<wbr>isEmpty()) {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â MessageDialog.openError(<wbr>getShell(),"Yocto-BSP", createBSPAction.getMessage());<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â String message = "";<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â for (String item : createBSPAction.getItems())<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â message += item + "\n";<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â MessageDialog.openInformation(<wbr>getShell(), "Yocto-BSP", message);<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return true;<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â }<br>
> -  Â  Â  Â  Â  Â  Â } else {<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â MessageDialog.openError(<wbr>getShell(), "Yocto-BSP", "Property settings contains error!");<br>
> -  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â return false;<br>
> -  Â  Â  Â  Â  Â  Â }<br>
> -<br>
> -  Â  Â }<br>
> -<br>
> -  Â  Â @Override<br>
> -  Â  Â public boolean canFinish() {<br>
> -  Â  Â  Â  Â  Â  Â return (mainPage.validatePage() && propertiesPage.validatePage())<wbr>;<br>
> -  Â  Â }<br>
> -}<br>
> --<br>
> 2.7.4<br>
><br>
> ______________________________<wbr>_________________<br>
> eclipse-poky mailing list<br>
> <a href="mailto:eclipse-poky@yoctoproject.org">eclipse-poky@yoctoproject.org</a><br>
> <a href="https://lists.yoctoproject.org/listinfo/eclipse-poky" rel="noreferrer" target="_blank">https://lists.yoctoproject.<wbr>org/listinfo/eclipse-poky</a><br>
<br>
______________________________<wbr>_________________<br>
eclipse-poky mailing list<br>
<a href="mailto:eclipse-poky@yoctoproject.org">eclipse-poky@yoctoproject.org</a><br>
<a href="https://lists.yoctoproject.org/listinfo/eclipse-poky" rel="noreferrer" target="_blank">https://lists.yoctoproject.<wbr>org/listinfo/eclipse-poky</a><br>
</div></div></blockquote></div><br></div>