/*
* Created on Aug 16, 2005
*/
package org.openedit.entermedia.scanner;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openedit.entermedia.CatalogConverter;
import org.openedit.entermedia.ConvertStatus;
import org.openedit.entermedia.MediaArchive;
import com.openedit.ModuleManager;
//TODO: Make it implement an Interface
public class CompositeConverter extends CatalogConverter
{
List fiedlCatalogImportConverters;
ModuleManager fieldModuleManager;
private static final Log log = LogFactory.getLog(CompositeConverter.class);
public void importAssets(MediaArchive inStore, ConvertStatus inLog) throws Exception
{
//boolean converted = false;
//TODO: Check properties file
for ( Iterator iter = getCatalogConverters().iterator(); iter.hasNext(); )
{
String name = (String)iter.next();
if( getModuleManager().contains( name ) )
{
CatalogConverter converter = null;
try
{
inLog.add("Starting converter: " + name );
converter = (CatalogConverter)getModuleManager().getBean(name);
converter.setModuleManager(getModuleManager()); //TODO: Do in Spring
}
catch ( Exception ex)
{
inLog.add("Could not load converter " + name + " " + ex);
log.info("Could not load converter " + name + " " + ex);
continue;
}
converter.importAssets(inStore, inLog);
}
else
{
log.info("Bean not found " + name);
}
}
}
public List getCatalogConverters()
{
return fiedlCatalogImportConverters;
}
public void setCatalogConverters(List inFiedlCatalogImportConverters)
{
fiedlCatalogImportConverters = inFiedlCatalogImportConverters;
}
public ModuleManager getModuleManager()
{
return fieldModuleManager;
}
public void setModuleManager(ModuleManager inModuleManager)
{
fieldModuleManager = inModuleManager;
}
}