package org.dcache.srm.qos; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.dcache.srm.SRM; import org.dcache.srm.util.Configuration; public class QOSPluginFactory { private static final Logger logger = LoggerFactory.getLogger(QOSPluginFactory.class); public static QOSPlugin createInstance(SRM srm) { Configuration configuration = srm.getConfiguration(); QOSPlugin qosPlugin = null; String qosPluginClass = configuration.getQosPluginClass(); if (qosPluginClass != null) { try { Class<? extends QOSPlugin> pluginClass = Thread.currentThread().getContextClassLoader().loadClass( qosPluginClass).asSubclass(QOSPlugin.class); qosPlugin = pluginClass.newInstance(); qosPlugin.setSrm(srm); logger.debug("Created new qos plugin of type " + qosPluginClass); } catch (Exception e) { logger.error("Could not create class " + qosPluginClass, e); } } return qosPlugin; } }