- SimpleHash returnHash = new SimpleHash();
- //media to content
- EntityList currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(this);
- if (currentMediaList!=null && currentMediaList.getCount()>=1) {
- SimpleList mediaListAudio = new SimpleList();
- SimpleList mediaListImages = new SimpleList();
- SimpleList mediaListVideo = new SimpleList();
- SimpleList mediaListOther = new SimpleList();
- EntityMedia upMedia;
- Entity mediaType;
- SimpleHash upMediaSimpleHash;
- Class mediaHandlerClass=null,mediaStorageClass;
- MirMedia mediaHandler=null;
- String mediaHandlerName=null,mediaStorageName;
- Database mediaStorage=null;
-
- for (int n=0; n < currentMediaList.size();n++) {
- upMedia = (EntityMedia)currentMediaList.elementAt(n);
- upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
- mediaType = upMedia.getMediaType();
- //must be a non-existant to_media_type entry..
- if (mediaType != null) {
- mediaHandlerName = mediaType.getValue("classname");
- mediaStorageName = mediaType.getValue("tablename");
- try {
- mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
- mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
- mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
- Method m = mediaStorageClass.getMethod("getInstance", null);
- mediaStorage = (Database)m.invoke(null, null);
- }
- catch (Exception ex) {
- throw new TemplateModelException(ex.toString());
- }
-
- //we most likely need further info
- upMedia = (EntityMedia)mediaStorage.selectById(upMedia.getId());
- try {
- upMediaSimpleHash.put("url", mediaHandler.getListView(upMedia, mediaType));
- }
- catch (Exception ex) {
- throw new TemplateModelException(ex.toString());
- }
-
- // putting media in the apropriate list container
- if (upMedia.getValue("is_published").equals("1")) {
- if (mediaHandler.isImage()) {
- mediaListImages.add(upMediaSimpleHash);
- } else if (mediaHandler.isAudio()) {
- mediaListAudio.add(upMediaSimpleHash);
- } else if (mediaHandler.isVideo()) {
- mediaListVideo.add(upMediaSimpleHash);
- } else {
- mediaListOther.add(upMediaSimpleHash);
- }
- } //end if is_published
- } //end if media_type != null
- } //end for
- returnHash.put("to_media_audio", mediaListAudio);
- returnHash.put("to_media_images", mediaListImages);
- returnHash.put("to_media_video", mediaListVideo);
- returnHash.put("to_media_other", mediaListOther);
- } //end if currentMediaList != null
- return returnHash;
- }