From 2883a379babe3ec428b97cf70568ed0d61cbd42f Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Wed, 9 Dec 2009 21:53:11 +0100 Subject: [PATCH 1/6] Upgraded API for Jersey and Atmosphere --- akka-rest/src/main/scala/ActorComponentProvider.scala | 3 +++ pom.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/akka-rest/src/main/scala/ActorComponentProvider.scala b/akka-rest/src/main/scala/ActorComponentProvider.scala index 4985bc48de..6e924b16da 100755 --- a/akka-rest/src/main/scala/ActorComponentProvider.scala +++ b/akka-rest/src/main/scala/ActorComponentProvider.scala @@ -4,6 +4,7 @@ package se.scalablesolutions.akka.rest +import com.sun.jersey.core.spi.component.ComponentScope import com.sun.jersey.core.spi.component.ioc.IoCFullyManagedComponentProvider import config.Configurator @@ -11,6 +12,8 @@ import util.Logging class ActorComponentProvider(val clazz: Class[_], val configurators: List[Configurator]) extends IoCFullyManagedComponentProvider with Logging { + + override def getScope = ComponentScope.Singleton override def getInstance: AnyRef = { val instances = for { diff --git a/pom.xml b/pom.xml index 2ff2ad0ac5..141dd3a9b4 100755 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ ${project.build.sourceEncoding} ${project.build.sourceEncoding} 0.5-SNAPSHOT - 1.1.4 + 1.1.5-ea-SNAPSHOT 1.9.18-i From b0ed75d0bf802935722bec435eda4aa9ded17c36 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Wed, 9 Dec 2009 22:59:23 +0100 Subject: [PATCH 2/6] Fixing comet support --- akka-kernel/src/main/scala/Kernel.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/akka-kernel/src/main/scala/Kernel.scala b/akka-kernel/src/main/scala/Kernel.scala index 79f256874c..4c4c444c08 100644 --- a/akka-kernel/src/main/scala/Kernel.scala +++ b/akka-kernel/src/main/scala/Kernel.scala @@ -99,7 +99,7 @@ object Kernel extends Logging { adapter.setServletInstance(new AkkaCometServlet) adapter.setContextPath(uri.getPath) //Using autodetection for now - //adapter.addInitParameter("cometSupport", "org.atmosphere.container.GrizzlyCometSupport") + adapter.addInitParameter("cometSupport", "org.atmosphere.container.GrizzlyCometSupport") if (HOME.isDefined) adapter.setRootFolder(HOME.get + "/deploy/root") log.info("REST service root path [%s] and context path [%s]", adapter.getRootFolder, adapter.getContextPath) From 2fbd0d04797482f76556a2d8cb12638a575cde5d Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Sun, 13 Dec 2009 20:05:55 +0100 Subject: [PATCH 3/6] Upgrading to latest Atmosphere API --- akka-kernel/src/main/scala/AkkaServlet.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/akka-kernel/src/main/scala/AkkaServlet.scala b/akka-kernel/src/main/scala/AkkaServlet.scala index 32a9b18295..ae69fc21a7 100755 --- a/akka-kernel/src/main/scala/AkkaServlet.scala +++ b/akka-kernel/src/main/scala/AkkaServlet.scala @@ -18,7 +18,7 @@ import javax.servlet.{ServletConfig} import javax.servlet.http.{HttpServletRequest, HttpServletResponse} import org.atmosphere.cpr.{AtmosphereServlet, AtmosphereServletProcessor, AtmosphereResource, AtmosphereResourceEvent,CometSupport,CometSupportResolver,DefaultCometSupportResolver} -import org.atmosphere.container.{GrizzlyCometSupport,GlassFishv3CometSupport} +import org.atmosphere.container.{GrizzlyCometSupport} import org.atmosphere.handler.{ReflectorServletProcessor, AbstractReflectorAtmosphereHandler} import org.atmosphere.jersey.JerseyBroadcaster @@ -85,9 +85,9 @@ class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet with Logging new DefaultCometSupportResolver(config) { type CS = CometSupport[_ <: AtmosphereResource[_,_]] override def resolveMultipleNativeSupportConflict(available : JList[Class[_ <: CS]]) : CS = { - available.asScala.filter(c => c != classOf[GrizzlyCometSupport] && c != classOf[GlassFishv3CometSupport]).toList match { + available.asScala.filter(_ != classOf[GrizzlyCometSupport]).toList match { case Nil => new GrizzlyCometSupport(config) - case x :: Nil => newCometSupport(x) + case (x:AnyRef) :: Nil => newCometSupport(x) case _ => super.resolveMultipleNativeSupportConflict(available) } } From 5d95b762d3b29994230a75fcd179c0f668404eaf Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Sun, 13 Dec 2009 20:25:55 +0100 Subject: [PATCH 4/6] Merged with master and refined API --- akka-kernel/src/main/scala/AkkaServlet.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/akka-kernel/src/main/scala/AkkaServlet.scala b/akka-kernel/src/main/scala/AkkaServlet.scala index ae69fc21a7..8c9fdba4c2 100755 --- a/akka-kernel/src/main/scala/AkkaServlet.scala +++ b/akka-kernel/src/main/scala/AkkaServlet.scala @@ -87,7 +87,7 @@ class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet with Logging override def resolveMultipleNativeSupportConflict(available : JList[Class[_ <: CS]]) : CS = { available.asScala.filter(_ != classOf[GrizzlyCometSupport]).toList match { case Nil => new GrizzlyCometSupport(config) - case (x:AnyRef) :: Nil => newCometSupport(x) + case x :: Nil => newCometSupport(x.asInstanceOf[Class[_ <: CS]]) case _ => super.resolveMultipleNativeSupportConflict(available) } } From 1e10ab2bae70cc5641897551eafc8dfd19aed430 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Sun, 13 Dec 2009 22:26:35 +0100 Subject: [PATCH 5/6] removed wrongly added module --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index d660484166..141dd3a9b4 100755 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,6 @@ akka-util akka-actors akka-persistence - akka-cluster akka-rest akka-camel akka-amqp From 648dcf73eeb81b22ccb8baa58ed57237100450a6 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Tue, 15 Dec 2009 21:08:08 +0100 Subject: [PATCH 6/6] =?UTF-8?q?Isn=C2=B4t=20needed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- akka-rest/src/main/scala/NodeWriter.scala | 36 ----------------------- 1 file changed, 36 deletions(-) delete mode 100755 akka-rest/src/main/scala/NodeWriter.scala diff --git a/akka-rest/src/main/scala/NodeWriter.scala b/akka-rest/src/main/scala/NodeWriter.scala deleted file mode 100755 index 58c127b411..0000000000 --- a/akka-rest/src/main/scala/NodeWriter.scala +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.rest - -import java.io.OutputStream -import java.lang.annotation.Annotation -import java.lang.{String, Class} - -import javax.ws.rs.core.{MultivaluedMap, MediaType} -import javax.ws.rs.ext.{MessageBodyWriter, Provider} -import java.lang.reflect.Type - -import scala.xml.NodeSeq - -@Provider -class NodeWriter extends MessageBodyWriter[NodeSeq] { - - def isWriteable(aClass: Class[_], aType: Type, annotations: Array[Annotation], mediaType: MediaType) = { - classOf[NodeSeq].isAssignableFrom(aClass) - } - - def getSize(nodes: NodeSeq, aClass: Class[_], aType: Type, annotations: Array[Annotation], mediaType: MediaType) = -1L - - def writeTo(nodes: NodeSeq, - aClass: Class[_], - aType: Type, - annotations: Array[Annotation], - mediaType: MediaType, - stringObjectMultivaluedMap: MultivaluedMap[String, Object], - outputStream: OutputStream) : Unit = { - var answer = nodes.toString(); - outputStream.write(answer.getBytes()); - } -} \ No newline at end of file