/** * */ package org.nightlabs.jfire.issuetracking.trade.ui.store.issuelink; import java.util.Collection; import java.util.Set; import javax.jdo.FetchPlan; import org.eclipse.swt.graphics.Image; import org.nightlabs.base.ui.resource.SharedImages; import org.nightlabs.jdo.NLJDOHelper; import org.nightlabs.jfire.issue.IssueLink; import org.nightlabs.jfire.issuetracking.trade.ui.IssueTrackingTradePlugin; import org.nightlabs.jfire.issuetracking.trade.ui.resource.Messages; import org.nightlabs.jfire.issuetracking.ui.issuelink.AbstractIssueLinkHandler; import org.nightlabs.jfire.store.ReceptionNote; import org.nightlabs.jfire.store.dao.ReceptionNoteDAO; import org.nightlabs.jfire.store.id.ReceptionNoteID; import org.nightlabs.jfire.trade.ArticleContainerUtil; import org.nightlabs.l10n.GlobalDateFormatter; import org.nightlabs.l10n.IDateFormatter; import org.nightlabs.progress.ProgressMonitor; /** * @author chairatk * */ public class IssueLinkHandlerReceptionNote extends AbstractIssueLinkHandler<ReceptionNoteID, ReceptionNote> { @Override protected Collection<ReceptionNote> _getLinkedObjects(Set<IssueLink> issueLinks, Set<ReceptionNoteID> linkedObjectIDs, ProgressMonitor monitor) { Collection<ReceptionNote> receptionNoteSet = null; try { receptionNoteSet = ReceptionNoteDAO.sharedInstance().getReceptionNotes( linkedObjectIDs, new String[] { FetchPlan.DEFAULT }, NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, monitor); } catch (Exception e) { throw new RuntimeException(e); } return receptionNoteSet; } @Override public Image getLinkedObjectImage(IssueLink issueLink, ReceptionNote linkedObject) { return SharedImages.getSharedImageDescriptor( IssueTrackingTradePlugin.getDefault(), IssueLinkHandlerReceptionNote.class, "LinkedObject").createImage(); //$NON-NLS-1$ } @Override public String getLinkedObjectName(IssueLink issueLink, ReceptionNote linkedObject) { // throw new UnsupportedOperationException("NYI"); //$NON-NLS-1$ return String.format( Messages.getString("org.nightlabs.jfire.issuetracking.trade.ui.store.issuelink.IssueLinkHandlerReceptionNote.receptionNote.name"), //$NON-NLS-1$ ArticleContainerUtil.getArticleContainerID(linkedObject), GlobalDateFormatter.sharedInstance().formatDate(linkedObject.getCreateDT(), IDateFormatter.FLAGS_DATE_SHORT)); } @Override public void openLinkedObject(IssueLink issueLink, ReceptionNoteID linkedObjectID) { throw new UnsupportedOperationException("NYI"); //$NON-NLS-1$ } }