I suppose Spring's transaction management would start a second
transaction after rolling back the first one, but ONLY if you call a
second service method that is wrapped in a transaction after getting
an exception in a prior one. Generally, my code is written such that
a listener will probably on
In my case, I'm using Spring's transaction management code to inject,
via AOP, transaction semantics around service method calls. This
means that my transaction commits when the service method (called from
the listener, almost always) returns, so I can catch any exceptions
before I even start ren
That depends entirely on your requirements. The API for tap 4.1.x is
still not entirely stable (or wasn't last time I checked, anyway, and
I assume that the fact that it isn't the recommended release is
confirmation of this), so not only are you still likely to encounter
bugs, but there is also n
I wouldn't think you'd have to do anything at all. I've built pages
that have a checkbox in each row and an action button which acts on
selected rows using both tacos table and contrib table. I just make
the checkboxes set their value into a property of the page, and then
in the setter method, I
An IPage is bookmarkable, so long as you just want to bookmark the
default state of the page when rendered by the page service. However,
if you submit a form on that page and then want to bookmark the
resulting page, you won't be able to, since the form submit will go
back to your original page,
Generally, you would make sure the page implements the IExternalPage
interface. That allows you to specify parameters in a link and
receive them when the page is activated. If you just need to generate
the URL, you can create an instance of an ILink via the
ExternalService and then get the URL f
I've run into this problem on some heavyweight pages using Tap 4.0 and
Tacos 4.0. I basically had to modify all my pages so that models are
initialized only on access. If I need a model to reinitialize after
the rewind cycle, I set it back to null during a listener method. In
Tap4.0 + tacos, ev
My suspicion is that you can get a reference to the validator in Java
code, , get a reference to the Bean in java code, then write a method
that returns a collection containing both, and then call that method
via ognl or prop and pass it to the validators binding. I don't think
you can combine be
when a form rewinds, the loop executes over the set of objects, in the
same order in which they were originally iterated, so the fields
naturally populate the correct object as the form rewinds. For this
reason, it is important that the collection you are iterating over
does, indeed, remain in th
Folks,
The company I work for is hiring someone to take over lead architect
and tech lead responsibilities on all UI development. We've got a
fairly sophisticated internal application that is driving the
business, and are about to embark on development of a large customer
facing UI. Everything
Because they are perfectly usable alternatives that accomplish the
same thing, so the initialize() method isn't needed any longer and may
be removed in a future release. You can initialize params when a page
is first attached to the request via the PageAttachListener interface,
and you can clean
I'm curious why storing a list in hidden fields, even as ids, isn't
considered a huge security hole. Doesn't it seem like it is just
inviting users to manipulate their application into letting them do
things to entities they shouldn't have access to, etc. I use volatile
wherever I can, despite t
There's a solution that is pretty similar to how I solved this problem
described in detail on this page:
http://www.permadi.com/tutorial/cssHighlightTableRow/index.html but
you'll have to scroll to the bottom to find it. The page presents
multiple options, but it is the second to last one that yo
the framework during rewind. It informs the page the it
* has been rewinded when the renderPage method will be called
*/
public void beginPageRender() {
setFormRewound(Boolean.TRUE);
}
Is there any better way to do this ?
ciao,
kiuma
On 2/27/07, Sam Gendler <[EMAIL PROT
It is simple enough to build a component based on the @If component
which will conditionally check some authorization requirement. That's
what we have for handling role based auth in a template, including
some sophisticated else handling which lets the template cascade
through a number of options
pageBeginRender (implement PageBeginRenderListener interface). This
will be called before rendering both the rewind and render cycle, but
you can just put a conditional on cycle.isRewinding() in order to
ensure you only re-init the variable during the render cycle.
--sam
On 2/26/07, Andrea Chi
The most obvious example would be to have cookies disabled and to not
use a URL with the session id encoded in it. Or is there something
else which is disturbing your cookies, somehow, such as a proxy
server?
--sam
On 2/6/07, Craig Hamilton <[EMAIL PROTECTED]> wrote:
I have an html page which
We solved this a number of ways, depending upon particular context
within our app. Acegi was unable to satisfy all of our security
requirements, so we went with a custom solution from top to bottom,
and one of our requirements was identical to yours. The set of roles
and per-page permission for
The jfreechart book is well worth the expense. And it is supporting
the efforts of the developers. Note that it is not subject to
per-user license fees or anything, so it is an annual fee (assuming
you care to update to the latest docs every year) that gives you
unlimited use, including source c
I hate typing I am not Sam G :-)
Gosh, my first day back on the list in any significant way in nearly
two months, and I stumble into a reference to me. I must be famous
;-)
I don't have any real comment to add to the initial question since I
have no familiarity with Tap5 development, but I
You need to use CSS to specify an explicit height for the tab
container. A change to dojo 0.3.x made this necessary and there is no
fix which allows the dynamic height sizing that was possible prior to
0.3.x, short of modifying the dojo code.
--sam
On 1/9/07, Shing Hing Man <[EMAIL PROTECTED]>
I don't think that will work, since the browser will eat the spaces,
anyway. is your only choice if you want to do it in the label.
However, you may be much better off if you use CSS to manipulate the
space around your labels instead of spaces, anyway.
--sam
On 1/8/07, Peter Schröder <[EMAIL
es this calendar :
http://www.dynarch.com/projects/calendar/
I don't think I've looked at the Tapestry "DatePicker" javascript yet
for any bugs so presumably it still has the same problem? (can't
remember all the changes made anymore )
On 12/21/06, Sam Gendler <[EMAI
We suffered this same problem, and unfortunately aren't using 4.1.x.
Both tacos and tapestry date pickers have this problem in tap 4.0.x.
Jess, what exactly was required for you to fix this? I haven't
looked, but I assume tacos is using the dojo date picker, so I should
be able to make similar ch
dates/times are transported according to rfc3339 (i think..) so
anything appearing in local time should just be for appearances and
not for actual client->server sync.
On 12/19/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
> I'm only just starting to look into this problem, so I'll like
I'm only just starting to look into this problem, so I'll likely post
more detail in future emails, but it looks as though there is a
problem with the DatePicker component when the server and the client
are not in the same timezone. Internally, the Calendar javascript
object that is defined in Da
use prip where you can for its speed and ognl where you can't.
--sam
On 12/15/06, Barry Books <[EMAIL PROTECTED]> wrote:
I don't know about the norm but prop does not have all the
functionality of ognl. It's probably faster at what it can do. So if
you need speed or believe in optimizing early
I just stuck a page referencing the methods in your emails and others
on the wiki here:
http://wiki.apache.org/tapestry/SendingHtmlEmailWithTap
Thanks.
--sam
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands,
There are lots of ways to solve the problem via caching of results
(either entire entities, ids, proxy objects that allow you to load by
id, etc), depending upon your tolerance for potential inaccuracy in
the page count. The reality for most tables, where the query isn't
that complex, is that iss
form.valid are the new validators that you want to use. The others
are from the now deprecated api that was in use in version prior to
tap 4, I believe.
--sam
On 12/11/06, Andrea Chiumenti <[EMAIL PROTECTED]> wrote:
Is there any reason, other then historical, why some validators are into
org.
event.connect () it, after you're
done event.disconnect. It's not fun. Of course I've made some changes
in 4.1.1 that have made my life much easier in this regard but I know
that doesn't help you now.
On 12/10/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
> I'm cr
I'm cross posting this from tacos-dev because I am up against a
deadline and in a very inconvenient timezone, so I'm looking for an
answer in a hurry.
I need to attach an event to one cell of each row in a table that gets
updated via a tacos ajax call. How do I go about ensuring that the
event i
Boy, those are some big questions you are asking. I've been the guy
answering newbie questions around here for the last couple of days and
even I am going to send you over to the docs, at least initially. I'm
happy to answer questions, but those are just too big to answer
without knowing more ab
files) in order to use the component.
Thanks alot!
Best Regards,
Guang Sheng
On 12/8/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
>
> I typed up a long response, but then reread your question and I think
> maybe I need some clarification. I included my original response below
I will look again at this problem at friday, and will debug into it to
learn more - this is somewhat heavier because using jboss, so debugging
isn't fun at all :(
Did you ever figure out what was going on with your bug? I had
similar problems a very long time ago (so I can't remember the exact
to tapestry's ones
> >
> > Daniel Tabuenca wrote:
> > > If I'm currently using 4.0.2+Tacos, can someone tell me if I can
> > > upgrade to 4.1+Tacos and incrmenetally port my pages that use tacos
> > > components to the new 4.1 ajax framework?
> >
Do you have caching disabled? If you do, then tapestry is doing all
kinds of extra work on every request in order to detect any changes
that are made to the webapp between requests. Generally, caching will
be enabled via an environment variable set like this:
-Dorg.apache.tapestry.disable-cachin
Well, at its simplest, you can just put straight dojo js code directly
in your template, a solution which requires absolutely no explicit
support from tapestry at all.
If you need the ability to reuse that code easily, then you could wrap
it up in a component, but nothing truly says you have to d
I didn't do anything. You had it right to begin with ;-) It was a good guess.
--sam
On 12/7/06, Jabbar <[EMAIL PROTECTED]> wrote:
Hello,
Thank for your assistance again! It worked.
On 07/12/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
> Assuming currentChannel.
I'll clarify a little. In general, you want to keep persistence code,
ui code, and business rules fairly separate. This will keep your
application much more flexible as more and more requirements are added
over time.
In your example code, you've got persistence embedded directly in ui
code. Sh
On 12/7/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
Increase the max thread size on your tomcat context threadpool. It
looks to me like the log message is telling you a max of 10 is
currently allocated for this purpose now. (an abnormally low number)
If this is really only occuring with one o
I typed up a long response, but then reread your question and I think
maybe I need some clarification. I included my original response below
in case it answers your question. If you are looking for something
that can be included in any page, rendered by any framework, then I'm
not sure you really
In general, however, you are advsied not to store mutable objects into
the session. The mechanism used to persist into the session should be
opaque to the programmer, and it is likely that a persistence
mechanism will only actually store an object if it has changed since
the last time it was stor
Assuming currentChannel.bean returns a valid translator object, I
don't see why it shouldn't work. It would certainly work outside of
the loop. I do that all the time.
--sam
On 12/7/06, Jabbar <[EMAIL PROTECTED]> wrote:
Hello all,
I have the following,
.page file,
Looking in my code, I never set the initial value of a persistent
property to something non-trivial - always null - so I can't help,
other than to offer the .page or .jwc file, since you can certainly do
it in there, or else to initialize without an annotation. If you put
your init code in pageAt
I don't know 4.1, but if you provide a Response and replace the
outputstream, you'll likely get what you want. You'll just have to
ensure the headers don't get sent, but I believe that is a method you
can overload in the Response.
--sam
On 12/7/06, Dave Kallstrom <[EMAIL PROTECTED]> wrote:
In
pageValidate happens when the page is first activated in the cycle.
Any annotations are also executed at this time, so @InitialValue has
already done its work when pageValidate is called
pageAttached happens just after that. It only fires once per request,
whether rewind or render
activateExtern
On 12/7/06, Fred Janon <[EMAIL PROTECTED]> wrote:
>>It's probably more typing than my solution because of the number of
onClick handlers I'll have to add
Not sure if you can do it in your context, but instead of calling the JS
function in all buttons onClick, you could just call it in the FORM
o
gt;>
> >> thx
> >> stefan
> >>
> >>
> >> Marilen Corciovei wrote:
> >> >
> >> > I implemented something js based here: http://www.resa-air.com/a5/be
> >> > while wanting for the flights results to come up.
> >&
if you have ssh access, then you can easily connect Jconsole to your
application via an ssh tunnel. Ssh allows you to set up a port on
your local machine which will simple transfer every byte received
across the ssh connection to any arbitrary port and host on the other
side of the connection.
7;t really get it - I don't have the "getDelegate" method in my
page... is there some injection missing here, or how do I do it?
Malin
On 12/5/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
>
> Yes, even if you can't get your validator itself to work (and you
> should
If only it were easy to just turn to the PM and say "no, you're wrong.
We have a much bigger underlying issue that we'll be covering up with
this kind of fix. Instead of making users feel better as good
conservative use of wait/progress/etc indicators can do when not
abused - it will become a huge
etc there are also
all of the many ways you can utilize your secondary cache to really
make your application scream.
I think if given enough time I could probably make any application
perform reasonably fast in almost any modern(stable) web framework
given to me. It's all in how you attack eac
I don't usually send the filename hashed. I merely include a hash of
the parameter that was created with a secret seed. At the other end,
I can determine if the payload was messed with by seeing if the
parameters match the hash of the params. This makes life a lot easier
to debug, is pretty sec
going to find a solution that fits all
scenarios. (at least not one that works well from a user/developer
perspective) You may have to just treat each page on a case by case
basis. Probably more work but definitely a better experience for your
users.
On 12/6/06, Sam Gendler <[EMAIL PROTECTED]
ndy
place to have a pleae wait dialog).
--sam
On 12/6/06, Firas Adiler <[EMAIL PROTECTED]> wrote:
Check the Panel component, from the YUI Library:
http://developer.yahoo.com/yui/examples/container/panelwait/2.html
Regards,
-----Original Message-
From: Sam Gendler [mailto:[E
n't find PatternTranslator.
However, I used the following
Where alarmNumberPattern is a getting (getAlarmNumberPattern) in my page class.
On 21/11/06, Jabbar <[EMAIL PROTECTED]> wrote:
> Thanks for that information I'll check out later.
&
Does anyone have a mechanism for displaying some kind of please wait
mechanism while waiting for a slow loading page to be rendered? I can
think of a couple of potential solutions:
1. Submit form, have listener send to a please wait page which does
nothing but send another request which will ac
Just to fill the mailing list archive ... A little presentation of
Hivemind and it's service-point is available on the wiki at :
http://wiki.apache.org/tapestry/Hivemind4Beginners
Someone should stick that link in the Tapestry docs somewhere.
--sam
--
Given the parameters that you describe for your app, I'd definitely go
with 4.1. The only reason I wouldn't is if you knew you were going to
be building a very large app that was going to use a significant
percentage of the API, since in that case, you might struggle keeping
up with changes. But
_instead_ of the listener? Are you sure you want a component which
could prevent a form's listener from firing? You could add a listener
to your component which would fire when the component rewinds, and
even set a parameter which you could then check from within your
form's listener to see if the
The symbol you are seeing is the symbol used to denote 'locale
specific currency symbol' in a format pattern. What is strange is
that if you don't have a symbol for that currency in your current
locale, you should get the ISO 3-letter code (EUR, in this case)
rather than a euro symbol. Is it pos
t; return null;
> }
>
> and in the html I have an @If to display validation message if validation
> has failed.
> Is there a neater way or is this "how it is done"?
>
> Malin
>
> On 12/3/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
>>
>> Wh
bject, holding the initial data.
Is there another way... I tried many ways but is the onliest one working.
Have someone a better way More infos what happening (which function
were) on validating could help.
P.S. THX for help.
Sam Gendler-2 wrote:
>
> I've never had this problem. Wh
In hivmind.xml:
In your template for the custom exception:
will render the exception if you have the following in your .page file:
You can also use the following to render the request
My class looks like this:
public abstract class CustomExceptionPage extends S
I've never had this problem. When a form fails validation in my apps,
I always see the content that was posted displayed back in the fields.
Is it possible that the class which backs your page is initializing
the bean back to default values after the rewind cycle completes with
an error?
--sam
e to be very specific about any
problems they encounter.
An added bonus would be a few submissions in JIRA to help me remember.
(as I'm not currently aware of any such issues filed yet)
On 12/3/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
--
Jesse Kuhnert
Tapestry/Dojo/(and a dash of TestNG)
I don't know for sure, but I'd try using 'IPage' as the type, which
would hopefully tell hivemind to resolve the object as a page name.
You might also try looking at the source for the InjectPage
annotation, see how it resolves the page, presumably via a hivemind
service of some kind, and then i
I don't know the page you edited to get this, as I don't know the
TimeTracker app, but there has always been a problem with components
that are in loops, since the id in the html file will not match the id
of the html element, since it may have '_x' (where x is an integer)
appended to it. Other c
In general, if you want to construct a URL in Tapestry, it is best to
create an instance of ILink and then get the URL from that. Assuming
the service for which you have instantiated the iLink takes
parameters, it should be fairly self explanatory how to get the Link
to include those parameters i
Why not just build the set of validators for the field dynamically?
Assuming you can determine whether the field should be required by the
time the field rewinds (rather than being dependant on something not
yet rewound), then you can include the required validator in the list
only if it is actual
I disagree with your points regarding validation errors targeting a
developer audience rather than end user. First, validation errors are
not likely to be the result of a programmer error, although yes, if
you do supply the wrong mask, it might prove useful. More
importantly, previous versions o
ages! It is worth wading through a sea of
PMs to save development stress. This is why I like HLS and Tapestry. ... No
(mostly no) cryptic error messages!
-Pat
On 12/1/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
>
> Given that the messages CAN be overridden, I'd like to register a vo
I haven't seen such a thing, myself. It does seem like it wouldn't be
too difficult to make. Just provide two asset URLs and let js handle
the rest.
--sam
On 11/30/06, Ken nashua <[EMAIL PROTECTED]> wrote:
Hi Folks,
Was wondering if a certain widget exists...
Here are my specs...
The cont
Given that the messages CAN be overridden, I'd like to register a vote
for keeping very simple messages as the default (since I tend to use
them as is) and letting individual users override them as necessary.
Also, keeping the messages unchanged would aid those of us who will
have to port applicat
I haven't read that document, but I think a discussion of security
within Tapestry is definitely in order, as it has some pretty
significant security vulnerabilities which are never even mentioned in
the docs. The fact that so much state is stored in the client page by
default really leaves the a
" (no monthly / annual charge). I only want to take UK payments.
Kind Regards
Gareth
- Original Message
From: Sam Gendler <[EMAIL PROTECTED]>
To: Tapestry users
Sent: Thursday, 30 November, 2006 7:40:51 PM
Subject: Re: Re: Redirect to an external site on the serverside
This works fine for me:
On 12/1/06, NISHIMURA Toshio <[EMAIL PROTECTED]> wrote:
Hi, all.
I'm developping an application using Spring-2.0 + tapesty-4.0.2 +
tapestry-spring-1.0.0-SNAPSHOT.
I tried to us
There is no way to tell a client to make a post request on redirect.
You can have your form submit directly to the bank, or you could
respond with a form full of hidden fields and include some javascript
that posts the form to the correct URL, but in general, security
through obscurity isn't secur
or Insert component with raw="ognl:true" will preserve htl tags
instead of escaping them.
--sam
On 11/29/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
Use InsertText for <= Tapestry 4 or just "Insert" with a mode of break >= 4.1.
http://tapestry.apache.org/tapestry4.1/components/general/insert
Personally, I tend to treat large, dynamic collections of images as
though they are stored on some other server, since many apps will find
that such collections may require things like a content delivery
network in order to efficiently deliver them to users as the
collection grows. So I write a c
gmail used to disable the back button. Now they've hacked it to do
the 'correct' thing. It is apparently browser dependent, however, as
the back button still sends you to the previous SITE when using gmail
in Safari. In firefox, they must be trapping the back button and
sending an ajax request.
You can't do that if you want localization, though. Really, the best
way to solve this is to just use a multi-byte character encoding to
put messages in the .properties file. That means writing them so that
they look correct when viewed with a multi-byte capable text editor.
Assuming that Java's
throw new RedirectException(link.getURL());
--sam
On 11/28/06, Renat Zubairov <[EMAIL PROTECTED]> wrote:
Hello,
How can I create a Page Redirect (not forward) with exception.
I know that listener method may return ILink, then page redirect will
happen, but what is analogue of the PageRedirect
The problem isn't your else block (I don't think). I've only seen this
when I've got a component wrapped in a $remove$ block. I've cetainly
used the syntax and @Insert components inside an
@Else component with no trouble, even when the else block doesn't
execute.
--sam
On 11/29/06, John Colema
But, utf-8 vs html entity aside (and cyrille has it right), you can
tell tapestry not to escape html characters in an Insert component by
using the 'raw' attribute and setting it to true. That will cause the
msg to be copied directly to the outputstream, including characters
like '&,' which should
emind (but it probably is), and even without it, it is much
easier to modify an xml file in a war file when you deploy than it is
to recompile a java class and push that into the war.
--sam
On 11/28/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
OK, here's a bit of a convoluted solution, b
OK, here's a bit of a convoluted solution, but it works. In my case,
I'm using spring, but you could do the exact same thing within
hivemind.
I've got an object that has some string properties that I want to
configure at run time. Let's call is CssOverrides. It can be
populated with a list of
ponent
on the span, then the updated component in the span loses its listener. I
think this may be a bug so I have submitted it to JIRA for Jesse to look at.
On 11/25/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
>
> it works fine for me in a fairly old (mid october) snapshot of 4.1.
&g
it works fine for me in a fairly old (mid october) snapshot of 4.1.
I've got 3 selects that cascade - genres, artists, and disks (plus a
table to list tracks) - so the setup should be pretty much identical.
My listeners look like this:
@EventListener(elements="genres",
events
Interesting. I've seen this exact same behaviour in a little test app
I wrote. In my case, I used a MultiplePropertySelection with a
renderer that renders the component as a multiple select box. I get
correctly sized select boxes, but the labels are all empty. I never
bothered to investigate t
If I understand you correctly, you have some input fields which aren't
actually part of the form that gets submitted when the user clicks on
the image? If that is the case, presumably you need to copy the
values back out of the hidden fields and into your input fields when
the page reloads. If y
Hopefully these files will get you started. It is a MultipleSelect
just as you want, with the MultiplePropertySelectionRenderer declared
as an inner class within MultipleSelection component, giving it access
to protected methods inherited from AbstractComponent. I do have to
cast the component r
We use Spring 1.2, but long ago wrote our own subclass of
ApplicationContext that will grab context override files from
elsewhere (including the local filesystem rather than the classpath).
It offers pretty much the exact functionality you are looking for.
I'm sure it can be applied to spring 2.0
Without testing it, I'm not entirely sure if you can use ognl in that
context, but you can definitely replace "value='translator:...'" with
"value='bean:...'" and then populate the bean with an OGNL expression
for the pattern property. Without referring to example code to ensure
I've got the synt
On 11/21/06, andyhot <[EMAIL PROTECTED]> wrote:
updateComponents="ognl:components.therow.clientId"
Can I suggest that we get this into the docs in some way. It stumps a
lot of people, including myself. Also, it seems like if I want to
update a component by calling ResponseBuilder.updateCompo
On 11/21/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
I guess that depends on what you consider having to "write code" . All
that xml is nice but seems to really have just moved the code to a new
format that doesn't require re-compilation. I can't argue that spring
isn't nice though, I just think
I'll second that solution. Unless you tell the VM what the default
file encoding should be, you have to explicitly tell every single
stream you read or write data from that it should use UTF-8 encoding,
assuming that UTF-8 isn't the default encoding on your system. I have
found that the default
On 11/16/06, Henry Chen <[EMAIL PROTECTED]> wrote:
Thank you. Did you come up with any solution without Tapernate?
This is relatively simple if you aren't using a framework that
explicitly prevents it. I use swing + hibernate to provide all the
layers to my app underneath the web layer and it
Please post your solution to the list. It makes it much easier for
other folks to find it later.
--sam
On 11/21/06, Patrick Klein <[EMAIL PROTECTED]> wrote:
Nevermind, found it 2 minutes after hitting the send button :)
Patrick
> Hi!
>
> I scraped the for-loop in favor of a hardcoded list of
1 - 100 of 202 matches
Mail list logo