Project

General

Profile

Download (3.76 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 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.openurl;
10

    
11
import java.util.List;
12

    
13
import org.eclipse.jface.wizard.Wizard;
14
import org.eclipse.swt.widgets.Display;
15

    
16
import eu.etaxonomy.cdm.common.URI;
17
import eu.etaxonomy.cdm.ext.openurl.MobotOpenUrlQuery;
18
import eu.etaxonomy.cdm.ext.openurl.MobotOpenUrlServiceWrapper;
19
import eu.etaxonomy.cdm.ext.openurl.MobotOpenUrlServiceWrapper.ReferenceType;
20
import eu.etaxonomy.cdm.ext.openurl.OpenUrlReference;
21
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
22
import eu.etaxonomy.cdm.model.reference.Reference;
23
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
24
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
25

    
26
/**
27
 * @author n.hoffmann
28
 * @created Jan 31, 2011
29
 */
30
public class OpenUrlSelectorWizard extends Wizard {
31

    
32
	private final MobotOpenUrlServiceWrapper openUrlServiceWrapper;
33

    
34
	private final MobotOpenUrlQuery query;
35

    
36
	private OpenUrlReference openUrlReference;
37

    
38
	private final CdmFormFactory formFactory;
39

    
40
	private URI openUrlReferenceImageUri;
41

    
42
	private final Reference reference;
43

    
44
	private final String referenceDetail;
45

    
46
	/**
47
	 * @param openUrlSelectorElement
48
	 * @param reference
49
	 */
50
	public OpenUrlSelectorWizard(Reference reference, String referenceDetail) {
51
		if(reference == null){
52
			throw new IllegalArgumentException("Reference may not be empty");
53
		}
54

    
55
		this.reference = reference;
56
		this.referenceDetail = referenceDetail;
57

    
58
		setWindowTitle("Mobot Open Url");
59
		setNeedsProgressMonitor(true);
60

    
61
		formFactory = new CdmFormFactory(Display.getDefault());
62

    
63
		openUrlServiceWrapper = new MobotOpenUrlServiceWrapper();
64
		openUrlServiceWrapper.setBaseUrl(PreferencesUtil.getStringValue(PreferencePredicate.MobotOpenUrlServiceAccessPoint.getKey()));
65

    
66
		query  = new MobotOpenUrlQuery();
67

    
68
		query.refType = ReferenceType.getReferenceType(reference);
69
		if(reference.getAuthorship() != null){
70
			query.authorName = reference.getAuthorship().getTitleCache();
71
		}
72
		query.abbreviation = reference.getTitle();
73
		if(reference.getInReference() != null){
74
			query.journalTitle = reference.getInReference().getTitle();
75
		}
76
		query.ISBN = reference.getIsbn();
77
		query.ISSN = reference.getIssn();
78
		if(reference.getDatePublished() != null){
79
			query.publicationDate = reference.getDatePublished().toString();
80
		}
81
		query.publicationPlace = reference.getPlacePublished();
82
		query.publisherName = reference.getPublisher();
83
		query.volume = reference.getVolume();
84

    
85
		query.startPage = referenceDetail;
86
	}
87

    
88
	@Override
89
	public void addPages() {
90

    
91
		addPage(new OpenUrlResultPage());
92
		addPage(new OpenUrlReferencePage());
93

    
94
		super.addPages();
95
	}
96

    
97
	@Override
98
	public boolean performFinish() {
99
		return true;
100
	}
101

    
102
	public void setOpenUrlReference(OpenUrlReference openUrlReference) {
103
		this.openUrlReference = openUrlReference;
104
		this.openUrlReferenceImageUri = openUrlReference.getJpegImage(PreferencesUtil.getIntValue(PreferencePredicate.MobotOpenUrlServiceMaxWidth.getKey(), true)
105
				, PreferencesUtil.getIntValue(PreferencePredicate.MobotOpenUrlServiceMaxHeight.getKey(), true));
106
	}
107
	public OpenUrlReference getOpenUrlReference() {
108
		return openUrlReference;
109
	}
110

    
111
	public List<OpenUrlReference> getResult() {
112
		return openUrlServiceWrapper.doResolve(query);
113
	}
114

    
115
	public CdmFormFactory getFormFactory() {
116
		return formFactory;
117
	}
118

    
119
	public MobotOpenUrlServiceWrapper getOpenUrlServiceWrapper() {
120
		return openUrlServiceWrapper;
121
	}
122

    
123
	public URI getOpenUrlReferenceImageUri() {
124
		return openUrlReferenceImageUri;
125
	}
126

    
127
	public Reference getReference() {
128
		return reference;
129
	}
130

    
131
	public String getReferenceDetail() {
132
		return referenceDetail;
133
	}
134
}
(7-7/7)