diff options
| author | guest <guest@f059d3a0-6783-47b7-97ff-1fe0bbf25129> | 2008-09-24 20:38:37 +0000 |
|---|---|---|
| committer | guest <guest@f059d3a0-6783-47b7-97ff-1fe0bbf25129> | 2008-09-24 20:38:37 +0000 |
| commit | ab841adc06acd2a6ff161ea866579674ce5ff99e (patch) | |
| tree | b65d8a9028848e4d777bc6fbe777b7adda4b4fbc /src/YalpServer/InputPluginHandler.java | |
| parent | f6825ebc115029fcf575033748e3372efb94c87d (diff) | |
added YalpServer InputPluginHandling (incomplete)
git-svn-id: http://manut.eu/svn/yalp/trunk@5 f059d3a0-6783-47b7-97ff-1fe0bbf25129
Diffstat (limited to 'src/YalpServer/InputPluginHandler.java')
| -rw-r--r-- | src/YalpServer/InputPluginHandler.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/YalpServer/InputPluginHandler.java b/src/YalpServer/InputPluginHandler.java new file mode 100644 index 0000000..746204a --- /dev/null +++ b/src/YalpServer/InputPluginHandler.java @@ -0,0 +1,48 @@ +package YalpServer; + +import java.util.ArrayList; + +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; + +import YalpInterfaces.*; + +public class InputPluginHandler { + + private ArrayList<InputPlugin> plugins; + private static int inputIds = 0; + + private String log4jFile = "log4j_server.conf"; + + private static Logger logger = + Logger.getLogger("Yalp.Server.InputPluginHandler"); + + public InputPluginHandler() { + PropertyConfigurator.configureAndWatch(log4jFile); + logger.debug("InputPluginHandler()"); + plugins = new ArrayList<InputPlugin>(); + } + + public PluginInfo addPlugin(InputPlugin plugin) + { + logger.debug("addPlugin("+plugin.info.name+")"); + plugin.info.id = inputIds++; + plugins.add(plugin); + return plugin.info; + } + + /* + * @todo maybe each request in own thread + * timeouts, maximum number of results ... + */ + + public void search( String str, MediaType[] types, MediasHolder result, + YalpErrorHolder err ) { + logger.debug("search("+str+")"); + for( InputPlugin plugin : plugins ) { + logger.debug("search for: \""+str+"\" @ plugin: "+plugin.info.name); + plugin.itf.search(str, types, result, err); + } + + } +} |
