[Lift] Re: Removing xmlns:lift=http://liftweb.net/ in rendered page
Hi David. HTML validator throws one error because of this line ?xml version=1.0 encoding=UTF-8? . In this way our application will never pass W3C html validation. thanks Amit Kumar Verma On Feb 28, 4:20 am, David Pollak feeder.of.the.be...@gmail.com wrote: Marc, It's possible that an Ajax transaction could take place subsequent to a page load that would insert XHTML on the page that contains something in the lift namespace. That's why I say that one removes the namespace at one's peril and we are not going to support such a feature. It's fraught with too many potential problems. Thanks, David On Fri, Feb 27, 2009 at 3:16 PM, Marc Boschma marc+lift...@boschma.cxmarc%2blift...@boschma.cx wrote: I think what Ross is asking for isn't necessarily a bad thing for a given page which doesn't actually use the lift namespace after all processing has occurred. Think of it in a more general sense: how do I filter any namespace that isn't actually present in the result XML? This is actually an important question from a security perspective as I may not want to divulge a name space that is used internally. eg. a cms name space expressed in a previous thread. If plug-ins or similar functionality is to be supported in the future the resolution of this issue is probably a must. To my mind it should be possible to search the XML for all used name spaces and then to remove any name spaces declared but not present. Whether or not the lift name space is treated specially or not is an implementation issue... It should also be possible to raise an error if an element exists in a XML result that has a name space that shouldn't be present (the counter example). Marc On 28/02/2009, at 1:54 AM, David Pollak wrote: On Fri, Feb 27, 2009 at 6:08 AM, rossputin rossaj...@gmail.com wrote: Hi. Sure, I understand it is required as the xml is processed, is there a post process operation in the pipeline anywhere ? Ross, Lift emits XHTML to the browser that contains tags with lift:xxx attributes to support the Comet services and also used the lift:gc attribute to support other services until we found a significant defect in Firefox and jQuery and decided to use another mechanism to replace the lift:gc attributes. Lift makes active use of the lift namespace. The xmlns:lift attribute is removed at your peril and the removal will not be supported on this list. Thanks, David Thanks, Ross. On Feb 27, 1:59 pm, Timothy Perrett timo...@getintheloop.eu wrote: Ross, You cannot remove this namespace as it is needed to make it valid XHTML - Scala XML processing uses a strict xml processer to ensure that the markup is valid and complete before outputting it. Because we use lift:mybound / the namespace is required for the parser to pass that markup xml as valid I do believe. Tim On 27/02/2009 13:40, rossputin rossaj...@gmail.com wrote: Hi. Sure, its something I do to simplify as much as possible any unnecessary tags or attributes. I suppose it is a practice I picked up while using Cocoon. Ultimately, I just want the purest xhtml output possible, hopefully revealing as little about the platform which produced it as possible. Ross. On Feb 27, 1:31 pm, Viktor Klang viktor.kl...@gmail.com wrote: May I ask why? Cheers, Viktor On Fri, Feb 27, 2009 at 1:23 PM, rossputin rossaj...@gmail.com wrote: Hi. I am using lift 1.0. I was hoping to remove the 'xmlns:lift=http:// liftweb.net/' element from : ?xml version=1.0 encoding=UTF-8? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http:// www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns:lift=http://liftweb.net/; xmlns= http://www.w3.org/1999/ xhtml Thanks. Ross. On Feb 27, 12:18 pm, Timothy Perrett timo...@getintheloop.eu wrote: Hey Ross, Which element are you referring to? Head items? What version of lift are you using? (you can find out by looking in pom.xml under the lift-* dependencies) Thanks Tim On 27/02/2009 11:36, rossputin rossaj...@gmail.com wrote: Hi. I must admit I have not worked my way through the book yet, but I was wondering if it is possible to remove the xmlns:lift=http:// liftweb.net/ attribute on the html element in the rendered page? Thanks. Ross. -- Viktor Klang Senior Systems Analyst -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp --~--~-~--~~~---~--~~ You received this
[Lift] Re: Removing xmlns:lift=http://liftweb.net/ in rendered page
My pages validate just fine (I'm on Lift 1.0). Chas. Tim Perrett wrote: Amit, I would be amazed if that were the issue, as that is tottaly valid. XHTML is a valid microformat of XML so having the decleration line is valid. In one of my live applications I have: ?xml version=1.0 encoding=UTF-8? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http:// www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd html xmlns:lift=http://liftweb.net/; xmlns=htt and it passs no problem at all using http://validator.w3.org/ What validator are you using? Thanks, Tim On Mar 2, 6:34 am, Amit Kumar Verma cdac.a...@gmail.com wrote: Hi David. HTML validator throws one error because of this line ?xml version=1.0 encoding=UTF-8? . In this way our application will never pass W3C html validation. thanks Amit Kumar Verma On Feb 28, 4:20 am, David Pollak feeder.of.the.be...@gmail.com wrote: Marc, It's possible that an Ajax transaction could take place subsequent to a page load that would insert XHTML on the page that contains something in the lift namespace. That's why I say that one removes the namespace at one's peril and we are not going to support such a feature. It's fraught with too many potential problems. Thanks, David On Fri, Feb 27, 2009 at 3:16 PM, Marc Boschma marc+lift...@boschma.cxmarc%2blift...@boschma.cx wrote: I think what Ross is asking for isn't necessarily a bad thing for a given page which doesn't actually use the lift namespace after all processing has occurred. Think of it in a more general sense: how do I filter any namespace that isn't actually present in the result XML? This is actually an important question from a security perspective as I may not want to divulge a name space that is used internally. eg. a cms name space expressed in a previous thread. If plug-ins or similar functionality is to be supported in the future the resolution of this issue is probably a must. To my mind it should be possible to search the XML for all used name spaces and then to remove any name spaces declared but not present. Whether or not the lift name space is treated specially or not is an implementation issue... It should also be possible to raise an error if an element exists in a XML result that has a name space that shouldn't be present (the counter example). Marc On 28/02/2009, at 1:54 AM, David Pollak wrote: On Fri, Feb 27, 2009 at 6:08 AM, rossputin rossaj...@gmail.com wrote: Hi. Sure, I understand it is required as the xml is processed, is there a post process operation in the pipeline anywhere ? Ross, Lift emits XHTML to the browser that contains tags with lift:xxx attributes to support the Comet services and also used the lift:gc attribute to support other services until we found a significant defect in Firefox and jQuery and decided to use another mechanism to replace the lift:gc attributes. Lift makes active use of the lift namespace. The xmlns:lift attribute is removed at your peril and the removal will not be supported on this list. Thanks, David Thanks, Ross. On Feb 27, 1:59 pm, Timothy Perrett timo...@getintheloop.eu wrote: Ross, You cannot remove this namespace as it is needed to make it valid XHTML - Scala XML processing uses a strict xml processer to ensure that the markup is valid and complete before outputting it. Because we use lift:mybound / the namespace is required for the parser to pass that markup xml as valid I do believe. Tim On 27/02/2009 13:40, rossputin rossaj...@gmail.com wrote: Hi. Sure, its something I do to simplify as much as possible any unnecessary tags or attributes. I suppose it is a practice I picked up while using Cocoon. Ultimately, I just want the purest xhtml output possible, hopefully revealing as little about the platform which produced it as possible. Ross. On Feb 27, 1:31 pm, Viktor Klang viktor.kl...@gmail.com wrote: May I ask why? Cheers, Viktor On Fri, Feb 27, 2009 at 1:23 PM, rossputin rossaj...@gmail.com wrote: Hi. I am using lift 1.0. I was hoping to remove the 'xmlns:lift=http:// liftweb.net/' element from : ?xml version=1.0 encoding=UTF-8? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http:// www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns:lift=http://liftweb.net/; xmlns= http://www.w3.org/1999/ xhtml Thanks. Ross. On Feb 27, 12:18 pm, Timothy Perrett timo...@getintheloop.eu wrote: Hey Ross, Which element are you referring to? Head items? What version of lift are you using? (you can find out by looking in pom.xml under the lift-* dependencies) Thanks Tim On 27/02/2009 11:36, rossputin rossaj...@gmail.com wrote: Hi. I must admit I have not worked my way through the book yet, but I was wondering if it is possible to remove the xmlns:lift=http:// liftweb.net/ attribute on the html element in the rendered page? Thanks. Ross. -- Viktor Klang Senior Systems Analyst -- Lift, the simply functional
[Lift] Re: Locale and languages
Hi Jon, I have a working implementation of this now :-) To give you some background, we have a locale calculator in lift and its default behavior looks at the incoming request headers to asses what locale should be set. Whilst in normal operation this has no affect on your application, it becomes extremely useful when you want to localize based on a whole bunch of parameters. Check out the scala docs for S here: http://scala-tools.org/mvnsites/liftweb/lift-webkit/scaladocs/net/liftweb/http/S$object.html Because java.util.Locale has really neat features for presenting localized country names etc, i just use a something like: S.locale.getDisplayName(S.locale) // = Might return italiano for instance As for the database content - I have a database backed resource bundle subclass that feeds into an LRU cache when lift boots up. The bundle then talks with the LRU cache to return the correct string. Sorry if that doesnt make much sense! If anything is not clear, then just post back and i'll try to me more succinct. Thanks Tim On Mar 2, 4:43 pm, Jon Hancock shellsha...@gmail.com wrote: I am also interested in locale strategies. I would like to build a website which will be in Mandarin and English. The English is mostly for my use as most users will see mandarin. I expect it will be easiest to have most of my decorative info (link names, static info) in the views themselves. The DB content will be what it is (mostly mandarin), no need for multiple copies. I guess I first want to sniff the request (or maybe do a geo query on the IP) and decide if I should serve up EN or CN views and subsequently allow the user to click a preference (English or Chinese link) to override my guesswork and set a cookie for the preference. I do see how I would set the cookie. How to manage two sets of views I do not see. How have others done this with lift? thanks, Jon On Mar 2, 7:59 am, Derek Chen-Becker dchenbec...@gmail.com wrote: That seems reasonable, although IIRC it means that you need two queries to the database to fetch a translation using mapper strictly. Of course, you could use the raw SQL queries on DB to fetch things with one join. Derek On Sun, Mar 1, 2009 at 2:54 PM, Tim Perrett timo...@getintheloop.eu wrote: Guys, Just working something through and would like a bit of input from lifted :-) Im debating how im going to store my locale data and present that information to the user in a sensible way. Right now, im thinking of using MappedLocale to hold locale type information in my database, and then have a one-to-many (locale - translation). This seems fairly reasonable, but i've changed my mind several times now so would be ever so grateful for some other input :-) Cheers, Tim --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Testing Help for Oracle?
Doesn't Oracle use Sequences? On Mon, Mar 2, 2009 at 6:42 PM, Derek Chen-Becker dchenbec...@gmail.comwrote: This sounds like a bug. I'm guessing that you mean the object's primary key field isn't updated after save, correct? According to the docs: http://download-east.oracle.com/docs/cd/B19306_01/java.102/b14355/jdbcvers.htm#CHDEGDHJ Oracle's driver should support auto-generated keys, which is what we use in Mapper. Can you confirm that what I'm saying is what you're seeing? Thanks, Derek On Mon, Mar 2, 2009 at 8:56 AM, radoslaw.holewa radoslaw.hol...@gmail.com wrote: On 20 Lut, 01:50, Debby Meredith de...@jafco.com wrote: Folks, We're looking for some most excellent people to volunteer to test the Oracle 10g JDBC driver in lift-mapper as soon as possible. Any hands going up out there? Perhaps Greg Meredith, who has a wonderful last name if I do say so myself, would like to sign up? Anyone else? Thanks in advance! Hi, I'm using Lift mapper in one of my projects and my database is Oracle 10g. Unfortunately I have some problems with primary keys. After I save my object it's primary key is not set. I tested it with MySQL and H2 database and everything went well. So, my question is: do you have any solution for setting primary key after object is saved? Of course using oracle database :) Cheers, Radek -- Viktor Klang Senior Systems Analyst --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Testing Help for Oracle?
It does, but according the their JDBC compatibility page (link below), the JDBC driver should support getGeneratedKeys. Derek On Mon, Mar 2, 2009 at 11:41 AM, Viktor Klang viktor.kl...@gmail.comwrote: Doesn't Oracle use Sequences? On Mon, Mar 2, 2009 at 6:42 PM, Derek Chen-Becker dchenbec...@gmail.comwrote: This sounds like a bug. I'm guessing that you mean the object's primary key field isn't updated after save, correct? According to the docs: http://download-east.oracle.com/docs/cd/B19306_01/java.102/b14355/jdbcvers.htm#CHDEGDHJ Oracle's driver should support auto-generated keys, which is what we use in Mapper. Can you confirm that what I'm saying is what you're seeing? Thanks, Derek On Mon, Mar 2, 2009 at 8:56 AM, radoslaw.holewa radoslaw.hol...@gmail.com wrote: On 20 Lut, 01:50, Debby Meredith de...@jafco.com wrote: Folks, We're looking for some most excellent people to volunteer to test the Oracle 10g JDBC driver in lift-mapper as soon as possible. Any hands going up out there? Perhaps Greg Meredith, who has a wonderful last name if I do say so myself, would like to sign up? Anyone else? Thanks in advance! Hi, I'm using Lift mapper in one of my projects and my database is Oracle 10g. Unfortunately I have some problems with primary keys. After I save my object it's primary key is not set. I tested it with MySQL and H2 database and everything went well. So, my question is: do you have any solution for setting primary key after object is saved? Of course using oracle database :) Cheers, Radek -- Viktor Klang Senior Systems Analyst --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Testing Help for Oracle?
I downloaded Oracle XE 10 this weekend and set up a VM to run it on. If I can get some work on the book done I'm going to try to get it set up and then I can do some more direct troubleshooting to verify that the Mapper support for Oracle is all functional. Derek On Mon, Mar 2, 2009 at 12:03 PM, Derek Chen-Becker dchenbec...@gmail.comwrote: It does, but according the their JDBC compatibility page (link below), the JDBC driver should support getGeneratedKeys. Derek On Mon, Mar 2, 2009 at 11:41 AM, Viktor Klang viktor.kl...@gmail.comwrote: Doesn't Oracle use Sequences? On Mon, Mar 2, 2009 at 6:42 PM, Derek Chen-Becker dchenbec...@gmail.comwrote: This sounds like a bug. I'm guessing that you mean the object's primary key field isn't updated after save, correct? According to the docs: http://download-east.oracle.com/docs/cd/B19306_01/java.102/b14355/jdbcvers.htm#CHDEGDHJ Oracle's driver should support auto-generated keys, which is what we use in Mapper. Can you confirm that what I'm saying is what you're seeing? Thanks, Derek On Mon, Mar 2, 2009 at 8:56 AM, radoslaw.holewa radoslaw.hol...@gmail.com wrote: On 20 Lut, 01:50, Debby Meredith de...@jafco.com wrote: Folks, We're looking for some most excellent people to volunteer to test the Oracle 10g JDBC driver in lift-mapper as soon as possible. Any hands going up out there? Perhaps Greg Meredith, who has a wonderful last name if I do say so myself, would like to sign up? Anyone else? Thanks in advance! Hi, I'm using Lift mapper in one of my projects and my database is Oracle 10g. Unfortunately I have some problems with primary keys. After I save my object it's primary key is not set. I tested it with MySQL and H2 database and everything went well. So, my question is: do you have any solution for setting primary key after object is saved? Of course using oracle database :) Cheers, Radek -- Viktor Klang Senior Systems Analyst --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: chaining servlets
On Mon, Mar 2, 2009 at 8:51 PM, Meredith Gregory lgreg.mered...@gmail.comwrote: Lifted, scalads and lasses, Does anybody have a working sample of chaining the lift servlet with a 3rd party servlet? i'm interested in doing this with the Jersey servlet to get some of their request/response rendering support. This is why we made Lift a Filter :) 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 -- Viktor Klang Senior Systems Analyst --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: We need a wiki gardener
David, I've created a wiki user jhancock. Could you create a page for ruby/rails/merb to lift and give me rights? I will start off by adding notes for environment and setup issues. The getting current docs are great for those already using Java but could use some extra info for those not familiar with the Java toolchain. I have been away from Java for 5 years and things like Maven and how to have a single scala install that allows me to run jetty, use eclipse, and use the scala interpreter all referencing the same target source is something that is not easily put together...expect my next set of google group pepperings to target those issues. After that, I'll start adding notes as I go through a migration from merb. Then I can go further back and add notes from my older rails code. Then after I have quite a few ramblings put together, I can clean it all up. How does that sound? Jon On Mar 2, 11:36 am, David Pollak feeder.of.the.be...@gmail.com wrote: On Mon, Mar 2, 2009 at 7:54 AM, Jon Hancock shellsha...@gmail.com wrote: David, I'm happy to contribute. I have a beginner's mind at the moment which may help. Either I'm missing huge sections of the wiki, or it doesn't have much. So from my point of view, the job isn't too big. Should I just create and account and start digging away? Yes. But I don't want to overload you. I think it would be better for you to create a section of the wiki called Lift from a Rails perspective and put the answers from this list into that section. Jon On Mar 1, 4:34 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, The Lift wiki has a lot of weeds growing in it. We really need a wiki gardener who will go through an remove or re-write all the code examples based on old versions of Lift. Any takers? Thanks, David -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: chaining servlets
PPS The reason i want Jersey on the outbound path is that it has pretty nifty support for rendering to XML and other formats. A single Produces annotation at the class level, for example, suffices to cause all the web methods to render according to format specified in the annotation. Oh, and Jersey also autogenerates the WADL description of the service -- which is going to come in handy for other stuff we're doing. On Mon, Mar 2, 2009 at 3:16 PM, Meredith Gregory lgreg.mered...@gmail.comwrote: Tim, et al, Thanks for the many responses. Here's the overall context. i've got a group that has done some significant work building a JRoR site. Now they want to scale. As a part of a midterm strategy to get some reasonable tooling in, we're building Scala-based RESTful APIs. Being an idiot, i want as general a soln as possible. So, here's what i've done. - a plain, vanilla Hibernate reverse engineering strategy will fetch both JPA and simple POJOs - This gets me Scala access to the backend - Now, i want to generate default controller behavior. i've written a Scala program that eats what Hibernate spits out and creates default controller behavior. It uses the Jersey annotations (Produces, Consumes, Path, GET, PUT,...) to control rendering to/from the client of the RESTful API What i want to do now is to interject lift into the mix so that we can allow programmers to specialize the controller behavior in scala/lift code. The reason i've attempted to be fairly generic about all this is that i believe this represents a tool-chain that allows a semi-automated migration path from pick-you-webframework to lift/scala. The idea is that the SQL schema is about 80% of where the rubber meets the road, so that ought to be the place to hoist your app out of some existing solution. This works especially well if you're transition from a JVM soln (JRoR) to a JVM soln. Best wishes, --greg On Mon, Mar 2, 2009 at 3:02 PM, Timothy Perrett timo...@getintheloop.euwrote: Greg, can I enquire to your specific use case? I’d be interested to hear what you feel Jersey adds value to over lift (im not familiar with Jersey)? In my experience when you need a round the houses solution such as this their can often be a simpler path :-) Cheers, Tim On 02/03/2009 22:46, Viktor Klang viktor.kl...@gmail.com wrote: hehe, no worries, I'm one of your fans. :) You should be able to accomplish this by having the filter mapping for Jersey in web.xml placed before the Lift filter mapping: Recall that a filter chain is one of the objects passed to the doFiltermethod of a filter. This chain is formed indirectly via filter mappings. The order of the filters in the chain is the same as the order that filter mappings appear in the web application deployment descriptor. http://java.sun.com/products/servlet/Filters.html The Jersey will handle the request first, then pass it thru to Lift, then back. I of course have not tested this with Jersey and do not know if there are any strange things that can happen. But I'm sure you'll find out and get back to us ;) Cheers, Viktor On Mon, Mar 2, 2009 at 11:28 PM, Meredith Gregory lgreg.mered...@gmail.com wrote: Marius, Viktor, Many thanks for your prompt responses. You'll have to pardon me as i've not graduated from Web101 ;-). i was really looking for an example. To illustrate, in looking at web.xml in a archetype-generated lift project i see that only filter and filter mapping is defined. How is a servlet then chosen? Also, i'm sort of interested in *wrapping* lift's request processing. Here's what i mean. If i've understood what Jersey does correctly (and that's a big if), then it will do Request and Response rendering. So, what i want is == HttpRequest == (JerseyFilter) == ModifiedRequest == (LiftFilter) == Response == (JerseyFilter) == ModifiedOutboundResponse == It's not clear to me how this is accomplished. There's the dead obvious idea, but i'm leary that this won't work because the types are unlikely to line up. Best wishes, --greg On Mon, Mar 2, 2009 at 1:00 PM, Viktor Klang viktor.kl...@gmail.com wrote: On Mon, Mar 2, 2009 at 8:51 PM, Meredith Gregory lgreg.mered...@gmail.com wrote: Lifted, scalads and lasses, Does anybody have a working sample of chaining the lift servlet with a 3rd party servlet? i'm interested in doing this with the Jersey servlet to get some of their request/response rendering support. This is why we made Lift a Filter :) 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 -- 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
[Lift] Re: chaining servlets
David, Please find below the web.xml i'm currently experimenting with. 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-nameJerseyFilter/filter-name display-nameJersey Filter/display-name descriptionAttempting to use Jersey as a Filter/description filter-classcom.sun.jersey.spi.container.servlet.ServletContainer/filter-class /filter filter filter-nameLiftFilter/filter-name display-nameLift Filter/display-name descriptionThe Filter that intercepts lift calls/description filter-classnet.liftweb.http.LiftFilter/filter-class /filter filter-mapping filter-nameJerseyFilter/filter-name url-pattern/*/url-pattern /filter-mapping filter-mapping filter-nameLiftFilter/filter-name url-pattern/*/url-pattern /filter-mapping /web-app On Mon, Mar 2, 2009 at 3:00 PM, David Pollak feeder.of.the.be...@gmail.comwrote: Not to be a nudge, but how about if Greg sends us his web.xml file and the name of his Jersey Filter, we re-write the web.xml file for him and he writes a wiki page explaining the process? On Mon, Mar 2, 2009 at 2:46 PM, Viktor Klang viktor.kl...@gmail.comwrote: hehe, no worries, I'm one of your fans. :) You should be able to accomplish this by having the filter mapping for Jersey in web.xml placed before the Lift filter mapping: Recall that a filter chain is one of the objects passed to the doFiltermethod of a filter. This chain is formed indirectly via filter mappings. The order of the filters in the chain is the same as the order that filter mappings appear in the web application deployment descriptor. http://java.sun.com/products/servlet/Filters.html The Jersey will handle the request first, then pass it thru to Lift, then back. I of course have not tested this with Jersey and do not know if there are any strange things that can happen. But I'm sure you'll find out and get back to us ;) Cheers, Viktor On Mon, Mar 2, 2009 at 11:28 PM, Meredith Gregory lgreg.mered...@gmail.com wrote: Marius, Viktor, Many thanks for your prompt responses. You'll have to pardon me as i've not graduated from Web101 ;-). i was really looking for an example. To illustrate, in looking at web.xml in a archetype-generated lift project i see that only filter and filter mapping is defined. How is a servlet then chosen? Also, i'm sort of interested in *wrapping* lift's request processing. Here's what i mean. If i've understood what Jersey does correctly (and that's a big if), then it will do Request and Response rendering. So, what i want is == HttpRequest == (JerseyFilter) == ModifiedRequest == (LiftFilter) == Response == (JerseyFilter) == ModifiedOutboundResponse == It's not clear to me how this is accomplished. There's the dead obvious idea, but i'm leary that this won't work because the types are unlikely to line up. Best wishes, --greg On Mon, Mar 2, 2009 at 1:00 PM, Viktor Klang viktor.kl...@gmail.comwrote: On Mon, Mar 2, 2009 at 8:51 PM, Meredith Gregory lgreg.mered...@gmail.com wrote: Lifted, scalads and lasses, Does anybody have a working sample of chaining the lift servlet with a 3rd party servlet? i'm interested in doing this with the Jersey servlet to get some of their request/response rendering support. This is why we made Lift a Filter :) 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 -- 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 -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp -- 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 liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] really stupid maven question
Lifted, i've got all the classes i generate making a class to a Model object derived from the nice work that Derek did on the JPA demo. Now, here's the rub. For some reason it's compiling the generated classes before tackling the compilation of the model object. So... the compilation craps out. i've been working around this by generating the classes, compiling the project (without the classes) then moving them into place in the model directory and compiling the project again. What's the pretty way to enforce this sequentialization in maven. i really want these classes compiled *after* the Model.scala file is compiled. i'd like not to say much more than this ordering constraint to maven -- if at all possible. 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 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: chaining servlets
Greg, I'm very interested in how this works out. I've been looking at Jersey and I really like the annotations, but I have been way too swamped to really play with it with Lift (I've only tried their Hello World app). If you get this working, I'd love to see it. Chas. Meredith Gregory wrote: Tim, et al, Thanks for the many responses. Here's the overall context. i've got a group that has done some significant work building a JRoR site. Now they want to scale. As a part of a midterm strategy to get some reasonable tooling in, we're building Scala-based RESTful APIs. Being an idiot, i want as general a soln as possible. So, here's what i've done. * a plain, vanilla Hibernate reverse engineering strategy will fetch both JPA and simple POJOs o This gets me Scala access to the backend * Now, i want to generate default controller behavior. i've written a Scala program that eats what Hibernate spits out and creates default controller behavior. It uses the Jersey annotations (Produces, Consumes, Path, GET, PUT,...) to control rendering to/from the client of the RESTful API What i want to do now is to interject lift into the mix so that we can allow programmers to specialize the controller behavior in scala/lift code. The reason i've attempted to be fairly generic about all this is that i believe this represents a tool-chain that allows a semi-automated migration path from pick-you-webframework to lift/scala. The idea is that the SQL schema is about 80% of where the rubber meets the road, so that ought to be the place to hoist your app out of some existing solution. This works especially well if you're transition from a JVM soln (JRoR) to a JVM soln. Best wishes, --greg On Mon, Mar 2, 2009 at 3:02 PM, Timothy Perrett timo...@getintheloop.eu wrote: Greg, can I enquire to your specific use case? I’d be interested to hear what you feel Jersey adds value to over lift (im not familiar with Jersey)? In my experience when you need a round the houses solution such as this their can often be a simpler path :-) Cheers, Tim On 02/03/2009 22:46, Viktor Klang viktor.kl...@gmail.com http://viktor.kl...@gmail.com wrote: hehe, no worries, I'm one of your fans. :) You should be able to accomplish this by having the filter mapping for Jersey in web.xml placed before the Lift filter mapping: Recall that a filter chain is one of the objects passed to the doFilter method of a filter. This chain is formed indirectly via filter mappings. The order of the filters in the chain is the same as the order that filter mappings appear in the web application deployment descriptor. http://java.sun.com/products/servlet/Filters.html The Jersey will handle the request first, then pass it thru to Lift, then back. I of course have not tested this with Jersey and do not know if there are any strange things that can happen. But I'm sure you'll find out and get back to us ;) Cheers, Viktor On Mon, Mar 2, 2009 at 11:28 PM, Meredith Gregory lgreg.mered...@gmail.com http://lgreg.mered...@gmail.com wrote: Marius, Viktor, Many thanks for your prompt responses. You'll have to pardon me as i've not graduated from Web101 ;-). i was really looking for an example. To illustrate, in looking at web.xml in a archetype-generated lift project i see that only filter and filter mapping is defined. How is a servlet then chosen? Also, i'm sort of interested in */wrapping/* lift's request processing. Here's what i mean. If i've understood what Jersey does correctly (and that's a big if), then it will do Request and Response rendering. So, what i want is == HttpRequest == (JerseyFilter) == ModifiedRequest == (LiftFilter) == Response == (JerseyFilter) == ModifiedOutboundResponse == It's not clear to me how this is accomplished. There's the dead obvious idea, but i'm leary that this won't work because the types are unlikely to line up. Best wishes, --greg On Mon, Mar 2, 2009 at 1:00 PM, Viktor Klang viktor.kl...@gmail.com http://viktor.kl...@gmail.com wrote: On Mon, Mar 2, 2009 at 8:51 PM, Meredith Gregory lgreg.mered...@gmail.com http://lgreg.mered...@gmail.com wrote: Lifted, scalads and lasses, Does anybody have a working sample of chaining the lift servlet with a 3rd party servlet? i'm interested in doing this with the Jersey
[Lift] Re: We need a wiki gardener
Jon, Can you post a link to this page when you have it set up? Thanks, Chas. Jon Hancock wrote: David, I've created a wiki user jhancock. Could you create a page for ruby/rails/merb to lift and give me rights? I will start off by adding notes for environment and setup issues. The getting current docs are great for those already using Java but could use some extra info for those not familiar with the Java toolchain. I have been away from Java for 5 years and things like Maven and how to have a single scala install that allows me to run jetty, use eclipse, and use the scala interpreter all referencing the same target source is something that is not easily put together...expect my next set of google group pepperings to target those issues. After that, I'll start adding notes as I go through a migration from merb. Then I can go further back and add notes from my older rails code. Then after I have quite a few ramblings put together, I can clean it all up. How does that sound? Jon On Mar 2, 11:36 am, David Pollak feeder.of.the.be...@gmail.com wrote: On Mon, Mar 2, 2009 at 7:54 AM, Jon Hancock shellsha...@gmail.com wrote: David, I'm happy to contribute. I have a beginner's mind at the moment which may help. Either I'm missing huge sections of the wiki, or it doesn't have much. So from my point of view, the job isn't too big. Should I just create and account and start digging away? Yes. But I don't want to overload you. I think it would be better for you to create a section of the wiki called Lift from a Rails perspective and put the answers from this list into that section. Jon On Mar 1, 4:34 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, The Lift wiki has a lot of weeds growing in it. We really need a wiki gardener who will go through an remove or re-write all the code examples based on old versions of Lift. Any takers? Thanks, David -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: We need a wiki gardener
will do. first need someone, David?, to set it up for me as I don't have page create rights (at least I can't see that my new account does). Jon On Mar 2, 5:50 pm, Charles F. Munat c...@munat.com wrote: Jon, Can you post a link to this page when you have it set up? Thanks, Chas. Jon Hancock wrote: David, I've created a wiki user jhancock. Could you create a page for ruby/rails/merb to lift and give me rights? I will start off by adding notes for environment and setup issues. The getting current docs are great for those already using Java but could use some extra info for those not familiar with the Java toolchain. I have been away from Java for 5 years and things like Maven and how to have a single scala install that allows me to run jetty, use eclipse, and use the scala interpreter all referencing the same target source is something that is not easily put together...expect my next set of google group pepperings to target those issues. After that, I'll start adding notes as I go through a migration from merb. Then I can go further back and add notes from my older rails code. Then after I have quite a few ramblings put together, I can clean it all up. How does that sound? Jon On Mar 2, 11:36 am, David Pollak feeder.of.the.be...@gmail.com wrote: On Mon, Mar 2, 2009 at 7:54 AM, Jon Hancock shellsha...@gmail.com wrote: David, I'm happy to contribute. I have a beginner's mind at the moment which may help. Either I'm missing huge sections of the wiki, or it doesn't have much. So from my point of view, the job isn't too big. Should I just create and account and start digging away? Yes. But I don't want to overload you. I think it would be better for you to create a section of the wiki called Lift from a Rails perspective and put the answers from this list into that section. Jon On Mar 1, 4:34 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, The Lift wiki has a lot of weeds growing in it. We really need a wiki gardener who will go through an remove or re-write all the code examples based on old versions of Lift. Any takers? Thanks, David -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: We need a wiki gardener
On Mon, Mar 2, 2009 at 3:10 PM, Jon Hancock shellsha...@gmail.com wrote: David, I've created a wiki user jhancock. Could you create a page for ruby/rails/merb to lift and give me rights? You've got the same rights I do... so... go wild. I will start off by adding notes for environment and setup issues. The getting current docs are great for those already using Java but could use some extra info for those not familiar with the Java toolchain. I have been away from Java for 5 years and things like Maven and how to have a single scala install that allows me to run jetty, use eclipse, and use the scala interpreter all referencing the same target source is something that is not easily put together...expect my next set of google group pepperings to target those issues. After that, I'll start adding notes as I go through a migration from merb. Then I can go further back and add notes from my older rails code. Then after I have quite a few ramblings put together, I can clean it all up. How does that sound? Jon On Mar 2, 11:36 am, David Pollak feeder.of.the.be...@gmail.com wrote: On Mon, Mar 2, 2009 at 7:54 AM, Jon Hancock shellsha...@gmail.com wrote: David, I'm happy to contribute. I have a beginner's mind at the moment which may help. Either I'm missing huge sections of the wiki, or it doesn't have much. So from my point of view, the job isn't too big. Should I just create and account and start digging away? Yes. But I don't want to overload you. I think it would be better for you to create a section of the wiki called Lift from a Rails perspective and put the answers from this list into that section. Jon On Mar 1, 4:34 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, The Lift wiki has a lot of weeds growing in it. We really need a wiki gardener who will go through an remove or re-write all the code examples based on old versions of Lift. Any takers? Thanks, David -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Git some:http://github.com/dpp -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: [Jersey] jersey as filter
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 lgreg.mered...@gmail.comwrote: 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-nameJerseyFilter/filter-name display-nameJersey Filter/display-name descriptionAttempting to use Jersey as a Filter/description filter-classcom.sun.jersey.spi.container.servlet.ServletContainer/filter-class /filter filter filter-nameLiftFilter/filter-name display-nameLift Filter/display-name descriptionThe Filter that intercepts lift calls/description filter-classnet.liftweb.http.LiftFilter/filter-class /filter filter-mapping filter-nameJerseyFilter/filter-name url-pattern/*/url-pattern /filter-mapping filter-mapping filter-nameLiftFilter/filter-name url-pattern/*/url-pattern /filter-mapping /web-app On Mon, Mar 2, 2009 at 4:43 PM, Alex Boisvert boisv...@intalio.comwrote: Can you post your web.xml? On Mon, Mar 2, 2009 at 3:50 PM, Meredith Gregory lgreg.mered...@gmail.com 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 marc.had...@sun.com 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: users-unsubscr...@jersey.dev.java.net For additional commands, e-mail: users-h...@jersey.dev.java.net -- 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 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: [Jersey] jersey as filter
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 lgreg.mered...@gmail.comwrote: 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 boisv...@intalio.comwrote: 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 lgreg.mered...@gmail.com 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-nameJerseyFilter/filter-name display-nameJersey Filter/display-name descriptionAttempting to use Jersey as a Filter/description filter-classcom.sun.jersey.spi.container.servlet.ServletContainer/filter-class /filter filter filter-nameLiftFilter/filter-name display-nameLift Filter/display-name descriptionThe Filter that intercepts lift calls/description filter-classnet.liftweb.http.LiftFilter/filter-class /filter filter-mapping filter-nameJerseyFilter/filter-name url-pattern/*/url-pattern /filter-mapping filter-mapping filter-nameLiftFilter/filter-name url-pattern/*/url-pattern /filter-mapping /web-app On Mon, Mar 2, 2009 at 4:43 PM, Alex Boisvert boisv...@intalio.comwrote: Can you post your web.xml? On Mon, Mar 2, 2009 at 3:50 PM, Meredith Gregory lgreg.mered...@gmail.com 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 marc.had...@sun.comwrote: 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: users-unsubscr...@jersey.dev.java.net For additional commands,
[Lift] Re: [Jersey] jersey as filter
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 boisv...@intalio.com 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 lgreg.mered...@gmail.com 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 boisv...@intalio.comwrote: 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 lgreg.mered...@gmail.com 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 boisv...@intalio.comwrote: 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 lgreg.mered...@gmail.com 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-nameJerseyFilter/filter-name display-nameJersey Filter/display-name descriptionAttempting to use Jersey as a Filter/description filter-classcom.sun.jersey.spi.container.servlet.ServletContainer/filter-class /filter filter filter-nameLiftFilter/filter-name display-nameLift Filter/display-name descriptionThe Filter that intercepts lift calls/description filter-classnet.liftweb.http.LiftFilter/filter-class /filter filter-mapping filter-nameJerseyFilter/filter-name url-pattern/*/url-pattern /filter-mapping filter-mapping filter-nameLiftFilter/filter-name url-pattern/*/url-pattern /filter-mapping /web-app On Mon, Mar 2, 2009 at 4:43 PM, Alex Boisvert boisv...@intalio.comwrote: Can you post your web.xml? On Mon, Mar 2, 2009 at 3:50 PM, Meredith Gregory lgreg.mered...@gmail.com wrote: Marc, Thanks for the link! BTW, i'm looking at that sources from the Jersey jar and it appears that
[Lift] Re: [Jersey] jersey as filter
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-nameJerseyFilter/filter-name display-nameJersey Filter/display-name descriptionAttempting to use Jersey as a Filter/description filter-classcom.sun.jersey.spi.container.servlet.ServletContainer/filter-class init-param param-namecom.sun.jersey.config.property.packages/param-name param-valuecom.sap.dspace.model.constellation.resources/param-value /init-param /filter filter filter-nameLiftFilter/filter-name display-nameLift Filter/display-name descriptionThe Filter that intercepts lift calls/description filter-classnet.liftweb.http.LiftFilter/filter-class /filter filter-mapping filter-nameJerseyFilter/filter-name url-pattern/*/url-pattern /filter-mapping filter-mapping filter-nameLiftFilter/filter-name url-pattern/*/url-pattern /filter-mapping /web-app On Mon, Mar 2, 2009 at 6:25 PM, Meredith Gregory lgreg.mered...@gmail.comwrote: 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 boisv...@intalio.comwrote: 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 lgreg.mered...@gmail.com 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 boisv...@intalio.comwrote: 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 lgreg.mered...@gmail.com 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 boisv...@intalio.comwrote: 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 lgreg.mered...@gmail.com wrote: Alex, Thanks
[Lift] Building new pages in Lift
I think I've figured out how to add new pages to Lift: 1. Create a new HTML file under src/main/webapp/something.html 2. To add this to the sitemap, go to Boot.scala and add this: val entries = Menu(Loc(Home, List(index), Home)) :: Menu(Loc(Test, List(test), Test)) :: User.sitemap My understanding is that :: is the concatenation operator in Scala, and we are creating a new menu item. 3. Restart Jetty. The new page should be added. Eclipse isn't terribly helpful is determining errors. Is there a better IDE? Now my question is - how would I add a new page into a Lift application that I do not want integrated into the sitemap? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Building new pages in Lift
Yes, this'll work! Is this documented anywhere? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Building new pages in Lift
On Mon, Mar 2, 2009 at 8:30 PM, Ikai Lan ikai@gmail.com wrote: Yes, this'll work! Is this documented anywhere? http://scala-tools.org/mvnsites/liftweb/lift-webkit/scaladocs/net/liftweb/sitemap/Loc$object.html -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: really stupid maven question
FYI, I've split out the ScalaEntityManager stuff into its own project: http://scala-tools.org/mvnsites-snapshots/scalajpa/ Snapshot version right now mostly because I haven't had time to really test it and I haven't heard of anyone using it yet. Hopefully this will further simplify things for people using JPA. Right now most of my time is taken up working on the book, but once that's done I'll devote more time to improving JPA support in Scala and Lift. In the meantime, please let me know if you run into any issues. Derek On Mon, Mar 2, 2009 at 7:03 PM, Meredith Gregory lgreg.mered...@gmail.comwrote: Josh, Brilliant! Back to things that just work! Maybe my grandmother could use maven... hmmm... ;-) Best wishes, --greg On Mon, Mar 2, 2009 at 5:57 PM, Josh Suereth joshua.suer...@gmail.comwrote: Greg, I'm guessing that you're generated java classes with that commented out section? You have to ensure that the maven-scala-plugin is run *before* the java compiler when using mixed-java/scala projects. Here's the mvn-fu (also shown herehttp://scala-tools.org/mvnsites/maven-scala-plugin/usage_java.html ): plugin groupIdorg.scala-tools/groupId artifactIdmaven-scala-plugin/artifactId executions execution idscala-compile-first/id phaseprocess-resources/phase goals goaladd-source/goal goalcompile/goal /goals /execution execution idscala-test-compile/id phaseprocess-test-resources/phase goals goaltestCompile/goal /goals /execution /executions /plugin What we're doing is faking the order of execution (as there's a design flaw in maven 2.0.x that is being fixed in 3.0). See herehttp://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.htmlfor the full maven lifecycle. I'm going to list out the goals I see bound to phases in your build (if you use the above configuration): process-sources - maven-jaxb-schemagen-plugin : generate (generates your .java files) process-resources - { maven-resources-plugin : copy-resources (moves resources to target directory) maven-scala-plugin : compile (Compiles .scala code, passing .java files to scalac) } compile - maven-compiler-plugin : compile (Compiles Java code, including generated code) process-test-resources - maven-scala-plugin : testCompile (compiles .scala code, passing .java files to scalac) test-compile - maven-compiler-plugin : testCompile (Compiles java testing code) test - maven-surefire-plugin : test (Runs junit/other tests) package - maven-war-plugin : war (Creates your war file) ... As you can see, this method (although slightly a hack) ensures the proper ordering of plugins so your build should complete successfully! -Josh On Mon, Mar 2, 2009 at 7:29 PM, Meredith Gregory lgreg.mered...@gmail.com wrote: Josh, Thanks for the response. Sadly, my mvn-fu is novitiate level; so, the pom is little more than the vanilla pom that comes with a lift archetype. See below. Best wishes, --greg project xmlns=http://maven.apache.org/POM/4.0.0; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation= http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd; modelVersion4.0.0/modelVersion groupIdcom.sap.dspace/groupId artifactIddspace/artifactId version1.0-SNAPSHOT/version packagingwar/packaging namedspace/name inceptionYear2007/inceptionYear properties scala.version2.7.3/scala.version /properties repositories repository idscala-tools.org/id nameScala-Tools Maven2 Repository/name urlhttp://scala-tools.org/repo-releases/url /repository repository idmaven2-repository.dev.java.net/id nameJava.net Repository for Maven/name urlhttp://download.java.net/maven/2/url layoutdefault/layout /repository repository iddspace-local-repo/id urlfile://${basedir}/vendor/lib/url /repository /repositories pluginRepositories pluginRepository idscala-tools.org/id nameScala-Tools Maven2 Repository/name