1 10 11 package org.mmbase.applications.media.builders; 12 13 import org.mmbase.module.core.MMObjectNode; 14 import org.mmbase.applications.media.urlcomposers.URLComposerFactory; 15 import org.mmbase.module.core.*; 16 import org.mmbase.util.logging.*; 17 import java.util.*; 18 import java.lang.reflect.Method ; 19 20 29 public class MediaProviders extends MMObjectBuilder { 30 private static Logger log = Logging.getLoggerInstance(MediaProviders.class); 31 32 public final static int STATE_ON = 1; 33 public final static int STATE_OFF = 2; 34 35 private URLComposerFactory urlComposerFactory; 36 37 public boolean init() { 38 if (super.init()) { 39 try { 40 String clazz = getInitParameter("URLComposerFactory"); 41 if (clazz == null) clazz = "org.mmbase.applications.media.urlcomposers.URLComposerFactory"; 42 Method m = Class.forName(clazz).getMethod("getInstance", (Class [])null); 43 urlComposerFactory = (URLComposerFactory) m.invoke(null, (Object [])null); 44 return true; 45 } catch (Exception e) { 46 log.error("Could not get URLComposerFactory because: " + e.toString()); 47 return false; 48 } 49 } 50 return false; 51 52 } 53 54 55 59 60 protected List getURLs(MMObjectNode provider, MMObjectNode source, MMObjectNode fragment, Map info, List urls, Set cacheExpireObjects) { 61 return urlComposerFactory.createURLComposers(provider, source, fragment, info, urls, cacheExpireObjects); 62 } 63 64 protected Object executeFunction(MMObjectNode node, String function, List args) { 65 if (log.isDebugEnabled()) { 66 log.debug("Executing function " + function + " on node " + node.getNumber() + " with argument " + args); 67 } 68 69 if (function.equals("info")) { 70 List empty = new ArrayList(); 71 Map info = (Map) super.executeFunction(node, "info", empty); 72 if (args == null || args.size() == 0) { 73 return info; 74 } else { 75 return info.get(args.get(0)); 76 } 77 } 78 return super.executeFunction(node, function, args); 79 } 80 } 81 | Popular Tags |