import java.io.*;
import java.lang.*;
+import java.lang.reflect.*;
import java.util.*;
import freemarker.template.*;
import mir.misc.*;
+import mir.media.*;
import mir.storage.*;
import mir.module.*;
import mir.entity.*;
HashMap currentContentValues;
SimpleHash imageHash = new SimpleHash();
EntityUsers userEntity=null;
+ Entity mediaType;
+ Entity upMedia;
+ SimpleHash upMediaSimpleHash;
+ Class mediaHandlerClass;
+ Class mediaStorageClass;
+ String mediaStorageName;
+ String mediaHandlerName=null;
+ MirMedia mediaHandler=null;
+ Database mediaStorage=null;
//create the freemarker-model
SimpleHash mergeData = HTMLTemplateProcessor.makeSimpleHash(currentContentValues);
- // get the images
- EntityList currentMedia = DatabaseContentToMedia.getInstance().getImages(currentContent);
- if (currentMedia!=null && currentMedia.getCount()>=1) {
- SimpleList mediaList = HTMLTemplateProcessor.makeSimpleList(currentMedia);
+ // get the uploaded media
+ EntityList currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent);
+ if (currentMediaList!=null && currentMediaList.getCount()>=1) {
+ SimpleList mediaList = new SimpleList();
+ for (int n=0; n < currentMediaList.size();n++) {
+ upMedia = currentMediaList.elementAt(n);
+ upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
+ mediaType = ((EntityUploadedMedia)upMedia).getMediaType();
+ //must be a non-existant to_media_type entry..
+ if (mediaType != null) {
+ try {
+ mediaHandlerName = mediaType.getValue("classname");
+ mediaStorageName = mediaType.getValue("tablename");
+ mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
+ mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
+ mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
+ if(!mediaStorageName.equals(new String("UploadedMedia"))) {
+ Method m = mediaStorageClass.getMethod("getInstance", null);
+ mediaStorage = (Database)m.invoke(null, null);
+ //we most likely need further info
+ upMedia = mediaStorage.selectById(upMedia.getId());
+ }
+ } catch (Exception e) {
+ theLog.printError("ProducerStartpage:problem in reflection: "+mediaHandlerName);
+ } //end catch
+ upMediaSimpleHash.put("url", mediaHandler.getURL(upMedia, mediaType));
+ mediaList.add(upMediaSimpleHash);
+ } //end if media_type != null
+ } //end for
mergeData.put("to_media", mediaList);
- }
+ } //end if currentMediaList != null
// get the comments for the article
mergeData.put("comments", currentContent.getComments());