Announcement Announcement Module
Collapse
No announcement yet.
Wedding example: Is a working version available on this site? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wedding example: Is a working version available on this site?

    I am new to Roo and STS. I tried to work through the example and run it using the tc server, but the login page was unreadable and the links do not work.

    This may be my fault, in that I have not made the correct changes to the login.jsp and urlrewrite.xml files. Does this site contain a repository of the correct files, after they have been generated by Roo and manually edited? It would be useful to check which entries I have done wrong or missed.

  • #2
    Having the same problem. It's an ongoing issue with Spring MVC that debugging URL mappings is a major PITA. Ever since they tried to incorporate convention over configuration, it's difficult to understand what the conventions are, and it's also difficult to figure out how to override the conventions with explicit configuration. If you have more than one mapping strategy, you have to know which [default] beans you have to declare. (similar to needing to declare a default constructor if you have a constructor with arguments.

    Now they want to use this url rewrite 3rd party library as a workaround to coerce friendly (no extension) URL paths to a form that will map to the controllers. I fail to see how that's an improvement. Yet another obscure XML mini language to have to grok.

    Comment


    • #3
      Sorry, we don't have the completed wedding application available anymore, although we do maintain the script you need for most of the output in the /samples directory that ships with Roo.

      If you'd like to send me a ZIP of your project (ben dot alex at springsource dot com) I'd be pleased to take a look at it for you and try to identify what's wrong.

      Comment


      • #4
        Yes the sample wedding.roo works, but it only has the stubbed PublicRsvpController and the default security context. I ran into trouble following the tutorial getting 404 because the login page is not found. I will email a jar of my code to you.

        (As an aside, Spring error messaging is usually on point, but it often reports "resource XXX cannot be found because it doesn't exist." Often the resource exists, just not in the locations the framework is looking for it).

        Thanks for responding.

        Comment


        • #5
          Ben, i had the same problem. Perhaps a misunderstanding in the tutorial. Could you please post the solution here.

          Many thanx,
          Fireball

          Comment


          • #6
            We've made a few changes to Spring Security integration in the soon-to-be-released Roo 1.0.0.RC3, so I've updated the blog at http://blog.springsource.com/roo-part-2/ to reflect the changes and also attach the final output of performing those instructions.

            Unfortunately due to significant time restrictions (I'm about to leave for two conferences) I haven't had time to make the attachment look like a pretty RSVP site. Still, it shows what the core project files should look like at the end of following the tutorial blog.

            Please note the attachment is designed for Roo 1.0.0.RC3, so you'll either need to wait until RC3 is released, update your RC2 project to use Spring Security 3 (it's not that hard, just edit your project in accordance with the attachment) or build Roo from trunk (it's also quite easy as we just use Maven). In any event I hope this helps.

            Cheers
            Ben

            Comment


            • #7
              I have tried the revised version - and it still does not work! Here are the problems which I am getting:

              1) The login page has no text on it. It looks like it is not finding the message.properties file;

              2) The WebRsvpController_Roo_Controller.aj file still has constraint.getPropertyPath() in its code, which does not compile since this is not a String.

              Unfortunately I could not attend the Sydney Discovery Day - I had planned to, but I had a job interview on the same day - so I could not show you this directly. I do not have time to work out what is wrong.

              At least for the moment, I must conclude that Roo is not reliable enough for operational use. There needs to be an introductory example which works.

              Comment


              • #8
                The roo project has not been represented as being ready for production.
                I've been using roo to get insight on how to use the new Spring 3.0 features, since at this point there is very little publicly available documentation on 3.0

                Comment


                • #9
                  I downloaded the ZIP, made a directory, changed into the directory, unzipped and "mvn tomcat:run". I then visited http://localhost:8080/wedding and it had login page text just as it should. I think you might have something wrong with your web container. I recommend you try to use the "mvn tomcat:run" approach as you can therefore see the sample works as attached to this thread.

                  Comment


                  • #10
                    Hi Ben,

                    another shot :-) the security is working but when you login as admin1234 the menu has gone. Why is this? If you browse to .../wedding/rsvp the menu is present.

                    Is this a redirection problem? When logging in as admin you should be redirected to a default not a public extended tiles view, right?

                    Cheers Fireball

                    Comment


                    • #11
                      Hi Ben

                      I run your weeding link in tomcat server. it run properly
                      But when i run it through GWT through ApplicationScaffold.html then it show internal error
                      12:15:11.524 [ERROR] [applicationScaffold] Uncaught exception escaped
                      com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.fireEvent(HandlerManager.java:90)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.access$1(HandlerManager.java:55)
                      at com.google.gwt.event.shared.HandlerManager.fireEve nt(HandlerManager.java:208)
                      at com.google.gwt.view.client.SelectionModel$Abstract SelectionModel.fireEvent(SelectionModel.java:126)
                      at com.google.gwt.view.client.SelectionModel$Selectio nChangeEvent.fire(SelectionModel.java:70)
                      at com.google.gwt.view.client.SelectionModel$Abstract SelectionModel$1.execute(SelectionModel.java:159)
                      at com.google.gwt.core.client.impl.SchedulerImpl$Task $.executeScheduled$(SchedulerImpl.java:50)
                      at com.google.gwt.core.client.impl.SchedulerImpl.runS cheduledTasks(SchedulerImpl.java:229)
                      at com.google.gwt.core.client.impl.SchedulerImpl.flus hFinallyCommands(SchedulerImpl.java:328)
                      at com.google.gwt.core.client.impl.Impl.exit(Impl.jav a:238)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
                      at java.lang.reflect.Method.invoke(Method.java:597)
                      at com.google.gwt.dev.shell.ModuleSpace.onLoad(Module Space.java:377)
                      at com.google.gwt.dev.shell.OophmSessionHandler.loadM odule(OophmSessionHandler.java:181)
                      at com.google.gwt.dev.shell.BrowserChannelServer.proc essConnection(BrowserChannelServer.java:520)
                      at com.google.gwt.dev.shell.BrowserChannelServer.run( BrowserChannelServer.java:362)
                      at java.lang.Thread.run(Thread.java:619)
                      Caused by: com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.fireEvent(HandlerManager.java:90)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.access$1(HandlerManager.java:55)
                      at com.google.gwt.event.shared.HandlerManager.fireEve nt(HandlerManager.java:208)
                      at com.google.gwt.app.place.PlaceController.goTo(Plac eController.java:43)
                      at com.google.gwt.app.place.PlacePicker.placePicked(P lacePicker.java:43)
                      at com.google.gwt.app.place.PlacePicker.placePicked(P lacePicker.java:1)
                      at com.google.gwt.app.client.CellListPlacePickerView$ 1.onSelectionChange(CellListPlacePickerView.java:5 8)
                      at com.google.gwt.view.client.SelectionModel$Selectio nChangeEvent.dispatch(SelectionModel.java:99)
                      at com.google.gwt.view.client.SelectionModel$Selectio nChangeEvent.dispatch(SelectionModel.java:1)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.fireEvent(HandlerManager.java:78)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.access$1(HandlerManager.java:55)
                      at com.google.gwt.event.shared.HandlerManager.fireEve nt(HandlerManager.java:208)
                      at com.google.gwt.view.client.SelectionModel$Abstract SelectionModel.fireEvent(SelectionModel.java:126)
                      at com.google.gwt.view.client.SelectionModel$Selectio nChangeEvent.fire(SelectionModel.java:70)
                      at com.google.gwt.view.client.SelectionModel$Abstract SelectionModel$1.execute(SelectionModel.java:159)
                      at com.google.gwt.core.client.impl.SchedulerImpl$Task $.executeScheduled$(SchedulerImpl.java:50)
                      at com.google.gwt.core.client.impl.SchedulerImpl.runS cheduledTasks(SchedulerImpl.java:229)
                      at com.google.gwt.core.client.impl.SchedulerImpl.flus hFinallyCommands(SchedulerImpl.java:328)
                      at com.google.gwt.core.client.impl.Impl.exit(Impl.jav a:238)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
                      at java.lang.reflect.Method.invoke(Method.java:597)
                      at com.google.gwt.dev.shell.ModuleSpace.onLoad(Module Space.java:377)
                      at com.google.gwt.dev.shell.OophmSessionHandler.loadM odule(OophmSessionHandler.java:181)
                      at com.google.gwt.dev.shell.BrowserChannelServer.proc essConnection(BrowserChannelServer.java:520)
                      at com.google.gwt.dev.shell.BrowserChannelServer.run( BrowserChannelServer.java:362)
                      at java.lang.Thread.run(Thread.java:619)
                      Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError): '$wnd.JSON' is null or not an object
                      number: -2146823281
                      description: '$wnd.JSON' is null or not an object
                      at com.google.gwt.dev.shell.BrowserChannelServer.invo keJavascript(BrowserChannelServer.java:247)
                      at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke (ModuleSpaceOOPHM.java:120)
                      at com.google.gwt.dev.shell.ModuleSpace.invokeNative( ModuleSpace.java:510)
                      at com.google.gwt.dev.shell.ModuleSpace.invokeNativeO bject(ModuleSpace.java:264)
                      at com.google.gwt.dev.shell.JavaScriptHost.invokeNati veObject(JavaScriptHost.java:91)
                      at com.google.gwt.requestfactory.client.impl.ClientRe questHelper$MyJSO$.toJsonString$(ClientRequestHelp er.java)
                      at com.google.gwt.requestfactory.client.impl.ClientRe questHelper$MyJSO$.access$1(ClientRequestHelper.ja va:44)
                      at com.google.gwt.requestfactory.client.impl.ClientRe questHelper.getRequestString(ClientRequestHelper.j ava:54)
                      at com.poonia.gwt.request.CustomerRequestImpl$3.getRe questData(CustomerRequestImpl.java:31)
                      at com.google.gwt.requestfactory.client.impl.RequestF actoryJsonImpl.fire(RequestFactoryJsonImpl.java:57 )
                      at com.google.gwt.requestfactory.client.impl.Abstract Request.fire(AbstractRequest.java:47)
                      at com.poonia.gwt.ui.CustomerListActivity.fireCountRe quest(CustomerListActivity.java:92)
                      at com.google.gwt.valuestore.ui.AbstractRecordListAct ivity.init(AbstractRecordListActivity.java:192)
                      at com.google.gwt.valuestore.ui.AbstractRecordListAct ivity.start(AbstractRecordListActivity.java:140)
                      at com.poonia.gwt.ui.CustomerListActivity.start(Custo merListActivity.java:83)
                      at com.google.gwt.app.place.ActivityManager.onPlaceCh ange(ActivityManager.java:113)
                      at com.google.gwt.app.place.PlaceChangeEvent.dispatch (PlaceChangeEvent.java:58)
                      at com.google.gwt.app.place.PlaceChangeEvent.dispatch (PlaceChangeEvent.java:1)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.fireEvent(HandlerManager.java:78)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.access$1(HandlerManager.java:55)
                      at com.google.gwt.event.shared.HandlerManager.fireEve nt(HandlerManager.java:208)
                      at com.google.gwt.app.place.PlaceController.goTo(Plac eController.java:43)
                      at com.google.gwt.app.place.PlacePicker.placePicked(P lacePicker.java:43)
                      at com.google.gwt.app.place.PlacePicker.placePicked(P lacePicker.java:1)
                      at com.google.gwt.app.client.CellListPlacePickerView$ 1.onSelectionChange(CellListPlacePickerView.java:5 8)
                      at com.google.gwt.view.client.SelectionModel$Selectio nChangeEvent.dispatch(SelectionModel.java:99)
                      at com.google.gwt.view.client.SelectionModel$Selectio nChangeEvent.dispatch(SelectionModel.java:1)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.fireEvent(HandlerManager.java:78)
                      at com.google.gwt.event.shared.HandlerManager$Handler Registry.access$1(HandlerManager.java:55)
                      at com.google.gwt.event.shared.HandlerManager.fireEve nt(HandlerManager.java:208)
                      at com.google.gwt.view.client.SelectionModel$Abstract SelectionModel.fireEvent(SelectionModel.java:126)
                      at com.google.gwt.view.client.SelectionModel$Selectio nChangeEvent.fire(SelectionModel.java:70)
                      at com.google.gwt.view.client.SelectionModel$Abstract SelectionModel$1.execute(SelectionModel.java:159)
                      at com.google.gwt.core.client.impl.SchedulerImpl$Task $.executeScheduled$(SchedulerImpl.java:50)
                      at com.google.gwt.core.client.impl.SchedulerImpl.runS cheduledTasks(SchedulerImpl.java:229)
                      at com.google.gwt.core.client.impl.SchedulerImpl.flus hFinallyCommands(SchedulerImpl.java:328)
                      at com.google.gwt.core.client.impl.Impl.exit(Impl.jav a:238)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
                      at java.lang.reflect.Method.invoke(Method.java:597)
                      at com.google.gwt.dev.shell.ModuleSpace.onLoad(Module Space.java:377)
                      at com.google.gwt.dev.shell.OophmSessionHandler.loadM odule(OophmSessionHandler.java:181)
                      at com.google.gwt.dev.shell.BrowserChannelServer.proc essConnection(BrowserChannelServer.java:520)
                      at com.google.gwt.dev.shell.BrowserChannelServer.run( BrowserChannelServer.java:362)
                      at java.lang.Thread.run(Thread.java:619)

                      What's it

                      Comment

                      Working...
                      X