package org.teiid.designer.advisor.ui.core.status;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.swt.graphics.Image;
import org.teiid.designer.advisor.ui.AdvisorUiPlugin;
import org.teiid.designer.advisor.ui.views.status.StatusValidationConstants;
public class DefaultStatusProvider implements IStatusContentProvider {
private AdvisorStatusManager statusManager = new DefaultStatusManager();
private IStatusRowProvider[] providers;
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getDefaultStatus()
*/
@Override
public IStatus getDefaultStatus() {
return StatusValidationConstants.STATUS_MSGS.ADVISOR_NO_PROJECT_SELECTED;
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getDescription()
*/
@Override
public String getDescription() {
return "Focused object not selected for advisor."; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getImage(int)
*/
@Override
public Image getImage( int id ) {
return AdvisorUiPlugin.getImageHelper().EMPTY_BOX_IMAGE;
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getLinkTooltip(int)
*/
@Override
public String getLinkTooltip( int id ) {
return "Default Status Tooltip"; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getRowsProviders()
*/
@Override
public IStatusRowProvider[] getRowsProviders() {
if (this.providers == null) {
initRowProviders();
}
return this.providers;
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getStatus(int)
*/
@Override
public IStatus getStatus( int id ) {
return statusManager.getCurrentStatus().get(id);
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getStatusImage(int)
*/
@Override
public Image getStatusImage( int id ) {
return AdvisorUiPlugin.getImageHelper().CHECKED_BOX_IMAGE;
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getText(int)
*/
@Override
public String getText( int id ) {
return "Default Advisor Text"; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see IStatusContentProvider#getTitle()
*/
@Override
public String getTitle() {
if( statusManager == null || statusManager.getCurrentObject() == null ) {
return "Advisor Object Title"; //$NON-NLS-1$
}
return ((IProject)statusManager.getCurrentObject()).getName();
}
private void initRowProviders() {
}
@Override
public String getId() {
// TODO Auto-generated method stub
return "defaultStatusProviderId"; //$NON-NLS-1$
}
@Override
public void updateStatus( boolean forceUpdate ) {
// DO NOTHING
}
@Override
public void shutdown() {
// TODO Auto-generated method stub
}
@Override
public void startup() {
// TODO Auto-generated method stub
}
}