Re: Migrated from t5componets 0.5.18 to chenillekit-tapestry 1.0.0

2009-02-19 Thread Petros Petrou

Hi, 

Has anyone seen this problem?
I am still not able to fix it?

Petros


Petros Petrou wrote:
 
 I just changed my dependencies from t5components 0.5.18 to
 chenillekit-tapestry 1.0.0 and the following code that used to work fine
 now throws the exception shown below. Switching back to t5components
 0.5.18 fixes the problem
 **
 @Inject
 @Property
 private Block themeBlock;
 **
 @OnEvent(component = uiThemeForm, value = submit)
 private Block onSuccessFromUiThemeForm() {
 settingsOrchestrator.saveSelectedTheme(selectedTheme);
 active = true;
 themeFeedbackMessage = messages.format(theme-feedback-message,
 selectedTheme);
 return themeBlock;
 }
 **
 EXCEPTION 
 Caused by: java.lang.RuntimeException: A component event handler method
 returned the value Block[themeBlock within setting/Page, at
 classpath:com/celestiatech/ui/pages/setting/SettingPage.tml, line 17,
 column 60]. Return type org.apache.tapestry5.internal.structure.BlockImpl
 can not be handled.  Configured return types are java.lang.Class,
 java.lang.String, java.net.URL, org.apache.tapestry5.Link,
 org.apache.tapestry5.StreamResponse,
 org.apache.tapestry5.runtime.Component.
 
 Petros
 

-- 
View this message in context: 
http://www.nabble.com/Migrated-from-t5componets-0.5.18-to-chenillekit-tapestry-1.0.0-tp21933310p22099176.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



T5:Cannot create a session after the response has been committed

2009-02-19 Thread Angelo Chen

Hi,

  I have following code used to logout a user:

 asm.set(MySession.class, null);
 global.getHTTPServletRequest().getSession().invalidate();
 cookies.removeCookieValue(my.login);
 
 but I'm getting this error with a Tomcat 5.25,but not all, any idea why?
 
 Thanks,
 
 Angelo
 
 
 
 [ERROR] [default] Servlet.service() for servlet default threw exception
java.lang.IllegalStateException: Cannot create a session after the response
has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2221)
...
at
org.apache.tapestry5.internal.services.RequestImpl.getSession(RequestImpl.java:99)
...
at
org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.requestDidComplete(SessionApplicationStatePersistenceStrategy.java:126)
at
org.apache.tapestry5.internal.services.EndOfRequestListenerHubImpl.fire(EndOfRequestListenerHubImpl.java:40)
at
$EndOfRequestListenerHub_11f8e01679c.fire($EndOfRequestListenerHub_11f8e01679c.java)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:625)
at $RequestHandler_11f8e01679f.service($RequestHandler_11f8e01679f.java)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:611)
at $RequestHandler_11f8e01679f.service($RequestHandler_11f8e01679f.java)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
at $RequestHandler_11f8e01679f.service($RequestHandler_11f8e01679f.java)
at org.abc.myapp.t5.services.AppModule$1.service(AppModule.java:217)
at $RequestFilter_11f8e016798.service($RequestFilter_11f8e016798.java)
at $RequestHandler_11f8e01679f.service($RequestHandler_11f8e01679f.java)
at org.abc.myapp.t5.services.AppModule$2.service(AppModule.java:252)
at $RequestFilter_11f8e016799.service($RequestFilter_11f8e016799.java)
at $RequestHandler_11f8e01679f.service($RequestHandler_11f8e01679f.java)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
at $RequestHandler_11f8e01679f.service($RequestHandler_11f8e01679f.java)
at $RequestHandler_11f8e016794.service($RequestHandler_11f8e016794.java)
at
org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1007)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at
$HttpServletRequestHandler_11f8e016795.service($HttpServletRequestHandler_11f8e016795.java)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at
$HttpServletRequestFilter_11f8e016792.service($HttpServletRequestFilter_11f8e016792.java)
at
$HttpServletRequestHandler_11f8e016795.service($HttpServletRequestHandler_11f8e016795.java)
at
org.abc.myapp.t5.URLRewriteRequestFilter.service(URLRewriteRequestFilter.java:79)
at
$HttpServletRequestHandler_11f8e016795.service($HttpServletRequestHandler_11f8e016795.java)
at
$HttpServletRequestHandler_11f8e016791.service($HttpServletRequestHandler_11f8e016791.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.abc.myapp.Filter.doFilter(Filter.java:37)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)

Re: T5:Cannot create a session after the response has been committed

2009-02-19 Thread Thiago H. de Paula Figueiredo
Please post the class that contains the snippet you posted here. By
the way, you don't need to asm.set(MySession.class, null), as you're
invalidating the session. You can also inject HttpServletRequest
directly and instead of getting it from RequestGlobals. Better yet,
inject Tapestry's Request and do:

Session session = request.getSession(false);
if (session != null) {
session.invalidate();
}

-- 
Thiago

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



If component

2009-02-19 Thread Davor Miku
Hi!

Let's say I have:

public interface Foo {
 getId();
}

public class A implements Foo {
}

public class B implements Foo {
}

public class C implements Foo {
}

public class Index {

  private MapFloat, Foo foos = new TreeMapFloat, Foo();

}

Let there be components for classes A,B,C, also

component.A id= / etc.

I want in Index.tml to loop over foos, and based on Foo type to call
appropriate component (A,B or C):

Something like:

div t:type=loop t:source=foos t:value=item 

/* Here should be something like :
if(item insanceof A)
  component.A id=item.id /
if(item insanceof B)
  component.B id=item.id /
if(item insanceof C)
  component.C id=item.id /

*/
t:category.preview.render t:previewId=preview.id/
/div

As I know Tapestry If component is checking true/false on property, and
adding that properties to
Foo is not an option.

I hope I'm clear enough.

So, how could I accomplish this?


Re: If component

2009-02-19 Thread Thiago H. de Paula Figueiredo
On Thu, Feb 19, 2009 at 10:37 AM, Davor Miku davorm...@gmail.com wrote:
 So, how could I accomplish this?

Add methods to your page or component class:

public boolean isInstanceOfA() {
 return item instanceof A;
}

public boolean isInstanceOfB() {
 return item instanceof B;
}

t:if test=isInstanceOfA  /t:if

-- 
Thiago

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: If component

2009-02-19 Thread Ulrich Stärk

With a delegate component.

in your template:

div t:type=loop t:source=foos t:value=item 
t:delegate to=renderBlock /
t:category.preview.render t:previewId=preview.id/
/div

t:block t:id=compAblock
component.A id=item.id /
/t:block
t:block t:id=compBblock
component.B id=item.id /
/t:block
t:block t:id=compCblock
component.C id=item.id /
/t:block

and in your page class:

@InjectComponent
private Block compAblock;

@InjectComponent
private Block compBblock;

@InjectComponent
private Block compCblock;

public Block getRenderBlock()
{
if(item instanceof A)
return compAblock;
if(item instanceof B)
return compBblock;
if(item instanceof C)
return compCblock;
}

Something along those lines. I hope you get the idea, don't take any of 
those code snippets as granted :)


Uli

Davor Miku schrieb:

Hi!

Let's say I have:

public interface Foo {
 getId();
}

public class A implements Foo {
}

public class B implements Foo {
}

public class C implements Foo {
}

public class Index {

  private MapFloat, Foo foos = new TreeMapFloat, Foo();

}

Let there be components for classes A,B,C, also

component.A id= / etc.

I want in Index.tml to loop over foos, and based on Foo type to call
appropriate component (A,B or C):

Something like:

div t:type=loop t:source=foos t:value=item 

/* Here should be something like :
if(item insanceof A)
  component.A id=item.id /
if(item insanceof B)
  component.B id=item.id /
if(item insanceof C)
  component.C id=item.id /

*/
t:category.preview.render t:previewId=preview.id/
/div

As I know Tapestry If component is checking true/false on property, and
adding that properties to
Foo is not an option.

I hope I'm clear enough.

So, how could I accomplish this?




-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: If component

2009-02-19 Thread Davor Miku
Are you sure this is going to work?

If Foo is B, and I'm:

t:if test=isInstanceOfA  /t:if

B doesn't have isInstanceOfA().

Is it going to false that or to throw exception?


On Thu, Feb 19, 2009 at 8:41 AM, Thiago H. de Paula Figueiredo 
thiag...@gmail.com wrote:

 On Thu, Feb 19, 2009 at 10:37 AM, Davor Miku davorm...@gmail.com wrote:
  So, how could I accomplish this?

 Add methods to your page or component class:

 public boolean isInstanceOfA() {
 return item instanceof A;
 }

 public boolean isInstanceOfB() {
 return item instanceof B;
 }

 t:if test=isInstanceOfA  /t:if

 --
 Thiago

 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org




Re: If component

2009-02-19 Thread Davor Miku
Thank you both very much, both solutions work fine!



On Thu, Feb 19, 2009 at 8:45 AM, Davor Miku davorm...@gmail.com wrote:

 Are you sure this is going to work?

 If Foo is B, and I'm:

 t:if test=isInstanceOfA  /t:if

 B doesn't have isInstanceOfA().

 Is it going to false that or to throw exception?



 On Thu, Feb 19, 2009 at 8:41 AM, Thiago H. de Paula Figueiredo 
 thiag...@gmail.com wrote:

 On Thu, Feb 19, 2009 at 10:37 AM, Davor Miku davorm...@gmail.com wrote:
  So, how could I accomplish this?

 Add methods to your page or component class:

 public boolean isInstanceOfA() {
 return item instanceof A;
 }

 public boolean isInstanceOfB() {
 return item instanceof B;
 }

 t:if test=isInstanceOfA  /t:if

 --
 Thiago

 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org





Re: If component

2009-02-19 Thread Thiago H. de Paula Figueiredo
On Thu, Feb 19, 2009 at 10:45 AM, Davor Miku davorm...@gmail.com wrote:
 Are you sure this is going to work?

Ooops, I've found an error: it should be t:if test=instanceOfA
 /t:if, not test=isInstanceOfA

 If Foo is B, and I'm:
 t:if test=isInstanceOfA  /t:if
 B doesn't have isInstanceOfA().
 Is it going to false that or to throw exception?

False, the If component will call isInstanceOfA() in the page. Java's
instanceof operator does not throw exceptions: it returns a boolean
value.

My solution is the best one only if you have one or two of this tests.
Otherwise, Ulrich's solution is the recommended one.

-- 
Thiago

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Migrated from t5componets 0.5.18 to chenillekit-tapestry 1.0.0

2009-02-19 Thread Massimo Lusetti
On Tue, Feb 10, 2009 at 2:11 PM, Petros Petrou pet...@cypoz.com wrote:


 I just changed my dependencies from t5components 0.5.18 to
 chenillekit-tapestry 1.0.0 and the following code that used to work fine now
 throws the exception shown below. Switching back to t5components 0.5.18
 fixes the problem

ChenilleKit has it's own mail list so please post there, we would be
more helpful.


-- 
Massimo
http://meridio.blogspot.com

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



T5: Passivate, forms and environmentals

2009-02-19 Thread Carl Crowder

Hi all,

I have a page class, which in beginRender pushes a class into the 
environment. Then a component uses that environmental value. This works 
fine, and I use it in the page activation and passivation methods and 
all is well.


In the component, I have a form which sets some values. When I submit 
the form, I get the message No object of type SomeClass is available in 
the Environment.


My question is: does the form submission passivate the page class? It 
seems like it doesn't, is that the correct behaviour? I think I'm 
misunderstanding how events and the like work. What should I be doing? I 
can get around it by passing in the instance of 'SomeClass' as context 
to the form, but that means I can't include other values that the page 
itself passivates.


I've added some psuedo-code below which demonstrates what my code 
looks like. I've deliberately left out lots of chaff to make it clearer.


Carl



class Page {
   void onActivate( SomeClass test ) { this.test = test }
   void beginRender{ environment.push( SomeClass.class, this.test ); }
   void afterRender{ this.test = environment.pop( SomeClass.class ); }
   Object[] onPassivate() { return new Object[]{ this.test }; }
}

class Component {
   @Environmental SomeClass test;
   void setFoo( int val ) { test.setFoo( val ); }
}


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: T5:Cannot create a session after the response has been committed

2009-02-19 Thread Angelo Chen

Hi Thiago,

Thanks for the reply, I have modified the code as you sugested, looks neat.
the problem seems having to do with @ApplicationState, I have this for the
same class in two places, also create it in a service, in one page, I have A
@ApplicationState  SessionDat _dat, in the same time I call the service
which might also create an instance of SessionDat, I'm still tracing...
thanks,

Angelo


Thiago H. de Paula Figueiredo wrote:
 
 Please post the class that contains the snippet you posted here. By
 the way, you don't need to asm.set(MySession.class, null), as you're
 invalidating the session. You can also inject HttpServletRequest
 directly and instead of getting it from RequestGlobals. Better yet,
 inject Tapestry's Request and do:
 
 Session session = request.getSession(false);
 if (session != null) {
   session.invalidate();
 }
 
 -- 
 Thiago
 
 -
 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://www.nabble.com/T5%3ACannot-create-a-session-after-the-response-has-been-committed-tp22099641p22102555.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: [T5.0.18] Bug? : Null property problem with the custom component inside a grid

2009-02-19 Thread Iren Tuna

If there are no other ideas, whether it should work or not (and why), the way
I have done it, aside from the alternative solution hints, maybe I should
try to create a bug issue in T5 jira. For me it is still not clear, why it
does not work. Any other ideas?

--
iren



Thiago H. de Paula Figueiredo wrote:
 
 On Sun, Feb 15, 2009 at 8:21 AM, Otho taa...@googlemail.com wrote:
 One possible solution is to store the images in the filesystem instead of
 the database and store only the filename in the db from where you can
 construct a path. But I think that isn't compatible with your
 requirements?
 
 Maybe a better solution would be to provide an Asset binding (like
 context and classpath) and AssetFactory, both pulling the images from
 the database.
 
 -- 
 Thiago
 
 

-- 
View this message in context: 
http://n2.nabble.com/-T5.0.18--Bug--%3A-Null-property-problem-with-the-custom-component-inside-a-grid-tp2324166p2353720.html
Sent from the Tapestry Users 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



Why Grid component fetches data one more time in form submit

2009-02-19 Thread dh ning
Hi,

When Grid is in a form, even though 'volatile' parameter is set to 'false'
(by default), I can see the datasource provider method is called during form
submit.
My understanding is that, if 'volatile' is false, it should not be called in
form submitted, am I missing something?

 Object setupRender()
{
if (formSupport != null) formSupport.store(this, SETUP_DATA_SOURCE);
...
}
From the source code of Grid.java, if Grid is in form, the SETUP_DATA_SOURCE
componentaction is always called after form submitted. I think 'volatile'
should be here to prevent it from calling during submit. Unfortunately
'volatile' parameter is now declared as publishParameters of GridRows
component.



How do you handle grid component in a form?

Thanks,
DH


Re: [T5.0.18] Bug? : Null property problem with the custom component inside a grid

2009-02-19 Thread Howard Lewis Ship
It's very simple.

When the Grid component renders, it is keeping the book property up-to
date as the components in its body render.  Thus, if you look at the
rendered output, you'll see an img element and a URL that references
the component and the displayImage custom event.

Now what happens when that URL is triggered?

The Image component attempts to read the book property and
de-reference the binaryStream property.  Well, it was the Grid
components job to keep the book property up-to date *while it was
rendering*, but the Grid component isn't rendering in this new
request.

In fact, if you look at the rendered URL you'll see that every time
the Image component rendered, it rendered the same URL.  How is it
supposed to know from that which book's image to stream to the client?

The solution is to use event context to identify the book, or in some
other way, identify where the data stream is supposed to come from.

On Thu, Feb 19, 2009 at 8:05 AM, Iren Tuna iren.t...@sphinx.at wrote:

 If there are no other ideas, whether it should work or not (and why), the way
 I have done it, aside from the alternative solution hints, maybe I should
 try to create a bug issue in T5 jira. For me it is still not clear, why it
 does not work. Any other ideas?

 --
 iren



 Thiago H. de Paula Figueiredo wrote:

 On Sun, Feb 15, 2009 at 8:21 AM, Otho taa...@googlemail.com wrote:
 One possible solution is to store the images in the filesystem instead of
 the database and store only the filename in the db from where you can
 construct a path. But I think that isn't compatible with your
 requirements?

 Maybe a better solution would be to provide an Asset binding (like
 context and classpath) and AssetFactory, both pulling the images from
 the database.

 --
 Thiago



 --
 View this message in context: 
 http://n2.nabble.com/-T5.0.18--Bug--%3A-Null-property-problem-with-the-custom-component-inside-a-grid-tp2324166p2353720.html
 Sent from the Tapestry Users 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





-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Displaying the source of an event

2009-02-19 Thread gladstone

I am actually completely stuck on a problem that would be solved by being
able to get the component id in this fashion.

I am implementing a form.  The form uses an ajaxformloop to add/remove
fields.  The fields are select elements.  What's more, I am using the
@OnEvent mixin + javascript to make one select dependent on the other.  This
dependent select approach works fine outside of the ajaxformloop.  The
problem happens in the javascript function called.  It is impossible to know
which select fired the onChange and consequently which dependent select
to update.  The rendered select elements have a generated unique id.  If I
could determine in the javascript function which select fired the on
change OR if I could stick that id in the parameter of this function, it
would work.

I am REALLY desperate to get this to work in the ajaxformloop, as I have a
deadline.  Anything someone could tell me that would help would be VERY much
appreciated.

As a side note, I have used Tapestry since T4.  I love it immensly, and love
T5 even more.  Fantastic work to Howard and everyone who builds and
maintains it.  I find it weird that the Ajax/javascript implementation seems
incongruent to how smart T5 is.

Thanks in advance



Howard Lewis Ship wrote:
 
 Unnecessary would be too strong.
 
 The best bet for this kind of thing would be to add an issue
 requesting this kind of logging be built into Tapestry.
 
 There isn't a MagicWand service that stores any data about the current
 event.
 
 On Feb 11, 2008 3:34 PM, Hilco Wijbenga hilco.wijbe...@gmail.com wrote:
 On Feb 7, 2008 3:31 PM, Hilco Wijbenga hilco.wijbe...@gmail.com wrote:
  To aid debugging, is it possible to do something like this:
 
  @onEvent
  public void onEvent() {
  final String componentId = MagicWand.getComponentIdForThisEvent();
  final String action = MagicWand.getActionForThisEvent();
  System.out.println(Component ID:  + componentId);
  System.out.println(Action:  + action);
  }
 
  What's T5's replacement for MagicWand? :-)

 Is this impossible? Or unnecessary?


 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org


 
 
 
 -- 
 Howard M. Lewis Ship
 
 Creator Apache Tapestry and Apache HiveMind
 
 -
 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://www.nabble.com/Displaying-the-source-of-an-event-tp15346218p22108075.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



Dependent select implemented with @OnEvent mixin + AjaxFormLoop

2009-02-19 Thread gladstone

I am desperately looking for a solution to get a select element that is
dependent on another select element to work inside an AjaxFormLoop.  Outside
of an AjaxFormLoop, I can use @OnEvent mixin from T5Components to implement
the dependent select (i.e. the value selected in the first select is used to
populate the values available in the second select).  Once this is placed
inside an AjaxFormLoop, the client id for the select elements are made
unique by having a unique number appended to it.  Inside the JavaScript
function, it can no longer find the select element to update as it doesn't
know which one (what id) to update.

I posted a related question here:
http://www.nabble.com/Displaying-the-source-of-an-event-td15346218.html#a22108075

I am really desperate to get this to work.  Anything anyone can tell me with
regards to this would be whole-heartedly appreciated.

Cheers
-- 
View this message in context: 
http://www.nabble.com/Dependent-%3Cselect%3E-implemented-with-%40OnEvent-mixin-%2B-AjaxFormLoop-tp22108985p22108985.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: Dependent select implemented with @OnEvent mixin + AjaxFormLoop

2009-02-19 Thread Thiago H. de Paula Figueiredo
Em Thu, 19 Feb 2009 17:28:16 -0300, gladstone esm...@onecornerstone.com  
escreveu:



Once this is placed
inside an AjaxFormLoop, the client id for the select elements are made
unique by having a unique number appended to it.  Inside the JavaScript
function, it can no longer find the select element to update as it  
doesn't know which one (what id) to update.


Does it help to use Select's (and any other AbstractField class)  
getClientId() method?


--
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



RE: Dependent select implemented with @OnEvent mixin + AjaxFormLoop

2009-02-19 Thread Elmer Smith
I first thought of somehow using getClientId().  The problem is that I
need the id in the JavaScript function (the onCompleteCallback one) to
then try and determine which select put values into.

If I could call getClientId() when in the Java @OnEvent method, then I
could sneak it in as the first entry in my JSONArray.  The problem there
is, what could I base the getClientId() method off of?



-Original Message-
From: Thiago H. de Paula Figueiredo [mailto:thiag...@gmail.com]
Sent: Thursday, February 19, 2009 3:33 PM
To: Tapestry users
Subject: Re: Dependent select implemented with @OnEvent mixin +
AjaxFormLoop

Em Thu, 19 Feb 2009 17:28:16 -0300, gladstone
esm...@onecornerstone.com
escreveu:

 Once this is placed
 inside an AjaxFormLoop, the client id for the select elements are made
 unique by having a unique number appended to it.  Inside the
JavaScript
 function, it can no longer find the select element to update as it
 doesn't know which one (what id) to update.

Does it help to use Select's (and any other AbstractField class)
getClientId() method?

--
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


This message (including any attachments) is intended only for the use of the 
individual or entity to whom it is addressed and may contain information that 
is non-public, proprietary, privileged, confidential, and exempt from 
disclosure under applicable law or may constitute attorney work product. If you 
are not the intended recipient, you are hereby notified that any use, 
dissemination, distribution, or copying of this communication is strictly 
prohibited. If you have received this communication in error, please notify us 
immediately by telephone and (i) destroy this message if a facsimile or (ii) 
delete this message immediately if an electronic communication.


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Dependent select implemented with @OnEvent mixin + AjaxFormLoop

2009-02-19 Thread Thiago H. de Paula Figueiredo
Em Thu, 19 Feb 2009 17:44:54 -0300, Elmer Smith  
esm...@venterraliving.com escreveu:



I first thought of somehow using getClientId().  The problem is that I
need the id in the JavaScript function (the onCompleteCallback one) to
then try and determine which select put values into.


I have also needed to know what component fired an event, so I filed  
https://issues.apache.org/jira/browse/TAP5-146. You can vote there. The  
most votes, the most likely to beee solved. :)


Another solution, maybe more complicated, would be to write the Javascript  
yourself instead of using the @OnEvent mixin. Using Prototype, that  
wouldn't be hard. Your JS code would request an URL generated by  
ComponentResources.createEventLink(). Maybe you'll need to add the client  
id to this URL, maybe not. Your event handler method would receive the id  
through its parameter. I don't know if this works, but that's what I would  
try to do. ;)


--
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: [OT] By boss decided

2009-02-19 Thread Borut Bolčina
Today the official winner was announced. The corporate mind decided we will
use PHP Zend. The deciding factor was
http://www.zend.com/en/products/platform/customers

Nonetheless, I hope I will post a better news in a few of months which will
go directly into success stories.

-Borut

2009/2/18 Borut Bolčina borut.bolc...@gmail.com

 Hello,

 just want to share a piece of corporate mind set with you.

 My boss decided that none of the Java frameworks is productive in
 comparison to PHP, Ruby and Django and that there are no web sites written
 in any Java framework. Can you believe that? I would like to prove him wrong
 with Tapestry Cayenne combo. Unfortunately I have no list of T5 success
 stories.

 I am sorry for spamming, but I had to let the steam out!

 -Borut




Re: [OT] By boss decided

2009-02-19 Thread Daniel Honig
Ok,
  I'm sure the tapestry list will still be here to help in two years when
they get to phase 3 and have to start from scratch ;)

-dh

On Thu, Feb 19, 2009 at 4:38 PM, Borut Bolčina borut.bolc...@gmail.comwrote:

 Today the official winner was announced. The corporate mind decided we will
 use PHP Zend. The deciding factor was
 http://www.zend.com/en/products/platform/customers

 Nonetheless, I hope I will post a better news in a few of months which will
 go directly into success stories.

 -Borut

 2009/2/18 Borut Bolčina borut.bolc...@gmail.com

  Hello,
 
  just want to share a piece of corporate mind set with you.
 
  My boss decided that none of the Java frameworks is productive in
  comparison to PHP, Ruby and Django and that there are no web sites
 written
  in any Java framework. Can you believe that? I would like to prove him
 wrong
  with Tapestry Cayenne combo. Unfortunately I have no list of T5 success
  stories.
 
  I am sorry for spamming, but I had to let the steam out!
 
  -Borut
 
 



Re: NPE with ajax form loop

2009-02-19 Thread Yunhua Sang
I got this NPE too, but seems at different place:

Request time: 16 ms
[ERROR] RequestExceptionHandler Processing of request failed with
uncaught exception: java.lang.NullPointerException
java.lang.NullPointerException
at 
org.apache.tapestry5.dom.Element.createNamespaceURIToPrefix(Element.java:596)
at org.apache.tapestry5.dom.Element.toMarkup(Element.java:294)
at org.apache.tapestry5.dom.Node.writeChildMarkup(Node.java:104)
at org.apache.tapestry5.dom.Node.getChildMarkup(Node.java:114)
at 
org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:163)
at 
$PageRenderQueue_11f90a45345.renderPartial($PageRenderQueue_11f90a45345.java)
at 
$PageRenderQueue_11f90a45309.renderPartial($PageRenderQueue_11f90a45309.java)
at 
org.apache.tapestry5.internal.services.PartialMarkupRendererTerminator.renderMarkup(PartialMarkupRendererTerm
inator.java:39)
at 
org.apache.tapestry5.services.TapestryModule$31.renderMarkup(TapestryModule.java:1801)
at 
$PartialMarkupRenderer_11f90a45358.renderMarkup($PartialMarkupRenderer_11f90a45358.java)
at 
org.apache.tapestry5.services.TapestryModule$30.renderMarkup(TapestryModule.java:1782)
at 
$PartialMarkupRenderer_11f90a45358.renderMarkup($PartialMarkupRenderer_11f90a45358.java)
at 
org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1764)
at 
$PartialMarkupRenderer_11f90a45358.renderMarkup($PartialMarkupRenderer_11f90a45358.java)
at 
org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1746)
at 
$PartialMarkupRenderer_11f90a45358.renderMarkup($PartialMarkupRenderer_11f90a45358.java)
at 
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1720)
at 
$PartialMarkupRenderer_11f90a45358.renderMarkup($PartialMarkupRenderer_11f90a45358.java)
at 
$PartialMarkupRenderer_11f90a45357.renderMarkup($PartialMarkupRenderer_11f90a45357.java)
at 
org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl.renderPartialPageMarkup(AjaxPartialRes
ponseRendererImpl.java:79)

On the html page, the Ajax error shows:
Ajax failure: Status 500 for
/sql-library/delimitedtextviewer.loop.rowinjector:inject/1235082471277?t:formcomponentid=DelimitedTextViewer:formt:formid=form:
java.lang.NullPointerExceptionCommunication with the server failed:
java.lang.NullPointerException

It's seems related to xml namespace, after I removed doctype and
remove xmlns in  html tag, the error disappeared, however, some
other components look weird.

Any ideas about it?

Thanks,
Yunhua

On Fri, Dec 12, 2008 at 5:08 AM, zack1403 zack.mann...@gmail.com wrote:

 When following the documentation for ajaxformloop to the t, I am getting this
 error when trying to add a row.  The only difference is that I am
 implementing the value encoder as a service:

 Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException [at
 classpath:com/inavero/pulse/pages/survey/ManageQuestions.tml, line 37,
 column 85]
at
 org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:932)
at
 org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$200(ComponentPageElementImpl.java:50)
at
 org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11.render(ComponentPageElementImpl.java:356)
at
 org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
... 107 more
 Caused by: java.lang.NullPointerException
at
 org.apache.tapestry5.corelib.components.AjaxFormLoop$1.addRemoveRowTrigger(AjaxFormLoop.java:157)
at
 org.apache.tapestry5.corelib.components.RemoveRowLink.beginRender(RemoveRowLink.java:54)
at
 org.apache.tapestry5.corelib.components.RemoveRowLink.beginRender(RemoveRowLink.java)
at
 org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:352)
at
 org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:917)

 Any thoughts?
 --
 View this message in context: 
 http://www.nabble.com/NPE-with-ajax-form-loop-tp20972086p20972086.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