package org.nightlabs.jfire.trade.admin.ui.editor.overview;
import javax.jdo.FetchPlan;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.nightlabs.jfire.accounting.book.LocalAccountantDelegate;
import org.nightlabs.jfire.store.ProductType;
import org.nightlabs.jfire.store.ProductTypeLocal;
import org.nightlabs.jfire.trade.admin.ui.resource.Messages;
/**
* @author Daniel Mazurek - Daniel.Mazurek [dot] nightlabs [dot] de
*
*/
public class MoneyflowConfigOverviewPageStatusProvider
extends AbstractProductTypeOverviewPageStatusProvider
{
private static final String[] FETCH_GROUPS = new String[] {FetchPlan.DEFAULT,
ProductType.FETCH_GROUP_PRODUCT_TYPE_LOCAL, ProductTypeLocal.FETCH_GROUP_LOCAL_ACCOUNTANT_DELEGATE,
LocalAccountantDelegate.FETCH_GROUP_NAME};
/* (non-Javadoc)
* @see org.nightlabs.jfire.trade.admin.ui.editor.overview.AbstractProductTypeOverviewPageStatusProvider#createStatus(org.nightlabs.jfire.store.ProductType)
*/
@Override
protected IStatus createStatus(ProductType productType)
{
if (productType != null) {
StringBuilder sb = new StringBuilder();
LocalAccountantDelegate localAccountantDelegate = productType.getProductTypeLocal().getLocalAccountantDelegate();
sb.append(Messages.getString("org.nightlabs.jfire.trade.admin.ui.editor.overview.MoneyflowConfigOverviewPageStatusProvider.label.localAccountantDelegate.text")); //$NON-NLS-1$
String name = Messages.getString("org.nightlabs.jfire.trade.admin.ui.editor.overview.MoneyflowConfigOverviewPageStatusProvider.label.none.text"); //$NON-NLS-1$
if (localAccountantDelegate != null) {
name = localAccountantDelegate.getName().getText();
}
sb.append(name);
int severity = IStatus.OK;
if (localAccountantDelegate == null)
severity = IStatus.WARNING;
return new Status(severity, getStatusPluginId(), sb.toString());
}
return null;
}
/* (non-Javadoc)
* @see org.nightlabs.jfire.trade.admin.ui.editor.overview.AbstractProductTypeOverviewPageStatusProvider#getFetchGroups()
*/
@Override
protected String[] getFetchGroups() {
return FETCH_GROUPS;
}
}