diff --git a/akka-fun-test-java/pom.xml b/akka-fun-test-java/pom.xml
index 7d3aac2219..7b5e829220 100644
--- a/akka-fun-test-java/pom.xml
+++ b/akka-fun-test-java/pom.xml
@@ -29,25 +29,25 @@
com.sun.jersey
jersey-server
- 1.1.2-ea
+ 1.1.3-ea
test
com.sun.jersey
jersey-json
- 1.1.2-ea
+ 1.1.3-ea
test
com.sun.jersey
jersey-client
- 1.1.2-ea
+ 1.1.3-ea
test
com.sun.jersey
jersey-atom
- 1.1.2-ea
+ 1.1.3-ea
test
diff --git a/akka-kernel/pom.xml b/akka-kernel/pom.xml
index 46c755e5c7..a3e55fec80 100644
--- a/akka-kernel/pom.xml
+++ b/akka-kernel/pom.xml
@@ -202,17 +202,17 @@
com.sun.jersey
jersey-core
- 1.1.2-ea
+ 1.1.3-ea
com.sun.jersey
jersey-server
- 1.1.2-ea
+ 1.1.3-ea
com.sun.jersey
jersey-json
- 1.1.2-ea
+ 1.1.3-ea
javax.ws.rs
@@ -222,7 +222,7 @@
com.sun.jersey.contribs
jersey-scala
- 1.1.2-ea-SNAPSHOT
+ 1.1.3-ea
org.atmosphere
diff --git a/akka-kernel/src/main/scala/AkkaServlet.scala b/akka-kernel/src/main/scala/AkkaServlet.scala
index 3b24bd31e0..23cda8140d 100755
--- a/akka-kernel/src/main/scala/AkkaServlet.scala
+++ b/akka-kernel/src/main/scala/AkkaServlet.scala
@@ -14,10 +14,10 @@ import com.sun.jersey.spi.container.WebApplication
import javax.servlet.{ServletConfig}
import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
-import org.atmosphere.cpr.{AtmosphereServletProcessor, AtmosphereEvent}
+import org.atmosphere.cpr.{AtmosphereServletProcessor, AtmosphereResource, AtmosphereResourceEvent}
import org.atmosphere.cpr.AtmosphereServlet.AtmosphereHandlerWrapper
import org.atmosphere.container.GrizzlyCometSupport
-import org.atmosphere.handler.ReflectorServletProcessor
+import org.atmosphere.handler.{ReflectorServletProcessor,AbstractReflectorAtmosphereHandler}
import org.atmosphere.core.{JerseyBroadcaster}
import java.net.URLClassLoader
@@ -28,61 +28,46 @@ import scala.collection.jcl.Conversions._
/**
* @author Jonas Bonér
*/
-class AkkaServlet extends ServletContainer with AtmosphereServletProcessor with Logging {
+class AkkaServlet extends ServletContainer with Logging {
- override def initiate(rc: ResourceConfig, wa: WebApplication) = {
- akka.Kernel.boot // will boot if not already booted by 'main'
- val configurators = ConfiguratorRepository.getConfigurators
+ override def initiate(rc: ResourceConfig, wa: WebApplication) = {
+ akka.Kernel.boot // will boot if not already booted by 'main'
+ val configurators = ConfiguratorRepository.getConfigurators
- rc.getClasses.addAll(configurators.flatMap(_.getComponentInterfaces))
- rc.getProperties.put("com.sun.jersey.spi.container.ResourceFilters", akka.Config.config.getString("akka.rest.filters").getOrElse(""))
+ rc.getClasses.addAll(configurators.flatMap(_.getComponentInterfaces))
+ rc.getProperties.put("com.sun.jersey.spi.container.ResourceFilters", akka.Config.config.getString("akka.rest.filters").getOrElse(""))
- wa.initiate(rc, new ActorComponentProviderFactory(configurators))
- }
-
- // Borrowed from AbstractReflectorAtmosphereHandler
- override def onMessage(event: AtmosphereEvent[HttpServletRequest, HttpServletResponse]): AtmosphereEvent[_, _] = {
-
- val response = event.getResponse
- val data = if(event.getMessage ne null ) event.getMessage.toString else null
- val isUsingStream = try {
- response.getWriter
- false
- } catch { case e: IllegalStateException => true }
-
- if (isUsingStream)
- {
- if (data != null)
- response.getOutputStream.write(data.getBytes)
- response.getOutputStream.flush
+ wa.initiate(rc, new ActorComponentProviderFactory(configurators))
}
- else
- {
- if (data != null)
- response.getWriter.write(data)
- response.getWriter.flush
- }
-
- event
- }
-
- override def onEvent(event: AtmosphereEvent[HttpServletRequest, HttpServletResponse]): AtmosphereEvent[_, _] = {
- event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_EVENT, event)
- event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_HANDLER, this)
- service(event.getRequest, event.getResponse)
- event
- }
}
class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet {
- override def init(sconf: ServletConfig) = {
- val servlet = new AkkaServlet
- config = new AtmosphereConfig { ah = servlet }
- atmosphereHandlers.put("/*", new AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster))
- setCometSupport(new GrizzlyCometSupport(config))
- getCometSupport.init(sconf)
- servlet.init(sconf)
- }
+ override def init(sconf: ServletConfig) = {
+ val servlet = new AkkaServlet with AtmosphereServletProcessor {
- override def loadAtmosphereDotXml(is: InputStream, urlc: URLClassLoader) = () //Hide it
+ //Delegate to implement the behavior for AtmosphereHandler
+ private val handler = new AbstractReflectorAtmosphereHandler {
+ override def onRequest(event: AtmosphereResource[HttpServletRequest, HttpServletResponse]) : Unit = {
+ event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_RESOURCE, event)
+ event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_HANDLER, this)
+ service(event.getRequest, event.getResponse)
+ }
+ }
+
+ override def onStateChange(event : AtmosphereResourceEvent[HttpServletRequest, HttpServletResponse] ) {
+ handler onStateChange event
+ }
+
+ override def onRequest(resource: AtmosphereResource[HttpServletRequest, HttpServletResponse]) {
+ handler onRequest resource
+ }
+ }
+ config = new AtmosphereConfig { ah = servlet }
+ atmosphereHandlers.put("/*", new AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster))
+ setCometSupport(new GrizzlyCometSupport(config))
+ getCometSupport.init(sconf)
+ servlet.init(sconf)
+ }
+
+ override def loadAtmosphereDotXml(is: InputStream, urlc: URLClassLoader) = () //Hide it
}
diff --git a/akka-rest/pom.xml b/akka-rest/pom.xml
index c3c3c5a04c..d72a32ef33 100644
--- a/akka-rest/pom.xml
+++ b/akka-rest/pom.xml
@@ -37,17 +37,17 @@
com.sun.jersey
jersey-core
- 1.1.2-ea
+ 1.1.3-ea
com.sun.jersey
jersey-server
- 1.1.2-ea
+ 1.1.3-ea
com.sun.jersey
jersey-json
- 1.1.2-ea
+ 1.1.3-ea
javax.ws.rs
@@ -57,7 +57,7 @@
com.sun.jersey.contribs
jersey-scala
- 1.1.2-ea-SNAPSHOT
+ 1.1.3-ea
org.atmosphere
diff --git a/akka-security/pom.xml b/akka-security/pom.xml
index 088d6fa85b..1a3e831dc9 100644
--- a/akka-security/pom.xml
+++ b/akka-security/pom.xml
@@ -48,7 +48,7 @@
com.sun.jersey
jersey-server
- 1.1.2-ea
+ 1.1.3-ea
javax.ws.rs
diff --git a/config/akka-reference.conf b/config/akka-reference.conf
index cabe677c11..97eb216cad 100644
--- a/config/akka-reference.conf
+++ b/config/akka-reference.conf
@@ -44,7 +44,7 @@
service = on
hostname = "localhost"
port = 9998
- filters = "se.scalablesolutions.akka.security.AkkaSecurityFilterFactory;org.atmosphere.core.AtmosphereFilter"
+ filters = "se.scalablesolutions.akka.security.AkkaSecurityFilterFactory"
authenticator = "sample.secure.SimpleAuthenticationService"