Now using the FelixLauncher in jmood

git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@450627 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/mishell/src/test/java/org/apache/felix/mishell/FelixLauncher.java b/mishell/src/test/java/org/apache/felix/mishell/FelixLauncher.java
deleted file mode 100644
index d2a085f..0000000
--- a/mishell/src/test/java/org/apache/felix/mishell/FelixLauncher.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.apache.felix.mishell;

-/*

- *   Copyright 2005 The Apache Software Foundation

- *

- *   Licensed under the Apache License, Version 2.0 (the "License");

- *   you may not use this file except in compliance with the License.

- *   You may obtain a copy of the License at

- *

- *       http://www.apache.org/licenses/LICENSE-2.0

- *

- *   Unless required by applicable law or agreed to in writing, software

- *   distributed under the License is distributed on an "AS IS" BASIS,

- *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- *   See the License for the specific language governing permissions and

- *   limitations under the License.

- *

- */

-

-import java.io.BufferedReader;

-import java.io.File;

-import java.io.InputStreamReader;

-import java.util.ArrayList;

-import java.util.HashMap;

-import java.util.List;

-import java.util.Map;

-import java.util.logging.Logger;

-

-import javax.management.MBeanServerConnection;

-

-import org.apache.felix.framework.Felix;

-import org.apache.felix.framework.util.MutablePropertyResolver;

-import org.apache.felix.framework.util.MutablePropertyResolverImpl;

-import org.osgi.framework.Constants;

-public class FelixLauncher {

-

-    private MutablePropertyResolver props;

-	private Felix framework;

-	private List bundles;

-	private List packages;

-	private File cacheDir;

-	public FelixLauncher() {

-        super();

-    	cacheDir = new File("./cache");

-    	System.out.println(cacheDir.getAbsolutePath());

-		clearCache(cacheDir);

-    	cacheDir.mkdir();

-        

-        framework = new Felix();

-		Map m=new HashMap();

-		bundles=new ArrayList();

-		packages=new ArrayList();

-

-        props = new MutablePropertyResolverImpl(m);

-        props.put("felix.cache.profiledir", cacheDir.getAbsolutePath());

-

-    }

-	public void addBundle(String url){

-		if (!bundles.contains(url))

-		bundles.add(url);

-	}

-	public void addPackage(String packageName){

-		if(!packages.contains(packageName))

-		packages.add(packageName);

-	}

-	public void start(){

-		StringBuffer autostart=new StringBuffer();

-		for (int i=0; i<bundles.size(); i++){

-			String bundle=(String)bundles.get(i);

-			autostart.append(bundle).append(" ");

-		}

-		props.put("felix.auto.start.1", autostart.toString());

-		StringBuffer spkg=new StringBuffer((String)packages.get(0));

-		packages.remove(0);

-		for (int i=0; i<packages.size(); i++){

-			String pkg=(String)packages.get(i);

-			spkg.append(", "+pkg);

-		}

-		

-		

-        props.put(Constants.FRAMEWORK_SYSTEMPACKAGES, spkg.toString());

-

-        framework.start(props,null);

-	}

-	public void blockingStart() throws Exception{

-		this.start();

-        int to=0;

-        while(framework.getStatus()!=Felix.RUNNING_STATUS) {

-            Thread.sleep(10);

-            to++;

-            if(to>100) throw new Exception("timeout");

-        }

-

-	}

-	public void shutdown(){

-		framework.shutdown();

-		clearCache(cacheDir);

-	}

-

-	private void clearCache(File cacheDir) {

-		if(!isCache(cacheDir)){

-			System.out.println("not valid cache");

-			return;

-		}

-		File[] files=cacheDir.listFiles();

-		for(int i=0; i<files.length; i++){

-			recursiveDelete(files[i]);

-		}

-	}

-	private void recursiveDelete(File file){

-	   if(file.isDirectory()){

-			File[] files=file.listFiles();

-			for(int i=0; i<files.length; i++){

-				File f=files[i];	

-				recursiveDelete(f);

-		   }

-	   }

-	   file.delete();

-	}

-	private boolean isCache(File cacheDir){

-		if(!cacheDir.exists()||!cacheDir.isDirectory()) return false;

-		else{

-			String[] names=cacheDir.list();

-			for(int i=0;i<names.length;i++){

-				String name=names[i];

-				if(!name.startsWith("bundle")) return false;

-			}

-			return true;

-		}

-	}

-

-    /**

-     * @param args

-     */

-    public static void main(String[] args) throws Exception{

-    	FelixLauncher launcher=new FelixLauncher();

-        String jmood="file:../org.apache.felix.jmood_trunk/target/org.apache.felix.jmood-0.8.0-SNAPSHOT.jar";

-        String jmxintrospector="file:../org.apache.felix.mishell/target/org.apache.felix.mishell-0.8.0-SNAPSHOT.jar";

-    	launcher.addBundle(jmood);

-    	launcher.addBundle(jmxintrospector);

-        launcher.addPackage("org.osgi.framework");

-        launcher.addPackage("org.osgi.util.tracker");

-        launcher.addPackage("org.osgi.service.log");

-        launcher.addPackage("org.osgi.service.packageadmin");

-        launcher.addPackage("org.osgi.service.startlevel");

-        launcher.addPackage("org.osgi.service.permissionadmin");

-        launcher.addPackage("org.osgi.service.useradmin");

-        launcher.addPackage("org.osgi.service.cm");

-        launcher.addPackage("javax.management");

-        launcher.addPackage("javax.management.remote");

-        launcher.addPackage("javax.management.openmbean");  

-        launcher.addPackage("javax.script");

-    	launcher.start();

-    }

-	public Felix getFramework() {

-		return framework;

-	}

-}