package org.nightlabs.jfire.trade.ui.overview.action; import org.eclipse.ui.IEditorInput; import org.nightlabs.base.ui.resource.SharedImages; import org.nightlabs.jfire.base.ui.overview.action.IOverviewEditAction; import org.nightlabs.jfire.trade.ui.TradePlugin; import org.nightlabs.jfire.trade.ui.articlecontainer.detail.ArticleContainerEditorInput; import org.nightlabs.jfire.trade.ui.articlecontainer.detail.ArticleContainerEditorUtil; import org.nightlabs.jfire.trade.ui.resource.Messages; /** * @author Daniel.Mazurek [at] NightLabs [dot] de * */ public abstract class AbstractEditArticleContainerAction extends AbstractArticleContainerAction implements IOverviewEditAction { public static final String ID = AbstractEditArticleContainerAction.class.getName(); public AbstractEditArticleContainerAction() { super(); init(); } protected void init() { setId(ID); setText(Messages.getString("org.nightlabs.jfire.trade.ui.overview.action.AbstractEditArticleContainerAction.text")); //$NON-NLS-1$ setImageDescriptor(SharedImages.getSharedImageDescriptor( TradePlugin.getDefault(), AbstractEditArticleContainerAction.class)); } @Override public void run() { IEditorInput input = getEditorInput(); if (! (input instanceof ArticleContainerEditorInput) ) throw new IllegalArgumentException("This subclass: "+this+" does not return an input type, which is not a subclass of ArticleContainerEditorInput. This must not be allowed!"); //$NON-NLS-1$ //$NON-NLS-2$ ArticleContainerEditorUtil.openArticleContainerInTradePespective(input, getEditorID()); } }