1 10 11 package org.mmbase.applications.media.filters; 12 13 import org.mmbase.applications.media.urlcomposers.URLComposer; 14 import org.mmbase.applications.media.Format; 15 import java.util.*; 16 import org.mmbase.util.logging.Logger; 17 import org.mmbase.util.logging.Logging; 18 import org.mmbase.util.xml.DocumentReader; 19 import org.w3c.dom.Element ; 20 21 27 public class ClientFormatFilter implements Filter { 28 private static Logger log = Logging.getLoggerInstance(ClientFormatFilter.class); 29 30 public void configure(DocumentReader reader, Element e) { 31 } 33 34 final public List filter(List urlcomposers) { 35 List filteredUrlcomposers = new ArrayList(); 36 37 for (Iterator urlcomposerlist = urlcomposers.iterator();urlcomposerlist.hasNext();) { 38 URLComposer urlcomposer = (URLComposer)urlcomposerlist.next(); 39 40 Object format = urlcomposer.getInfo().get("format"); 41 if (log.isDebugEnabled()) { 42 log.debug("Client specified format = " + format); 43 } 44 45 if(format==null) { 46 if (log.isDebugEnabled()) { 47 log.debug("Client did not specify format."); 48 } 49 return urlcomposers; 50 } 51 52 if( format instanceof List) { 53 if( ((List)format).size()==0 ) { 54 if (log.isDebugEnabled()) { 55 log.debug("Client did not specify format."); 56 } 57 return urlcomposers; 58 } 59 } 60 61 if (format instanceof Format) { 62 if (format == urlcomposer.getFormat()) filteredUrlcomposers.add(urlcomposer); 63 } else if (format instanceof String ) { 64 if (Format.get(""+format) == urlcomposer.getFormat()) filteredUrlcomposers.add(urlcomposer); 65 } else if (format instanceof List) { 66 List formatList = (List) format; 68 if(formatList.contains(urlcomposer.getFormat().toString())) { 69 filteredUrlcomposers.add(urlcomposer); 70 } 71 } 72 } 73 if (log.isDebugEnabled()) { 74 log.debug("filteredUrlcomposers = "+filteredUrlcomposers); 75 } 76 return filteredUrlcomposers; 77 } 78 } 79 | Popular Tags |