Viktor,

The combined servlet is eating http requests, but it's not processing them
correctly. i'm still not sure about all the Jersey path stuff. i'm the
process of debugging.

Best wishes,

--greg

On Tue, Mar 3, 2009 at 7:04 AM, Viktor Klang <[email protected]> wrote:

> Greg,
>
> Great, then it was just me finding the wrong API docs online :)
>
>
> But the real question is: Does it work? :)
>
>
> Cheers,
> Viktor
>
>
> On Tue, Mar 3, 2009 at 4:00 PM, Meredith Gregory <[email protected]
> > wrote:
>
>> Viktor,
>>
>> Thanks. Jersey-1.0.2 *does* implement Filter. You can see that in the
>> sources jar and if you include it in a scala/lift project and reflect it
>> does the right thing.
>>
>> Best wishes,
>>
>> --greg
>>
>> On Tue, Mar 3, 2009 at 1:46 AM, Viktor Klang <[email protected]>wrote:
>>
>>> Unfortunately,
>>>
>>>
>>> https://jersey.dev.java.net/source/browse/*checkout*/jersey/tags/jersey-1.0.1/api/jersey/index.html
>>>
>>> says:
>>>
>>> public class *ServletContainer*extends 
>>> javax.servlet.http.HttpServletimplements ContainerListener 
>>> <https://jersey.dev.java.net/source/browse/*checkout*/jersey/tags/jersey-1.0.1/api/jersey/com/sun/jersey/spi/container/ContainerListener.html>
>>>
>>>
>>> which means that the ServletContainer is not implementing the
>>> javax.servlet.Filter
>>>
>>>
>>> This is just an idea, and I do not know if it will work, but you could
>>> try something like this, and map it as a filter:
>>>
>>> Java: (Feel free to rewrite as Scala :) )
>>>
>>> public class JerseyFilter extends ServletContainer implements Filter
>>> {
>>>     @Override
>>>     public void doFilter(ServletRequest req, ServletResponse res,
>>> FilterChain fChain)
>>>             throws IOException, ServletException
>>>     {
>>>         service(req,res);
>>>         fChain.doFilter(req, res);
>>>     }
>>>
>>>     @Override
>>>     public void init(FilterConfig fConfig) throws ServletException
>>>     {
>>>         super.init();
>>>     }
>>>
>>>     @Override
>>>     public void destroy()
>>>     {
>>>         super.destroy();
>>>     }
>>> }
>>>
>>> Please get back to us :)
>>>
>>> Cheers,
>>> Viktor
>>>
>>>
>>>
>>> On Tue, Mar 3, 2009 at 3:32 AM, Meredith Gregory <
>>> [email protected]> wrote:
>>>
>>>> Lifted,
>>>>
>>>> Well, at least i've got jetty launching and running with both filters.
>>>> See the web.xml that worked below.
>>>>
>>>> Best wishes,
>>>>
>>>> --greg
>>>>
>>>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>>>
>>>> <!DOCTYPE web-app
>>>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>>>> "http://java.sun.com/dtd/web-app_2_3.dtd";>
>>>>
>>>> <web-app>
>>>> <filter>
>>>>   <filter-name>JerseyFilter</filter-name>
>>>>   <display-name>Jersey Filter</display-name>
>>>>   <description>Attempting to use Jersey as a Filter</description>
>>>>
>>>> <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
>>>>   <init-param>
>>>>     <param-name>com.sun.jersey.config.property.packages</param-name>
>>>>
>>>> <param-value>com.sap.dspace.model.constellation.resources</param-value>
>>>>   </init-param>
>>>> </filter>
>>>> <filter>
>>>>   <filter-name>LiftFilter</filter-name>
>>>>   <display-name>Lift Filter</display-name>
>>>>   <description>The Filter that intercepts lift calls</description>
>>>>   <filter-class>net.liftweb.http.LiftFilter</filter-class>
>>>> </filter>
>>>>
>>>> <filter-mapping>
>>>>   <filter-name>JerseyFilter</filter-name>
>>>>   <url-pattern>/*</url-pattern>
>>>> </filter-mapping>
>>>> <filter-mapping>
>>>>   <filter-name>LiftFilter</filter-name>
>>>>   <url-pattern>/*</url-pattern>
>>>> </filter-mapping>
>>>>
>>>> </web-app>
>>>>
>>>>
>>>>  On Mon, Mar 2, 2009 at 6:25 PM, Meredith Gregory <
>>>> [email protected]> wrote:
>>>>
>>>>> Alex,
>>>>>
>>>>> Thanks for all your help. i switched versions in the pom.xml (to 1.0.2
>>>>> which is the most recent on the sun repo that is not labeled SNAPSHOT) 
>>>>> and i
>>>>> get the right values from reflecting (BTW -- has anybody written a little
>>>>> lift browser app that hooks into reflection so that one can graphically
>>>>> browse the class/instances in memory?). Now i just need to figure out how 
>>>>> to
>>>>> pass the resources context to Jersey. It's got a config for the
>>>>> ServletContainer class, but i don't see anything if i'm just using it as a
>>>>> filter.
>>>>>
>>>>> Best wishes,
>>>>>
>>>>> --greg
>>>>>
>>>>> On Mon, Mar 2, 2009 at 6:13 PM, Alex Boisvert <[email protected]>wrote:
>>>>>
>>>>>> No, sorry, I've grown allergic to mvn.
>>>>>>
>>>>>> If you must know, I wrote a 5-line ruby script that bootstraps the
>>>>>> scala interpreter with a given classpath.
>>>>>>
>>>>>> #!/usr/bin/env scalarun
>>>>>> classpath << artifact("com.sun.jersey:jersey-server:jar:1.02")
>>>>>> classpath << artifact("javax.servlet:servlet-api:jar:2.5")
>>>>>> classpath << artifact("javax.ws.rs:jsr311-api:jar:1.0")
>>>>>> interactive = true
>>>>>> !#
>>>>>>
>>>>>> So we're down to two main possibilities... 1) something is wrong with
>>>>>> your Maven pom.xml or 2) your local artifacts are inconsistent with 
>>>>>> what's
>>>>>> in the repos.
>>>>>>
>>>>>> alex
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Mar 2, 2009 at 6:05 PM, Meredith Gregory <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Alex,
>>>>>>>
>>>>>>> Interesting. Did you build with mvn? If so, what were your
>>>>>>> plugins/dependencies?
>>>>>>>
>>>>>>> Best wishes,
>>>>>>>
>>>>>>> --greg
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Mar 2, 2009 at 6:01 PM, Alex Boisvert 
>>>>>>> <[email protected]>wrote:
>>>>>>>
>>>>>>>> Greg,
>>>>>>>>
>>>>>>>> Something must be messed up in your configuration.... Here's what I
>>>>>>>> get:
>>>>>>>>
>>>>>>>> Welcome to Scala version 2.7.3.final (Java HotSpot(TM) Server VM,
>>>>>>>> Java 1.6.0_10).
>>>>>>>> Type in expressions to have them evaluated.
>>>>>>>> Type :help for more information.
>>>>>>>>
>>>>>>>> scala> new com.sun.jersey.spi.container.servlet.ServletContainer()
>>>>>>>> res0: com.sun.jersey.spi.container.servlet.ServletContainer =
>>>>>>>> com.sun.jersey.spi.container.servlet.servletcontai...@15cd9a
>>>>>>>>
>>>>>>>> scala> res0.getClass.getInterfaces
>>>>>>>> res2: Array[java.lang.Class[_]] = Array(interface
>>>>>>>> javax.servlet.Servlet, interface javax.servlet.ServletConfig, interface
>>>>>>>> javax.servlet.Filter, interface java.io.Serializable)
>>>>>>>>
>>>>>>>> (I'm using jersey-server-1.0.2.jar)
>>>>>>>>
>>>>>>>> alex
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Mar 2, 2009 at 5:47 PM, Meredith Gregory <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Alex,
>>>>>>>>>
>>>>>>>>> i was coming to the same conclusion. OTOH, reflecting on
>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer i see different 
>>>>>>>>> stuff
>>>>>>>>> than what's declared in the sources. See below.
>>>>>>>>>
>>>>>>>>> Best wishes,
>>>>>>>>>
>>>>>>>>> --greg
>>>>>>>>>
>>>>>>>>> scala> new com.sun.jersey.spi.container.servlet.ServletContainer()
>>>>>>>>> new com.sun.jersey.spi.container.servlet.ServletContainer()
>>>>>>>>> new com.sun.jersey.spi.container.servlet.ServletContainer()
>>>>>>>>> res0: com.sun.jersey.spi.container.servlet.ServletContainer =
>>>>>>>>> com.sun.jersey.spi.container.servlet.servletcontai...@50b410
>>>>>>>>>
>>>>>>>>> scala> res0.getClass
>>>>>>>>> res0.getClass
>>>>>>>>> res0.getClass
>>>>>>>>> res1: java.lang.Class[_ <: java.lang.Object] = class
>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer
>>>>>>>>>
>>>>>>>>> scala> res0.getClass.getSuperclass
>>>>>>>>> res0.getClass.getSuperclass
>>>>>>>>> res0.getClass.getSuperclass
>>>>>>>>> res7: java.lang.Class[_ >: ?0] = class
>>>>>>>>> javax.servlet.http.HttpServlet
>>>>>>>>>
>>>>>>>>> // i was expecting to see WebComponent here
>>>>>>>>>
>>>>>>>>> scala> res0.getClass.getInterfaces
>>>>>>>>> res0.getClass.getInterfaces
>>>>>>>>> res0.getClass.getInterfaces
>>>>>>>>> res8: Array[java.lang.Class[_]] = Array(interface
>>>>>>>>> com.sun.jersey.spi.container.ContainerListener)
>>>>>>>>>
>>>>>>>>> // i was expecting to see Servlet, ServletConfig, Filter,
>>>>>>>>> Serializable in this list.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Mar 2, 2009 at 5:13 PM, Alex Boisvert <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> My guess would be that you have duplicate servlet-api-2.x.jar in
>>>>>>>>>> your classloading hierarchy... can you check and remove any 
>>>>>>>>>> servlet.jar
>>>>>>>>>> under your webapp WEB-INF/lib directory?
>>>>>>>>>>
>>>>>>>>>> alex
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Mar 2, 2009 at 4:45 PM, Meredith Gregory <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Alex,
>>>>>>>>>>>
>>>>>>>>>>> Thanks for the interest. See below.
>>>>>>>>>>>
>>>>>>>>>>> Best wishes,
>>>>>>>>>>>
>>>>>>>>>>> --greg
>>>>>>>>>>>
>>>>>>>>>>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>>>>>>>>>>
>>>>>>>>>>> <!DOCTYPE web-app
>>>>>>>>>>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>>>>>>>>>>> "http://java.sun.com/dtd/web-app_2_3.dtd";>
>>>>>>>>>>>
>>>>>>>>>>> <web-app>
>>>>>>>>>>> <filter>
>>>>>>>>>>>   <filter-name>JerseyFilter</filter-name>
>>>>>>>>>>>   <display-name>Jersey Filter</display-name>
>>>>>>>>>>>   <description>Attempting to use Jersey as a Filter</description>
>>>>>>>>>>>
>>>>>>>>>>> <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
>>>>>>>>>>> </filter>
>>>>>>>>>>> <filter>
>>>>>>>>>>>   <filter-name>LiftFilter</filter-name>
>>>>>>>>>>>   <display-name>Lift Filter</display-name>
>>>>>>>>>>>   <description>The Filter that intercepts lift
>>>>>>>>>>> calls</description>
>>>>>>>>>>>   <filter-class>net.liftweb.http.LiftFilter</filter-class>
>>>>>>>>>>> </filter>
>>>>>>>>>>>
>>>>>>>>>>> <filter-mapping>
>>>>>>>>>>>   <filter-name>JerseyFilter</filter-name>
>>>>>>>>>>>   <url-pattern>/*</url-pattern>
>>>>>>>>>>> </filter-mapping>
>>>>>>>>>>> <filter-mapping>
>>>>>>>>>>>   <filter-name>LiftFilter</filter-name>
>>>>>>>>>>>   <url-pattern>/*</url-pattern>
>>>>>>>>>>> </filter-mapping>
>>>>>>>>>>>
>>>>>>>>>>> </web-app>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Mar 2, 2009 at 4:43 PM, Alex Boisvert <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Can you post your web.xml?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Mar 2, 2009 at 3:50 PM, Meredith Gregory <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Marc,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks for the link! BTW, i'm looking at that sources from the
>>>>>>>>>>>>> Jersey jar and it appears that
>>>>>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer implements 
>>>>>>>>>>>>> Filter. And
>>>>>>>>>>>>> yet, when i launch with jetty i get:
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2009-03-02 15:46:18.043::WARN:  failed JerseyFilter
>>>>>>>>>>>>> java.lang.IllegalStateException: class
>>>>>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer is not a
>>>>>>>>>>>>> javax.servlet.Filter
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:88)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best wishes,
>>>>>>>>>>>>>
>>>>>>>>>>>>> --greg
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Mar 2, 2009 at 2:16 PM, Marc Hadley <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Apache Camel uses Jersey as a filter:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> https://svn.apache.org/repos/asf/camel/trunk/components/camel-web/src/main/webapp/WEB-INF/web.xml
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Marc.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Mar 2, 2009, at 4:46 PM, Meredith Gregory wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  Jerseyans,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Does anyone have any experience with using Jersey as a
>>>>>>>>>>>>>>> filter? i'd like to take advantage of some of Jersey's 
>>>>>>>>>>>>>>> Request/Response
>>>>>>>>>>>>>>> rendering as well as some of Lift's cool stuff. The Lift 
>>>>>>>>>>>>>>> servlet is a filter
>>>>>>>>>>>>>>> and deployed as such. i note that the
>>>>>>>>>>>>>>> com/sun/jersey/spi/container/servlet/ServletContainer 
>>>>>>>>>>>>>>> implements Filter.
>>>>>>>>>>>>>>> However, i have yet to find an example of Jersey deployed in a 
>>>>>>>>>>>>>>> filter
>>>>>>>>>>>>>>> capacity. If anyone has used Jersey this way, please let me 
>>>>>>>>>>>>>>> know.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Best wishes,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --greg
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> L.G. Meredith
>>>>>>>>>>>>>>> Managing Partner
>>>>>>>>>>>>>>> Biosimilarity LLC
>>>>>>>>>>>>>>> 806 55th St NE
>>>>>>>>>>>>>>> Seattle, WA 98105
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> +1 206.650.3740
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> http://biosimilarity.blogspot.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> L.G. Meredith
>>>>>>>>>>>>> Managing Partner
>>>>>>>>>>>>> Biosimilarity LLC
>>>>>>>>>>>>> 806 55th St NE
>>>>>>>>>>>>> Seattle, WA 98105
>>>>>>>>>>>>>
>>>>>>>>>>>>> +1 206.650.3740
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://biosimilarity.blogspot.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> L.G. Meredith
>>>>>>>>>>> Managing Partner
>>>>>>>>>>> Biosimilarity LLC
>>>>>>>>>>> 806 55th St NE
>>>>>>>>>>> Seattle, WA 98105
>>>>>>>>>>>
>>>>>>>>>>> +1 206.650.3740
>>>>>>>>>>>
>>>>>>>>>>> http://biosimilarity.blogspot.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> L.G. Meredith
>>>>>>>>> Managing Partner
>>>>>>>>> Biosimilarity LLC
>>>>>>>>> 806 55th St NE
>>>>>>>>> Seattle, WA 98105
>>>>>>>>>
>>>>>>>>> +1 206.650.3740
>>>>>>>>>
>>>>>>>>> http://biosimilarity.blogspot.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> L.G. Meredith
>>>>>>> Managing Partner
>>>>>>> Biosimilarity LLC
>>>>>>> 806 55th St NE
>>>>>>> Seattle, WA 98105
>>>>>>>
>>>>>>> +1 206.650.3740
>>>>>>>
>>>>>>> http://biosimilarity.blogspot.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> L.G. Meredith
>>>>> Managing Partner
>>>>> Biosimilarity LLC
>>>>> 806 55th St NE
>>>>> Seattle, WA 98105
>>>>>
>>>>> +1 206.650.3740
>>>>>
>>>>> http://biosimilarity.blogspot.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> L.G. Meredith
>>>> Managing Partner
>>>> Biosimilarity LLC
>>>> 806 55th St NE
>>>> Seattle, WA 98105
>>>>
>>>> +1 206.650.3740
>>>>
>>>> http://biosimilarity.blogspot.com
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Viktor Klang
>>> Senior Systems Analyst
>>>
>>>
>>>
>>>
>>
>>
>> --
>> L.G. Meredith
>> Managing Partner
>> Biosimilarity LLC
>> 806 55th St NE
>> Seattle, WA 98105
>>
>> +1 206.650.3740
>>
>> http://biosimilarity.blogspot.com
>>
>>
>>
>
>
> --
> Viktor Klang
> Senior Systems Analyst
>
> >
>


-- 
L.G. Meredith
Managing Partner
Biosimilarity LLC
806 55th St NE
Seattle, WA 98105

+1 206.650.3740

http://biosimilarity.blogspot.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to