package fr.opensagres.mongodb.ide.ui.actions.database;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.ISelectionProvider;
import fr.opensagres.mongodb.ide.core.model.Collection;
import fr.opensagres.mongodb.ide.core.model.Database;
import fr.opensagres.mongodb.ide.core.model.Server;
import fr.opensagres.mongodb.ide.core.model.Users;
import fr.opensagres.mongodb.ide.ui.actions.server.TreeNodeActionAdapter;
import fr.opensagres.mongodb.ide.ui.internal.ImageResources;
import fr.opensagres.mongodb.ide.ui.internal.Messages;
import fr.opensagres.mongodb.ide.ui.wizards.WizardHelper;
import fr.opensagres.mongodb.ide.ui.wizards.database.NewDatabaseWizard;
public class NewDatabaseAction extends TreeNodeActionAdapter {
public NewDatabaseAction(ISelectionProvider selectionProvider) {
super(selectionProvider, Messages.NewDatabaseAction_text);
super.setToolTipText(Messages.NewDatabaseAction_toolTipText);
super.setImageDescriptor(ImageResources
.getImageDescriptor(ImageResources.IMG_DATABASE_NEW_16));
}
@Override
public boolean accept(Server server) {
return server.isConnected();
}
@Override
public boolean accept(Database database) {
return accept(database.getParent());
}
@Override
public boolean accept(Collection collection) {
return accept(collection.getDatabase());
}
@Override
public boolean accept(Users users) {
return accept(users.getParent());
}
@Override
public void run() {
try {
WizardHelper.openWizard(NewDatabaseWizard.ID,
getSelectionProvider());
} catch (CoreException e) {
e.printStackTrace();
}
}
}