[Esbox-commits] r921 - in branches/sdkPlusSupport: org.maemo.esbox.maemosdk.core/META-INF org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/core org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/adapters org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/scratchbox/sb2/sdk

baranov at garage.maemo.org baranov at garage.maemo.org
Tue Nov 4 13:55:38 EET 2008


Author: baranov
Date: 2008-11-04 13:55:38 +0200 (Tue, 04 Nov 2008)
New Revision: 921

Modified:
   branches/sdkPlusSupport/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF
   branches/sdkPlusSupport/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapter.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapterFactory.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoRootstrapCommand.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoSdkCommand.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/core/Scratchbox2SDK.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapter.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapterFactory.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/adapters/MaemoScratchbox2SDKManageTargetAdapter.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/MaemoRootstrapContentLabelProvider.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/NewScratchbox2TargetWizard.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/TargetWizardRootstrapSb2Page.java
   branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/scratchbox/sb2/sdk/IScratchbox2SDK.java
Log:
adding progress monitor in install rootstrap wizard


Modified: branches/sdkPlusSupport/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF	2008-11-04 11:55:38 UTC (rev 921)
@@ -14,5 +14,8 @@
  org.maemo.esbox.scratchbox.core;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Export-Package: org.maemo.esbox.internal.api.maemosdk.core.tools;x-friends:="org.maemo.esbox.scratchbox.sb1",
+Export-Package: org.maemo.esbox.internal.api.maemosdk.core,
+ org.maemo.esbox.internal.api.maemosdk.core.execEnv,
+ org.maemo.esbox.internal.api.maemosdk.core.tools,
+ org.maemo.esbox.internal.maemosdk.core.adapters,
  org.maemo.esbox.maemosdk.core

Modified: branches/sdkPlusSupport/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -26,7 +26,7 @@
 		super.setUp();
 		possibleRootstraps = new HashSet<String>();
 		possibleRootstraps.add("diablo41_armel");
-		possibleRootstraps.add("diablo41_i386");
+		possibleRootstraps.add("diablo4.1.1_i386");
 		possibleRootstraps.add("chinook40_armel");
 		possibleRootstraps.add("bora31_armel");
 		possibleRootstraps.add("scirocco22_armel");
@@ -47,7 +47,7 @@
 	}
 	
 	public void testAvailableMaemoRootstraps() throws Exception {
-		List<String> rootstraps = sb2Sdk.getAvailableMaemoRootstraps();
+		List<String> rootstraps = sb2Sdk.getAvailableMaemoRootstraps(null);
 		assertTrue("Available rootstrap list is not same as predefined possible rootstraps list.",
 				rootstraps.containsAll(possibleRootstraps) && rootstraps.size()==possibleRootstraps.size());
 		
@@ -57,7 +57,7 @@
 		IScratchboxSDKPlatformArchitectureProvider 
 			provider = (IScratchboxSDKPlatformArchitectureProvider)sb2Sdk;
 		assertEquals(IScratchboxSDKTarget.ARCHITECTURE_ARMEL,provider.getArchitecture("diablo41_armel"));
-		assertEquals(IScratchboxSDKTarget.ARCHITECTURE_UNKNOWN,provider.getArchitecture("WRONG_TARGET"));
+		assertEquals(IScratchboxSDKTarget.ARCHITECTURE_UNKNOWN,provider.getArchitecture("WRONGTARGET"));
 	}
 	
 	public void testGetPlatform() throws Exception {

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapter.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapter.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapter.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -49,7 +49,6 @@
 		this.command = new MaemoCommand(target);
 	}
 
-	@Override
 	public void killMaemo() throws MicaException {
 		List<IProcess> pids = getMaemoLaunchers(target.getSDK().getMachine());
 		if (pids.size() == 0)
@@ -78,13 +77,11 @@
 		
 	}
 
-	@Override
 	public void restartMaemo() throws MicaException {
 		command.restartMaemoCommand();
 		
 	}
 
-	@Override
 	public void startMaemo() throws MicaException {
 		if (isMaemoRunning())
 			throw new MicaException("Maemo is already running");
@@ -96,7 +93,6 @@
 		
 	}
 
-	@Override
 	public void stopMaemo() throws MicaException {
 		command.stopMaemoCommand();
 		
@@ -104,7 +100,6 @@
 
 	
 	
-	@Override
 	public boolean isMaemoRunning() throws MicaException {
 		List<IProcess> runningProcesses = getMaemoLaunchers(target.getSDK()
 				.getMachine());

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapterFactory.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapterFactory.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Sb1MaemoLauncherAdapterFactory.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -16,9 +16,10 @@
 
 public class Sb1MaemoLauncherAdapterFactory implements IAdapterFactory {
 
-	@Override
+	private static final Class<IMaemoLauncherAdapter> MAEMO_LAUNCHER_ADAPTER = IMaemoLauncherAdapter.class;
+
 	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType.equals(IMaemoLauncherAdapter.class)) {
+		if (adapterType.equals(MAEMO_LAUNCHER_ADAPTER)) {
 			if (adaptableObject instanceof IScratchbox1SDKTarget) {
 				return new Sb1MaemoLauncherAdapter((IScratchbox1SDKTarget)adaptableObject);
 			}
@@ -26,10 +27,9 @@
 		return null;
 	}
 
-	@Override
 	public Class[] getAdapterList() {
 		// TODO Auto-generated method stub
-		return null;
+		return new Class[]{MAEMO_LAUNCHER_ADAPTER};
 	}
 
 }

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoRootstrapCommand.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoRootstrapCommand.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoRootstrapCommand.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -53,7 +53,6 @@
 		return 0;
 	}
 
-	@Override
 	public Object performCommand(List<String> params) throws MicaException {
 		return null;
 	}
@@ -70,17 +69,17 @@
 	 * run maemo-rootstrap list
 	 * @return
 	 */
-	public List<String> list(int type) throws MicaException{
+	public List<String> list(int type, IProgressMonitor monitor) throws MicaException{
 		Results result = null;
 		switch(type){
 		case INSTALLED_TARGETS:
-			result = runProcess(MAEMO_ROOTSTRAP,COMMAND_LIST);
+			result = runProcess(monitor,MAEMO_ROOTSTRAP,COMMAND_LIST);
 			break;
 		case AVAILABLE_TARGETS:
-			result = runProcess(MAEMO_ROOTSTRAP,COMMAND_AVAILABLE);
+			result = runProcess(monitor,MAEMO_ROOTSTRAP,COMMAND_AVAILABLE);
 			break;
 		}
-		if(result!=null)
+		if(result.exitCode==0)
 			return Arrays.asList(result.getStdoutLines());
 		else
 			return new ArrayList<String>();
@@ -112,7 +111,10 @@
 	 */
 	public String showArchitecture(String name) throws MicaException{
 		Results result = runProcess(MAEMO_ROOTSTRAP,ARCH,name);
-		return result.stdout.replaceAll("\n", "");
+		if(result.exitCode==0)
+			return result.stdout.replaceAll("\n", "");
+		else
+			return null;
 	}
 
 	public boolean newRootstrap(String name) throws MicaException {
@@ -122,4 +124,5 @@
 	}
 
 	
+	
 }

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoSdkCommand.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoSdkCommand.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/command/MaemoSdkCommand.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -44,7 +44,6 @@
 		return 0;
 	}
 
-	@Override
 	public Object performCommand(List<String> params) throws MicaException {
 		return null;
 	}

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/core/Scratchbox2SDK.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/core/Scratchbox2SDK.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/core/Scratchbox2SDK.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -12,6 +12,7 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -127,7 +128,6 @@
 
 	
 	
-	@Override
 	public int installRootstrap(String rootstrap, IProgressMonitor monitor) throws MicaException {
 		maemoRootstrapCommand.install(rootstrap,monitor);
 		return 0;
@@ -141,7 +141,7 @@
 	 * @see org.maemo.mica.maemosdk.core.sdk.IScratchboxSDK#getTargets()
 	 */
 	public List<String> getTargets() throws MicaException {
-		return maemoRootstrapCommand.list(MaemoRootstrapCommand.INSTALLED_TARGETS);
+		return maemoRootstrapCommand.list(MaemoRootstrapCommand.INSTALLED_TARGETS,null);
 	}
 
 	/*
@@ -224,13 +224,12 @@
 	public String getArchitecture(String target) {
 		String arch;
 		try{
-			arch = maemoRootstrapCommand.showArchitecture(target).toUpperCase();
+			arch = maemoRootstrapCommand.showArchitecture(target);
 		}catch(MicaException e){
 			arch="";
 		}
-		if(arch.equals(IScratchboxSDKTarget.ARCHITECTURE_ARMEL)
-				||arch.equals(IScratchboxSDKTarget.ARCHITECTURE_X86))
-			return arch;
+		if(arch!=null)
+			return arch.toUpperCase();
 		else
 			return IScratchboxSDKTarget.ARCHITECTURE_UNKNOWN;
 	}
@@ -267,7 +266,7 @@
 	 */
 	public synchronized List<String> getInstalledMaemoRootstraps()
 			throws MicaException {
-		return maemoRootstrapCommand.list(MaemoRootstrapCommand.INSTALLED_TARGETS);
+		return maemoRootstrapCommand.list(MaemoRootstrapCommand.INSTALLED_TARGETS,null);
 	}
 
 	/*
@@ -277,9 +276,10 @@
 	 * org.maemo.mica.maemosdk.sb2.core.IScratchbox2SDK#getAvailableMaemoRootstraps
 	 * (org.maemo.mica.common.core.machine.IMachine)
 	 */
-	public List<String> getAvailableMaemoRootstraps()
+	
+	public List<String> getAvailableMaemoRootstraps(IProgressMonitor monitor)
 			throws MicaException {
-		return maemoRootstrapCommand.list(MaemoRootstrapCommand.AVAILABLE_TARGETS);
+		return maemoRootstrapCommand.list(MaemoRootstrapCommand.AVAILABLE_TARGETS,monitor);
 	}
 
 	/*

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapter.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapter.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapter.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -25,27 +25,22 @@
 		command = ((Scratchbox2SDK)target.getSDK()).getMaemoSdkCommand();
 	}
 
-	@Override
 	public boolean isMaemoRunning() throws MicaException {
 		return command.isUp(target.getName());
 	}
 
-	@Override
 	public void killMaemo() throws MicaException {
 		stopMaemo();
 	}
 	
-	@Override
 	public void restartMaemo() throws MicaException {
 		startMaemo();
 	}
 
-	@Override
 	public void startMaemo() throws MicaException {
 		command.startMaemo(target.getName());
 	}
 
-	@Override
 	public void stopMaemo() throws MicaException {
 		command.stopMaemo(target.getName());
 	}

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapterFactory.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapterFactory.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Sb2MaemoLauncherAdapterFactory.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -16,9 +16,10 @@
 
 public class Sb2MaemoLauncherAdapterFactory implements IAdapterFactory {
 
-	@Override
+	private static final Class<IMaemoLauncherAdapter> MAEMO_LAUNCHER_ADAPTER = IMaemoLauncherAdapter.class;
+
 	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType.equals(IMaemoLauncherAdapter.class)) {
+		if (adapterType.equals(MAEMO_LAUNCHER_ADAPTER)) {
 			if (adaptableObject instanceof IScratchbox2SDKTarget) {
 				return new Sb2MaemoLauncherAdapter((IScratchbox2SDKTarget)adaptableObject);
 			}
@@ -26,10 +27,8 @@
 		return null;
 	}
 
-	@Override
 	public Class[] getAdapterList() {
-		// TODO Auto-generated method stub
-		return null;
+		return new Class[]{MAEMO_LAUNCHER_ADAPTER};
 	}
 
 }

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/adapters/MaemoScratchbox2SDKManageTargetAdapter.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/adapters/MaemoScratchbox2SDKManageTargetAdapter.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/adapters/MaemoScratchbox2SDKManageTargetAdapter.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -98,7 +98,7 @@
 			try {
 				// see if a rootstrap -- possibly disconnected from the target --
 				// exists
-				List<String> rootstraps = sdk.getAvailableMaemoRootstraps();
+				List<String> rootstraps = sdk.getAvailableMaemoRootstraps(null);
 				for (String rootstrap : rootstraps) {
 					if (rootstrap.equals(selectedTarget.getName())) {
 						rootstrapUsed_ = true;

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/MaemoRootstrapContentLabelProvider.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/MaemoRootstrapContentLabelProvider.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/MaemoRootstrapContentLabelProvider.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -12,22 +12,26 @@
 
 package org.maemo.esbox.internal.scratchbox.sb2.ui.wizard;
 
+import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.viewers.IColorProvider;
 import org.eclipse.jface.viewers.IFontProvider;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.wizard.IWizardContainer;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
+import org.maemo.esbox.internal.scratchbox.sb2.Activator;
 import org.maemo.esbox.scratchbox.sb2.sdk.IScratchbox2SDK;
+import org.maemo.mica.common.core.ErrorLogger;
 import org.maemo.mica.common.core.MicaException;
 
 /**
@@ -44,60 +48,41 @@
 	static final int COLUMN_ARCHITECTURE = 1;
 	static final int COLUMN_DESCRIPTION = 2;
 
-//	public static Object NO_ROOTSTRAP = new Object();
-//	public static Object LOADING_LABEL = new Object();
 
 	private boolean rootstrapsFetched;
-	// either MaemoRootstrap or NO_ROOTSTRAP
-	private List<Object> rootstraps;
+	private List<String> rootstraps;
 	private Thread rootstrapThread;
 	private final IScratchbox2SDK sdk;
+	private final IWizardContainer wizardContainer;
 
-	public MaemoRootstrapContentLabelProvider(IScratchbox2SDK sdk) {
+	public MaemoRootstrapContentLabelProvider(IScratchbox2SDK sdk,IWizardContainer wizardContainer) {
 		this.sdk = sdk;
+		this.wizardContainer = wizardContainer;
 	}
 
 	public Object[] getElements(Object inputElement) {
 		if (!rootstrapsFetched) {
-			rootstraps = new ArrayList<Object>();
-
-			if (rootstrapThread == null) {
-				rootstrapThread = new Thread(new Runnable() {
-
-					public void run() {
+			rootstraps = new ArrayList<String>();
+			try {
+				wizardContainer.run(true, true,new IRunnableWithProgress(){
+					public void run(IProgressMonitor monitor)
+							throws InvocationTargetException, InterruptedException {
+						monitor.beginTask("Loading...",
+								IProgressMonitor.UNKNOWN);
 						try {
-							List<String> realRootstraps = sdk.getAvailableMaemoRootstraps();
-							synchronized (rootstraps) {
-//								rootstraps.remove(1);
-								rootstraps.addAll(realRootstraps);
-							}
-						} catch (final MicaException e) {
-							Display.getDefault().syncExec(new Runnable() {
-
-								public void run() {
-									MessageDialog.openError(null,
-											"Rootstrap lookup failed",
-											"Error fetching rootstraps: check proxy settings?\n\n"
-													+ e.getMessage());
-								}
-
-							});
+							rootstraps = 
+								sdk.getAvailableMaemoRootstraps(new SubProgressMonitor(monitor, 1));
+						}catch(MicaException e) {
+							throw new InvocationTargetException(e);
 						}
-						rootstrapsFetched = true;
-						rootstrapThread = null;
-						Display.getDefault().asyncExec(new Runnable() {
-
-							public void run() {
-								fireLabelProviderChanged(new LabelProviderChangedEvent(
-										MaemoRootstrapContentLabelProvider.this));
-							}
-
-						});
+						monitor.done();
 					}
-
 				});
-				rootstrapThread.start();
+			}catch(Exception e){
+				ErrorLogger errorLogger = Activator.getErrorLogger();
+				errorLogger.logAndShowError("Cannot get available rootstraps.", e);
 			}
+			rootstrapsFetched=true;
 		}
 		synchronized (rootstraps) {
 			return rootstraps.toArray();

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/NewScratchbox2TargetWizard.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/NewScratchbox2TargetWizard.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/NewScratchbox2TargetWizard.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -98,7 +98,7 @@
 
 				public void run(IProgressMonitor monitor)
 						throws InvocationTargetException, InterruptedException {
-					monitor.beginTask("Installing rootstrap",
+					monitor.beginTask("Installing rootstrap...",
 							IProgressMonitor.UNKNOWN);
 					try {
 						sdk.installRootstrap(rootstrap,new SubProgressMonitor(monitor, 1));

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/TargetWizardRootstrapSb2Page.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/TargetWizardRootstrapSb2Page.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/ui/wizard/TargetWizardRootstrapSb2Page.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -12,14 +12,28 @@
 
 package org.maemo.esbox.internal.scratchbox.sb2.ui.wizard;
 
-import org.eclipse.jface.viewers.*;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
 import org.eclipse.jface.wizard.WizardPage;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.TreeColumn;
 import org.maemo.esbox.internal.scratchbox.sb2.core.Scratchbox2SDK;
 import org.maemo.esbox.scratchbox.sb2.sdk.IScratchbox2SDK;
 import org.maemo.esbox.scratchbox.sb2.sdk.MaemoRootstrap;
@@ -84,15 +98,8 @@
 		showExistingTargets
 				.setToolTipText("If checked, rootstraps with names matching existing targets will be shown.  This is the only way to reinstall a target.");
 
-//		useHostTools = new Button(composite, SWT.CHECK);
-//		useHostTools.setText("Use host's build tools");
-//		useHostTools.setSelection(false);
-//		useHostTools
-//				.setToolTipText("If checked, configure the rootstrap to use the host versions of autotools, bison, flex, docbook, etc. instead of standard versions (c.f. devkits in scratchbox 1).  We recommend leaving this unchecked and invoking maemo-tools to install official build tools.");
 
-		// / setup rootstrap target tree
-
-		provider = new MaemoRootstrapContentLabelProvider(sdk);
+		provider = new MaemoRootstrapContentLabelProvider(sdk,this.getContainer());
 		rootstrapTargetViewer.setContentProvider(provider);
 		rootstrapTargetViewer.setLabelProvider(provider);
 
@@ -184,8 +191,6 @@
 	 * #perfomeAction()
 	 */
 	public boolean validatePage() {
-//		setPageComplete(selection instanceof MaemoRootstrap
-//				|| selection == MaemoRootstrapContentLabelProvider.NO_ROOTSTRAP);
 		setPageComplete(selection != null);
 		return true;
 	}
@@ -195,8 +200,6 @@
 	}
 
 	public String getRootstrap() {
-//		if (!(selection instanceof MaemoRootstrap))
-//			return null;
-		return (String) selection;
+			return (String) selection;
 	}
 }
\ No newline at end of file

Modified: branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/scratchbox/sb2/sdk/IScratchbox2SDK.java
===================================================================
--- branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/scratchbox/sb2/sdk/IScratchbox2SDK.java	2008-11-03 17:59:33 UTC (rev 920)
+++ branches/sdkPlusSupport/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/scratchbox/sb2/sdk/IScratchbox2SDK.java	2008-11-04 11:55:38 UTC (rev 921)
@@ -86,11 +86,12 @@
 	/**
 	 * Get the MaemoRootstrap items available for installation. This includes
 	 * any that might already be defined.
+	 * @param mnitor 
 	 * 
 	 * @return List, never null
 	 * @throws MicaException
 	 */
-	public List<String> getAvailableMaemoRootstraps()
+	public List<String> getAvailableMaemoRootstraps(IProgressMonitor mnitor)
 			throws MicaException;
 
 	/**



More information about the Esbox-commits mailing list