+
+ public TemplateModel get(java.lang.String key) throws TemplateModelException {
+ if (key.equals("url"))
+ return getUrl();
+ return new SimpleScalar(getValue(key));
+ }
+
+ // @todo all these methods should be merged into 1
+ // and the MediaHandler should be cached somehow.
+ private String getMediaTypeString() {
+ MirMedia mediaHandler = null;
+ Entity mediaType = null;
+
+ try {
+ mediaType = getMediaType();
+ mediaHandler = MediaHelper.getHandler(mediaType);
+ String t;
+ if (mediaHandler.isAudio())
+ return "audio";
+ else if (mediaHandler.isImage())
+ return "image";
+ else if (mediaHandler.isVideo())
+ return "video";
+ else
+ return "other";
+ }
+ catch (Exception ex) {
+ theLog.printWarning("-- getMediaTypeString: could not fetch data "
+ + this.getClass().toString() + " " + ex.toString());
+ }
+ return null;
+ }
+
+ private String getBigIconName() {
+ MirMedia mediaHandler = null;
+ Entity mediaType = null;
+
+ try {
+ mediaType = getMediaType();
+ mediaHandler = MediaHelper.getHandler(mediaType);
+ return mediaHandler.getBigIconName();
+ }
+ catch (Exception ex) {
+ theLog.printWarning("-- getBigIconName: could not fetch data "
+ + this.getClass().toString() + " " + ex.toString());
+ }
+ return null;
+ }
+
+ private SimpleList getUrl() {
+ MirMedia mediaHandler = null;
+ Entity mediaType = null;
+
+ try {
+ mediaType = getMediaType();
+ mediaHandler = MediaHelper.getHandler(mediaType);
+ return mediaHandler.getURL(this, mediaType);
+ }
+ catch (Exception ex) {
+ theLog.printWarning("-- getUrl: could not fetch data "
+ + this.getClass().toString() + " " + ex.toString());
+ }
+ return null;
+ }
+
+ private String getDescr() {
+ MirMedia mediaHandler = null;
+ Entity mediaType = null;
+
+ try {
+ mediaType = getMediaType();
+ mediaHandler = MediaHelper.getHandler(mediaType);
+ return mediaHandler.getDescr(mediaType);
+ }
+ catch (Exception ex) {
+ theLog.printWarning("-- getDescr: could not fetch data "
+ + this.getClass().toString() + " " + ex.toString());
+ }
+ return null;
+ }
+ private String getMimeType() {
+ Entity mediaType = null;
+
+ try {
+ mediaType = getMediaType();
+ return mediaType.getValue("mime_type");
+ }
+ catch (Exception ex) {
+ theLog.printWarning("-- getBigIconName: could not fetch data "
+ + this.getClass().toString() + " " + ex.toString());
+ }
+ return null;
+ }
+