diff --git a/akka-fun-test-java/pom.xml b/akka-fun-test-java/pom.xml index d61fa17bee..7d3aac2219 100644 --- a/akka-fun-test-java/pom.xml +++ b/akka-fun-test-java/pom.xml @@ -23,31 +23,31 @@ com.sun.grizzly grizzly-servlet-webserver - 1.9.9 + 1.8.6.3 test com.sun.jersey jersey-server - 1.0.3 + 1.1.2-ea test com.sun.jersey jersey-json - 1.0.3 + 1.1.2-ea test com.sun.jersey jersey-client - 1.1.0-ea + 1.1.2-ea test com.sun.jersey jersey-atom - 1.0.3 + 1.1.2-ea test diff --git a/akka-kernel/pom.xml b/akka-kernel/pom.xml index 9cdf9fa53a..191da5282e 100644 --- a/akka-kernel/pom.xml +++ b/akka-kernel/pom.xml @@ -199,20 +199,25 @@ grizzly-comet-webserver 1.8.6.3 + + com.sun.jersey + jersey-core + 1.1.2-ea + com.sun.jersey jersey-server - 1.1.1-ea + 1.1.2-ea com.sun.jersey jersey-json - 1.1.1-ea + 1.1.2-ea javax.ws.rs jsr311-api - 1.0 + 1.1 com.sun.jersey.contribs @@ -222,23 +227,23 @@ org.atmosphere atmosphere-core - 0.3 + 0.4-SNAPSHOT org.atmosphere atmosphere-portable-runtime - 0.3 + 0.4-SNAPSHOT org.atmosphere atmosphere-compat - 0.3 + 0.4-SNAPSHOT - + + + org.apache.maven.plugins + maven-shade-plugin + 1.2.1 + + + install + + shade + + + + + junit:junit + + + + + + + se.scalablesolutions.akka.Kernel + + + + + + maven-antrun-plugin @@ -270,7 +302,9 @@ install - --> + diff --git a/akka-kernel/src/main/scala/AkkaServlet.scala b/akka-kernel/src/main/scala/AkkaServlet.scala index dfb70c3445..3b24bd31e0 100755 --- a/akka-kernel/src/main/scala/AkkaServlet.scala +++ b/akka-kernel/src/main/scala/AkkaServlet.scala @@ -42,21 +42,27 @@ class AkkaServlet extends ServletContainer with AtmosphereServletProcessor with // Borrowed from AbstractReflectorAtmosphereHandler override def onMessage(event: AtmosphereEvent[HttpServletRequest, HttpServletResponse]): AtmosphereEvent[_, _] = { - if (event.getMessage ne null) { - val isUsingStream = try { - event.getResponse.getWriter - false - } catch { case e: IllegalStateException => true } - val data = event.getMessage.toString - if (isUsingStream) { - if (data != null) event.getResponse.getOutputStream.write(data.getBytes) - event.getResponse.getOutputStream.flush - } else { - event.getResponse.getWriter.write(data) - event.getResponse.getWriter.flush - } - } else log.info("Null event message: req[%s] res[%s]", event.getRequest, event.getResponse) + 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 + } + else + { + if (data != null) + response.getWriter.write(data) + response.getWriter.flush + } + event } @@ -72,7 +78,7 @@ 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)) + atmosphereHandlers.put("/*", new AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster)) setCometSupport(new GrizzlyCometSupport(config)) getCometSupport.init(sconf) servlet.init(sconf) diff --git a/akka-rest/pom.xml b/akka-rest/pom.xml index 6408d17d4a..c3c3c5a04c 100644 --- a/akka-rest/pom.xml +++ b/akka-rest/pom.xml @@ -34,20 +34,25 @@ grizzly-comet-webserver 1.8.6.3 + + com.sun.jersey + jersey-core + 1.1.2-ea + com.sun.jersey jersey-server - 1.1.1-ea + 1.1.2-ea com.sun.jersey jersey-json - 1.1.1-ea + 1.1.2-ea javax.ws.rs jsr311-api - 1.0 + 1.1 com.sun.jersey.contribs @@ -57,17 +62,17 @@ org.atmosphere atmosphere-core - 0.3 + 0.4-SNAPSHOT org.atmosphere atmosphere-portable-runtime - 0.3 + 0.4-SNAPSHOT org.atmosphere atmosphere-compat - 0.3 + 0.4-SNAPSHOT diff --git a/akka-samples-scala/src/main/scala/SimpleService.scala b/akka-samples-scala/src/main/scala/SimpleService.scala index 8242f958dc..0f595d2cf5 100644 --- a/akka-samples-scala/src/main/scala/SimpleService.scala +++ b/akka-samples-scala/src/main/scala/SimpleService.scala @@ -10,9 +10,9 @@ import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.util.Logging import javax.ws.rs.core.MultivaluedMap -import javax.ws.rs.{GET, POST, Path, Produces, WebApplicationException, Consumes} +import javax.ws.rs.{GET, POST, Path, QueryParam, Produces, WebApplicationException, Consumes} -import org.atmosphere.core.annotation.{Broadcast, BroadcastFilter => FilterBroadcast, Suspend} +import org.atmosphere.core.annotation.{Broadcast, Suspend} import org.atmosphere.util.XSSHtmlFilter import org.atmosphere.cpr.BroadcastFilter @@ -112,7 +112,6 @@ class Chat extends Actor with Logging { @Suspend @GET @Produces(Array("text/html")) - @FilterBroadcast(Array(classOf[XSSHtmlFilter], classOf[JsonpFilter])) def suspend = override def receive: PartialFunction[Any, Unit] = { @@ -126,17 +125,17 @@ class Chat extends Actor with Logging { case x => log.info("recieve unknown: " + x) } - @Broadcast + @Broadcast(Array(classOf[XSSHtmlFilter], classOf[JsonpFilter])) @Consumes(Array("application/x-www-form-urlencoded")) @POST @Produces(Array("text/html")) - @FilterBroadcast(Array(classOf[XSSHtmlFilter], classOf[JsonpFilter])) def publishMessage(form: MultivaluedMap[String, String]) = (this !! Chat(form.getFirst("name"), form.getFirst("action"), form.getFirst("message"))).getOrElse("System__error") } class JsonpFilter extends BroadcastFilter[String] with Logging { - def filter(m: String) = { + def filter(an: AnyRef) = { + val m = an.toString var name = m var message = "" diff --git a/akka-security/pom.xml b/akka-security/pom.xml index 8862b10f18..088d6fa85b 100644 --- a/akka-security/pom.xml +++ b/akka-security/pom.xml @@ -48,7 +48,7 @@ com.sun.jersey jersey-server - 1.1.1-ea + 1.1.2-ea javax.ws.rs diff --git a/config/akka-reference.conf b/config/akka-reference.conf index cabe677c11..7464f1e496 100644 --- a/config/akka-reference.conf +++ b/config/akka-reference.conf @@ -17,7 +17,7 @@ version = "0.6" - boot = ["sample.java.Boot", "sample.scala.Boot", "sample.secure.Boot"] # FQN to the class doing initial active object/actor + boot = ["sample.java.Boot", "sample.scala.Boot", "sample.secure.Boot", "se.foldleft.akka.demo.Boot"] # FQN to the class doing initial active object/actor # supervisor bootstrap, should be defined in default constructor timeout = 5000 # default timeout for future based invocations