I have 3 model classes: tag, user, tweet and a join class TagUser. A
tag has a list of users.
If i want all of the users in a tag i use the following code (which
works):
def users = TagUser.findAll(By(TagUser.tag, this.id)).map
(_.user.obj.open_!)
my problem is that i can't figure out how to apply queryparams so i
don't pull out all of the users from the DB if i don't need em. I was
thinking something like this (doesn't compile):
def getTopUsers(in: Int) :List[User] = {
TagUser.findAll(By(TagUser.tag, this.id),
OrderBy(User.followers_count, Descending),
MaxRows(in))
}
I get the following error:
[ERROR] ... error: overloaded method value findAll with alternatives
(net.liftweb.mapper.QueryParam[scalableKvidr.model.TagUser]*)List
[scalableKvidr.model.TagUser] <and> ()List
[scalableKvidr.model.TagUser] cannot be applied to
(net.liftweb.mapper.Cmp
[scalableKvidr.model.TagUser,Long],net.liftweb.mapper.OrderBy
[scalableKvidr.model.User,Int],net.liftweb.mapper.MaxRows[Nothing])
Hello, I'm having a problem and I'm sure it's an easy fix for someone
with a bit more experience
I have 3 model classes: tag, user, tweet and a join class TagUser. A
tag has a list of users.
If i want all of the users in a tag i use the following code (which
works):
def users = TagUser.findAll(By(TagUser.tag, this.id)).map
(_.user.obj.open_!)
my problem is that i can't figure out how to apply queryparams so i
don't pull out all of the users from the DB if i don't need em. I was
thinking something like this (doesn't compile):
def getTopUsers(in: Int) :List[User] = {
TagUser.findAll(By(TagUser.tag, this.id),
OrderBy(User.followers_count, Descending),
MaxRows(in))
}
I get the following error:
[ERROR] ... error: overloaded method value findAll with alternatives
(net.liftweb.mapper.QueryParam[scalableKvidr.model.TagUser]*)List
[scalableKvidr.model.TagUser] <and> ()List
[scalableKvidr.model.TagUser] cannot be applied to
(net.liftweb.mapper.Cmp
[scalableKvidr.model.TagUser,Long],net.liftweb.mapper.OrderBy
[scalableKvidr.model.User,Int],net.liftweb.mapper.MaxRows[Nothing])
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
TagUser.findAll(By(TagUser.tag, this.id)).map(_.user.obj.open_!)
.sort(_.followers_count.is > _.followers_count.is)
.take(x)
But im concerned that this creates an instance for each of the users
in tag tag even though i only need the top x.
Thanks for helping me out :)
On Jan 5, 1:47 am, David Pollak <feeder.of.the.be...@gmail.com> wrote:
> > liftweb+u...@googlegroups.com<liftweb%2Bunsu...@googlegroups.com >
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/liftweb?hl=en.
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
Thanks for the help though :)
> > <liftweb%2Bunsu...@googlegroups.com<liftweb%252Bunsubscribe@googlegroup s.com>>
Thanks David,
It compiled just fine but I got a nullpointer exception for some
reason.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
Just one thing, i added the following for it to compile (I want to
return List[User] not List[TagUser] : .map(_.user.obj.open_!)
So in all it looks like this
def getTopUsers(in: Int) :List[User] = {
TagUser.findAll(By(TagUser.tag, this.id), In(TagUser.user, User.id,
OrderBy(User.followers_count, Descending), MaxRows[User](in)))
.map(_.user.obj.open_!)
}
Exception occured while processing /
Message: java.lang.NullPointerException
net.liftweb.mapper.In$$anon$3.<init>(MetaMapper.scala:1206)
net.liftweb.mapper.In$.apply(MetaMapper.scala:1200)
scalableKvidr.model.Tag.getTopUsers(Tag.scala:38)
scalableKvidr.snippet.TagsSnippets$$anonfun$frontpageTags$1.apply
(TagsSnippets.scala:71)
scalableKvidr.snippet.TagsSnippets$$anonfun$frontpageTags$1.apply
(TagsSnippets.scala:68)
scala.List.flatMap(List.scala:1125)
scalableKvidr.snippet.TagsSnippets.frontpageTags(TagsSnippets.scala:
67)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
net.liftweb.util.ClassHelpers$$anonfun$net$liftweb$util$ClassHelpers$
$_invokeMethod$2$$anonfun$apply$7.apply(ClassHelpers.scala:352)
net.liftweb.util.ControlHelpers$class.tryo(ControlHelpers.scala:40)
net.liftweb.util.Helpers$.tryo(Helpers.scala:29)
net.liftweb.util.ControlHelpers$class.tryo(ControlHelpers.scala:55)
net.liftweb.util.Helpers$.tryo(Helpers.scala:29)
net.liftweb.util.ClassHelpers$$anonfun$net$liftweb$util$ClassHelpers$
$_invokeMethod$2.apply(ClassHelpers.scala:352)
net.liftweb.util.ClassHelpers$$anonfun$net$liftweb$util$ClassHelpers$
$_invokeMethod$2.apply(ClassHelpers.scala:352)
scala.Iterator$$anon$14.next(Iterator.scala:267)
scala.Iterator$class.find(Iterator.scala:462)
scala.Iterator$$anon$14.find(Iterator.scala:265)
net.liftweb.util.ClassHelpers$class.net$liftweb$util$ClassHelpers$
$_invokeMethod(ClassHelpers.scala:353)
net.liftweb.util.ClassHelpers$class.invokeMethod(ClassHelpers.scala:
285)
net.liftweb.util.Helpers$.invokeMethod(Helpers.scala:29)
net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33$$anonfun
$apply$36$$anonfun$apply$38.apply(LiftSession.scala:723)
net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33$$anonfun
$apply$36$$anonfun$apply$38.apply(LiftSession.scala:705)
net.liftweb.util.EmptyBox.openOr(Box.scala:372)
net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33$$anonfun
$apply$36.apply(LiftSession.scala:705)
net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33$$anonfun
$apply$36.apply(LiftSession.scala:705)
net.liftweb.util.EmptyBox.openOr(Box.scala:372)
net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33.apply
(LiftSession.scala:704)
net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33.apply
(LiftSession.scala:704)
net.liftweb.http.S$.doSnippet(S.scala:725)
net.liftweb.http.LiftSession$$anonfun$17.apply(LiftSession.scala:702)
net.liftweb.http.LiftSession$$anonfun$17.apply(LiftSession.scala:701)
net.liftweb.util.Full.map(Box.scala:330)
net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
$processSnippet(LiftSession.scala:701)
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:793)
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:777)
net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:30)
net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:76)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$49.apply(LiftSession.scala:808)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$49.apply(LiftSession.scala:808)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$.setVars(S.scala:623)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:808)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:805)
scala.Seq$class.flatMap(Seq.scala:294)
scala.xml.NodeSeq.flatMap(NodeSeq.scala:34)
net.liftweb.http.LiftSession.processSurroundAndInclude
(LiftSession.scala:804)
net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
$processSurroundElement(LiftSession.scala:948)
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:784)
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:777)
net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:30)
net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:76)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$49.apply(LiftSession.scala:808)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$49.apply(LiftSession.scala:808)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$.setVars(S.scala:623)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:808)
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:805)
scala.Seq$class.flatMap(Seq.scala:294)
scala.xml.NodeSeq.flatMap(NodeSeq.scala:34)
net.liftweb.http.LiftSession.processSurroundAndInclude
(LiftSession.scala:804)
net.liftweb.http.LiftSession$$anonfun$8.apply(LiftSession.scala:462)
net.liftweb.http.LiftSession$$anonfun$8.apply(LiftSession.scala:462)
net.liftweb.util.Full.map(Box.scala:330)
net.liftweb.http.LiftSession.processRequest(LiftSession.scala:462)
net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$
$dispatchStatefulRequest(LiftServlet.scala:244)
net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:176)
net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:176)
net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:398)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$
$anonfun$apply$16.apply(S.scala:453)
net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:372)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply
(S.scala:373)
net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$$doWith
(DB.scala:117)
net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$
$doWith$1.apply(DB.scala:118)
net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$
$doWith$1.apply(DB.scala:118)
net.liftweb.mapper.DB$.use(DB.scala:305)
net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$$doWith
(DB.scala:118)
net.liftweb.mapper.DB$$anon$1.apply(DB.scala:124)
net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:373)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
$1.apply(S.scala:451)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:450)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
$apply$19$$anonfun$apply$20$$anonfun$apply$21$$anonfun$apply$22$
$anonfun$apply$23$$anonfun$apply$24.apply(S.scala:471)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
$apply$19$$anonfun$apply$20$$anonfun$apply$21$$anonfun$apply$22$
$anonfun$apply$23.apply(S.scala:470)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
$apply$19$$anonfun$apply$20$$anonfun$apply$21$$anonfun$apply$22.apply
(S.scala:469)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
$apply$19$$anonfun$apply$20$$anonfun$apply$21.apply(S.scala:468)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
$apply$19$$anonfun$apply$20.apply(S.scala:467)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
$apply$19.apply(S.scala:466)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply
(S.scala:465)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:464)
net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27$$anonfun$apply
$28$$anonfun$apply$29$$anonfun$apply$30.apply(S.scala:495)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27$$anonfun$apply
$28$$anonfun$apply$29.apply(S.scala:494)
net.liftweb.http.RequestVarHandler$.apply(Vars.scala:191)
net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27$$anonfun$apply
$28.apply(S.scala:493)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27.apply(S.scala:
492)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:491)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.S$._init(S.scala:490)
net.liftweb.http.S$.init(S.scala:334)
net.liftweb.http.LiftServlet.doService(LiftServlet.scala:175)
net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply
(LiftServlet.scala:104)
net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply
(LiftServlet.scala:104)
net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:241)
net.liftweb.util.Helpers$.calcTime(Helpers.scala:29)
net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:250)
net.liftweb.util.Helpers$.logTime(Helpers.scala:29)
net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:103)
net.liftweb.http.LiftServlet.service(LiftServlet.scala:112)
net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1$$anonfun$apply
$22.apply(LiftServlet.scala:525)
net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1$$anonfun$apply
$22.apply(LiftServlet.scala:525)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.URLRewriter$.doWith(Req.scala:390)
net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1.apply
(LiftServlet.scala:524)
net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1.apply
(LiftServlet.scala:518)
net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply$4$
$anonfun$apply$5$$anonfun$apply$6.apply(Vars.scala:197)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply$4$
$anonfun$apply$5.apply(Vars.scala:196)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply
$4.apply(Vars.scala:195)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.RequestVarHandler$$anonfun$apply$3.apply(Vars.scala:
194)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.http.RequestVarHandler$.apply(Vars.scala:193)
net.liftweb.http.LiftFilterTrait$class.doFilter(LiftServlet.scala:
517)
net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:536)
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1157)
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
org.mortbay.jetty.handler.ContextHandlerCollection.handle
(ContextHandlerCollection.java:230)
org.mortbay.jetty.handler.HandlerCollection.handle
(HandlerCollection.java:114)
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
org.mortbay.jetty.Server.handle(Server.java:326)
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
(HttpConnection.java:923)
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:409)
org.mortbay.thread.QueuedThreadPool$PoolThread.run
(QueuedThreadPool.java:582)
On Jan 5, 8:34 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote:
> > > > <liftweb%2Bunsu...@googlegroups.com<liftweb%252Bunsubscribe@googlegroup s.com>
Sure thing, it's quite long though :)
Just one thing, i added the following for it to compile (I want to
return List[User] not List[TagUser] : .map(_.user.obj.open_!)
So in all it looks like this
TagUser.findAll(By(TagUser.tag, this.id), In(TagUser.user, User.id,
def getTopUsers(in: Int) :List[User] = {
OrderBy(User.followers_count, Descending), MaxRows[User](in)))
.map(_.user.obj.open_!)
}
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-core</artifactId>
<version>1.0</version>
</dependency>
On Jan 5, 8:54 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote:
> ...
>
> read more »
I've got this in my pom.xml
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-core</artifactId>
<version>1.0</version>
</dependency>
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
depedency now is:
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-core</artifactId>
<version>1.1-M8</version>
</dependency>
It compiles just fine, but when i try to start the server i get the
following error:
ERROR - Failed to Boot
java.lang.NoClassDefFoundError: net/liftweb/util/Box
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1260)
at net.liftweb.http.provider.HTTPProvider$class.bootLift
(HTTPProvider.scala:70)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:523)
at net.liftweb.http.provider.servlet.ServletFilterProvider$class.init
(ServletFilterProvider.scala:20)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:523)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:
97)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize
(ServletHandler.java:662)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
467)
at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart
(Jetty6PluginWebAppContext.java:115)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.plugin.Jetty6PluginServer.start
(Jetty6PluginServer.java:132)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty
(AbstractJettyMojo.java:441)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute
(AbstractJettyMojo.java:383)
at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute
(AbstractJettyRunMojo.java:210)
at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:
184)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo
(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals
(DefaultLifecycleExecutor.java:694)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal
(DefaultLifecycleExecutor.java:569)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal
(DefaultLifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:387)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments
(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute
(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main
(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:
315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:
430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.ClassNotFoundException: net.liftweb.util.Box
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect
(RealmClassLoader.java:195)
at org.codehaus.classworlds.DefaultClassRealm.loadClass
(DefaultClassRealm.java:255)
at org.codehaus.classworlds.DefaultClassRealm.loadClass
(DefaultClassRealm.java:274)
at org.codehaus.classworlds.RealmClassLoader.loadClass
(RealmClassLoader.java:214)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
(WebAppClassLoader.java:401)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
(WebAppClassLoader.java:363)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
... 48 more
2010-01-05 22:03:41.943:INFO::Started
SelectChann...@0.0.0.0:8080
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 5 seconds.
On Jan 5, 9:11 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote:
> ...
>
> read more »
-------------------------------------
Mads Hartmann<mad...@gmail.com> wrote:
Please first try mvn clean jetty:run, and if that doesn't work, run
mvn dependency:tree to try and find where the other version of lift-
webkit is coming from. If you're still stuck, paste the output of
dependency:tree please!
-Ross
Cheers, Tim
On 5 Jan 2010, at 22:17, Ross Mellgren wrote:
> It looks like you probably have some other dependencies somewhere or old jars pointing to the old lift version.
>
> Please first try mvn clean jetty:run, and if that doesn't work, run mvn dependency:tree to try and find where the other version of lift-webkit is coming from. If you're still stuck, paste the output of dependency:tree please!
>>>>>> net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33.apply
>>>>>> (LiftSession.scala:704)
>>>>>> net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$33.apply
>>>>>> (LiftSession.scala:704)
>>>>>> net.liftweb.http.S$.doSnippet(S.scala:725)
>>>
>>>>>> net.liftweb.http.LiftSession$$anonfun$17.apply(LiftSession.scala:702)
>>>
>>>>>> net.liftweb.http.LiftSession$$anonfun$17.apply(LiftSession.scala:701)
>>>>>> net.liftweb.util.Full.map(Box.scala:330)
>>>>>> net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
>>>>>> $processSnippet(LiftSession.scala:701)
>>>>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
>>>>>> $1.apply(LiftSession.scala:793)
>>>>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
>>>>>> $1.apply(LiftSession.scala:777)
>>>>>> net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:30)
>>>>>> net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:76)
>>>
>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
>>>>>> $anonfun$apply$49.apply(LiftSession.scala:808)
>>>
>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
>>>>>> $anonfun$apply$49.apply(LiftSession.scala:808)
>>>>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>>>>>> net.liftweb.http.S$.setVars(S.scala:623)
>>>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
>>>>>> $1.apply(LiftSession.scala:808)
>>>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
>>>>>> $1.apply(LiftSession.scala:805)
>>>>>> scala.Seq$class.flatMap(Seq.scala:294)
>>>>>> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34)
>>>>>> net.liftweb.http.LiftSession.processSurroundAndInclude
>>>>>> (LiftSession.scala:804)
>>>>>> net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
>>>>>> $processSurroundElement(LiftSession.scala:948)
>>>>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
>>>>>> $1.apply(LiftSession.scala:784)
>>>>>> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
>>>>>> $1.apply(LiftSession.scala:777)
>>>>>> net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:30)
>>>>>> net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:76)
>>>
>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
>>>>>> $anonfun$apply$49.apply(LiftSession.scala:808)
>>>
>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
>>>>>> $anonfun$apply$49.apply(LiftSession.scala:808)
>>>>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>>>>>> net.liftweb.http.S$.setVars(S.scala:623)
>>>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
>>>>>> $1.apply(LiftSession.scala:808)
>>>>>> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
>>>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
>>>>>> $apply$19$$anonfun$apply$20$$anonfun$apply$21$$anonfun$apply$22.apply
>>>>>> (S.scala:469)
>>>>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>>>
>>>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
>>>>>> $apply$19$$anonfun$apply$20$$anonfun$apply$21.apply(S.scala:468)
>>>>>> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>>>
>>>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-core</artifactId>
<version>1.1-M8</version>
</dependency>
> >> SelectChannelConnec...@0.0.0.0:8080
> ...
>
> read more »
Since you are using mapper, having dependency on lift-mapper should
suffice. Other dependencies would be pulled in transitively.
So having this dependency tag should do.
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-mapper</artifactId>
<version>1.1-M8</version>
</dependency>
Cheers, Indrajit
>> read more �
@Indrajit I just tried with the dependency you declared as the only
lift related dependency. I get the following error.
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-mapper</artifactId>
<version>1.1-M8</version>
</dependency>
[INFO] Nothing to compile - all classes are up to date
[INFO] [scala:compile {execution: default}]
[INFO] Checking for multiple versions of scala
[WARNING] Multiple versions of scala libraries detected!
[INFO] includes = [**/*.scala,**/*.java,]
[INFO] excludes = []
[INFO] /Users/Mads/Projects/scalableKvidr2/src/main/scala:-1: info:
compiling
[INFO] Compiling 8 source files to /Users/Mads/Projects/scalableKvidr2/
target/classes at 1262776620713
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/bootstrap/
liftweb/Boot.scala:52: error: not found: value Full
[INFO] Full(() => LiftRules.jsArtifacts.show("ajax-loader").cmd)
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/bootstrap/
liftweb/Boot.scala:58: error: not found: value Full
[INFO] Full(() => LiftRules.jsArtifacts.hide("ajax-loader").cmd)
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/bootstrap/
liftweb/Boot.scala:60: error: type mismatch;
[INFO] found : (javax.servlet.http.HttpServletRequest) => Unit
[INFO] required: (net.liftweb.http.provider.HTTPRequest) => Any
[INFO] LiftRules.early.append(makeUtf8)
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/bootstrap/
liftweb/Boot.scala:79: error: not found: value Full
[INFO] Full(dm)
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/bootstrap/
liftweb/Boot.scala:81: error: not found: value Empty
[INFO] case e : Exception => e.printStackTrace; Empty
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:28: error: not found: value
Full
[INFO] case Full(param) => param
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:28: error: missing arguments
for method param in object S;
[INFO] follow this method with `_' if you want to treat it as a
partially applied function
[INFO] case Full(param) => param
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:29: error: not found: value
Empty
[ERROR] case Empty => "error"
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:30: error: not found: value
Failure
[ERROR] case Failure(msg, _, _) => "error"
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:41: error: not found: value
Full
[INFO] case Full(xhtml) => xhtml
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:41: error: not found: value
xhtml
[INFO] case Full(xhtml) => xhtml
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:42: error: not found: value
Empty
[ERROR] case Empty => <strong>Error</strong>
[INFO] ^
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/
scalableKvidr/snippet/TagsSnippets.scala:43: error: not found: value
Failure
[ERROR] case Failure(msg, _, _) => <strong>Error</strong>
[INFO] ^
[ERROR] 13 errors found
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] wrap: org.apache.commons.exec.ExecuteException: Process exited
with an error: 1(Exit value: 1)
> ...
>
> read more »
Cheers, Indrajit
>> read more �
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>scalableKvidr</groupId>
<artifactId>scalableKvidr</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>scalableKvidr</name>
<inceptionYear>2007</inceptionYear>
<properties>
<scala.version>2.7.3</scala.version>
</properties>
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-mapper</artifactId>
<version>1.1-M8</version>
</dependency>
<!--
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-core</artifactId>
<version>1.1-M8</version>
</dependency>-->
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.4.2.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.8</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>[6.1.6,)</version>
<scope>test</scope>
</dependency>
<!-- for LiftConsole -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>${scala.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<contextPath>/</contextPath>
<scanIntervalSeconds>5</scanIntervalSeconds>
<stopPort>8080</stopPort>
<stopKey>8080</stopKey>
</configuration>
</plugin>
<plugin>
<groupId>net.sf.alchim</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<nosuffix>true</nosuffix>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<excludes>
<exclude>org.scala-lang:scala-library</exclude>
</excludes>
<classpathContainers>
<classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</
classpathContainer>
</classpathContainers>
<projectnatures>
<java.lang.String>ch.epfl.lamp.sdt.core.scalanature</
java.lang.String>
<java.lang.String>org.eclipse.jdt.core.javanature</
java.lang.String>
</projectnatures>
<buildcommands>
<java.lang.String>ch.epfl.lamp.sdt.core.scalabuilder</
java.lang.String>
</buildcommands>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
> ...
>
> read more »
> Again, I really appreciate you guys helping me out :)
>
> @Indrajit I just tried with the dependency you declared as the only
> lift related dependency. I get the following error.
>
> <dependency>
> <groupId>net.liftweb</groupId>
> <artifactId>lift-mapper</artifactId>
> <version>1.1-M8</version>
> </dependency>
Note, Lift 1.1 is not source compatible with 1.0. You need to change
your code (in a few places) Specifically, it seems you need to add
import net.liftweb.common._
to Boot.scala
/Jeppe
[INFO] Compiling 8 source files to /Users/Mads/Projects/scalableKvidr2/
target/classes at 1262780161026
[ERROR] /Users/Mads/Projects/scalableKvidr2/src/main/scala/bootstrap/
liftweb/Boot.scala:61: error: type mismatch;
[INFO] found : (javax.servlet.http.HttpServletRequest) => Unit
[INFO] required: (net.liftweb.http.provider.HTTPRequest) => Any
[INFO] LiftRules.early.append(makeUtf8)
[INFO] ^
[ERROR] one error found
On Jan 6, 12:59 pm, Jeppe Nejsum Madsen <je...@ingolfs.dk> wrote:
1. Full, Box etc. have a different package location now. Ensure "import
net.liftweb.common._" wherever you have Full, Box etc.
2. scala.version should be 2.7.7
<scala.version>2.7.7</scala.version>
3. scala-library dependency is redundant. You can remove that.
4. This shouldn't affect your compilation either. jetty version range
should be [6.1.6,7.0)
<version>[6.1.6,7.0)</version>
Cheers, Indrajit
>> read more �
package bootstrap.liftweb
import _root_.net.liftweb.util._
import _root_.net.liftweb.http._
import _root_.net.liftweb.sitemap._
import _root_.net.liftweb.sitemap.Loc._
import Helpers._
import _root_.net.liftweb.mapper.{DB, ConnectionManager, Schemifier,
DefaultConnectionIdentifier, ConnectionIdentifier}
import _root_.java.sql.{Connection, DriverManager}
import _root_.scalableKvidr.model._
import _root_.javax.servlet.http.{HttpServletRequest}
import net.liftweb.common._
/**
* A class that's instantiated early and run. It allows the
application
* to modify lift's environment
*/
class Boot {
def boot {
if (!DB.jndiJdbcConnAvailable_?)
DB.defineConnectionManager(DefaultConnectionIdentifier,
DBVendor)
// where to search snippet
LiftRules.addToPackages("scalableKvidr")
Schemifier.schemify(true, Log.infoF _, User, Tag, Tweet, TagUser)
// Build SiteMap
val entries = Menu(Loc("forside", List("index"), "Forside")) ::
Menu(Loc("Alle_Kategorier", List("allcategories"), "Alle
Kategorier")) ::
Menu(Loc("Brugere", List("bruger"), "Brugere")) ::
Menu(Loc("Tilmeld", List("tilmeld"), "Tilmeld")) ::
Menu(Loc("Hvad Er Kvidr?", List("hvad_er_kvidr"), "Hvad Er
Kvidr?")) ::
Menu(Loc("kategori", List("category"), "Kategori",
Hidden)) ::
Nil
LiftRules.setSiteMap(SiteMap(entries:_*))
// Rewrite rules, rules! ;)
LiftRules.rewrite.append {
case RewriteRequest(
ParsePath(List("kategori",tag),_,_,_),_,_) =>
RewriteResponse("category" :: Nil, Map("tag" -> tag))
/*case RewriteRequest(
ParsePath(List("kategori","alle"),_,_,_),_,_) =>
RewriteResponse("allcategories" :: Nil)*/
}
/*
* Show the spinny image when an Ajax call starts
*/
LiftRules.ajaxStart =
Full(() => LiftRules.jsArtifacts.show("ajax-loader").cmd)
/*
* Make the spinny image go away when it ends
*/
LiftRules.ajaxEnd =
Full(() => LiftRules.jsArtifacts.hide("ajax-loader").cmd)
LiftRules.early.append(makeUtf8)
S.addAround(DB.buildLoanWrapper)
}
/**
* Force the request to be UTF-8
*/
private def makeUtf8(req: HttpServletRequest) {
req.setCharacterEncoding("UTF-8")
}
}
object DBVendor extends ConnectionManager {
def newConnection(name : ConnectionIdentifier) = {
try {
Class.forName("com.mysql.jdbc.Driver")
val dm = DriverManager.getConnection("jdbc:mysql://localhost:8889/
databaseinformationhere)
Full(dm)
} catch {
case e : Exception => e.printStackTrace; Empty
}
}
def releaseConnection(conn: Connection) {conn.close}
private def makeUtf8(req: HTTPRequest) {
req.setCharacterEncoding("UTF-8")
}
Note the change in signature.
- IRC
Thanks a lot for your help everyone