X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fproducer%2FProducerStartPage.java;h=3ea6e418090df3cdf9c98145be04c8162cd432dc;hb=bc21f0a64104912239bed0fbdfe5cf7a5296241c;hp=93b4ff610e706d713d44d0e0ae767a0780f765d5;hpb=fb1b3b9d679db079649db8666fb4164f7833e2d5;p=mir.git diff --git a/source/mircoders/producer/ProducerStartPage.java b/source/mircoders/producer/ProducerStartPage.java index 93b4ff61..3ea6e418 100755 --- a/source/mircoders/producer/ProducerStartPage.java +++ b/source/mircoders/producer/ProducerStartPage.java @@ -82,28 +82,24 @@ public class ProducerStartPage extends Producer { SimpleList mediaList; SimpleHash contentHash; - // get the topiclist - entityList = topicsModule.getByWhereClause("","title",-1); - SimpleList topicList = HTMLTemplateProcessor.makeSimpleList(entityList); - // get the imclinks + /** @todo don't we want to preproduce and include the imcs? */ entityList = linksImcsModule.getByWhereClause("", "sortpriority, title", -1); SimpleList imcList = HTMLTemplateProcessor.makeSimpleList(entityList); - EntityList theParentList = linksImcsModule.getByWhereClause("to_parent_id=NULL", "sortpriority, title", -1); SimpleList parentList = HTMLTemplateProcessor.makeSimpleList(theParentList); // get the newswire + /** @todo same with newswire, should be fetched via moduleContent.getNewswire() */ whereClause="is_published=true AND to_article_type = 1"; entityList = contentModule.getContent(whereClause,"date desc, webdb_create desc",0,newsPerPage); SimpleList newsWireList = HTMLTemplateProcessor.makeSimpleList(entityList); for (int i=0; i < entityList.size();i++) { currentContent = (EntityContent)entityList.elementAt(i); try { + /** @todo all this should be done inside EntityContent and on demand */ //fetching/setting the images - theLog.printDebugInfo("############### getting medialist"); upMediaEntityList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent); - theLog.printDebugInfo("############### got medialist"); if (upMediaEntityList!=null && upMediaEntityList.getCount()>=1) { tinyIcon = null; iconAlt = null; @@ -156,8 +152,10 @@ public class ProducerStartPage extends Producer { theLog.printError("Producer.StartPage error id: " + currentContent.getId() + ", skipping"+e.toString()); } } + theLog.printDebugInfo("############### got newswire"); // get the startarticle and the related images + /** @todo this should move to moduleContent.getStartArticle */ whereClause="is_published=true AND to_article_type=4"; entityList = contentModule.getContent(whereClause,"date desc, webdb_create desc",0,1); //if no startspecial exists @@ -172,6 +170,7 @@ public class ProducerStartPage extends Producer { //media to content currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent); contentHash = (SimpleHash)startItemList.get(k); + /** @todo this should move to Entity */ if (currentMediaList!=null && currentMediaList.getCount()>=1) { SimpleList mediaListAudio = new SimpleList(); SimpleList mediaListImages = new SimpleList(); @@ -193,7 +192,7 @@ public class ProducerStartPage extends Producer { //we most likely need further info upMedia = mediaStorage.selectById(upMedia.getId()); upMediaSimpleHash.put("url", mediaHandler.getListView(upMedia, mediaType)); - if (upMedia.getValue("is_published") == "1") { + if (upMedia.getValue("is_published").equals("1")) { if (mediaHandler.isImage()) { mediaListImages.add(upMediaSimpleHash); } else if (mediaHandler.isAudio()) { @@ -225,14 +224,18 @@ public class ProducerStartPage extends Producer { } } //enf for featurueList.size.. + theLog.printDebugInfo("############### got startitems"); + // get the breaking news // only the first 5 // todo: the number of breaking_news items have to be configurable ModuleBreaking breakingModule = new ModuleBreaking(DatabaseBreaking.getInstance()); entityList = breakingModule.getByWhereClause(null,"webdb_create desc",0,5); SimpleList breakingList = HTMLTemplateProcessor.makeSimpleList(entityList); + theLog.printDebugInfo("############### got breaking"); // get the articles + /** @todo moduleContent.getArticles() */ whereClause="is_published=true AND to_article_type=2"; orderBy="date desc, webdb_create desc"; entityList = contentModule.getContent(whereClause, orderBy, 0, itemsPerPage); @@ -242,7 +245,9 @@ public class ProducerStartPage extends Producer { try { //media to content currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent); + theLog.printDebugInfo("############### getting contenthash"); contentHash = (SimpleHash)featureList.get(k); + theLog.printDebugInfo("############### building media lists"); if (currentMediaList!=null && currentMediaList.getCount()>=1) { SimpleList mediaListAudio = new SimpleList(); SimpleList mediaListImages = new SimpleList(); @@ -264,7 +269,8 @@ public class ProducerStartPage extends Producer { //we most likely need further info upMedia = mediaStorage.selectById(upMedia.getId()); upMediaSimpleHash.put("url", mediaHandler.getListView(upMedia, mediaType)); - if (upMedia.getValue("is_published") == "1") { + + if (upMedia.getValue("is_published").equals("1")) { if (mediaHandler.isImage()) { mediaListImages.add(upMediaSimpleHash); } else if (mediaHandler.isAudio()) { @@ -284,23 +290,27 @@ public class ProducerStartPage extends Producer { } //end if currentMediaList != null //convert to html + theLog.printDebugInfo("############### html conversion"); if ( ((SimpleScalar)contentHash.get("is_html")).getAsString().equals("0") ) { SimpleScalar tempScalar = (SimpleScalar)contentHash.get("description"); String temp = StringUtil.createHTML(tempScalar.getAsString(),imageRoot,mailLinkName,extLinkName,intLinkName); temp = StringUtil.decodeHTMLinTags(temp); contentHash.put("description",temp); } - } catch (Exception e) { logHTML(htmlout, "Producer.StartPage error id: " + currentContent.getId() + ", skipping"); theLog.printError("Producer.StartPage error id: " + currentContent.getId() + ", skipping"+e.toString()); } } //enf for featurueList.size.. + theLog.printDebugInfo("############### got featurelist"); + + /** @todo the following should be the only thing left done here. a lot of redundancies are gone then, + * code is more readable, and caching stuff, mass changes, etc. can be done in one spot */ - // Zusaetzlich Informationen + // Additional Information startPageModel = new SimpleHash(); startPageModel.put("breakingnews", breakingList); - startPageModel.put("topics", topicList); + startPageModel.put("topics", topicsModule.getTopicsList()); startPageModel.put("imclist", imcList); startPageModel.put("parentlist", parentList); startPageModel.put("newswire", newsWireList);