package fr.opensagres.nosql.ide.mongodb.ui.internal.extension;
import fr.opensagres.nosql.ide.core.extensions.ICommandIdProvider;
import fr.opensagres.nosql.ide.core.extensions.IServerType;
import fr.opensagres.nosql.ide.core.model.ITreeSimpleNode;
import fr.opensagres.nosql.ide.core.model.NodeTypeConstants;
import fr.opensagres.nosql.ide.mongodb.ui.internal.handlers.NewServerWizardHandler;
import fr.opensagres.nosql.ide.mongodb.ui.internal.handlers.OpenCollectionEditorHandler;
import fr.opensagres.nosql.ide.mongodb.ui.internal.handlers.OpenDatabaseEditorHandler;
import fr.opensagres.nosql.ide.mongodb.ui.internal.handlers.OpenDocumentEditorHandler;
import fr.opensagres.nosql.ide.mongodb.ui.internal.handlers.OpenGridFSEditorHandler;
import fr.opensagres.nosql.ide.mongodb.ui.internal.handlers.OpenServerEditorHandler;
import fr.opensagres.nosql.ide.mongodb.ui.internal.handlers.OpenUsersEditorHandler;
import fr.opensagres.nosql.ide.ui.extensions.AbstractCommandIdProvider;
public class MongoCommandIdProvider extends AbstractCommandIdProvider {
@Override
protected String getServerTypeCommandId(int type, IServerType element) {
switch (type) {
case ICommandIdProvider.OPEN_NEW_WIZARD:
return NewServerWizardHandler.ID;
}
return null;
}
@Override
protected String getCommmandId(int type, ITreeSimpleNode element) {
switch (element.getType()) {
case NodeTypeConstants.Server:
switch (type) {
case ICommandIdProvider.OPEN_EDITOR:
return OpenServerEditorHandler.ID;
}
return null;
case NodeTypeConstants.Database:
switch (type) {
case ICommandIdProvider.OPEN_EDITOR:
return OpenDatabaseEditorHandler.ID;
}
return null;
case NodeTypeConstants.Users:
switch (type) {
case ICommandIdProvider.OPEN_EDITOR:
return OpenUsersEditorHandler.ID;
}
return null;
case NodeTypeConstants.GridFSBucket:
switch (type) {
case ICommandIdProvider.OPEN_EDITOR:
return OpenGridFSEditorHandler.ID;
}
return null;
case NodeTypeConstants.Collection:
switch (type) {
case ICommandIdProvider.OPEN_EDITOR:
return OpenCollectionEditorHandler.ID;
}
return null;
case NodeTypeConstants.Document:
switch (type) {
case ICommandIdProvider.OPEN_EDITOR:
return OpenDocumentEditorHandler.ID;
}
return null;
}
return null;
}
}