1 package org.objectweb.celtix.bus.resource;2 3 import java.util.logging.Level ;4 import java.util.logging.Logger ;5 import org.objectweb.celtix.Bus;6 import org.objectweb.celtix.BusException;7 import org.objectweb.celtix.common.logging.LogUtils;8 import org.objectweb.celtix.configuration.Configuration;9 import org.objectweb.celtix.configuration.types.StringListType;10 import org.objectweb.celtix.resource.DefaultResourceManager;11 import org.objectweb.celtix.resource.ResourceResolver;12 13 14 public class ResourceManagerImpl extends DefaultResourceManager {15 16 private static final Logger LOG = LogUtils.getL7dLogger(ResourceManagerImpl.class);17 18 public ResourceManagerImpl() {19 super();20 }21 public ResourceManagerImpl(Bus bus) throws BusException { 22 super();23 resolvers.clear();24 25 Configuration conf = bus.getConfiguration(); 26 assert null != conf;27 Object obj = conf.getObject("resourceResolvers");28 assert null != obj;29 30 try { 31 for (String className : ((StringListType)obj).getItem()) { 32 if (LOG.isLoggable(Level.FINE)) { 33 LOG.finest("attempting to load resolver " + className);34 }35 36 Class <? extends ResourceResolver> clz = getClass().getClassLoader().loadClass(className)37 .asSubclass(ResourceResolver.class);38 39 ResourceResolver rr = clz.newInstance();40 resolvers.add(rr);41 } 42 } catch (Exception ex) { 43 throw new BusException(ex);44 } 45 } 46 47 }48