package org.mongodb.meclipse.views.objects.properties;
import static org.mongodb.meclipse.MeclipsePlugin.getCaption;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.mongodb.meclipse.views.objects.Database;
import com.mongodb.DBObject;
public class DatabasePropertySource implements IPropertySource {
private static final String NAME = "NAME";
private static final String PROFILING_LEVEL = "PROFILING_LEVEL";
private Database database;
public DatabasePropertySource(Database database) {
this.database = database;
}
@Override
public Object getEditableValue() {
// TODO Auto-generated method stub
return null;
}
@Override
public IPropertyDescriptor[] getPropertyDescriptors() {
return new IPropertyDescriptor[]{
new PropertyDescriptor(NAME, getCaption("databasePS.name")),
new PropertyDescriptor(PROFILING_LEVEL,
getCaption("databasePS.profileLevel")),};
}
@Override
public Object getPropertyValue(Object id) {
if (id.equals(NAME))
return database.getDB().getName();
else if (id.equals(PROFILING_LEVEL)) {
DBObject curProfileLevel = database.getDB().command("profile");
return curProfileLevel.get("was");
} else
return null;
}
@Override
public boolean isPropertySet(Object id) {
// TODO Auto-generated method stub
return false;
}
@Override
public void resetPropertyValue(Object id) {
// TODO Auto-generated method stub
}
@Override
public void setPropertyValue(Object id, Object value) {
// TODO Auto-generated method stub
}
}