Re: Tapestry 5.2.5: Tapestry Exception "MarkupWriter.element() and not followed up with MarkupWriter.end()"
On Fri, 30 Aug 2013 19:49:38 -0300, rukmini n wrote: msgEle.removeChildren(); msgEle.pop(); I had already suggested you to replace the code above, both lines, to msgEle.remove(), but you left the call to pop(), which is quite probably the source of your problem. Please pay more attention to the suggestions the list gives you. ;) -- Thiago H. de Paula Figueiredo - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry 5.2.5: Tapestry Exception "MarkupWriter.element() and not followed up with MarkupWriter.end()"
Thiago thanks for reponding. Here is the java code public class FieldValidationErrorMsg { @Parameter(required = true, defaultPrefix="literal") private String fieldId; @Parameter private Form form; @Parameter private Boolean leaveMessage; @Parameter (defaultPrefix="literal") private String errorId; @Parameter (defaultPrefix="literal") private String labelId; @Environmental(false) private ValidationTracker tracker; public void setFieldId(String fieldId) { this.fieldId = fieldId; } public String getFieldId() { return this.fieldId; } public String getLabelId() { return this.labelId; } public void setForm(Form form) { this.form = form; } public void afterRenderBody(MarkupWriter writer) { final String _fieldId = this.fieldId; Field f = new Field() { public String getLabel() { return null; } public boolean isDisabled() { return false; } public String getClientId() { return _fieldId; } public String getControlName() { return _fieldId; } public boolean isRequired() { return false; } }; // grab the FieldValidationErrorMsg component Element msgEle = writer.getElement(); ValidationTracker tracker; if ( this.form != null ) { tracker = this.form.getDefaultTracker(); } else { tracker = this.tracker; } if ( (this.errorId != null && tracker.getError(f) != null && tracker.getError(f).contains(this.errorId)) || (this.errorId == null && tracker.inError(f)) ) { // we need to display the error message, so do nothing, leave it as is } else { // remove the error message, unless there's an instruction to leave it in place if (this.leaveMessage==null || !this.leaveMessage) { msgEle.removeChildren(); msgEle.pop(); } else { // we're leaving it in place, but will hide it on page load by adding a class "hidden" String curClassValue = msgEle.getAttribute("class"); String[] classValues = {"class","hidden "+curClassValue}; msgEle.forceAttributes(classValues); } } } } and FieldValidationErrorMsg tml is http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> >From whers its being called is Login.tml ${msg:common.formElement.Email} ${msg:common.formElement.EnterValidEmail} Thanks, Rukmini On Fri, Aug 30, 2013 at 2:28 PM, Thiago H de Paula Figueiredo < thiag...@gmail.com> wrote: > On Fri, 30 Aug 2013 18:05:33 -0300, rukmini n > wrote: > > Hi All, >> > > Hi! > > > Any one knows, what might be issue here. I'm still stuck. Please help.. >> > > The error itself happens at com.test.ui.components.sh.**common.** > FieldValidationErrorMsg.**afterRenderBody, so we need its source to help > you. > > > -- > Thiago H. de Paula Figueiredo > > --**--**- > To unsubscribe, e-mail: > users-unsubscribe@tapestry.**apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Using Hibernate Session outside of @CommitAfter. Bugs I saw in our project
Seperation of concerns rules the approach below out, however you can always create a top level facade layer between your DAOs and pages/components to resolve this. Your DAO classes can then be trivial CRUD implementations. John - Original Message - From: Lance Java To: Tapestry users Sent: Friday, August 30, 2013 11:47 AM Subject: Re: Using Hibernate Session outside of @CommitAfter. Bugs I saw in our project I never annotate my services or dao's with @CommitAfter and only annotate the actions in my pages / components. Is there a reason why you can't use this approach?
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
On Fri, 30 Aug 2013 17:51:17 -0300, Muhammad Gelbana wrote: I'm asking because having a maintained session between the client and the server is a better scenario. Instead of having to authenticate the user's credentials upon every request. As far as I know, that's how almost any webservice works and you're swimming against the tide here. As Lance already said, doing this or not depends on what the client is. If it uses HttpClient, it already supports cookies, so you don't need to change anything server-side. If not, then we need to know how the client is implemented to give y I'm aware there are other standard methods to have a statefull web service, but I haven't explored that area yet, and I thought it could be done faster and easier using the ApplicationStateManager. Frankly the idea is not fully developed in my head. The problem with this is that you have to handle the session creation yourself and knowing which session should be used in a given request. That's a difficult problem that, if not implemented very, very carefully, can lead to session hijacking and other security problems. ApplicationStateManager is the service that handles the @SessionState annotation, so you can override, advice or decorate to make it work anyway you want. Also I always like exploring all possible options to always be free to chose whatever fit my needs more, and I always like to know more Tapestry tricks. Nice. :) The problem here, if I got it right, is that you want to replace a functionality which isn't implemented by Tapestry itself (session handling), being implemented by servlet containers instead. Of course, you can take a look at the sources of Jetty and Tomcat to know how they deal with sessions. -- Thiago H. de Paula Figueiredo - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry 5.2.5: Tapestry Exception "MarkupWriter.element() and not followed up with MarkupWriter.end()"
On Fri, 30 Aug 2013 18:05:33 -0300, rukmini n wrote: Hi All, Hi! Any one knows, what might be issue here. I'm still stuck. Please help.. The error itself happens at com.test.ui.components.sh.common.FieldValidationErrorMsg.afterRenderBody, so we need its source to help you. -- Thiago H. de Paula Figueiredo - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Adding tab to default project (index, about, contact)
On Fri, 30 Aug 2013 17:33:28 -0300, Jeremy Villalobos wrote: I am still new to Tapestry 5. For a prototype, I am doing very simple user login portal. I would like to show a couple of option along with index, about and contact, but they would only show up if the user is signed in. How do I access the Layout class from a Page ? You can @InjectComponent private Layout layout; in the page, but that's something to be avoided. The best practice is to have top-down communication: from page to component and from a component to the components declared inside it. What exactly do you need? Anyway, the logged in or not state wouldn't be handled inside just a given component or page. Instead, the simpler solution would be to have some sort of User class and declare @SessionState(create = false) private User user; fields in any page or component that needs it. See http://tapestry.apache.org/session-storage.html for more details. I see on the documentation that I can use "Nested Layouts" but I still need some sample code or project to see how it works. The Layout component is a component as each other, having no special meaning or treatment. If you use one component inside another, you're having nested components, and the same is valid for layouts, because layouts are ordinary components. -- Thiago H. de Paula Figueiredo - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Include everything with jquery java anotation ImportJQueryUI
btw any plans to update the jquery (the plugin I would like to use requires newer jquery as it would seem) On Thu, Aug 29, 2013 at 11:08 PM, Boris Horvat wrote: > Well I probably wont use them all but there is a possibility that I will > use many. Still the plugin I plan to use will depend on quite a few and I > was just curios if there is such way to add them all at once (I guess many > of mine plugins will use some of them) > > PS I would follow the approach and create a component for this that much > is certain :D > > > On Thu, Aug 29, 2013 at 7:42 PM, Thiago H de Paula Figueiredo < > thiag...@gmail.com> wrote: > >> On Thu, 29 Aug 2013 13:47:34 -0300, Boris Horvat < >> horvat.z.bo...@gmail.com> wrote: >> >> Something like that but easier :D >>> >>> I would like to avoid doing >>> >>> @ImportJQueryUI({"jquery.ui.**core", "jquery.ui.widget", >>> "jquery.ui.mouse", >>> "jquery.ui.position", "jquery.ui.accordion", "jquery.ui.autocomplete", >>> "jquery.ui.button", "jquery.ui.datepicker", "jquery.ui.dialog", >>> "jquery.ui.draggable", "jquery.ui.droppable", "jquery.effects.blind", >>> "jquery.effects.bounce", "jquery.effects.clip", "jquery.effects.drop", >>> "jquery.effects.explode", "jquery.effects.fade", "jquery.effects.fold", >>> "jquery.effects.highlight", "jquery.effects.pulsate", >>> "jquery.effects.scale", "jquery.effects.shake", "jquery.effects.slide", >>> "jquery.effects.transfer", "jquery.ui.progressbar", >>> "jquery.ui.resizable", >>> "jquery.ui.selectable", "jquery.ui.slider", "jquery.ui.sortable", >>> "jquery.ui.tabs"}) >>> >> >> Are you really using everything in the list above? I'd create one >> component for each thing there and each component imports the stuff it >> actually needs. >> >> -- >> Thiago H. de Paula Figueiredo >> >> --**--**- >> To unsubscribe, e-mail: >> users-unsubscribe@tapestry.**apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > > -- > Sincerely > *Boris Horvat* > -- Sincerely *Boris Horvat*
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
> > Why are you asking that? Any specific need? I'm asking because having a maintained session between the client and the server is a better scenario. Instead of having to authenticate the user's credentials upon every request. I'm aware there are other standard methods to have a statefull web service, but I haven't explored that area yet, and I thought it could be done faster and easier using the ApplicationStateManager. Frankly the idea is not fully developed in my head. Also I always like exploring all possible options to always be free to chose whatever fit my needs more, and I always like to know more Tapestry tricks. I haven't used any other web framework and IoC other than Tapestry and I'm not planning to do so anytime soon. It's a very good framework and I love using it. So I'm always trying to find out ways to tweak it in every way possible. *-* *Muhammad Gelbana* Java Software Engineer On Fri, Aug 30, 2013 at 6:58 PM, Thiago H de Paula Figueiredo < thiag...@gmail.com> wrote: > On Fri, 30 Aug 2013 12:15:00 -0300, Muhammad Gelbana > wrote: > > I have one last question. Is it possible to instruct the >> ApplicationStateManager to manage it's sessions using something else than >> a HTTP based request (i.e. Whether its *HttpServletRequest* or Tapestry's * >> Request*) ? >> > > Tapestry's Request is just a thin layer over HttpServletRequest. Same for > Session and HttpSession. So, in the end, it's actually the servlet > container the one implementing the session handling. You can override, > advise or decorate the ApplicationStateManager and implement it any way you > want. I never had a situation that needed that. Why are you asking that? > Any specific need? > > > This has been fruitful discussion, thanks a lot :) >> > > :) > > > -- > Thiago H. de Paula Figueiredo > > --**--**- > To unsubscribe, e-mail: > users-unsubscribe@tapestry.**apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Tapestry 5.2.5: Tapestry Exception "MarkupWriter.element() and not followed up with MarkupWriter.end()"
Hi All, Any one knows, what might be issue here. I'm still stuck. Please help.. On Tue, Aug 13, 2013 at 2:08 PM, Lenny Primak wrote: > Yup. Things change. Bugs get exposed etc. that's just the way it is > unfortunately. > > > > On Aug 13, 2013, at 5:02 PM, rukmini n wrote: > > > OK.. But this was working fine, earlier.. We upgraded tapestry from > 5.0.15 > > to 5.2.5. Since then we are seeing this issue. > > > > > > Thanks, > > Rukmini > > > > On Tue, Aug 13, 2013 at 12:48 PM, Lenny Primak >wrote: > > > >> I would suggest you crack open the debugger, and debug the code that > >> throws NPE. > >> Even if it's inside Tapestry, it'll shine the light on what's causing it > >> in your code. > >> You will learn the mistake immediately, and learn something new in the > >> process. > >> > >> On Aug 13, 2013, at 3:45 PM, rukmini n wrote: > >> > >>> Hi Thiago.. > >>> > >>> I tried, what you suggested.. But I got the exception. Please help.. > >>> > >>> > >>> Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException [at > >>> classpath:com/test/ui/components/sh/common/LoginComponent.tml, line 44] > >>> at > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:194) > >>> at > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AfterRenderBodyPhase.render(ComponentPageElementImpl.java:371) > >>> at > >> > org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72) > >>> ... 110 more > >>> Caused by: java.lang.NullPointerException > >>> at org.apache.tapestry5.dom.Node.moveBefore(Node.java:106) > >>> at org.apache.tapestry5.dom.Element.pop(Element.java:657) > >>> at > >> > com.test.ui.components.sh.common.FieldValidationErrorMsg.afterRenderBody(FieldValidationErrorMsg.java:104) > >>> at > >> > com.test.ui.components.sh.common.FieldValidationErrorMsg$MethodAccess_afterRenderBody_1407932bda2.invoke(FieldValidationErrorMsg$MethodAccess_afterRenderBody_1407932bda2.java) > >>> at > >> > org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117) > >>> at > >> > org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86) > >>> at > >> > org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86) > >>> at > >> > com.test.ui.components.sh.common.FieldValidationErrorMsg.afterRenderBody(FieldValidationErrorMsg.java) > >>> at > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AfterRenderBodyPhase.invokeComponent(ComponentPageElementImpl.java:364) > >>> at > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:176) > >>> ... 112 more > >>> > >>> > >>> Thanks, > >>> Rukmini > >>> > >>> On Tue, Aug 13, 2013 at 12:18 PM, Thiago H de Paula Figueiredo < > >>> thiag...@gmail.com> wrote: > >>> > On Tue, 13 Aug 2013 15:04:54 -0300, rukmini n > wrote: > > Hi Thiago, > > Hi! > > I think the problem is here: > > msgEle.removeChildren(); > > msgEle.pop(); > > Have you tried just using msgEle.remove(), as you seem to want to > remove > the element completely? > > > -- > Thiago H. de Paula Figueiredo > >> > --**--**- > To unsubscribe, e-mail: users-unsubscribe@tapestry.**apache.org< > >> 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 > >> > >> > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Adding tab to default project (index, about, contact)
I am still new to Tapestry 5. For a prototype, I am doing very simple user login portal. I would like to show a couple of option along with index, about and contact, but they would only show up if the user is signed in. How do I access the Layout class from a Page ? I see on the documentation that I can use "Nested Layouts" but I still need some sample code or project to see how it works. Thanks
Godzilla's Guide to Gradle/Geb
I'm no expert, in fact this is my first Gradle/Geb project. The following works for me with 5.4 alpha: With the Eclipse Gradle plugin I can do a Gradle build which runs the tests and creates a war file. create a build.gradle file with this apply plugin: 'java' apply plugin: 'war' apply plugin: 'jetty' apply plugin: 'eclipse-wtp' apply plugin: 'groovy' apply plugin: 'maven' project.ext.versions = [ jetty: "7.6.11.v20130520", tomcat: "6.0.30", testng: "6.5.2", easymock: "3.0", servletapi: "2.5", spock: "0.7-groovy-2.0", hibernate: "4.1.2.Final", groovy: "2.0.6", slf4j: "1.7.2", wro4j: "1.7.0", geb: "0.9.0", selenium: "2.33.0" ] repositories { mavenCentral() maven { url "https://repository.apache.org/content/groups/staging"; } } dependencies { compile 'org.apache.tapestry:tapestry-core:5.4-alpha-15' compile 'org.apache.tapestry:tapestry-test:5.4-alpha-15' compile 'org.apache.tapestry:tapestry-runner:5.4-alpha-15' compile 'com.paypal.sdk:rest-api-sdk:0.5.2' runtime 'javax.servlet:jstl:1.1.2' providedCompile 'javax.servlet:servlet-api:2.5' testRuntime "org.slf4j:slf4j-log4j12:${versions.slf4j}" groovy "org.codehaus.groovy:groovy-all:${versions.groovy}" testCompile "org.gebish:geb-spock:${versions.geb}" testCompile "org.spockframework:spock-core:${versions.spock}" testCompile "org.seleniumhq.selenium:selenium-java:${versions.selenium}", { exclude group: "org.eclipse.jetty" } testCompile "org.seleniumhq.selenium:selenium-server:${versions.selenium}", { exclude group: "org.eclipse.jetty" } } test { useJUnit() systemProperties("geb.build.reportsDir": "$reporting.baseDir/geb", "tapestry.compiled-asset-cache-dir": "$buildDir/compiled-asset-cache", "tapestry.production-mode": "false") } in src/test/resources/GebConfig.groovy driver = "firefox" baseUrl = "http://localhost:8080/sandbox"; waiting { // Long timeout since we have to wait for Rhino & friends to spin up timeout = 60 } in src/test/groovy/tests/IndexTest.groovy package tests import geb.spock.GebReportingSpec import org.apache.tapestry5.test.Jetty7Runner import spock.lang.Shared class IndexTest extends GebReportingSpec { @Shared def runner; def setupSpec() { runner = new Jetty7Runner("src/main/webapp", "/sandbox", 8080, 8081); runner.start() } def cleanupSpec() { runner.stop() } def "Check Index"() { when: // Open index page go() then: $(".title").text().trim() == "Index" } def "Check Button"() { when: // Open index page go() then: $(".btn").value().trim() == "Create/Update" } }
Re: JQuery Datatable Bind Mixin
The callback is javascript. The bind mixin has no way of know what value you would like to pass back so the callback gets the value you want in the javascript event then adds it into the event url It's been a while but I think it's something like this On Fri, Aug 30, 2013 at 2:23 PM, john c wrote: > Ok, here is a little more of the datatable code: > > > t:row="currRow" > t:mixins="jquery/bind" bind.event="datatableclick" > bind.eventType="click" bind.zone="theZone" bind.context="${currRow.fileID}" > include="..." > > > > t:zone="detailZone" t:context="${thisfile.fileID}"> class="smallgridbutton" > type="button">Requeue > > > > > > > currRow is defined in java with @Property annotation. > > I have tried in the tml: > > bind.context="${currRow.fileID}" > > bind.context="currRow.fileID" > > I am always getting an error: currRow is NULL. > > > Why is that? > > > > > Now with the callback, where does this Java code go? > > > > > > From: Barry Books > To: Tapestry users > Sent: Friday, 30 August 2013 8:59 AM > Subject: Re: JQuery Datatable Bind Mixin > > > You will need to provide a javascript callback function to the mixin that > puts the value into the url. It's called like this > > if ( callback ) { >// TODO should work if value is array >u.addContext = function(value) { u.url = u.url.replace(u.context,value) > }; >callback(event,ui,u); > } > > so I think your callback can be > > function(event,ui,u) { u.addContext("Your Value"); } > > > > On Thu, Aug 29, 2013 at 6:18 PM, Taha Hafeez Siddiqi < > tawus.tapes...@gmail.com> wrote: > > > Try curRow.fileID instead of ${curRow.fileID} as parameter to > bind.context > > > > Sent from my iPhone > > > > On 30-Aug-2013, at 3:26 AM, john c wrote: > > > > > I am attempting to use the jquery/bind mixin with a datatable, but not > > having success. > > > The relevant code is below. Basically I want to click a row and have it > > create a tapestry event, with the fileID. > > > I have tested and found the event occurs, but I can't seem to pass the > > fileID context. > > > Any ideas? > > > > > > > > > > > > --- > > > > > > > > > > > t:mixins="jquery/bind" bind.event="datatableclick" > > bind.eventType="click" bind.zone="theZone" > bind.context="${currRow.fileID}" > > > include="..." > > > > > > > > > > > > > --- > > > > > > > > > @Persist > > > @Property > > > private OutboundFile currRow; > > > > > > @InjectComponent > > > private Zone theZone; > > > > > > > > > @OnEvent("datatableclick") > > > public Object onDatatableClickEvent(String value) { > > > System.out.println("value: " + value); > > > return theZone.getBody(); > > > } > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > >
Re: JQuery Datatable Bind Mixin
Ok, here is a little more of the datatable code: Requeue currRow is defined in java with @Property annotation. I have tried in the tml: bind.context="${currRow.fileID}" bind.context="currRow.fileID" I am always getting an error: currRow is NULL. Why is that? Now with the callback, where does this Java code go? From: Barry Books To: Tapestry users Sent: Friday, 30 August 2013 8:59 AM Subject: Re: JQuery Datatable Bind Mixin You will need to provide a javascript callback function to the mixin that puts the value into the url. It's called like this if ( callback ) { // TODO should work if value is array u.addContext = function(value) { u.url = u.url.replace(u.context,value) }; callback(event,ui,u); } so I think your callback can be function(event,ui,u) { u.addContext("Your Value"); } On Thu, Aug 29, 2013 at 6:18 PM, Taha Hafeez Siddiqi < tawus.tapes...@gmail.com> wrote: > Try curRow.fileID instead of ${curRow.fileID} as parameter to bind.context > > Sent from my iPhone > > On 30-Aug-2013, at 3:26 AM, john c wrote: > > > I am attempting to use the jquery/bind mixin with a datatable, but not > having success. > > The relevant code is below. Basically I want to click a row and have it > create a tapestry event, with the fileID. > > I have tested and found the event occurs, but I can't seem to pass the > fileID context. > > Any ideas? > > > > > > > --- > > > > > > > t:mixins="jquery/bind" bind.event="datatableclick" > bind.eventType="click" bind.zone="theZone" bind.context="${currRow.fileID}" > > include="..." > > > > > > > > --- > > > > > > @Persist > > @Property > > private OutboundFile currRow; > > > > @InjectComponent > > private Zone theZone; > > > > > > @OnEvent("datatableclick") > > public Object onDatatableClickEvent(String value) { > > System.out.println("value: " + value); > > return theZone.getBody(); > > } > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
On Fri, 30 Aug 2013 12:15:00 -0300, Muhammad Gelbana wrote: I have one last question. Is it possible to instruct the ApplicationStateManager to manage it's sessions using something else than a HTTP based request (i.e. Whether its *HttpServletRequest* or Tapestry's * Request*) ? Tapestry's Request is just a thin layer over HttpServletRequest. Same for Session and HttpSession. So, in the end, it's actually the servlet container the one implementing the session handling. You can override, advise or decorate the ApplicationStateManager and implement it any way you want. I never had a situation that needed that. Why are you asking that? Any specific need? This has been fruitful discussion, thanks a lot :) :) -- Thiago H. de Paula Figueiredo - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Using Hibernate Session outside of @CommitAfter. Bugs I saw in our project
Hi Martin As Thiago has already pointed out, it would make more sense to have new annotations instead of changing @CommitAfter which is already in use. I would suggest either create a new library which can add these new annotations to the existing tapestry-hibernate without breaking the code or submit a patch(with tests of course) and some committer would look into it. Although implementing @Transactional annotation would be great but even @WriteTransaction and @ReadOnlyTransaction (I think that you have pointed out) are not bad. Anyways. You have done some useful work and it would be great if you can share it as a library! regards Taha On Aug 30, 2013, at 6:56 PM, Martin Kersten wrote: > I didnt started the project I am only maintaining it. I would love to > donate this code since this is so dangerous. I wont think about the money > this might have cost to find these bugs in a live system. Especially if the > database gots mixed up over these. > > But you are right annotating actions and pages might be a better way > anyhow. But my standpoint is that the framework should protect me and my > coworker for doing such harmful stuff. I will look into the code again and > commit / provide some code to the jira. Maybe one can pick it up. > > It also supports hibernates read only transactions to allow the utilization > of slave db nodes which is currently not supported by tapestry. > > > 2013/8/30 Lance Java > >> I never annotate my services or dao's with @CommitAfter and only annotate >> the actions in my pages / components. Is there a reason why you can't use >> this approach? >>
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
I have one last question. Is it possible to instruct the ApplicationStateManager to manage it's sessions using something else than a HTTP based request (i.e. Whether its *HttpServletRequest* or Tapestry's * Request*) ? This has been fruitful discussion, thanks a lot :) *-* *Muhammad Gelbana* Java Software Engineer On Fri, Aug 30, 2013 at 12:28 PM, Lance Java wrote: > IMO using the session in a webservice is a bad idea. It's much better to > keep it stateless and pass the required info in each request. >
Re: Tapestry 5.4-alpha-15
I found one https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=blob;f=tapestry-webresources/src/test/groovy/t5/webresources/tests/WebResourcesSpec.groovy;hb=e3b423ac On Fri, Aug 30, 2013 at 7:48 AM, Barry Books wrote: > Are there any Geb test cases in the source tree? I poked around a bit and > did not find any. I'm getting ready to write some new ones and I might as > well head down the new path. > > Thanks > Barry > > > On Wed, Aug 28, 2013 at 3:33 PM, Dmitry Gusev wrote: > >> On Wed, Aug 28, 2013 at 6:58 PM, Dmitry Gusev > >wrote: >> >> > Also no CSS files were loaded to the page, though I'm seeing bootstrap >> CSS >> > classes applied to HTML elements and there are many *.js files added to >> the >> > page, including some bootstrap.js. >> > >> > Should I add those manually? >> > >> > >> Sorry, found this in the release notes: >> >> 185< >> https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=blob;f=54_RELEASE_NOTES.txt;h=faad9147d6fb543141ef066d9000a9e510139d2f;hb=HEAD#l185 >> >The >> Bootstrap CSS is now only present if the `core` JavaScript stack is >> imported. You may need to change your application's >> 186< >> https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=blob;f=54_RELEASE_NOTES.txt;h=faad9147d6fb543141ef066d9000a9e510139d2f;hb=HEAD#l186 >> >layout >> component to do so explicitly, by adding `@Import(stack="core")` to >> the class. >> >> >> >> > Here's the source: >> > >> > http://tapestry.apache.org/schema/tapestry_5_3.xsd"; >> xmlns:p >> > ="tapestry:parameter"> >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > public class Index >> > >> > { >> > >> > @Property >> > >> > private Task task; >> > >> > } >> > >> > public class Task >> > >> > { >> > >> > @Validate("required") >> > >> > private String title; >> > >> > >> > >> > public String getTitle() >> > >> > { >> > >> > return title; >> > >> > } >> > >> > public void setTitle(String title) >> > >> > { >> > >> > this.title = title; >> > >> > } >> > >> > } >> > >> > >> > >> > >> > >> > On Wed, Aug 28, 2013 at 6:40 PM, Dmitry Gusev > >wrote: >> > >> >> I've created test app using this release and found these messages in a >> >> console, which probably should be fixed: >> >> >> >> 18:30:23.902 [http-bio-8080-exec-1] ERROR >> >> o.a.t.m.AssetsModule.AssetSource - Packaging of classpath assets has >> >> changed in release 5.4; Assets should no longer be on the main >> classpath, >> >> but should be moved to 'META-INF/assets/' or a sub-folder. Future >> releases >> >> of Tapestry may no longer support assets on the main classpath. >> >> 18:30:23.902 [http-bio-8080-exec-1] ERROR >> >> o.a.t.m.AssetsModule.AssetSource - Classpath asset >> >> '/META-INF/assets/tapestry5/datepicker_106/js/datepicker.js' should be >> >> moved to folder >> >> '/META-INF/assets/core/META-INF/assets/tapestry5/datepicker_106/js/'. >> >> 18:30:23.907 [http-bio-8080-exec-1] ERROR >> >> o.a.t.m.AssetsModule.AssetSource - Classpath asset >> >> '/META-INF/assets/tapestry5/datepicker_106/css/datepicker.css' should >> be >> >> moved to folder >> >> '/META-INF/assets/core/META-INF/assets/tapestry5/datepicker_106/css/'. >> >> >> >> The page contains editing simple object with one >> field >> >> of type String. >> >> >> >> >> >> On Wed, Aug 28, 2013 at 3:56 PM, Peter Hvass > >wrote: >> >> >> >>> It's obviously not super desirable but I found the relevant Github >> issue >> >>> (https://github.com/SomMeri/less4j/issues/160) and stepped through, >> >>> fixed the few small issues >> >>> that were causing infinite loops and less compilation errors just >> >>> temporarily for the time being so that we can fix up the class name >> usage >> >>> in our projects. >> >>> >> >>> >> >>> Just watch out for things like; >> >>> .something { >> >>> .something(); >> >>> } (infinite loop; so just copy paste the contents of .something() from >> >>> either mixins.less or utilities.less) >> >>> >> >>> >> >>> And mixin declarations whose variables end in a ; >> >>> .somemixin(@someVar;)... >> >>> (Just remove the trailing ;) >> >>> >> >>> >> >>> We're now done changing bootstrap 2 class names to bootstrap 3 ones >> and >> >>> the like. It wasn't too painful. >> >>> >> >>> >> >>> It strikes me that there's no really good source or best practice for >> >>> maintaining customized bootstrap less. >> >>> >> >>> >> >>> Does anyone here have any ideas? >> >>> >> >>> >> >>> For the time being we maintain a variables.less and bootstrap.less for >> >>> each project. So we have variables-project.less, >> bootstrap-project.less. >> >>> variables-project containing overridden variables from the vanilla >> >>> variables.less and bootstrap-project.less including >> variables-project.less >> >>> and allowing us to >> >>> further shim in modifications to other bits of bootstrap. >> >>> >> >>> We'd ideally like to chop up and load only the necessary less files >> >>> depending on what's in us
Re: Using Hibernate Session outside of @CommitAfter. Bugs I saw in our project
I didnt started the project I am only maintaining it. I would love to donate this code since this is so dangerous. I wont think about the money this might have cost to find these bugs in a live system. Especially if the database gots mixed up over these. But you are right annotating actions and pages might be a better way anyhow. But my standpoint is that the framework should protect me and my coworker for doing such harmful stuff. I will look into the code again and commit / provide some code to the jira. Maybe one can pick it up. It also supports hibernates read only transactions to allow the utilization of slave db nodes which is currently not supported by tapestry. 2013/8/30 Lance Java > I never annotate my services or dao's with @CommitAfter and only annotate > the actions in my pages / components. Is there a reason why you can't use > this approach? >
Re: JQuery Datatable Bind Mixin
You will need to provide a javascript callback function to the mixin that puts the value into the url. It's called like this if ( callback ) { // TODO should work if value is array u.addContext = function(value) { u.url = u.url.replace(u.context,value) }; callback(event,ui,u); } so I think your callback can be function(event,ui,u) { u.addContext("Your Value"); } On Thu, Aug 29, 2013 at 6:18 PM, Taha Hafeez Siddiqi < tawus.tapes...@gmail.com> wrote: > Try curRow.fileID instead of ${curRow.fileID} as parameter to bind.context > > Sent from my iPhone > > On 30-Aug-2013, at 3:26 AM, john c wrote: > > > I am attempting to use the jquery/bind mixin with a datatable, but not > having success. > > The relevant code is below. Basically I want to click a row and have it > create a tapestry event, with the fileID. > > I have tested and found the event occurs, but I can't seem to pass the > fileID context. > > Any ideas? > > > > > > > --- > > > > > > > t:mixins="jquery/bind" bind.event="datatableclick" > bind.eventType="click" bind.zone="theZone" bind.context="${currRow.fileID}" > > include="..." > > > > > > > > --- > > > > > > @Persist > > @Property > > private OutboundFile currRow; > > > > @InjectComponent > > private Zone theZone; > > > > > > @OnEvent("datatableclick") > > public Object onDatatableClickEvent(String value) { > > System.out.println("value: " + value); > > return theZone.getBody(); > > } > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Tapestry 5.4-alpha-15
Are there any Geb test cases in the source tree? I poked around a bit and did not find any. I'm getting ready to write some new ones and I might as well head down the new path. Thanks Barry On Wed, Aug 28, 2013 at 3:33 PM, Dmitry Gusev wrote: > On Wed, Aug 28, 2013 at 6:58 PM, Dmitry Gusev >wrote: > > > Also no CSS files were loaded to the page, though I'm seeing bootstrap > CSS > > classes applied to HTML elements and there are many *.js files added to > the > > page, including some bootstrap.js. > > > > Should I add those manually? > > > > > Sorry, found this in the release notes: > > 185< > https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=blob;f=54_RELEASE_NOTES.txt;h=faad9147d6fb543141ef066d9000a9e510139d2f;hb=HEAD#l185 > >The > Bootstrap CSS is now only present if the `core` JavaScript stack is > imported. You may need to change your application's > 186< > https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=blob;f=54_RELEASE_NOTES.txt;h=faad9147d6fb543141ef066d9000a9e510139d2f;hb=HEAD#l186 > >layout > component to do so explicitly, by adding `@Import(stack="core")` to > the class. > > > > > Here's the source: > > > > http://tapestry.apache.org/schema/tapestry_5_3.xsd"; > xmlns:p > > ="tapestry:parameter"> > > > > > > > > > > > > > > > > > > > > > > > > public class Index > > > > { > > > > @Property > > > > private Task task; > > > > } > > > > public class Task > > > > { > > > > @Validate("required") > > > > private String title; > > > > > > > > public String getTitle() > > > > { > > > > return title; > > > > } > > > > public void setTitle(String title) > > > > { > > > > this.title = title; > > > > } > > > > } > > > > > > > > > > > > On Wed, Aug 28, 2013 at 6:40 PM, Dmitry Gusev >wrote: > > > >> I've created test app using this release and found these messages in a > >> console, which probably should be fixed: > >> > >> 18:30:23.902 [http-bio-8080-exec-1] ERROR > >> o.a.t.m.AssetsModule.AssetSource - Packaging of classpath assets has > >> changed in release 5.4; Assets should no longer be on the main > classpath, > >> but should be moved to 'META-INF/assets/' or a sub-folder. Future > releases > >> of Tapestry may no longer support assets on the main classpath. > >> 18:30:23.902 [http-bio-8080-exec-1] ERROR > >> o.a.t.m.AssetsModule.AssetSource - Classpath asset > >> '/META-INF/assets/tapestry5/datepicker_106/js/datepicker.js' should be > >> moved to folder > >> '/META-INF/assets/core/META-INF/assets/tapestry5/datepicker_106/js/'. > >> 18:30:23.907 [http-bio-8080-exec-1] ERROR > >> o.a.t.m.AssetsModule.AssetSource - Classpath asset > >> '/META-INF/assets/tapestry5/datepicker_106/css/datepicker.css' should be > >> moved to folder > >> '/META-INF/assets/core/META-INF/assets/tapestry5/datepicker_106/css/'. > >> > >> The page contains editing simple object with one > field > >> of type String. > >> > >> > >> On Wed, Aug 28, 2013 at 3:56 PM, Peter Hvass >wrote: > >> > >>> It's obviously not super desirable but I found the relevant Github > issue > >>> (https://github.com/SomMeri/less4j/issues/160) and stepped through, > >>> fixed the few small issues > >>> that were causing infinite loops and less compilation errors just > >>> temporarily for the time being so that we can fix up the class name > usage > >>> in our projects. > >>> > >>> > >>> Just watch out for things like; > >>> .something { > >>> .something(); > >>> } (infinite loop; so just copy paste the contents of .something() from > >>> either mixins.less or utilities.less) > >>> > >>> > >>> And mixin declarations whose variables end in a ; > >>> .somemixin(@someVar;)... > >>> (Just remove the trailing ;) > >>> > >>> > >>> We're now done changing bootstrap 2 class names to bootstrap 3 ones and > >>> the like. It wasn't too painful. > >>> > >>> > >>> It strikes me that there's no really good source or best practice for > >>> maintaining customized bootstrap less. > >>> > >>> > >>> Does anyone here have any ideas? > >>> > >>> > >>> For the time being we maintain a variables.less and bootstrap.less for > >>> each project. So we have variables-project.less, > bootstrap-project.less. > >>> variables-project containing overridden variables from the vanilla > >>> variables.less and bootstrap-project.less including > variables-project.less > >>> and allowing us to > >>> further shim in modifications to other bits of bootstrap. > >>> > >>> We'd ideally like to chop up and load only the necessary less files > >>> depending on what's in use on the page. For instance if we're only > using the > >>> navbar, include a less file importing only the dependent less files for > >>> the navbar. > >>> > >>> > >>> Getting a bit OCD about all this. o_O > >>> > >>> > >>> Thanks again Howard! Looking forward to the first beta! > >>> > >>> > >>> - Original Message - > >>> > >>> From: "Howard Lewis Ship" > >>> To: "Tapestry users" > >>> Sent: Wednesda
Re: Lightweight Tapestry5 Design/Code Switch plugin for Eclipse
Had not thought of an Outline view. That would be nice and you would not have to worry about too many tabs. On Fri, Aug 30, 2013 at 7:26 AM, Dmitry Gusev wrote: > I'll look what I can do with this on the weekends. I haven't worked with > editors (actually this is my first eclipse plugin ever :), but maybe a View > would be enough to list all these files for current document? Something > similar to the Outline view. > Maybe including @Import'ed stylesheets/libraries/stacks. > > I really don't want to deal with editors and editor tabs, because I don't > want to force users use some specific editor. Somebody uses XML, somebody > JSP and even plain text editor for *.tml. > > > On Fri, Aug 30, 2013 at 4:19 PM, Barry Books wrote: > > > As long as you are taking features requests: > > > > Instead of using control-R to switch between java/tml it would be really > > nice to have a tabbed editor with everything > java/tml/properties/javascript > > etc. > > > > That said the current one solves 90% of my problems. > > > > > > On Fri, Aug 30, 2013 at 6:39 AM, Dmitry Gusev > >wrote: > > > > > Glad you liked it, keep your eyes for updates. > > > > > > Version 1.0.2 with bug fixes available from update site now. > > > > > > > > > On Fri, Aug 30, 2013 at 4:31 AM, Barry Books wrote: > > > > > > > Simple, Perfect > > > > > > > > Thanks > > > > Barry > > > > > > > > > > > > On Thu, Aug 29, 2013 at 4:38 PM, Dmitry Gusev < > dmitry.gu...@gmail.com > > > > >wrote: > > > > > > > > > Added Eclipse update site: > > > > > > > > > > https://dl.bintray.com/anjlab/eclipse > > > > > > > > > > > > > > > > > > > > On Thu, Aug 29, 2013 at 10:30 PM, Thiago H de Paula Figueiredo < > > > > > thiag...@gmail.com> wrote: > > > > > > > > > > > Nice! Thanks! Any plans for an update site for easier installing? > > > > > > > > > > > > > > > > > > On Thu, 29 Aug 2013 12:27:38 -0300, Dmitry Gusev < > > > > dmitry.gu...@gmail.com > > > > > > > > > > > > wrote: > > > > > > > > > > > > FYI: > > > > > >> > > > > > >> https://github.com/anjlab/**eclipse-tapestry5-plugin< > > > > > https://github.com/anjlab/eclipse-tapestry5-plugin> > > > > > >> > > > > > >> TapestryTools doesn't work good for this when you have multiple > > > files > > > > > with > > > > > >> same name, for example, multiple Index.tml files. > > > > > >> This plugin aims to fix this. > > > > > >> > > > > > >> > > > > > > > > > > > > -- > > > > > > Thiago H. de Paula Figueiredo > > > > > > > > > > > > > > > > > > --**--**- > > > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.**apache.org< > > > > > users-unsubscr...@tapestry.apache.org> > > > > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Dmitry Gusev > > > > > > > > > > AnjLab Team > > > > > http://anjlab.com > > > > > > > > > > > > > > > > > > > > > -- > > > Dmitry Gusev > > > > > > AnjLab Team > > > http://anjlab.com > > > > > > > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com >
Re: Lightweight Tapestry5 Design/Code Switch plugin for Eclipse
I'll look what I can do with this on the weekends. I haven't worked with editors (actually this is my first eclipse plugin ever :), but maybe a View would be enough to list all these files for current document? Something similar to the Outline view. Maybe including @Import'ed stylesheets/libraries/stacks. I really don't want to deal with editors and editor tabs, because I don't want to force users use some specific editor. Somebody uses XML, somebody JSP and even plain text editor for *.tml. On Fri, Aug 30, 2013 at 4:19 PM, Barry Books wrote: > As long as you are taking features requests: > > Instead of using control-R to switch between java/tml it would be really > nice to have a tabbed editor with everything java/tml/properties/javascript > etc. > > That said the current one solves 90% of my problems. > > > On Fri, Aug 30, 2013 at 6:39 AM, Dmitry Gusev >wrote: > > > Glad you liked it, keep your eyes for updates. > > > > Version 1.0.2 with bug fixes available from update site now. > > > > > > On Fri, Aug 30, 2013 at 4:31 AM, Barry Books wrote: > > > > > Simple, Perfect > > > > > > Thanks > > > Barry > > > > > > > > > On Thu, Aug 29, 2013 at 4:38 PM, Dmitry Gusev > > >wrote: > > > > > > > Added Eclipse update site: > > > > > > > > https://dl.bintray.com/anjlab/eclipse > > > > > > > > > > > > > > > > On Thu, Aug 29, 2013 at 10:30 PM, Thiago H de Paula Figueiredo < > > > > thiag...@gmail.com> wrote: > > > > > > > > > Nice! Thanks! Any plans for an update site for easier installing? > > > > > > > > > > > > > > > On Thu, 29 Aug 2013 12:27:38 -0300, Dmitry Gusev < > > > dmitry.gu...@gmail.com > > > > > > > > > > wrote: > > > > > > > > > > FYI: > > > > >> > > > > >> https://github.com/anjlab/**eclipse-tapestry5-plugin< > > > > https://github.com/anjlab/eclipse-tapestry5-plugin> > > > > >> > > > > >> TapestryTools doesn't work good for this when you have multiple > > files > > > > with > > > > >> same name, for example, multiple Index.tml files. > > > > >> This plugin aims to fix this. > > > > >> > > > > >> > > > > > > > > > > -- > > > > > Thiago H. de Paula Figueiredo > > > > > > > > > > > > > > --**--**- > > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.**apache.org< > > > > users-unsubscr...@tapestry.apache.org> > > > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > > > > > > > > > > -- > > > > Dmitry Gusev > > > > > > > > AnjLab Team > > > > http://anjlab.com > > > > > > > > > > > > > > > -- > > Dmitry Gusev > > > > AnjLab Team > > http://anjlab.com > > > -- Dmitry Gusev AnjLab Team http://anjlab.com
Re: Lightweight Tapestry5 Design/Code Switch plugin for Eclipse
As long as you are taking features requests: Instead of using control-R to switch between java/tml it would be really nice to have a tabbed editor with everything java/tml/properties/javascript etc. That said the current one solves 90% of my problems. On Fri, Aug 30, 2013 at 6:39 AM, Dmitry Gusev wrote: > Glad you liked it, keep your eyes for updates. > > Version 1.0.2 with bug fixes available from update site now. > > > On Fri, Aug 30, 2013 at 4:31 AM, Barry Books wrote: > > > Simple, Perfect > > > > Thanks > > Barry > > > > > > On Thu, Aug 29, 2013 at 4:38 PM, Dmitry Gusev > >wrote: > > > > > Added Eclipse update site: > > > > > > https://dl.bintray.com/anjlab/eclipse > > > > > > > > > > > > On Thu, Aug 29, 2013 at 10:30 PM, Thiago H de Paula Figueiredo < > > > thiag...@gmail.com> wrote: > > > > > > > Nice! Thanks! Any plans for an update site for easier installing? > > > > > > > > > > > > On Thu, 29 Aug 2013 12:27:38 -0300, Dmitry Gusev < > > dmitry.gu...@gmail.com > > > > > > > > wrote: > > > > > > > > FYI: > > > >> > > > >> https://github.com/anjlab/**eclipse-tapestry5-plugin< > > > https://github.com/anjlab/eclipse-tapestry5-plugin> > > > >> > > > >> TapestryTools doesn't work good for this when you have multiple > files > > > with > > > >> same name, for example, multiple Index.tml files. > > > >> This plugin aims to fix this. > > > >> > > > >> > > > > > > > > -- > > > > Thiago H. de Paula Figueiredo > > > > > > > > > > --**--**- > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.**apache.org< > > > users-unsubscr...@tapestry.apache.org> > > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > > > > > -- > > > Dmitry Gusev > > > > > > AnjLab Team > > > http://anjlab.com > > > > > > > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com >
Re: Lightweight Tapestry5 Design/Code Switch plugin for Eclipse
Glad you liked it, keep your eyes for updates. Version 1.0.2 with bug fixes available from update site now. On Fri, Aug 30, 2013 at 4:31 AM, Barry Books wrote: > Simple, Perfect > > Thanks > Barry > > > On Thu, Aug 29, 2013 at 4:38 PM, Dmitry Gusev >wrote: > > > Added Eclipse update site: > > > > https://dl.bintray.com/anjlab/eclipse > > > > > > > > On Thu, Aug 29, 2013 at 10:30 PM, Thiago H de Paula Figueiredo < > > thiag...@gmail.com> wrote: > > > > > Nice! Thanks! Any plans for an update site for easier installing? > > > > > > > > > On Thu, 29 Aug 2013 12:27:38 -0300, Dmitry Gusev < > dmitry.gu...@gmail.com > > > > > > wrote: > > > > > > FYI: > > >> > > >> https://github.com/anjlab/**eclipse-tapestry5-plugin< > > https://github.com/anjlab/eclipse-tapestry5-plugin> > > >> > > >> TapestryTools doesn't work good for this when you have multiple files > > with > > >> same name, for example, multiple Index.tml files. > > >> This plugin aims to fix this. > > >> > > >> > > > > > > -- > > > Thiago H. de Paula Figueiredo > > > > > > > --**--**- > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.**apache.org< > > users-unsubscr...@tapestry.apache.org> > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > -- > > Dmitry Gusev > > > > AnjLab Team > > http://anjlab.com > > > -- Dmitry Gusev AnjLab Team http://anjlab.com
Re: Using Hibernate Session outside of @CommitAfter. Bugs I saw in our project
I never annotate my services or dao's with @CommitAfter and only annotate the actions in my pages / components. Is there a reason why you can't use this approach?
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
IMO using the session in a webservice is a bad idea. It's much better to keep it stateless and pass the required info in each request.
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
It depends how you are making the webservice call. Apache HTTPClient can handle cookies and I'm sure many other web service libraries out there can too. If you are using java.net.URL directly then you won't have session / cookie management on the client.
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
Didn't know it was that simple ! Thanks a lot :) Now ApplicationStateManager (ASM) can be injected and used. But there is another problem. I'm still not sure but I don't think web services keep cookie sessions ! So If I facilitate session-id generation and send back a session-id to the client when he logs in using a web-service call. So the client will have to send me that session-id with over successive call. How can I tell ASM to use that session-id to get\set objects specific to that session-id ? I have a strong feeling I'll get another "I don't see a problem?" reply, this is going to be simple too, correct ? :D *-* *Muhammad Gelbana* Java Software Engineer On Fri, Aug 30, 2013 at 9:24 AM, Lance Java wrote: > Why can't you use a RequestFilter? > > The HttpServletRequest has been set on RequestGlobals by the time the > RequestFilters are invoked. So you can @Inject HttpServletRequest in your > RequestFilter (or any service called by your RequestFilter). If you need to > wrap the HttpServletRequest, you can @Inject RequestGlobals and call > storeServletRequestResponse(…). > > I don't see a problem? >
VS: 5.4-alpha-15 resource exceptions
Hi, created https://issues.apache.org/jira/browse/TAP5-2165 to address this. Ville -Alkuperäinen viesti- Lähettäjä: Massimo Lusetti [mailto:mluse...@gmail.com] Lähetetty: 30. elokuuta 2013 11:29 Vastaanottaja: Tapestry users Aihe: Re: 5.4-alpha-15 resource exceptions Please open a new one On Fri, Aug 30, 2013 at 10:28 AM, Ville Virtanen < ville.virta...@orientimport.fi> wrote: > Hi, > > thanks for the info. Should I reopen ticket > https://issues.apache.org/jira/browse/TAP5-1007 or create new one? > > (And thanks for all the hard work, 5.4 is proving to be awesome!) > > Ville > > -Alkuperäinen viesti- > Lähettäjä: Howard Lewis Ship [mailto:hls...@gmail.com] > Lähetetty: 30. elokuuta 2013 11:04 > Vastaanottaja: Tapestry users > Aihe: Re: 5.4-alpha-15 resource exceptions > > Looks like the code that checks for case mismatch is broken when the > path separator is different. It must be hard coded to look for "/", > which is a problem on Windows. > > > On Fri, Aug 30, 2013 at 6:55 AM, Ville Virtanen < > ville.virta...@orientimport.fi> wrote: > > > Dear list, > > > > > > > > just tried to upgrade from 5.4-alpha-14 to 5.4-alpha-15, but the log > > is littered with exceptions like this: > > > > > > > > Caused by: java.lang.IllegalStateException: Resource > > classpath:com/orient/web/customer/base/SecureBasePage.class does not > > match the case of the actual file name, > > > > 'E:\projects\Orient\customer\target\classes\com\orient\web\customer\ > > ba > > se\Sec > > ureBasePage.class'. > > > > > > > > java.lang.IllegalStateException: Resource > > context:WEB-INF/customerclient.properties does not match the case of > > the actual file name, > > > > E:\projects\Orient\customer\src\main\webapp\WEB-INF\customerclient.p > > ro > > pertie > > s'. > > > > > > > > I'm running a maven build with jetty:run. What should I change to > > get up & running? > > > > > > > > Ville > > > > > > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > > The source for Tapestry training, mentoring and support. Contact me to > learn how I can get you up and productive in Tapestry fast! > > (971) 678-5210 > http://howardlewisship.com > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Massimo Lusetti - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: 5.4-alpha-15 resource exceptions
Please open a new one On Fri, Aug 30, 2013 at 10:28 AM, Ville Virtanen < ville.virta...@orientimport.fi> wrote: > Hi, > > thanks for the info. Should I reopen ticket > https://issues.apache.org/jira/browse/TAP5-1007 or create new one? > > (And thanks for all the hard work, 5.4 is proving to be awesome!) > > Ville > > -Alkuperäinen viesti- > Lähettäjä: Howard Lewis Ship [mailto:hls...@gmail.com] > Lähetetty: 30. elokuuta 2013 11:04 > Vastaanottaja: Tapestry users > Aihe: Re: 5.4-alpha-15 resource exceptions > > Looks like the code that checks for case mismatch is broken when the path > separator is different. It must be hard coded to look for "/", which is a > problem on Windows. > > > On Fri, Aug 30, 2013 at 6:55 AM, Ville Virtanen < > ville.virta...@orientimport.fi> wrote: > > > Dear list, > > > > > > > > just tried to upgrade from 5.4-alpha-14 to 5.4-alpha-15, but the log > > is littered with exceptions like this: > > > > > > > > Caused by: java.lang.IllegalStateException: Resource > > classpath:com/orient/web/customer/base/SecureBasePage.class does not > > match the case of the actual file name, > > > > 'E:\projects\Orient\customer\target\classes\com\orient\web\customer\ba > > se\Sec > > ureBasePage.class'. > > > > > > > > java.lang.IllegalStateException: Resource > > context:WEB-INF/customerclient.properties does not match the case of > > the actual file name, > > > > E:\projects\Orient\customer\src\main\webapp\WEB-INF\customerclient.pro > > pertie > > s'. > > > > > > > > I'm running a maven build with jetty:run. What should I change to get > > up & running? > > > > > > > > Ville > > > > > > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > > The source for Tapestry training, mentoring and support. Contact me to > learn > how I can get you up and productive in Tapestry fast! > > (971) 678-5210 > http://howardlewisship.com > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Massimo Lusetti
VS: 5.4-alpha-15 resource exceptions
Hi, thanks for the info. Should I reopen ticket https://issues.apache.org/jira/browse/TAP5-1007 or create new one? (And thanks for all the hard work, 5.4 is proving to be awesome!) Ville -Alkuperäinen viesti- Lähettäjä: Howard Lewis Ship [mailto:hls...@gmail.com] Lähetetty: 30. elokuuta 2013 11:04 Vastaanottaja: Tapestry users Aihe: Re: 5.4-alpha-15 resource exceptions Looks like the code that checks for case mismatch is broken when the path separator is different. It must be hard coded to look for "/", which is a problem on Windows. On Fri, Aug 30, 2013 at 6:55 AM, Ville Virtanen < ville.virta...@orientimport.fi> wrote: > Dear list, > > > > just tried to upgrade from 5.4-alpha-14 to 5.4-alpha-15, but the log > is littered with exceptions like this: > > > > Caused by: java.lang.IllegalStateException: Resource > classpath:com/orient/web/customer/base/SecureBasePage.class does not > match the case of the actual file name, > > 'E:\projects\Orient\customer\target\classes\com\orient\web\customer\ba > se\Sec > ureBasePage.class'. > > > > java.lang.IllegalStateException: Resource > context:WEB-INF/customerclient.properties does not match the case of > the actual file name, > > E:\projects\Orient\customer\src\main\webapp\WEB-INF\customerclient.pro > pertie > s'. > > > > I'm running a maven build with jetty:run. What should I change to get > up & running? > > > > Ville > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: 5.4-alpha-15 resource exceptions
Looks like the code that checks for case mismatch is broken when the path separator is different. It must be hard coded to look for "/", which is a problem on Windows. On Fri, Aug 30, 2013 at 6:55 AM, Ville Virtanen < ville.virta...@orientimport.fi> wrote: > Dear list, > > > > just tried to upgrade from 5.4-alpha-14 to 5.4-alpha-15, but the log is > littered with exceptions like this: > > > > Caused by: java.lang.IllegalStateException: Resource > classpath:com/orient/web/customer/base/SecureBasePage.class does not match > the case of the actual file name, > > 'E:\projects\Orient\customer\target\classes\com\orient\web\customer\base\Sec > ureBasePage.class'. > > > > java.lang.IllegalStateException: Resource > context:WEB-INF/customerclient.properties does not match the case of the > actual file name, > > E:\projects\Orient\customer\src\main\webapp\WEB-INF\customerclient.propertie > s'. > > > > I'm running a maven build with jetty:run. What should I change to get up & > running? > > > > Ville > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com
Re: [5.3.7] Integrating Metro web services (Using Derkoe's code)
Why can't you use a RequestFilter? The HttpServletRequest has been set on RequestGlobals by the time the RequestFilters are invoked. So you can @Inject HttpServletRequest in your RequestFilter (or any service called by your RequestFilter). If you need to wrap the HttpServletRequest, you can @Inject RequestGlobals and call storeServletRequestResponse(…). I don't see a problem?