25 lines
No EOL
894 B
Scala
25 lines
No EOL
894 B
Scala
/**
|
|
* Copyright (C) 2009 Scalable Solutions.
|
|
*/
|
|
|
|
package se.scalablesolutions.akka.kernel.jersey
|
|
|
|
import kernel.Kernel
|
|
import util.Logging
|
|
import javax.ws.rs.core.Context
|
|
|
|
import com.sun.jersey.core.spi.component.ioc.{IoCComponentProvider,IoCComponentProviderFactory}
|
|
import com.sun.jersey.core.spi.component.{ComponentContext}
|
|
|
|
import config.Configurator
|
|
|
|
|
|
class ActorComponentProviderFactory(val configurators: List[Configurator])
|
|
extends IoCComponentProviderFactory with Logging {
|
|
override def getComponentProvider(clazz: Class[_]): IoCComponentProvider = getComponentProvider(null, clazz)
|
|
|
|
override def getComponentProvider(context: ComponentContext, clazz: Class[_]): IoCComponentProvider = {
|
|
//log.info("ProviderFactory: resolve => " + clazz.getName)
|
|
configurators.find(_.isDefined(clazz)).map(_ => new ActorComponentProvider(clazz, configurators)).getOrElse(null)
|
|
}
|
|
} |