package org.nightlabs.jfire.trade.ui.articlecontainer.detail.action.reverse; import javax.jdo.FetchPlan; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PartInitException; import org.nightlabs.base.ui.util.RCPUtil; import org.nightlabs.jdo.NLJDOHelper; import org.nightlabs.jfire.store.reverse.AlreadyReversedArticleReverseProductError; import org.nightlabs.jfire.trade.Article; import org.nightlabs.jfire.trade.dao.ArticleDAO; import org.nightlabs.jfire.trade.id.ArticleID; import org.nightlabs.jfire.trade.id.OfferID; import org.nightlabs.jfire.trade.ui.articlecontainer.detail.ArticleContainerEditor; import org.nightlabs.jfire.trade.ui.articlecontainer.detail.ArticleContainerEditorInput; import org.nightlabs.jfire.trade.ui.resource.Messages; import org.nightlabs.progress.NullProgressMonitor; /** * @author Daniel Mazurek - daniel [at] nightlabs [dot] de * */ public class OpenAlreadyReversedOfferDialog //extends TrayDialog extends MessageDialog { private AlreadyReversedArticleReverseProductError error; /** * @param shell */ public OpenAlreadyReversedOfferDialog(Shell shell, AlreadyReversedArticleReverseProductError error) { super(shell, Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.action.reverse.OpenAlreadyReversedOfferDialog.dialog.title"), //$NON-NLS-1$ null, Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.action.reverse.OpenAlreadyReversedOfferDialog.dialog.message"), //$NON-NLS-1$ MessageDialog.WARNING, new String[] {Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.action.reverse.OpenAlreadyReversedOfferDialog.button.ok.text"), Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.action.reverse.OpenAlreadyReversedOfferDialog.button.cancel.text")}, //$NON-NLS-1$ //$NON-NLS-2$ 0); this.error = error; } @Override protected void buttonPressed(int buttonId) { if (buttonId == 0) { ArticleID reversingArticleID = error.getReversingArticleID(); Article reversingArticle = ArticleDAO.sharedInstance().getArticle(reversingArticleID, new String[] {FetchPlan.DEFAULT, Article.FETCH_GROUP_PRODUCT, Article.FETCH_GROUP_OFFER, Article.FETCH_GROUP_OFFER_ID}, NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, new NullProgressMonitor()); OfferID reversingOfferID = reversingArticle.getOfferID(); try { RCPUtil.openEditor( new ArticleContainerEditorInput(reversingOfferID), ArticleContainerEditor.ID_EDITOR); } catch (PartInitException e) { throw new RuntimeException(e); } } super.buttonPressed(buttonId); } }