Revision d31115e0
Added by Niels Hoffmann over 13 years ago
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/supplemental/ImageFileElement.java | ||
---|---|---|
15 | 15 |
import java.net.URISyntaxException; |
16 | 16 |
|
17 | 17 |
import org.apache.commons.io.FileUtils; |
18 |
import org.apache.log4j.Logger; |
|
19 | 18 |
import org.eclipse.swt.events.SelectionListener; |
20 | 19 |
|
21 | 20 |
import eu.etaxonomy.cdm.common.mediaMetaData.ImageMetaData; |
... | ... | |
24 | 23 |
import eu.etaxonomy.taxeditor.forms.AbstractFormSection; |
25 | 24 |
import eu.etaxonomy.taxeditor.forms.CdmFormFactory; |
26 | 25 |
import eu.etaxonomy.taxeditor.forms.ICdmFormElement; |
27 |
import eu.etaxonomy.taxeditor.forms.BrowserElement; |
|
28 | 26 |
import eu.etaxonomy.taxeditor.forms.ImageElement; |
29 |
import eu.etaxonomy.taxeditor.forms.NumberWithLabelElement; |
|
30 | 27 |
import eu.etaxonomy.taxeditor.forms.KeyValueViewerElement; |
28 |
import eu.etaxonomy.taxeditor.forms.NumberWithLabelElement; |
|
31 | 29 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
32 | 30 |
|
33 | 31 |
/** |
... | ... | |
41 | 39 |
|
42 | 40 |
private NumberWithLabelElement text_height; |
43 | 41 |
private NumberWithLabelElement text_width; |
44 |
private BrowserElement element_browser; |
|
45 | 42 |
private KeyValueViewerElement element_keyValue; |
46 | 43 |
private ImageElement element_image; |
47 | 44 |
|
... | ... | |
69 | 66 |
text_height.setEnabled(false); |
70 | 67 |
text_width = formFactory.createIntegerTextWithLabelElement(formElement, "Width", null, style); |
71 | 68 |
text_width.setEnabled(false); |
72 |
// element_browser = formFactory.createBrowserElement(formElement, null, style); |
|
73 | 69 |
element_image = formFactory.createImageElement(formElement, null, style); |
74 | 70 |
|
75 | 71 |
element_keyValue = formFactory.createKeyValueViewerElement(formElement, "Key", "Value", null); |
... | ... | |
79 | 75 |
@Override |
80 | 76 |
public void setEntity(ImageFile entity) { |
81 | 77 |
this.entity = entity; |
82 |
text_uri.setText(entity.getUri()); |
|
78 |
if(entity.getUri() != null){ |
|
79 |
text_uri.setText(entity.getUri().toString()); |
|
80 |
} |
|
83 | 81 |
if(entity.getSize() != null){ |
84 | 82 |
text_size.setText(FileUtils.byteCountToDisplaySize(entity.getSize())); |
85 | 83 |
} |
86 | 84 |
text_height.setInteger(entity.getHeight()); |
87 | 85 |
text_width.setInteger(entity.getWidth()); |
88 |
|
|
86 |
|
|
89 | 87 |
showImage(entity.getUri()); |
90 | 88 |
} |
91 | 89 |
|
92 |
private void showImage(String uriString){
|
|
93 |
if(uriString == null){
|
|
90 |
private void showImage(URI uri){
|
|
91 |
if(uri == null){ |
|
94 | 92 |
return; |
95 | 93 |
} |
96 | 94 |
try { |
97 |
URI imageUri = new URI(uriString); |
|
98 | 95 |
|
99 |
Integer size = CdmStore.getMediaService().getImageSize(imageUri, 10000);
|
|
96 |
Integer size = CdmStore.getMediaService().getImageSize(uri, 10000);
|
|
100 | 97 |
|
101 | 98 |
if(size != null){ |
102 | 99 |
text_size.setText(FileUtils.byteCountToDisplaySize(size)); |
... | ... | |
107 | 104 |
ImageMetaData imageInfo; |
108 | 105 |
try { |
109 | 106 |
|
110 |
imageInfo = CdmStore.getMediaService().getImageInfo(imageUri, 10000);
|
|
107 |
imageInfo = CdmStore.getMediaService().getImageInfo(uri, 10000);
|
|
111 | 108 |
|
112 | 109 |
text_height.setInteger(imageInfo.getHeight()); |
113 | 110 |
getEntity().setHeight(imageInfo.getHeight()); |
... | ... | |
116 | 113 |
getEntity().setWidth(imageInfo.getWidth()); |
117 | 114 |
element_keyValue.setInput(imageInfo.getMetaData()); |
118 | 115 |
|
119 |
// element_browser.setImageUri(imageUri); |
|
120 |
element_image.setImageUri(imageUri); |
|
116 |
element_image.setImageUri(uri); |
|
121 | 117 |
|
122 | 118 |
} catch (IOException e) { |
123 | 119 |
EditorUtil.error(getClass(), e); |
124 | 120 |
} |
125 |
} catch (URISyntaxException e) { |
|
126 |
EditorUtil.info("Image Uri is not valid"); |
|
127 |
} catch (Exception e) { |
|
121 |
} catch (Exception e) { |
|
128 | 122 |
EditorUtil.error(getClass(), "Image could not be shown: ", e); |
129 | 123 |
} |
130 | 124 |
} |
... | ... | |
137 | 131 |
@Override |
138 | 132 |
public void handleEvent(Object eventSource) { |
139 | 133 |
if(eventSource == text_uri){ |
140 |
getEntity().setUri(text_uri.getText()); |
|
134 |
try { |
|
135 |
getEntity().setUri(new URI(text_uri.getText())); |
|
136 |
} catch (URISyntaxException e) { |
|
137 |
EditorUtil.warningDialog("Could not parse URI", getClass(), e.getMessage()); |
|
138 |
} |
|
141 | 139 |
showImage(getEntity().getUri()); |
142 | 140 |
} |
143 | 141 |
} |
Also available in: Unified diff
added a readme file