/**
 * ExtendedSubProcessResolver.java
 * Created Dec 11, 2007
 * Copyright (c) TANDBERG Television 2007
 */
package com.tandbergtv.workflow.driver.template;

import org.dom4j.Element;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.node.SubProcessResolver;

import com.tandbergtv.workflow.core.service.ServiceRegistry;
import com.tandbergtv.workflow.driver.service.ITemplateLoaderService;

/**
 * Looks up a template to use based on the name
 * 
 * @author Sahil Verma
 */
public class ExtendedSubProcessResolver implements SubProcessResolver {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6039029653900909797L;

	/* (non-Javadoc)
	 * @see org.jbpm.graph.node.SubProcessResolver#findSubProcess(org.dom4j.Element)
	 */
	public ProcessDefinition findSubProcess(Element e) {
		ITemplateLoaderService service = ServiceRegistry.getDefault().lookup(ITemplateLoaderService.class);
	    String name = e.attributeValue("name");
	    //String version = e.attributeValue("version");
	    
	    return service.getTemplateByName(name);
	}
}
