Re: How to get rid of some T5 stack traces ...
Hi, hrx - xhr :D It is true that T5 catches many of these I-did-not-even-know-something-makes-these -requests, and it is good to know of this happening. Obviously I should also take a look at the URL re-write functionality. - Ville Ps. It's minus 20 Celsius here... (-4 Fahrenheit) I'm freezing! :) Thiago H. de Paula Figueiredo wrote: On Thu, 28 Jan 2010 14:47:08 -0200, Ville Virtanen ville.virta...@cerion.fi wrote: Hi, Hi! One way to prevent this is to contribute a T5 httprequest filter that just redirects to error page if it detects a post url submitted using GET. Well, Tapestry always submit by POST, so any submission using GET is not an human user. If you want to provide access to robots, I think it's better to have some kind of API linke Twitter has. (And isn't hrx?) hrx? I guess I need some more internet vocabulary . . . hehehe This is one of the T5 weaker sides I think. It produces many like these in the production for us for a site that slightly altered url layout, although these errors are rarely made by human. I think this is an upside, not a downside, as it shows that suspicious requests are being made. Haven't seen that one on our production servers, however our servers are getting hammered by someone trying to get /index.html which produces there is no such component in page... blah .. the valid components are This can be fixed by implementing a component named html that does absolutely nothing and placing it to the page. You could also have an URL rewriter rule to catch that. - Ville (From f*cking cold and snowy Turku ;)) Thiago (from f*cking-but-not-that-much hot Belo Horizonte) ;) -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, software architect and developer, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/How-to-get-rid-of-some-T5-stack-traces-...-tp27352338p27367110.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: How to get rid of some T5 stack traces ...
Hi ! Hum ... xhr !? That reminds me about that we have had problems with Internet Explorer and zone updates. Somehting with that the xhr flag (!?) was not set ... I will have to dig into this ... but don't have the time right now! /Gunnar 2010/1/29 Ville Virtanen ville.virta...@cerion.fi Hi, hrx - xhr :D It is true that T5 catches many of these I-did-not-even-know-something-makes-these -requests, and it is good to know of this happening. Obviously I should also take a look at the URL re-write functionality. - Ville Ps. It's minus 20 Celsius here... (-4 Fahrenheit) I'm freezing! :) Thiago H. de Paula Figueiredo wrote: On Thu, 28 Jan 2010 14:47:08 -0200, Ville Virtanen ville.virta...@cerion.fi wrote: Hi, Hi! One way to prevent this is to contribute a T5 httprequest filter that just redirects to error page if it detects a post url submitted using GET. Well, Tapestry always submit by POST, so any submission using GET is not an human user. If you want to provide access to robots, I think it's better to have some kind of API linke Twitter has. (And isn't hrx?) hrx? I guess I need some more internet vocabulary . . . hehehe This is one of the T5 weaker sides I think. It produces many like these in the production for us for a site that slightly altered url layout, although these errors are rarely made by human. I think this is an upside, not a downside, as it shows that suspicious requests are being made. Haven't seen that one on our production servers, however our servers are getting hammered by someone trying to get /index.html which produces there is no such component in page... blah .. the valid components are This can be fixed by implementing a component named html that does absolutely nothing and placing it to the page. You could also have an URL rewriter rule to catch that. - Ville (From f*cking cold and snowy Turku ;)) Thiago (from f*cking-but-not-that-much hot Belo Horizonte) ;) -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, software architect and developer, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/How-to-get-rid-of-some-T5-stack-traces-...-tp27352338p27367110.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- [Hem: 08-715 59 57, Mobil: 0708-52 62 90] Allévägen 2A, 132 42 Saltsjö-Boo
Back to request-driven frameworks...What a step back!
Hello, I rarely write here, and that's always when I have a problem with some part of Tapestry, but this time I want to praise it a bit since I had to work recently on some project made in reques-driven framework (Spring MVC). For years I have been working just inTapestry, so I just forgot how it is to work again in this old-school type of way, and what a step back it was! Probably everyone is thinking now how good is that one can encapsulate some piece of HTML and action inside a component, and reuse it afterwards. Well yes, but that wasn't THE thing I missed most when working on new project. First thing that I missed was the structure of application's web portion. I am a big fan of domain-driven design (DDD) which teaches us that our code should be aligned with our mental model. When one thinks about web application, we always think in terms of pages and actions that are given on them, so it is natural that our code should be structured this way - classes that represent pages, and methods on them that represent actions on that pages. Also, many web pages require certain parameters to be displayed at all, and they should be enforced somehow. Instead, in Spring MVC (any probably many others similar frameworks) one has freedom to structure web controllers any way they want. Hell, you can have just one controller for whole app and cram all request handlers into it. There is no notion of page request or action request that are so natural to our mental model, just low-level HTTP request thinking there. Some would say that freedom is good, but I don't. Just think how many developers truly understand how to structure whole app, and have enough self-discipline to enforce that. It's much better when framework forces you to think and develop in proper way. And the biggest selling point of Tapestry compared to these frameworks was amount of care one has to give to URLs and parameters. To be honest, you have to think abou them in Tapestry to some degree also, but that degree is so much smaller when compared to Spring. Tapestry allow you tu reuse compile-checking so much more, and refactoring which is essential part of any serious development becomes practicaly painless then. Just for example, in my ViewCompany page I can navigate to its employees. In Spring MVC I had to write: a href=$linkTool.uri(admin/employees/view).param(employeeId, loopedEmployee.id)View Employee/a although it's quite short, I had to take care about bunch of non-type-safe string such as admin, employees, view, employeeId etc... Instead in Tapestry, I enhanced PageLink component with my tape-safe version that accepts configured page instances: t:safepagelink t:page=configuredEmployeePageVew Employee/t:safepagelink ..and in page class: @InjectPage private EmployeePage employeePage; public EmployeePage getConfiguredEmployeePage() { return employeePage.configured(loopedEmployee.getId()); } Voila! I don't care what package is my page located in, or if it's name gets changed, or if required parameters for its display change since I know my compiler will notify me. Non-type-safe string here is configuredEmployeePage, but it's just one, and it's what I call local string - it is only tied to accessor in the same page class one is working on, and therefore much easier to think and care about, compared when one has to think about all other templates in app where this page is referenced. This framework quality really shine not only during initial page development, but especially later when you start to refactor things. You simply have much more control upon whole application. Just to clarify - method configured that I place in each page is basically just calling onActivate that configures activation context and also returns self as return value. The nicest possible way to implement this render request would probably be via constructor, something like: public EmployeePage getConfiguredEmployeePage() { return new EmployeePage(loopedEmployee.getId()); } , but I understand that page pooling and maybe some other features stand in way. Anyone reading this, feel free to vote for my JIRA issue to upgrade PageLink for this type-safe way of rendering page links :) https://issues.apache.org/jira/browse/TAP5-757 It's really trivial update to tapestry code Regards, Vjeran - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
from tapestry5 quickstart to jumpstart?
Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
New Tapestry Website - http://www.seesaw.com/
Hi, We have just launched http://www.seesaw.com/ into beta this is a Tapestry 5 powered website providing a video on demand site (like iPlayer or Hulu) in the UK market. It is still in beta but if you sign up there is a good chance of being invited soon. To help share this as a good Tapestry case study I will be producing some blog articles on key bits and doing a talk at Skillsmatter in London on the 23rd March - http://skillsmatter.com/event/java-jee/tapestry-5-in-action/zx-486 sharing our experiences with Tapestry. Thanks Ben Gidley www.gidley.co.uk b...@gidley.co.uk
TestNG Injecting Testify services into pages
I'm running into trouble with using services declared inside of a Testify TestNG test case with @ForComponents into my pages - when I ask the tester to render a page, the services that were supposed to be injected, are null. Any tips on what I'm doing wrong ? Here is the sample code: public class StupidPageTest extends AbstractZdTapTest { @ForComponents private UserRepository userRepo; @Override protected void doSetUp() { userRepo = EasyMock.createMock(UserRepository.class); } @Test public void testElementIsOnPage() throws Exception { expect(userRepo.userRegistered((EmailAddress)anyObject())).andStubReturn(Boolean.FALSE); ZdUser testUser = new ZdUser(new EmailAddress(f...@bar.com));; expect(userRepo.registerUser(isA(UserRegistration.class))).andStubReturn(testUser); replay(userRepo); Document page = tester.renderPage(stupid); System.out.println(Rendered page: + page.toString()); } } public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(com.troymaxventures.zadachite, ZdTestAppModule.class,AppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(com.troymaxventures.zadachite, ZdTestAppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } public class ZdTestAppModule { /** * Ensure that there are valid HTTP request/response objects in the test, otherwise the ACEGI integration tends to blow up. */ public static void contributeRequestHandler(OrderedConfigurationRequestFilter config, final RequestGlobals requestGlobals) { RequestFilter filter = new RequestFilter() { @Override public boolean service(Request request, Response response, RequestHandler handler) throws IOException { requestGlobals.storeServletRequestResponse(EasyMock.createMock(HttpServletRequest.class), EasyMock.createMock(HttpServletResponse.class)); return handler.service(request, response); } }; config.add(EnsureNonNullHttpRequestAndResponse, filter, before:*); } } public class Stupid { @Inject private UserRepository userRepo; void setupRender() throws StorageException { // the userRepo is null here during the test userRepo.getUser(new EmailAddress(f...@bar.com)); } } -- View this message in context: http://old.nabble.com/TestNG---Injecting-Testify-services-into-pages-tp27370621p27370621.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: New Tapestry Website - http://www.seesaw.com/
Hi... just to give you a heads up... the css is not working as expected in IE6 (screenshot attached) Your response to this may well be get a better browser which I totally understand. Cheers, Lance. On 29 January 2010 10:18, Ben Gidley b...@gidley.co.uk wrote: Hi, We have just launched http://www.seesaw.com/ into beta this is a Tapestry 5 powered website providing a video on demand site (like iPlayer or Hulu) in the UK market. It is still in beta but if you sign up there is a good chance of being invited soon. To help share this as a good Tapestry case study I will be producing some blog articles on key bits and doing a talk at Skillsmatter in London on the 23rd March - http://skillsmatter.com/event/java-jee/tapestry-5-in-action/zx-486 sharing our experiences with Tapestry. Thanks Ben Gidley www.gidley.co.uk b...@gidley.co.uk - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: New Tapestry Website - http://www.seesaw.com/
It is delibrate :) We don't support IE6. The beta login page is missing messaging telling you this nicely, the main site does have it. Ben Gidley www.gidley.co.uk b...@gidley.co.uk On Fri, Jan 29, 2010 at 11:33 AM, Lance Java lance.j...@googlemail.comwrote: Hi... just to give you a heads up... the css is not working as expected in IE6 (screenshot attached) Your response to this may well be get a better browser which I totally understand. Cheers, Lance. On 29 January 2010 10:18, Ben Gidley b...@gidley.co.uk wrote: Hi, We have just launched http://www.seesaw.com/ into beta this is a Tapestry 5 powered website providing a video on demand site (like iPlayer or Hulu) in the UK market. It is still in beta but if you sign up there is a good chance of being invited soon. To help share this as a good Tapestry case study I will be producing some blog articles on key bits and doing a talk at Skillsmatter in London on the 23rd March - http://skillsmatter.com/event/java-jee/tapestry-5-in-action/zx-486sharing our experiences with Tapestry. Thanks Ben Gidley www.gidley.co.uk b...@gidley.co.uk - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: New Tapestry Website - http://www.seesaw.com/
Hi Ben, What motivated you to use Tapestry? obviously this is a great choice of course! As a side note: IE 6 is a malware software developers dream come true, it has to be the worst browser since Netscape 4, it has two critical flaws: 1. A core design flaw in the zone-based security framework that is un-patchable, a vulnerability allowing remote execution via Active X, you enable any active X control, then you are susceptible, and 2. Incomplete Support for AJAX which requires active X enabled So its probably a wise decision to not support it. regards, Peter - Original Message - From: Ben Gidley b...@gidley.co.uk To: Tapestry users users@tapestry.apache.org Sent: Friday, 29 January, 2010 13:41:13 GMT +02:00 Athens, Beirut, Bucharest, Istanbul Subject: Re: New Tapestry Website - http://www.seesaw.com/ It is delibrate :) We don't support IE6. The beta login page is missing messaging telling you this nicely, the main site does have it. Ben Gidley www.gidley.co.uk b...@gidley.co.uk On Fri, Jan 29, 2010 at 11:33 AM, Lance Java lance.j...@googlemail.comwrote: Hi... just to give you a heads up... the css is not working as expected in IE6 (screenshot attached) Your response to this may well be get a better browser which I totally understand. Cheers, Lance. On 29 January 2010 10:18, Ben Gidley b...@gidley.co.uk wrote: Hi, We have just launched http://www.seesaw.com/ into beta this is a Tapestry 5 powered website providing a video on demand site (like iPlayer or Hulu) in the UK market. It is still in beta but if you sign up there is a good chance of being invited soon. To help share this as a good Tapestry case study I will be producing some blog articles on key bits and doing a talk at Skillsmatter in London on the 23rd March - http://skillsmatter.com/event/java-jee/tapestry-5-in-action/zx-486sharing our experiences with Tapestry. Thanks Ben Gidley www.gidley.co.uk b...@gidley.co.uk - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: New Tapestry Website - http://www.seesaw.com/
Yes IE6 is a pain - it is only 6% of the traffic we are seeing (on the holding page) so we decided we could live without it. We choose tapestry for a whole range of reasons big ones were - Components - the side is heavily component based and we re-use elements across pages - AJAX - we use zones quite a lot and tapestry makes it really easy - Development behaviour - it is easy to develop - fewer application restarts I am going to go into more detail on the skillsmatter talk (shameless plug) - and will post the slides online afterwards.. Ben Gidley www.gidley.co.uk b...@gidley.co.uk On Fri, Jan 29, 2010 at 12:06 PM, Peter Stavrinides p.stavrini...@albourne.com wrote: Hi Ben, What motivated you to use Tapestry? obviously this is a great choice of course! As a side note: IE 6 is a malware software developers dream come true, it has to be the worst browser since Netscape 4, it has two critical flaws: 1. A core design flaw in the zone-based security framework that is un-patchable, a vulnerability allowing remote execution via Active X, you enable any active X control, then you are susceptible, and 2. Incomplete Support for AJAX which requires active X enabled So its probably a wise decision to not support it. regards, Peter - Original Message - From: Ben Gidley b...@gidley.co.uk To: Tapestry users users@tapestry.apache.org Sent: Friday, 29 January, 2010 13:41:13 GMT +02:00 Athens, Beirut, Bucharest, Istanbul Subject: Re: New Tapestry Website - http://www.seesaw.com/ It is delibrate :) We don't support IE6. The beta login page is missing messaging telling you this nicely, the main site does have it. Ben Gidley www.gidley.co.uk b...@gidley.co.uk On Fri, Jan 29, 2010 at 11:33 AM, Lance Java lance.j...@googlemail.com wrote: Hi... just to give you a heads up... the css is not working as expected in IE6 (screenshot attached) Your response to this may well be get a better browser which I totally understand. Cheers, Lance. On 29 January 2010 10:18, Ben Gidley b...@gidley.co.uk wrote: Hi, We have just launched http://www.seesaw.com/ into beta this is a Tapestry 5 powered website providing a video on demand site (like iPlayer or Hulu) in the UK market. It is still in beta but if you sign up there is a good chance of being invited soon. To help share this as a good Tapestry case study I will be producing some blog articles on key bits and doing a talk at Skillsmatter in London on the 23rd March - http://skillsmatter.com/event/java-jee/tapestry-5-in-action/zx-486sharing our experiences with Tapestry. Thanks Ben Gidley www.gidley.co.uk b...@gidley.co.uk - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Returning a FieldValidator to a TextField
Hello all, I'm new to tapestry and wanted to do a simple form with user defined fields. I have a Field class which contains a String Value and a String set of restrictions. I wanted to do something like this: input type=text t:type=TextField * t:validate=currentField.fieldValidator* t:value=currentField.fieldValue / My idea was to use the already existing FieldValidators like required, regexp, min, etc... Would like you're opinion on how to do this, if its even possible. I'm a bit clueless. Thanks in advance, Nuno Ferreira
Re: TestNG Injecting Testify services into pages
From a quick scan, I can't see anything obviously wrong with the code you've written. Just in case, make sure you are using the correct base class (com.formos.testify.testng.TapestryTest) as there are several base classes with the same simple name. The next thing is probably to check that the various setup methods are being called. Can you put a print statement into doSetUp() and check it's actually being called? This will let us see whether the setup isn't being called, or the @ForComponents processing isn't working properly. I suspect the doSetUp()isn't being called and that's going to be a TestNG thing: it should be calling TapestryTest#setUp() method... Can you check the TestNG output reports - I seem to remember that one of them outputs the sequence of setup methods and tests? If you're still stuck can you also send the testng configuration (xml) file? Let me know what you find. - Paul akochnev akoch...@gmail.com wrote on 29/01/2010 11:24:01: I'm running into trouble with using services declared inside of a Testify TestNG test case with @ForComponents into my pages - when I ask the tester to render a page, the services that were supposed to be injected, are null. Any tips on what I'm doing wrong ? Here is the sample code: public class StupidPageTest extends AbstractZdTapTest { @ForComponents private UserRepository userRepo; @Override protected void doSetUp() { userRepo = EasyMock.createMock(UserRepository.class); } @Test public void testElementIsOnPage() throws Exception { expect(userRepo.userRegistered((EmailAddress)anyObject())). andStubReturn(Boolean.FALSE); ZdUser testUser = new ZdUser(new EmailAddress(f...@bar.com));; expect(userRepo.registerUser(isA(UserRegistration.class))). andStubReturn(testUser); replay(userRepo); Document page = tester.renderPage(stupid); System.out.println(Rendered page: + page.toString()); } } public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(com.troymaxventures.zadachite, ZdTestAppModule.class,AppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(com.troymaxventures.zadachite, ZdTestAppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } public class ZdTestAppModule { /** * Ensure that there are valid HTTP request/response objects in the test, otherwise the ACEGI integration tends to blow up. */ public static void contributeRequestHandler(OrderedConfigurationRequestFilter config, final RequestGlobals requestGlobals) { RequestFilter filter = new RequestFilter() { @Override public boolean service(Request request, Response response, RequestHandler handler) throws IOException { requestGlobals.storeServletRequestResponse(EasyMock. createMock(HttpServletRequest.class), EasyMock.createMock(HttpServletResponse.class)); return handler.service(request, response); } }; config.add(EnsureNonNullHttpRequestAndResponse, filter, before:*); } } public class Stupid { @Inject private UserRepository userRepo; void setupRender() throws StorageException { // the userRepo is null here during the test userRepo.getUser(new EmailAddress(f...@bar.com)); } } -- View this message in context: http://old.nabble.com/TestNG--- Injecting-Testify-services-into-pages-tp27370621p27370621.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.
Re: New Tapestry Website - http://www.seesaw.com/
6% is actually around the traffic generally seen on the web by IE6 http://www.w3schools.com/browsers/browsers_stats.asp Ben Gidley ha scritto: Yes IE6 is a pain - it is only 6% of the traffic we are seeing (on the holding page) so we decided we could live without it. We choose tapestry for a whole range of reasons big ones were - Components - the side is heavily component based and we re-use elements across pages - AJAX - we use zones quite a lot and tapestry makes it really easy - Development behaviour - it is easy to develop - fewer application restarts I am going to go into more detail on the skillsmatter talk (shameless plug) - and will post the slides online afterwards.. Ben Gidley www.gidley.co.uk b...@gidley.co.uk On Fri, Jan 29, 2010 at 12:06 PM, Peter Stavrinides p.stavrini...@albourne.com wrote: Hi Ben, What motivated you to use Tapestry? obviously this is a great choice of course! As a side note: IE 6 is a malware software developers dream come true, it has to be the worst browser since Netscape 4, it has two critical flaws: 1. A core design flaw in the zone-based security framework that is un-patchable, a vulnerability allowing remote execution via Active X, you enable any active X control, then you are susceptible, and 2. Incomplete Support for AJAX which requires active X enabled So its probably a wise decision to not support it. regards, Peter - Original Message - From: Ben Gidley b...@gidley.co.uk To: Tapestry users users@tapestry.apache.org Sent: Friday, 29 January, 2010 13:41:13 GMT +02:00 Athens, Beirut, Bucharest, Istanbul Subject: Re: New Tapestry Website - http://www.seesaw.com/ It is delibrate :) We don't support IE6. The beta login page is missing messaging telling you this nicely, the main site does have it. Ben Gidley www.gidley.co.uk b...@gidley.co.uk On Fri, Jan 29, 2010 at 11:33 AM, Lance Java lance.j...@googlemail.com wrote: Hi... just to give you a heads up... the css is not working as expected in IE6 (screenshot attached) Your response to this may well be get a better browser which I totally understand. Cheers, Lance. On 29 January 2010 10:18, Ben Gidley b...@gidley.co.uk wrote: Hi, We have just launched http://www.seesaw.com/ into beta this is a Tapestry 5 powered website providing a video on demand site (like iPlayer or Hulu) in the UK market. It is still in beta but if you sign up there is a good chance of being invited soon. To help share this as a good Tapestry case study I will be producing some blog articles on key bits and doing a talk at Skillsmatter in London on the 23rd March - http://skillsmatter.com/event/java-jee/tapestry-5-in-action/zx-486sharing our experiences with Tapestry. Thanks Ben Gidley www.gidley.co.uk b...@gidley.co.uk - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- == dott. Ivano Mario Luberti Archimede Informatica societa' cooperativa a r. l. Sede Operativa Via Gereschi 36 - 56126- Pisa tel.: +39-050- 580959 tel/fax: +39-050-9711344 web: www.archicoop.it == - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: New Tapestry Website - http://www.seesaw.com/
Just a short note: the GA stuff seems to be loaded twice. In the header as well as in the footer. Piero - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: About T5 integration modules
Hi, For the one who are interested in, I have written a first article on how we have secured Tapestry Pages in wooki with Spring Security : http://spreadthesource.com/2010/01/securing-tapestry-5-pages-with-spring-security-2-x-part-i/ Best Regards, Christophe Cordenier. Developper of Wooki @wookicentral.com 2009/12/30 Newham, Cameron cameron.new...@bl.uk Interesting. I'd hardly call myself even an advanced-intermediate Tapestry user (some of the stuff you guys talk about is way over my head!) but really, is it that difficult to create a Dispatcher and custom page annotations?! I included simple security with roles very early on in my webapp by going the page annotation route because it was a) understandable and b) simple to implement by following the examples I'd seen. I had even less of an understanding of Tapestry than I do now. I found it very easy to understand and code, and it works so well. I shudder to think how long it would have taken ploughing through documents on security solutions, like Spring Security, when all I wanted was half a dozen roles and some way to mark my pages as general viewing or requiring login under a certain role. As I've said all along, I think the only thing lacking big time for Tapestry is clear, easy to understand documentation with good simple examples of each feature. That said - I had no troubles with the above security stuff (and I didn't even have to look at Tapestry source code ;-) Rather than providing large cumbersome bolt-ons for features that may not even solve all problems, I'd rather see well-defined methods and example solutions for particular problems which allows scope for people to customise if they so wish. Isn't that an example of convention over configuration? ;-) It would also be far quicker than developing modules that try to be all things to all people - and perhaps lessen the perceived gap between tech. like Wicket and Tapestry in a much shorter time period. -Original Message- From: p...@sartini-its.com [mailto:p...@sartini-its.com] On Behalf Of Piero Sartini Sent: 24 December 2009 20:34 To: Tapestry users Subject: Re: About T5 integration modules ... Howard, I think people are looking for these kind of integrations because there is no tapestry module allowing them to secure there pages. Of course you may argument that it is easy to build a Dispatcher and define some custom annotations. That's true if you managed to understand how these things work. But if you've just started with tapestry, in my experience this is not that easy. Then you remember about Spring Security or any other solution you are used to and try to make use of it in your new tapestry-world. ... Piero - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: TestNG Injecting Testify services into pages
Paul, thanks for the quick response. Now, down the checklist : 1. I am extending from the testng version of the class: package com.troymaxventures.zadachite.pagetestsupport; import com.formos.tapestry.testify.core.TapestryTester; import com.formos.tapestry.testify.testng.TapestryTest; public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(foo, ZdTestAppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } 2. doSetUp() is indeed being called, I added a breakpoint and a println : @Override protected void doSetUp() { userRepo = EasyMock.createMock(UserRepository.class); System.out.println(The doSetUp() is called by TestNG); } The doSetUp() is called by TestNG Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 5.051 sec FAILURE! 3. The testng config file : I run the test from Maven, this is the suite file that gets generated : !DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd; suite thread-count=5 skipfailedinvocationCounts=false verbose=0 name=Failed suite [Command line suite] junit=false annotations=JDK test name=Command line test(failed) junit=false annotations=JDK classes class name=com.troymaxventures.zadachite.pagetests.StupidPageTest methods include name=processInjectAnnotation/ include name=testElementIsOnPage/ include name=tearDown/ include name=testStupidPageUnitTest/ include name=setUp/ /methods /class /classes /test /suite 4. I added an extra test where I explicitly use the pageTester to try to inject the dependencies into my page. When I specify a totally bogus package name ( so that Testify doesn't pick up the AppModule from my app), the test fails w/ an error that it can't find my page (understandable, as I had the bogus package name, so it can't find the page) when I render the page using the tester; however, when I try to inject the dependencies directly into the object instance, it fails that there is no instance of UserRepository . When I include the full package name (so that testify picks up the AppModule), the injectInto populates the service from the AppModule and not with the implementation that I provide in the test. When I use the tester.renderPage(stupid) and debug the page, I see nulls set on all the services (e.g. in my example, userRepo is null), and I also see non-null values in some mangled names in the class (e.g. something like _$nonTestUserRepo) --- Test set: TestSuite --- Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 5.052 sec FAILURE! testElementIsOnPage(com.troymaxventures.zadachite.pagetests.StupidPageTest) Time elapsed: 0.966 sec FAILURE! java.lang.RuntimeException: Request was not handled: 'stupid' may not be a valid page name. at org.apache.tapestry5.test.PageTester.renderPage(PageTester.java:177) at com.troymaxventures.zadachite.pagetests.StupidPageTest.testElementIsOnPage(StupidPageTest.java:40) testStupidPageUnitTest(com.troymaxventures.zadachite.pagetests.StupidPageTest) Time elapsed: 0.01 sec FAILURE! java.lang.RuntimeException: No service implements the interface com.troymaxventures.zadachite.services.UserRepository. at org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:575) at org.apache.tapestry5.ioc.internal.RegistryWrapper.getService(RegistryWrapper.java:58) at org.apache.tapestry5.test.PageTester.getService(PageTester.java:154) at com.formos.tapestry.testify.core.TapestryTester$FieldInjector.process(TapestryTester.java:125) at com.formos.tapestry.testify.core.TapestryTester.processField(TapestryTester.java:106) at com.formos.tapestry.testify.core.TapestryTester.processFieldsAnnotatedWith(TapestryTester.java:96) at com.formos.tapestry.testify.core.TapestryTester.injectInto(TapestryTester.java:74) at com.troymaxventures.zadachite.pagetests.StupidPageTest.testStupidPageUnitTest(StupidPageTest.java:53) The superclass w/ a bogus package name: import com.formos.tapestry.testify.core.TapestryTester; import com.formos.tapestry.testify.testng.TapestryTest; public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(foo, ZdTestAppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } import com.formos.tapestry.testify.core.ForComponents; import com.troymaxventures.zadachite.model.EmailAddress; import com.troymaxventures.zadachite.model.UserRegistration; import com.troymaxventures.zadachite.model.ZdUser; import com.troymaxventures.zadachite.pages.Stupid; import
Re: TestNG Injecting Testify services into pages
And this is the chronological listing of methods: http://old.nabble.com/file/p27372140/methods.html methods.html Below is the listing of methods in HTML, just in case the file uploaded to nabble doesn't work --- h2Methods run, sorted chronologically/h2h3gt;gt; means before, lt;lt; means after/h3p/br/emCommand line suite/emp/small(Hover the method name to see the test class name)/smallp/ table border=1 trthTime/ththDelta (ms)/ththSuitebrconfiguration/ththTestbrconfiguration/ththClassbrconfiguration/ththGroupsbrconfiguration/ththMethodbrconfiguration/ththTestbrmethod/ththThread/ththInstances/th/tr tr bgcolor=7b7c76 td10/01/29 07:56:09/td td0/td tdnbsp;/tdtdnbsp;/tdtd title=gt;gt;com.formos.tapestry.testify.testng.TapestryTest.processInjectAnnotation()gt;gt;processInjectAnnotation/td tdnbsp;/tdtdnbsp;/tdtdnbsp;/td tdm...@9633996/td td/td /tr tr bgcolor=7b7c76 td10/01/29 07:56:10/td td1091/td tdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtd title=gt;gt;com.formos.tapestry.testify.testng.TapestryTest.setUp()gt;gt;setUp/td tdnbsp;/td tdm...@9633996/td td/td /tr tr bgcolor=74c3aa td10/01/29 07:56:09/td td123/td tdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtd title=com.troymaxventures.zadachite.pagetests.StupidPageTest.testElementIsOnPage()testElementIsOnPage/td tdm...@9633996/td td/td /tr tr bgcolor=7b7c76 td10/01/29 07:56:10/td td1095/td tdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtd title=lt;lt;com.formos.tapestry.testify.testng.TapestryTest.tearDown()lt;lt;tearDown/td tdnbsp;/td tdm...@9633996/td td/td /tr tr bgcolor=7b7c76 td10/01/29 07:56:10/td td1091/td tdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtd title=gt;gt;com.formos.tapestry.testify.testng.TapestryTest.setUp()gt;gt;setUp/td tdnbsp;/td tdm...@9633996/td td/td /tr tr bgcolor=74c3aa td10/01/29 07:56:10/td td1092/td tdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtd title=com.troymaxventures.zadachite.pagetests.StupidPageTest.testStupidPageUnitTest()testStupidPageUnitTest/td tdm...@9633996/td td/td /tr tr bgcolor=7b7c76 td10/01/29 07:56:10/td td1095/td tdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtdnbsp;/tdtd title=lt;lt;com.formos.tapestry.testify.testng.TapestryTest.tearDown()lt;lt;tearDown/td tdnbsp;/td tdm...@9633996/td td/td /tr /table akochnev wrote: Paul, thanks for the quick response. Now, down the checklist : 1. I am extending from the testng version of the class: package com.troymaxventures.zadachite.pagetestsupport; import com.formos.tapestry.testify.core.TapestryTester; import com.formos.tapestry.testify.testng.TapestryTest; public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(foo, ZdTestAppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } 2. doSetUp() is indeed being called, I added a breakpoint and a println : @Override protected void doSetUp() { userRepo = EasyMock.createMock(UserRepository.class); System.out.println(The doSetUp() is called by TestNG); } The doSetUp() is called by TestNG Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 5.051 sec FAILURE! 3. The testng config file : I run the test from Maven, this is the suite file that gets generated : !DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd; suite thread-count=5 skipfailedinvocationCounts=false verbose=0 name=Failed suite [Command line suite] junit=false annotations=JDK test name=Command line test(failed) junit=false annotations=JDK classes class name=com.troymaxventures.zadachite.pagetests.StupidPageTest methods include name=processInjectAnnotation/ include name=testElementIsOnPage/ include name=tearDown/ include name=testStupidPageUnitTest/ include name=setUp/ /methods /class /classes /test /suite 4. I added an extra test where I explicitly use the pageTester to try to inject the dependencies into my page. When I specify a totally bogus package name ( so that Testify doesn't pick up the AppModule from my app), the test fails w/ an error that it can't find my page (understandable, as I had the bogus package name, so it can't find the page) when I render the page using the tester; however, when I try to inject the dependencies directly into the object instance, it fails that there is no instance of UserRepository . When I include the full package name (so that testify picks up the AppModule), the injectInto populates the service from the AppModule and not with the implementation that I provide in the test. When I use the tester.renderPage(stupid) and debug the page, I see nulls set on all the services (e.g. in my example, userRepo is null), and I also see non-null values in some mangled names in the class (e.g. something like _$nonTestUserRepo)
using back button with clientValidation from
Hi, I have forms with param clientValidation=true. I need two buttons: one submit and one back. As I havn't found any better solution I have iplemented the back button as org.apache.tapestry5.corelib.components.Sumbit (Java code has to be run before returning to the previous page). The problem is when the back button is peressed fields with param validate=required can't be empty. I migth need some component like ActionButton which functions as an action link and is rendered as input type=button. (I guess I could trick simulating function of an action link by adding an onlick param to the button, but hope there does a proper solution exist.) thanks in advance Izolda - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: using back button with clientValidation from
@Component(parameters = {value=message:button.value.cancel}) private Submit cancelButton; private boolean isCancelButtonPressed; @OnEvent(component = cancelButton, value = EventConstants.SELECTED) void onSelectedFromCancelButton() { isCancelButtonPressed = true; editForm.clearErrors(); } @CommitAfter @OnEvent(value = EventConstants.SUCCESS) Class onSuccess() { if (!isCancelButtonPressed) shipmentOrderDAO.doSave(entity); return BrowseOrder.class; } with regards Sven Homburg Founder of the Chenille Kit Project http://chenillekit.codehaus.org 2010/1/29 Kiss Izolda izo...@freemail.hu Hi, I have forms with param clientValidation=true. I need two buttons: one submit and one back. As I havn't found any better solution I have iplemented the back button as org.apache.tapestry5.corelib.components.Sumbit (Java code has to be run before returning to the previous page). The problem is when the back button is peressed fields with param validate=required can't be empty. I migth need some component like ActionButton which functions as an action link and is rendered as input type=button. (I guess I could trick simulating function of an action link by adding an onlick param to the button, but hope there does a proper solution exist.) thanks in advance Izolda - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: using back button with clientValidation from
Hi Sven, thanks for the sample I find editForm.clearErrors() quite useful. @Component(parameters = {value=message:button.value.cancel}) private Submit cancelButton; I have tried the following: @Component(parameters = { type=message:button }) private Submit sbtBack; (button was defined as button=button in the property file) unfortunately the input rendered with type=submit it is not sufficient when a form has param clientValidation=true and fileds with validate=required the result of @Component(type = button) was exception Izolda ps: my Tapestry version is 5.1.0.5 - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: from tapestry5 quickstart to jumpstart?
Not a jumpstart, but you might want to try out Tynamo's archetype, see http://tynamo.org/Quick+start. It's got Hibernate, H2 etc. all set up and ready to go after you run it. Kalle On Fri, Jan 29, 2010 at 1:16 AM, faye alaska haifeizh...@gmail.com wrote: Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Returning a FieldValidator to a TextField
On Fri, 29 Jan 2010 10:33:10 -0200, Nuno Ferreira nuno.ny...@gmail.com wrote: Hello all, Hi! My idea was to use the already existing FieldValidators like required, regexp, min, etc... Inject FieldValidatorSource and use its FieldValidator createValidators(Field field, String specification) method to generate a FieldValidator. Then create a FieldValidator getValidator() method using createValidators() and add t:validate=prop:validator to your TextField. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, software architect and developer, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Starting from a maven archetype error
I am not sure if this helps, but I followed the instructions in http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29 and got quickstart to work quickly. matias.blasi wrote: Hi, I'm trying to start a new tapestry project and I'm getting the following error: mat...@jo-lie:~/workspace/newscentral $ mvn archetype:generate -DarchetypeCatalog=http://tapestry.formos.com/maven-snapshot-repository ... [INFO] Building Maven Default Project [INFO]task-segment: [archetype:generate] (aggregator-style) [INFO] [INFO] Preparing archetype:generate ... [INFO] [archetype:generate] [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: http://tapestry.formos.com/maven-snapshot-repository - quickstart (Tapestry 5.2.0-SNAPSHOT Quickstart Project) Choose a number: (1): 1 [INFO] snapshot org.apache.tapestry:quickstart:5.2.0-SNAPSHOT: checking for updates from quickstart-repo [WARNING] repository metadata for: 'snapshot org.apache.tapestry:quickstart:5.2.0-SNAPSHOT' could not be retrieved from repository: quickstart-repo due to an error: GET request of: org/apache/tapestry/quickstart/5.2.0-SNAPSHOT/maven-metadata.xml from quickstart-repo failed [INFO] Repository 'quickstart-repo' will be blacklisted [INFO] [ERROR] BUILD FAILURE [INFO] .. [INFO] mat...@jo-lie:~/workspace/newscentral $ Could the maven-metadata.xml file be corrupted? Regards, Matías -- View this message in context: http://old.nabble.com/Starting-from-a-maven-archetype-error-tp2716p27375832.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: TestNG Injecting Testify services into pages
Odd - it looks like the @ForComponents objects should be created and collected (because setup/doSetUp are called); it looks like the setup/teardown methods are called in the right way (from the call trace in your other email). I'm having trouble seeing what's wrong. At this point I would probably reach for a debugger... If you can simplify the project to something you wouldn't mind zipping up and sending to me I'll be happy to take a look. If you want to have a go yourself, then put breakpoints on the methods of SimpleObjectsForComponentStore - which is the service that stores the objects that you specify with @ForComponents so you can see objects being stored and requested. Also put a breakpoint in ThreadLocalPerTestDataStore #cleanup() so you can see when the test ends and the data is dropped from the SimpleObjectsForComponentsStore. The sequence should be: Data collected from @ForComponents - calls to SimpleObjectsForComponentStore#put() Page rendering, @Inject fields accessed - calls to SimpleObjectsForComponentStore#get() Test complete, tearDown() called - call to ThreadLocalPerTestDataStore #cleanup() As well as checking the sequence is correct, you can see what is in the store when get is being called (and what is being requested). - Paul akochnev akoch...@gmail.com wrote on 29/01/2010 13:33:00: Paul, thanks for the quick response. Now, down the checklist : 1. I am extending from the testng version of the class: package com.troymaxventures.zadachite.pagetestsupport; import com.formos.tapestry.testify.core.TapestryTester; import com.formos.tapestry.testify.testng.TapestryTest; public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(foo, ZdTestAppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } 2. doSetUp() is indeed being called, I added a breakpoint and a println : @Override protected void doSetUp() { userRepo = EasyMock.createMock(UserRepository.class); System.out.println(The doSetUp() is called by TestNG); } The doSetUp() is called by TestNG Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 5.051 sec FAILURE! 3. The testng config file : I run the test from Maven, this is the suite file that gets generated : !DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd; suite thread-count=5 skipfailedinvocationCounts=false verbose=0 name=Failed suite [Command line suite] junit=false annotations=JDK test name=Command line test(failed) junit=false annotations=JDK classes class name=com.troymaxventures.zadachite.pagetests.StupidPageTest methods include name=processInjectAnnotation/ include name=testElementIsOnPage/ include name=tearDown/ include name=testStupidPageUnitTest/ include name=setUp/ /methods /class /classes /test /suite 4. I added an extra test where I explicitly use the pageTester to try to inject the dependencies into my page. When I specify a totally bogus package name ( so that Testify doesn't pick up the AppModule from my app), the test fails w/ an error that it can't find my page (understandable, as I had the bogus package name, so it can't find the page) when I render the page using the tester; however, when I try to inject the dependencies directly into the object instance, it fails that there is no instance of UserRepository . When I include the full package name (so that testify picks up the AppModule), the injectInto populates the service from the AppModule and not with the implementation that I provide in the test. When I use the tester.renderPage(stupid) and debug the page, I see nulls set on all the services (e.g. in my example, userRepo is null), and I also see non-null values in some mangled names in the class (e.g. something like _$nonTestUserRepo) --- Test set: TestSuite --- Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 5.052 sec FAILURE! testElementIsOnPage(com.troymaxventures.zadachite.pagetests.StupidPageTest) Time elapsed: 0.966 sec FAILURE! java.lang.RuntimeException: Request was not handled: 'stupid' may not be a valid page name. at org.apache.tapestry5.test.PageTester.renderPage(PageTester.java:177) at com.troymaxventures.zadachite.pagetests.StupidPageTest. testElementIsOnPage(StupidPageTest.java:40) testStupidPageUnitTest(com.troymaxventures.zadachite.pagetests. StupidPageTest) Time elapsed: 0.01 sec FAILURE! java.lang.RuntimeException: No service implements the interface com.troymaxventures.zadachite.services.UserRepository. at org.apache.tapestry5.ioc.internal.RegistryImpl.
Re: TestNG Injecting Testify services into pages
Going from memory when I debugged earlier this morning : I definitely saw and traced the objects marked w/ ForComponents going into the store. However, when I was rendering the page, I don't think there were any calls to get them out and inject them into the component. I definitely saw the code inspecting the test class for @Inject annotations to inject services into the test case. I'll do another debug run again tonight. The test case that I have is pretty straightforward, so I should be able to zip up an example. Regards, Alex K On Fri, Jan 29, 2010 at 1:48 PM, Paul Field paul.fi...@db.com wrote: Odd - it looks like the @ForComponents objects should be created and collected (because setup/doSetUp are called); it looks like the setup/teardown methods are called in the right way (from the call trace in your other email). I'm having trouble seeing what's wrong. At this point I would probably reach for a debugger... If you can simplify the project to something you wouldn't mind zipping up and sending to me I'll be happy to take a look. If you want to have a go yourself, then put breakpoints on the methods of SimpleObjectsForComponentStore - which is the service that stores the objects that you specify with @ForComponents so you can see objects being stored and requested. Also put a breakpoint in ThreadLocalPerTestDataStore #cleanup() so you can see when the test ends and the data is dropped from the SimpleObjectsForComponentsStore. The sequence should be: Data collected from @ForComponents - calls to SimpleObjectsForComponentStore#put() Page rendering, @Inject fields accessed - calls to SimpleObjectsForComponentStore#get() Test complete, tearDown() called - call to ThreadLocalPerTestDataStore #cleanup() As well as checking the sequence is correct, you can see what is in the store when get is being called (and what is being requested). - Paul akochnev akoch...@gmail.com wrote on 29/01/2010 13:33:00: Paul, thanks for the quick response. Now, down the checklist : 1. I am extending from the testng version of the class: package com.troymaxventures.zadachite.pagetestsupport; import com.formos.tapestry.testify.core.TapestryTester; import com.formos.tapestry.testify.testng.TapestryTest; public abstract class AbstractZdTapTest extends TapestryTest { private static final TapestryTester SHARED_TESTER = new TapestryTester(foo, ZdTestAppModule.class); public AbstractZdTapTest() { super(SHARED_TESTER); } } 2. doSetUp() is indeed being called, I added a breakpoint and a println : @Override protected void doSetUp() { userRepo = EasyMock.createMock(UserRepository.class); System.out.println(The doSetUp() is called by TestNG); } The doSetUp() is called by TestNG Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 5.051 sec FAILURE! 3. The testng config file : I run the test from Maven, this is the suite file that gets generated : !DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd; suite thread-count=5 skipfailedinvocationCounts=false verbose=0 name=Failed suite [Command line suite] junit=false annotations=JDK test name=Command line test(failed) junit=false annotations=JDK classes class name=com.troymaxventures.zadachite.pagetests.StupidPageTest methods include name=processInjectAnnotation/ include name=testElementIsOnPage/ include name=tearDown/ include name=testStupidPageUnitTest/ include name=setUp/ /methods /class /classes /test /suite 4. I added an extra test where I explicitly use the pageTester to try to inject the dependencies into my page. When I specify a totally bogus package name ( so that Testify doesn't pick up the AppModule from my app), the test fails w/ an error that it can't find my page (understandable, as I had the bogus package name, so it can't find the page) when I render the page using the tester; however, when I try to inject the dependencies directly into the object instance, it fails that there is no instance of UserRepository . When I include the full package name (so that testify picks up the AppModule), the injectInto populates the service from the AppModule and not with the implementation that I provide in the test. When I use the tester.renderPage(stupid) and debug the page, I see nulls set on all the services (e.g. in my example, userRepo is null), and I also see non-null values in some mangled names in the class (e.g. something like _$nonTestUserRepo) --- Test set: TestSuite --- Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 5.052 sec FAILURE!
Re: from tapestry5 quickstart to jumpstart?
Thank you so much for your help, Kalle, I am getting some warning on ${hsqldb.version} i s not a valid reference.. should I be concerned with it? My desire was to see how we can get from the tapestry quickstart to the jumpstart so that I could understand how openejb, hibernate and hsqldb all fit together using Maven, with this knowledge, I found it so hard for me to follow the example in jumpstart. will the all the example codes in jumpstart work in a tynamo project? Thanks again. [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven. archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: http://tynamo.org - tynamo-archetype (Model-driven web framework based on Ta pestry 5) Choose a number: (1): 1 Downloading: http://tynamo.org/org/tynamo/tynamo-archetype/0.0.1/tynamo-archetyp e-0.0.1.jar [INFO] Unable to find resource 'org.tynamo:tynamo-archetype:jar:0.0.1' in reposi tory tynamo-archetype-repo (http://tynamo.org) Downloading: http://repo1.maven.org/maven2/org/tynamo/tynamo-archetype/0.0.1/tyn amo-archetype-0.0.1.jar [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '01f6e9c9f9 c21684bd9becc095b7d206e0954085'; remote = '932ac16cd96b2a2ecd015ea58f209e0ca5c98 cf8' - RETRYING Downloading: http://repo1.maven.org/maven2/org/tynamo/tynamo-archetype/0.0.1/tyn amo-archetype-0.0.1.jar [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '01f6e9c9f9 c21684bd9becc095b7d206e0954085'; remote = '932ac16cd96b2a2ecd015ea58f209e0ca5c98 cf8' - IGNORING Define value for groupId: : org.tynamo Define value for artifactId: : quickstart Define value for version: 1.0-SNAPSHOT: : 1.0-SNAPSHOT Define value for package: org.tynamo: : org.tynamo Confirm properties configuration: groupId: org.tynamo artifactId: quickstart version: 1.0-SNAPSHOT package: org.tynamo Y: : y [WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/pom.xml [line 28,column 42] : ${hsqldb.version} i s not a valid reference. [INFO] [INFO] BUILD SUCCESSFUL [INFO] [INFO] Total time: 13 minutes 52 seconds [INFO] Finished at: Fri Jan 29 11:54:03 AKST 2010 [INFO] Final Memory: 8M/254M [INFO] Kalle Korhonen-2 wrote: Not a jumpstart, but you might want to try out Tynamo's archetype, see http://tynamo.org/Quick+start. It's got Hibernate, H2 etc. all set up and ready to go after you run it. Kalle On Fri, Jan 29, 2010 at 1:16 AM, faye alaska haifeizh...@gmail.com wrote: Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27378280.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: from tapestry5 quickstart to jumpstart?
You should not be concerned about the missing reference. We moved to H2 database (H2 is the next version from hsqldb and really really good, see http://www.h2database.com/html/main.html) sometime ago, but missed one obsolete hsqldb reference in the pom. Kalle On Fri, Jan 29, 2010 at 1:05 PM, faye alaska haifeizh...@gmail.com wrote: Thank you so much for your help, Kalle, I am getting some warning on ${hsqldb.version} i s not a valid reference.. should I be concerned with it? My desire was to see how we can get from the tapestry quickstart to the jumpstart so that I could understand how openejb, hibernate and hsqldb all fit together using Maven, with this knowledge, I found it so hard for me to follow the example in jumpstart. will the all the example codes in jumpstart work in a tynamo project? Thanks again. [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven. archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: http://tynamo.org - tynamo-archetype (Model-driven web framework based on Ta pestry 5) Choose a number: (1): 1 Downloading: http://tynamo.org/org/tynamo/tynamo-archetype/0.0.1/tynamo-archetyp e-0.0.1.jar [INFO] Unable to find resource 'org.tynamo:tynamo-archetype:jar:0.0.1' in reposi tory tynamo-archetype-repo (http://tynamo.org) Downloading: http://repo1.maven.org/maven2/org/tynamo/tynamo-archetype/0.0.1/tyn amo-archetype-0.0.1.jar [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '01f6e9c9f9 c21684bd9becc095b7d206e0954085'; remote = '932ac16cd96b2a2ecd015ea58f209e0ca5c98 cf8' - RETRYING Downloading: http://repo1.maven.org/maven2/org/tynamo/tynamo-archetype/0.0.1/tyn amo-archetype-0.0.1.jar [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '01f6e9c9f9 c21684bd9becc095b7d206e0954085'; remote = '932ac16cd96b2a2ecd015ea58f209e0ca5c98 cf8' - IGNORING Define value for groupId: : org.tynamo Define value for artifactId: : quickstart Define value for version: 1.0-SNAPSHOT: : 1.0-SNAPSHOT Define value for package: org.tynamo: : org.tynamo Confirm properties configuration: groupId: org.tynamo artifactId: quickstart version: 1.0-SNAPSHOT package: org.tynamo Y: : y [WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/pom.xml [line 28,column 42] : ${hsqldb.version} i s not a valid reference. [INFO] [INFO] BUILD SUCCESSFUL [INFO] [INFO] Total time: 13 minutes 52 seconds [INFO] Finished at: Fri Jan 29 11:54:03 AKST 2010 [INFO] Final Memory: 8M/254M [INFO] Kalle Korhonen-2 wrote: Not a jumpstart, but you might want to try out Tynamo's archetype, see http://tynamo.org/Quick+start. It's got Hibernate, H2 etc. all set up and ready to go after you run it. Kalle On Fri, Jan 29, 2010 at 1:16 AM, faye alaska haifeizh...@gmail.com wrote: Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27378280.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: from tapestry5 quickstart to jumpstart?
Hi Faye, What problem are you having getting jumpstart to work? The installation instructions have been tested by many, many people, but maybe there's something we missed. Regards, Geoff On 29/01/2010, at 8:16 PM, faye alaska wrote: Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Easy Way to create a select model?
Hi Andy, I find the easiest way to populate a select list is just to pass it a Map of values. Something like the following: public MapInteger,String getMonthsModel() { MapInteger,String model = new LinkedHashMapInteger,String(); model.put(1, Jan); model.put(2, Feb); model.put(3, Mar); return model; } select t:type=Select t:model=monthsModel / Andrew Andy Pahne-7 wrote: I feel a little dumb, because for years I have been using Tapestry. Is there an _easy_ way og creating a SelectModel like this one (not so uncommon one): valuelabel - 1 Jan 2 Feb ... I had a look at the documentation. But I cannot believe I have to deal with SelectModel, OptionModel, OptionGroupModel and whatelse for this simple usecase. I also had a look at the Wiki. I found four pages about selects. I cannot believe that I have to use such bloat for my usecase. I surely must be missing something, or not? Andy - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/Easy-Way-to-create-a-select-model--tp27356514p27379053.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: from tapestry5 quickstart to jumpstart?
Hi Geoff, Thanks for the reply! I am stuck at the very end of jumpstar -- everything worked very well till this point and technically, the instruction was still correct, maybe I am just so new to all this that I was not able to do any effective debugging... If error, especially ClassNotFoundException for org.slf4j.Logger or org.slf4j.impl.StaticLoggerBinder, check the Arguments and classpath match those shown above. I kept checking and my arguments which I copied and pasted into the argument area, and the jar files added, and could not see where the problem is. and the following was my error message. Exception in thread main java.lang.NoClassDefFoundError: org/apache/log4j/Level at org.slf4j.LoggerFactory.clinit(LoggerFactory.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.mortbay.log.Slf4jLog.init(Slf4jLog.java:64) at org.mortbay.log.Slf4jLog.init(Slf4jLog.java:37) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.log.Log.clinit(Log.java:53) at org.mortbay.component.Container.add(Container.java:200) at org.mortbay.component.Container.update(Container.java:164) at org.mortbay.component.Container.update(Container.java:106) at org.mortbay.jetty.Server.setConnectors(Server.java:158) at org.mortbay.jetty.Server.addConnector(Server.java:132) at runjettyrun.Bootstrap.main(Bootstrap.java:76) Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level 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:303) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316) ... 20 more Thanks again for helping. Faye Geoff Callender-2 wrote: Hi Faye, What problem are you having getting jumpstart to work? The installation instructions have been tested by many, many people, but maybe there's something we missed. Regards, Geoff On 29/01/2010, at 8:16 PM, faye alaska wrote: Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27379362.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: from tapestry5 quickstart to jumpstart?
On 30/01/2010, at 9:50 AM, faye alaska wrote: Hi Geoff, Thanks for the reply! I am stuck at the very end of jumpstar -- everything worked very well till this point and technically, the instruction was still correct, maybe I am just so new to all this that I was not able to do any effective debugging... If error, especially ClassNotFoundException for org.slf4j.Logger or org.slf4j.impl.StaticLoggerBinder, check the Arguments and classpath match those shown above. I kept checking and my arguments which I copied and pasted into the argument area, and the jar files added, and could not see where the problem is. and the following was my error message. Exception in thread main java.lang.NoClassDefFoundError: org/apache/log4j/Level Class Level is in openejb-3.1.1/lib/log4j-1.2.12.jar, so I suspect you need to go back to step 8 and make sure your openejb User Library contains that jar and every other jar. HTH, Geoff at org.slf4j.LoggerFactory.clinit(LoggerFactory.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.mortbay.log.Slf4jLog.init(Slf4jLog.java:64) at org.mortbay.log.Slf4jLog.init(Slf4jLog.java:37) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.log.Log.clinit(Log.java:53) at org.mortbay.component.Container.add(Container.java:200) at org.mortbay.component.Container.update(Container.java:164) at org.mortbay.component.Container.update(Container.java:106) at org.mortbay.jetty.Server.setConnectors(Server.java:158) at org.mortbay.jetty.Server.addConnector(Server.java:132) at runjettyrun.Bootstrap.main(Bootstrap.java:76) Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level 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:303) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316) ... 20 more Thanks again for helping. Faye Geoff Callender-2 wrote: Hi Faye, What problem are you having getting jumpstart to work? The installation instructions have been tested by many, many people, but maybe there's something we missed. Regards, Geoff On 29/01/2010, at 8:16 PM, faye alaska wrote: Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27379362.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: from tapestry5 quickstart to jumpstart?
I did got back and double checked and all the jar were added, including log4j-1.2.12.jar. Is there a specific expectation on where the openejb is supposed to be located at? mine is at C:\1jumpstart\jumpstart-4.5.2\openejb-3.1.1\openejb-3.1.1 Thanks, Faye Geoff Callender-2 wrote: On 30/01/2010, at 9:50 AM, faye alaska wrote: Hi Geoff, Thanks for the reply! I am stuck at the very end of jumpstar -- everything worked very well till this point and technically, the instruction was still correct, maybe I am just so new to all this that I was not able to do any effective debugging... If error, especially ClassNotFoundException for org.slf4j.Logger or org.slf4j.impl.StaticLoggerBinder, check the Arguments and classpath match those shown above. I kept checking and my arguments which I copied and pasted into the argument area, and the jar files added, and could not see where the problem is. and the following was my error message. Exception in thread main java.lang.NoClassDefFoundError: org/apache/log4j/Level Class Level is in openejb-3.1.1/lib/log4j-1.2.12.jar, so I suspect you need to go back to step 8 and make sure your openejb User Library contains that jar and every other jar. HTH, Geoff at org.slf4j.LoggerFactory.clinit(LoggerFactory.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.mortbay.log.Slf4jLog.init(Slf4jLog.java:64) at org.mortbay.log.Slf4jLog.init(Slf4jLog.java:37) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.log.Log.clinit(Log.java:53) at org.mortbay.component.Container.add(Container.java:200) at org.mortbay.component.Container.update(Container.java:164) at org.mortbay.component.Container.update(Container.java:106) at org.mortbay.jetty.Server.setConnectors(Server.java:158) at org.mortbay.jetty.Server.addConnector(Server.java:132) at runjettyrun.Bootstrap.main(Bootstrap.java:76) Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level 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:303) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316) ... 20 more Thanks again for helping. Faye Geoff Callender-2 wrote: Hi Faye, What problem are you having getting jumpstart to work? The installation instructions have been tested by many, many people, but maybe there's something we missed. Regards, Geoff On 29/01/2010, at 8:16 PM, faye alaska wrote: Hello, I am new to tapestry5 and I followed http://tapestry.formos.com/wiki/display/T5IDEINT/Eclipse+%28including+Maven%29, which was an awesome direction to get tapestry5 quickstart working. I also downloaded jumpstart, but unfortunately could not successfully get it to work. The examples in jumpstart are very cool, now I am wondering if there is a tutorial or some information on how to start from the tapestry quickstart to get openejb, hibernate, with hsqldb set up to try some of the examples in the jumpstart. -- that would certainly help me a lot to get going using tapestry5 for my project. Thanks a lot. I am really excited about learning/using tapestry... Thanks a bunch! -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27367758.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- View this message in context: http://old.nabble.com/from-tapestry5-quickstart-to-jumpstart--tp27367758p27379362.html Sent from the Tapestry - User mailing list archive at