[larm-cvs] larm/src/java/larm/pipes PipelineManager.java,NONE,1.1
Brought to you by:
cmarschner,
otis
|
From: <ot...@us...> - 2003-07-29 15:10:43
|
Update of /cvsroot/larm/larm/src/java/larm/pipes
In directory sc8-pr-cvs1:/tmp/cvs-serv23663/src/java/larm/pipes
Added Files:
PipelineManager.java
Log Message:
- Initial checkin.
--- NEW FILE: PipelineManager.java ---
/*
* Created on 30.06.2003 by Administrator
*
* $Id: PipelineManager.java,v 1.1 2003/07/29 15:10:40 otis Exp $
*/
package larm.pipes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.logging.Logger;
import larm.framework.Lifecycle;
import larm.framework.Startable;
import larm.framework.config.ConfigList;
import larm.framework.config.Configurable;
import larm.framework.config.Configuration;
import larm.framework.pipes.NonblockingPipeline;
import larm.framework.pipes.Pipeline;
/**
* PipelineManager
*
* @author Administrator
* 30.06.2003
*/
public class PipelineManager implements Configurable, Startable
{
static Logger log = Logger.getLogger(PipelineManager.class.getName());
HashMap pipes = new HashMap();
public Pipeline getPipeline(String name)
{
return (Pipeline)pipes.get(name);
}
/**
* @see larm.config.Configurable#configure(larm.config.Configuration)
*/
public void configure(Configuration conf)
{
ConfigList list = conf.getSubConfigList("nonblockingPipeline | blockingPipeline");
for(int i = 0; i<list.length(); i++)
{
Configuration c = list.item(i);
String type = c.getProperty("name()");
String name = c.getProperty("@name");
log.info("found pipe of type " + type + " with name " + name);
if("nonBlockingPipeline".equals(type))
{
NonblockingPipeline p = new NonblockingPipeline();
Lifecycle.configure(p, c);
pipes.put(name, p);
}
else if("blockingPipeline".equals(type))
{
NonblockingPipeline p = new NonblockingPipeline();
Lifecycle.configure(p, c);
pipes.put(name, p);
}
else
{
assert false;
}
}
if(list.length() == 0)
{
log.info("no pipelines to register");
}
}
/**
* @see larm.framework.Startable#start()
*/
public void start()
{
for(Iterator it = pipes.values().iterator(); it.hasNext();)
{
Lifecycle.start(it.next());
}
}
}
|