Merge branch 'develop' into LibrAlign
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / dialog / selection / MediaSelectionDialog.java
1 /**
2 * Copyright (C) 2014 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.ui.dialog.selection;
10
11 import java.util.UUID;
12
13 import org.eclipse.swt.widgets.Shell;
14
15 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
16 import eu.etaxonomy.cdm.api.service.IMediaService;
17 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
18 import eu.etaxonomy.cdm.model.media.Media;
19 import eu.etaxonomy.taxeditor.model.MessagingUtils;
20 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
21 import eu.etaxonomy.taxeditor.store.CdmStore;
22
23 /**
24 * @author pplitzner
25 * @date 11.03.2014
26 *
27 */
28 public class MediaSelectionDialog extends
29 AbstractFilteredCdmResourceSelectionDialog<Media> {
30
31 public static Media select(Shell shell, ConversationHolder conversation, Media media){
32 MediaSelectionDialog dialog = new MediaSelectionDialog(shell, conversation,
33 "Choose Media", false, MediaSelectionDialog.class.getCanonicalName(), media);
34 return getSelectionFromDialog(dialog);
35 }
36
37 /**
38 * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
39 */
40 protected MediaSelectionDialog(Shell shell, ConversationHolder conversation, String title,
41 boolean multi, String settings, Media cdmObject) {
42 super(shell, conversation, title, multi, settings, cdmObject);
43 }
44
45 /** {@inheritDoc} */
46 @Override
47 protected Media getPersistentObject(UUID uuid) {
48 Object object = CdmStore.getService(IMediaService.class).load(uuid);
49
50 Media media = (Media) HibernateProxyHelper.deproxy(object);
51
52 if(media != null){
53 return media;
54 }
55 MessagingUtils.error(this.getClass(), "Selected element is not media", null);
56 return null;
57 }
58
59 /** {@inheritDoc} */
60 @Override
61 protected void initModel() {
62 model = CdmStore.getService(IMediaService.class).getUuidAndTitleCache(null, null);
63 }
64
65 /* (non-Javadoc)
66 * @see eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog#getTitle(eu.etaxonomy.cdm.model.common.ICdmBase)
67 */
68 @Override
69 protected String getTitle(Media cdmObject) {
70 if(cdmObject!=null){
71 return cdmObject.getTitleCache();
72 }
73 return super.getTitle(cdmObject);
74 }
75
76 /** {@inheritDoc} */
77 @Override
78 protected AbstractNewEntityWizard getNewEntityWizard(String parameter) {
79 return null;
80 }
81
82 /** {@inheritDoc} */
83 @Override
84 protected String getNewWizardLinkText() {
85 return "";
86 }
87 }