3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.ui
.openurl
;
14 import java
.util
.List
;
16 import org
.eclipse
.jface
.wizard
.Wizard
;
17 import org
.eclipse
.swt
.widgets
.Display
;
19 import eu
.etaxonomy
.cdm
.ext
.openurl
.MobotOpenUrlQuery
;
20 import eu
.etaxonomy
.cdm
.ext
.openurl
.MobotOpenUrlServiceWrapper
;
21 import eu
.etaxonomy
.cdm
.ext
.openurl
.MobotOpenUrlServiceWrapper
.ReferenceType
;
22 import eu
.etaxonomy
.cdm
.ext
.openurl
.OpenUrlReference
;
23 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
24 import eu
.etaxonomy
.taxeditor
.preference
.IPreferenceKeys
;
25 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
26 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
30 * @created Jan 31, 2011
33 public class OpenUrlSelectorWizard
extends Wizard
{
35 private final MobotOpenUrlServiceWrapper openUrlServiceWrapper
;
37 private final MobotOpenUrlQuery query
;
39 private OpenUrlReference openUrlReference
;
41 private final CdmFormFactory formFactory
;
43 private URI openUrlReferenceImageUri
;
45 private final Reference reference
;
47 private final String referenceDetail
;
52 * @param openUrlSelectorElement
55 public OpenUrlSelectorWizard(Reference reference
, String referenceDetail
) {
56 if(reference
== null){
57 throw new IllegalArgumentException("Reference may not be empty");
60 this.reference
= reference
;
61 this.referenceDetail
= referenceDetail
;
63 setWindowTitle("Mobot Open Url");
64 setNeedsProgressMonitor(true);
66 formFactory
= new CdmFormFactory(Display
.getDefault());
68 openUrlServiceWrapper
= new MobotOpenUrlServiceWrapper();
69 openUrlServiceWrapper
.setBaseUrl(PreferencesUtil
.getPreferenceStore().getString(IPreferenceKeys
.OPENURL_ACCESS_POINT
));
71 query
= new MobotOpenUrlQuery();
73 query
.refType
= ReferenceType
.getReferenceType(reference
);
74 if(reference
.getAuthorship() != null){
75 query
.authorName
= reference
.getAuthorship().getTitleCache();
77 query
.abbreviation
= reference
.getTitle();
78 if(reference
.getInReference() != null){
79 query
.journalTitle
= reference
.getInReference().getTitle();
81 query
.ISBN
= reference
.getIsbn();
82 query
.ISSN
= reference
.getIssn();
83 if(reference
.getDatePublished() != null){
84 query
.publicationDate
= reference
.getDatePublished().toString();
86 query
.publicationPlace
= reference
.getPlacePublished();
87 query
.publisherName
= reference
.getPublisher();
88 query
.volume
= reference
.getVolume();
90 query
.startPage
= referenceDetail
;
94 * @see org.eclipse.jface.wizard.Wizard#addPages()
97 public void addPages() {
99 addPage(new OpenUrlResultPage());
100 addPage(new OpenUrlReferencePage());
106 * @see org.eclipse.jface.wizard.Wizard#performFinish()
109 public boolean performFinish() {
114 * @param openUrlReference the openUrlReference to set
116 public void setOpenUrlReference(OpenUrlReference openUrlReference
) {
117 this.openUrlReference
= openUrlReference
;
118 this.openUrlReferenceImageUri
= openUrlReference
.getJpegImage(PreferencesUtil
.getPreferenceStore().getInt(IPreferenceKeys
.OPENURL_IMAGE_MAX_WIDTH
)
119 , PreferencesUtil
.getPreferenceStore().getInt(IPreferenceKeys
.OPENURL_IMAGE_MAX_HEIGHT
));
123 * @return the openUrlReference
125 public OpenUrlReference
getOpenUrlReference() {
126 return openUrlReference
;
132 public List
<OpenUrlReference
> getResult() {
133 return openUrlServiceWrapper
.doResolve(query
);
137 * @return the formFactory
139 public CdmFormFactory
getFormFactory() {
144 * @return the openUrlServiceWrapper
146 public MobotOpenUrlServiceWrapper
getOpenUrlServiceWrapper() {
147 return openUrlServiceWrapper
;
153 public URI
getOpenUrlReferenceImageUri() {
154 return openUrlReferenceImageUri
;
157 public Reference
getReference() {
161 public String
getReferenceDetail() {
162 return referenceDetail
;