X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=inline;f=source%2Fmircoders%2Fsearch%2FVideoSearchTerm.java;h=c754e54bb84edbd2bd99e5849043b8f046b331c0;hb=95c2e3a74f492f6f61d4dbe8bb47996f43af0627;hp=3aff97603c7f50fd31b2a67969c94ec92a80d03b;hpb=60b6a064d662b992ef3c55487bb7f1e8542d5b19;p=mir.git diff --git a/source/mircoders/search/VideoSearchTerm.java b/source/mircoders/search/VideoSearchTerm.java index 3aff9760..c754e54b 100755 --- a/source/mircoders/search/VideoSearchTerm.java +++ b/source/mircoders/search/VideoSearchTerm.java @@ -29,15 +29,22 @@ */ package mircoders.search; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + import mir.entity.Entity; -import mir.entity.EntityList; -import mir.storage.StorageObjectFailure; -import mircoders.entity.EntityContent; -import mircoders.storage.DatabaseContentToMedia; +import mir.entity.EntityBrowser; +import mir.storage.DatabaseFailure; +import mircoders.storage.DatabaseVideo; + import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; -import java.util.Map; -import javax.servlet.http.HttpServletRequest; + + public class VideoSearchTerm extends SearchTerm { @@ -45,10 +52,16 @@ public class VideoSearchTerm extends SearchTerm { super(null, "search_hasVideo", "hasVideo", null, "hasVideo"); } - public void index(Document doc, Entity entity) throws StorageObjectFailure { - EntityList video = DatabaseContentToMedia.getInstance().getVideo((EntityContent) entity); + public void index(Document doc, Entity entity) throws DatabaseFailure { + List extraTables = new ArrayList(); + extraTables.add("content_x_media cxm"); + + Iterator videos = new EntityBrowser( + DatabaseVideo.getInstance(), "i", extraTables, + "cxm.content_id="+entity.getId()+"and cxm.media_id=i.id", + "i.id desc", 30, -1, 0); - if ((video != null) && (video.size() > 0)) { + if ((videos != null) && (videos.hasNext())) { doc.add(Field.Keyword(matchField, "y")); } } @@ -58,9 +71,8 @@ public class VideoSearchTerm extends SearchTerm { if ((wanted != null) && wanted.equals("y")) { return matchField + ":" + "\"" + wanted + "\""; - } else { - return null; } + return null; } public void returnMeta(Map result, Document doc) {