package fr.opensagres.mongodb.ide.demo.internal;
import java.net.URL;
import java.util.List;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import com.mongodb.MongoURI;
import fr.opensagres.nosql.ide.core.Platform;
import fr.opensagres.nosql.ide.core.model.IServer;
import fr.opensagres.nosql.ide.mongodb.core.model.MongoServer;
import fr.opensagres.nosql.ide.orientdb.core.model.OrientServer;
public class Activator implements BundleActivator {
private static BundleContext context;
private IServer mongoServer;
private IServer orientServer;
static BundleContext getContext() {
return context;
}
/*
* (non-Javadoc)
*
* @see
* org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext
* )
*/
public void start(BundleContext bundleContext) throws Exception {
Activator.context = bundleContext;
if (!hasMongoHQServer()) {
mongoServer = new MongoServer("MongoHQ", new MongoURI(
"mongodb://a:a@staff.mongohq.com:10093/testangelo"));
Platform.getServerManager().addServer(mongoServer);
}
if (!hasOnlineOrientDBStudioServer()) {
orientServer = new OrientServer("Online OrientDB Studio", new URL(
"http://www.moobilis.com:2480/"));
Platform.getServerManager().addServer(orientServer);
}
}
private boolean hasMongoHQServer() {
List<IServer> servers = Platform.getServerManager().getServers();
for (IServer server : servers) {
if ("MongoHQ".equals(server.getName())) {
return true;
}
}
return false;
}
private boolean hasOnlineOrientDBStudioServer() {
List<IServer> servers = Platform.getServerManager().getServers();
for (IServer server : servers) {
if ("Online OrientDB Studio".equals(server.getName())) {
return true;
}
}
return false;
}
/*
* (non-Javadoc)
*
* @see
* org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext bundleContext) throws Exception {
if (mongoServer != null) {
Platform.getServerManager().removeServer(mongoServer);
mongoServer = null;
}
if (orientServer != null) {
Platform.getServerManager().removeServer(orientServer);
orientServer = null;
}
Activator.context = null;
}
}