Re: 5.3 Beta change in behaviour from Alpha with regard to event methods

2011-09-28 Thread Vangel V. Ajanovski

On 28.09.2011 01:56, Howard Lewis Ship wrote:

Also, you can turn this check off, at least in 5.3 (in later releases,
the option to turn off the check may be removed).  See the release
notes on the Tapestry home page.


Sorry. I have read the release notes 2-3 times since moving from 5.2 to 
5.3 alpha, but somehow I didn't understand this. Maybe it should be also 
mentioned with a bullet in breaking changes, just because it is not seen 
at compile time.


Can Tapestry start these checks for all the initialized pages at start 
time? So one could be warned in advance.


It is hard to find all such methods and hidden components while in 
development, especially if not all pages are covered with tests. I have 
tried some extensions for Eclipse to find dead code, but they give a 
zillion of false positives due to how Tapestry works.




smime.p7s
Description: S/MIME Cryptographic Signature


Re: 5.3 Beta change in behaviour from Alpha with regard to event methods

2011-09-28 Thread Dragan Sahpaski
Hi,
I think you are looking for the part New Component Class Validations in
the release 
noteshttp://tapestry.apache.org/release-notes-53.html#ReleaseNotes5.3-ReleaseNotes%253ATapestry5.3.0
.

The symbol you have to use to turn off this check is
SymbolConstants.UNKNOWN_COMPONENT_ID_CHECK_ENABLED.

USe this in contributeApplicationDefaults in the IOC module.

Cheers

On Wed, Sep 28, 2011 at 10:20 AM, Vangel V. Ajanovski a...@ii.edu.mk
wrote:
 On 28.09.2011 01:56, Howard Lewis Ship wrote:

 Also, you can turn this check off, at least in 5.3 (in later releases,
 the option to turn off the check may be removed).  See the release
 notes on the Tapestry home page.


 Sorry. I have read the release notes 2-3 times since moving from 5.2 to
5.3
 alpha, but somehow I didn't understand this. Maybe it should be also
 mentioned with a bullet in breaking changes, just because it is not seen
at
 compile time.

 Can Tapestry start these checks for all the initialized pages at start
time?
 So one could be warned in advance.

 It is hard to find all such methods and hidden components while in
 development, especially if not all pages are covered with tests. I have
 tried some extensions for Eclipse to find dead code, but they give a
zillion
 of false positives due to how Tapestry works.




Injecting domain object into all pages

2011-09-28 Thread Sonny Gill
Hi guys,

I am new to Tapestry.
Over the past couple of weeks, I have migrated a simple Tapestry application
we had to T 5.3 and really enjoyed the experience.
Now I am evaluating Tapestry for some further development by writing a
prototype application.

One of the things I want to be able to do is inject a domain object inside
all pages that have a field of that type.

The situation is this :-

1. One tapestry app will serve multiple sites
2. There is a domain object called Site which contains configuration for
site, and there is a mechanism to identify the Site for current request
based on information in the URL used (let us say a query parameter called
site, but in reality this will be the domain name used to access the
application).

What I am trying to do is intercept the request, look up the Site and inject
the Site object inside the target page which may look like this :-

class MyPage {
  private Site site;
}

It appears that the first two steps can be accomplished either by using a
Decorator or a HttpServletRequestFilter. After that how to I inject the Site
object inside the target page?

I have searched through the Nabble forum, Tapestry documentation, Tapestry
quickstart etc. but I can't see a clear way of how to do this.
If anyone can provide an answer, or point me to some demo code or another
resource, that would help me greatly.

Thanks!

Cheers,
Sonny Gill


[t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Muhammad Gelbana
This is a new approach I'm taking to compose pages. I'm trying to convert an
existing application to tapestry but one page turned out to be really big
and hard to maintain. This page has many form fields. Some fields should
always exists, and conditionally show other fields depending on a condition,
let's say a test type.

I used to do this in one page template, then conditionally showing the
fields I want using the t:if component and a configured bean-editor
inside.
Then I decided to go more scalable so I decided to make a page for each
test and inherit the page with the common fields. This will release me for
the messy t:if p:else tags all over the center of the page.

Now I'm facing an issue that my parent page has injected components
(@InjectComponent) and when displaying the child page, it complains:
Component tests/DNSTest does not contain embedded component 'gatewayField'.
The gatewayField variable exists in the parent page as:
@InjectComponent
private TextField gatewayField

..and there are other fields. I tried adding @Property, and getters\setters
my self, still didn't work. It only worked when I commented these fields and
code referring to them.

How can I resolve this ? And is this the best approach to dynamically
construct a page ?

Thank you all for your time :)

-- 
*Regards,*
*Muhammad Gelbana
Java Developer*


Re: DEAD LOCK in VirtualAssetStreamer

2011-09-28 Thread Jens Breitenstein

Thanks Howard!

Unortunately we need some time to migrate to 5.2.x and we face this 
issues each day, thus loosing our cluster and shop-customers. Downtimes 
each day because of this issue is, well, ugly to horrible depending on 
whom you ask...
Unfortunately we depend on core library mappings in our current 
version like configuration.add(new LibraryMapping(core, 
x.y.z.core)); which failed in 5.2, therefore migration means more 
than switching a version or jar to us.
Is there any workaround or quickfix we can go for immediately to buy us 
time to allow proper migration from 5.1.0.5?


Any hint is highly appreciated

Jens


Am 22.09.11 17:52, schrieb Howard Lewis Ship:

This is known and fixed in 5.2.

On Thu, Sep 22, 2011 at 3:36 AM, Jens Breitensteinmailingl...@j-b-s.de  wrote:

Hi All!

It seems we encountered a serious concurrency bug in Tapestry 5.1  under
high load.
In our special case one thread was blocked and unable to respond and write
an asset output stream.
As virtual assets are shared and the same ByteArrayOutputStream is reused
for the same asset accross multiple threads, the one thread hanging causes
all other threads which use the same asset to be blocked too. This happens
because ByteArrayOutputStream.writeTo uses synchronized internally. To our
personal opinion we should only cache the data but not the
ByteArrayOutputStream instances.

Any idea how to solve this or am I wrong?

Jens







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



[t5.2.6] Is it possible to validate a bean-editor's object using properties file only ?

2011-09-28 Thread Muhammad Gelbana
Hi All,

The question says it all and here is some explanation. I have a jar file
that I don't wanna add tapestry tapestry annotations to, because It won't
always run within tapestry environment. So I can't use @Validate for
example.

Now when I display an object using bean-editor. I can only validate this
object (client-side speaking) by overriding how a parameters is displayed,
example:
*t:parameter name=param*
* t:label for=pName /*
* t:textfield t:id=pName value=obj.param t:validate=required/*
* /t:parameter*

And using either t:validate attributes or using the related .properties
for the page including the bean-edior (Ex: param-required-message=Please
enter param)

Now my question is, why isn't it possible to *only* add validation
configuration in the .properties file only for this to work ?

-- 
*Regards,*
*Muhammad Gelbana
Java Developer*


Re: [t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Taha Hafeez
Hi Muhammad

I don't think inheritance is the best approach with tapestry. You can
always re-factor your code by composition. Using components is always
a better approach.

If you have a child page trying to access a component in parent page,
IMHO, you should reconsider your refactoring.

On Wed, Sep 28, 2011 at 3:58 PM, Muhammad Gelbana m.gelb...@gmail.com wrote:
 This is a new approach I'm taking to compose pages. I'm trying to convert an
 existing application to tapestry but one page turned out to be really big
 and hard to maintain. This page has many form fields. Some fields should
 always exists, and conditionally show other fields depending on a condition,
 let's say a test type.

 I used to do this in one page template, then conditionally showing the
 fields I want using the t:if component and a configured bean-editor
 inside.
 Then I decided to go more scalable so I decided to make a page for each
 test and inherit the page with the common fields. This will release me for
 the messy t:if p:else tags all over the center of the page.

 Now I'm facing an issue that my parent page has injected components
 (@InjectComponent) and when displaying the child page, it complains:
 Component tests/DNSTest does not contain embedded component 'gatewayField'.
 The gatewayField variable exists in the parent page as:
 @InjectComponent
 private TextField gatewayField

 ..and there are other fields. I tried adding @Property, and getters\setters
 my self, still didn't work. It only worked when I commented these fields and
 code referring to them.

 How can I resolve this ? And is this the best approach to dynamically
 construct a page ?

 Thank you all for your time :)

 --
 *Regards,*
 *Muhammad Gelbana
 Java Developer*




-- 
Regards

Taha Hafeez Siddiqi (tawus)
http://tawus.wordpress.com

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



Re: Injecting domain object into all pages

2011-09-28 Thread Barry Books
I have a site that works this way also. I'm sure what you are trying
to do could be done but I just do this.

1. Make Site a service

2. class MyPage {

@Inject
private Site site;
}

I guess it's a bit more typing but it's easy. Since site is a service
it has access to the Request and whatever else you might need. You
don't need to intercept the request. Depending on how it works you
might want the service to be per thread.

If you really want to automate it I suspect it can be done with
TransformField in a ComponentClassTransformWorker, but Site would
still need to be a service.

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



Re: [t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Muhammad Gelbana
Thank you Taha :)

But what do you mean by You can always re-factor your code by composition.


On Wed, Sep 28, 2011 at 1:11 PM, Taha Hafeez tawus.tapes...@gmail.comwrote:

 Hi Muhammad

 I don't think inheritance is the best approach with tapestry. You can
 always re-factor your code by composition. Using components is always
 a better approach.

 If you have a child page trying to access a component in parent page,
 IMHO, you should reconsider your refactoring.

 On Wed, Sep 28, 2011 at 3:58 PM, Muhammad Gelbana m.gelb...@gmail.com
 wrote:
  This is a new approach I'm taking to compose pages. I'm trying to convert
 an
  existing application to tapestry but one page turned out to be really big
  and hard to maintain. This page has many form fields. Some fields should
  always exists, and conditionally show other fields depending on a
 condition,
  let's say a test type.
 
  I used to do this in one page template, then conditionally showing the
  fields I want using the t:if component and a configured bean-editor
  inside.
  Then I decided to go more scalable so I decided to make a page for each
  test and inherit the page with the common fields. This will release me
 for
  the messy t:if p:else tags all over the center of the page.
 
  Now I'm facing an issue that my parent page has injected components
  (@InjectComponent) and when displaying the child page, it complains:
  Component tests/DNSTest does not contain embedded component
 'gatewayField'.
  The gatewayField variable exists in the parent page as:
  @InjectComponent
  private TextField gatewayField
 
  ..and there are other fields. I tried adding @Property, and
 getters\setters
  my self, still didn't work. It only worked when I commented these fields
 and
  code referring to them.
 
  How can I resolve this ? And is this the best approach to dynamically
  construct a page ?
 
  Thank you all for your time :)
 
  --
  *Regards,*
  *Muhammad Gelbana
  Java Developer*
 



 --
 Regards

 Taha Hafeez Siddiqi (tawus)
 http://tawus.wordpress.com

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




-- 
*Regards,*
*Muhammad Gelbana
Java Developer*


Re: [t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Taha Hafeez
Use components :)


On Wed, Sep 28, 2011 at 5:03 PM, Muhammad Gelbana m.gelb...@gmail.com wrote:
 Thank you Taha :)

 But what do you mean by You can always re-factor your code by composition.


 On Wed, Sep 28, 2011 at 1:11 PM, Taha Hafeez tawus.tapes...@gmail.comwrote:

 Hi Muhammad

 I don't think inheritance is the best approach with tapestry. You can
 always re-factor your code by composition. Using components is always
 a better approach.

 If you have a child page trying to access a component in parent page,
 IMHO, you should reconsider your refactoring.

 On Wed, Sep 28, 2011 at 3:58 PM, Muhammad Gelbana m.gelb...@gmail.com
 wrote:
  This is a new approach I'm taking to compose pages. I'm trying to convert
 an
  existing application to tapestry but one page turned out to be really big
  and hard to maintain. This page has many form fields. Some fields should
  always exists, and conditionally show other fields depending on a
 condition,
  let's say a test type.
 
  I used to do this in one page template, then conditionally showing the
  fields I want using the t:if component and a configured bean-editor
  inside.
  Then I decided to go more scalable so I decided to make a page for each
  test and inherit the page with the common fields. This will release me
 for
  the messy t:if p:else tags all over the center of the page.
 
  Now I'm facing an issue that my parent page has injected components
  (@InjectComponent) and when displaying the child page, it complains:
  Component tests/DNSTest does not contain embedded component
 'gatewayField'.
  The gatewayField variable exists in the parent page as:
  @InjectComponent
  private TextField gatewayField
 
  ..and there are other fields. I tried adding @Property, and
 getters\setters
  my self, still didn't work. It only worked when I commented these fields
 and
  code referring to them.
 
  How can I resolve this ? And is this the best approach to dynamically
  construct a page ?
 
  Thank you all for your time :)
 
  --
  *Regards,*
  *Muhammad Gelbana
  Java Developer*
 



 --
 Regards

 Taha Hafeez Siddiqi (tawus)
 http://tawus.wordpress.com

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




 --
 *Regards,*
 *Muhammad Gelbana
 Java Developer*




-- 
Regards

Taha Hafeez Siddiqi (tawus)
http://tawus.wordpress.com

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



Re: Injecting domain object into all pages

2011-09-28 Thread Sonny Gill
Thanks Barry.

Site is a domain layer object and knows nothing about Request/Response etc.
There will be a limited number of Site objects, one for each site supported,
created and configured at the application start up.

I could set it up as a Service for Tapestry application.
But can I then provide a Service lookup method that can look at the current
request, get the correct Site using some criteria, and hand it over to
Tapestry to inject into the page for current request?

So, something like :-

public Service lookupSiteService(Request request) {
   String id = ...get site id from the request in some way...;

   SiteRepository repository = ...; // Can I inject an implementation of
SiteRepository (also a domain layer object) here?

   return repository.getSite(id);
}


Cheers,
Sonny


On Wed, Sep 28, 2011 at 1:33 PM, Barry Books trs...@gmail.com wrote:

 I have a site that works this way also. I'm sure what you are trying
 to do could be done but I just do this.

 1. Make Site a service

 2. class MyPage {

 @Inject
 private Site site;
 }

 I guess it's a bit more typing but it's easy. Since site is a service
 it has access to the Request and whatever else you might need. You
 don't need to intercept the request. Depending on how it works you
 might want the service to be per thread.

 If you really want to automate it I suspect it can be done with
 TransformField in a ComponentClassTransformWorker, but Site would
 still need to be a service.

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




-- 
http://sonnygill.net/
http://twitter.com/sonny_gill
http://www.linkedin.com/in/sonnygill


Re: [t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Muhammad Gelbana
I know you mean I should use components but in what way ?
I retracted the inheritance approache and replaced it with the
switchinghttp://tapestry.apache.org/switching-cases.htmlidea which
is marvelous. This way I won't get into the messy t:if tree.

I'm trying to figure out *every possible way* of composing pages from
components, that's why I asked you what do you mean :)
And this way I'll learn more about components till hopefully reach the point
when I say Now I get it ! :)

For example consider this case, what if I want to have the blocks in the
switching example, to be in a separate .tml file ? Just to reduce the page's
size and make it easier to maintain.

Actually I can apply this idea to the common test fields part. It's a bean
editor declaration in the page's .tml file:
*t:CommonTestDataBeanEditor t:id=commonTestDataEditor
object=commonTestData*
* t:parameter name=prefix*
* t:label for=**prefix** /*
* t:textfield t:id=**prefix** value=commonTestData.**prefix**/*
* /t:parameter*
* /t:CommonTestDataBeanEditor*

Is it possible to get this bean-editor's declaration from another .tml file
? I tried extending the bean editor component, but I couldn't figure out
what to put in the .tml file ! Can mixins fit in ?

I'm all about trying everything and mastering this very flexible and nice
framework, that's why I'm asking too many questions :)

Thank you for your time :)

On Wed, Sep 28, 2011 at 1:37 PM, Taha Hafeez tawus.tapes...@gmail.comwrote:

 Use components :)


 On Wed, Sep 28, 2011 at 5:03 PM, Muhammad Gelbana m.gelb...@gmail.com
 wrote:
  Thank you Taha :)
 
  But what do you mean by You can always re-factor your code by
 composition.
 
 
  On Wed, Sep 28, 2011 at 1:11 PM, Taha Hafeez tawus.tapes...@gmail.com
 wrote:
 
  Hi Muhammad
 
  I don't think inheritance is the best approach with tapestry. You can
  always re-factor your code by composition. Using components is always
  a better approach.
 
  If you have a child page trying to access a component in parent page,
  IMHO, you should reconsider your refactoring.
 
  On Wed, Sep 28, 2011 at 3:58 PM, Muhammad Gelbana m.gelb...@gmail.com
  wrote:
   This is a new approach I'm taking to compose pages. I'm trying to
 convert
  an
   existing application to tapestry but one page turned out to be really
 big
   and hard to maintain. This page has many form fields. Some fields
 should
   always exists, and conditionally show other fields depending on a
  condition,
   let's say a test type.
  
   I used to do this in one page template, then conditionally showing the
   fields I want using the t:if component and a configured bean-editor
   inside.
   Then I decided to go more scalable so I decided to make a page for
 each
   test and inherit the page with the common fields. This will release
 me
  for
   the messy t:if p:else tags all over the center of the page.
  
   Now I'm facing an issue that my parent page has injected components
   (@InjectComponent) and when displaying the child page, it complains:
   Component tests/DNSTest does not contain embedded component
  'gatewayField'.
   The gatewayField variable exists in the parent page as:
   @InjectComponent
   private TextField gatewayField
  
   ..and there are other fields. I tried adding @Property, and
  getters\setters
   my self, still didn't work. It only worked when I commented these
 fields
  and
   code referring to them.
  
   How can I resolve this ? And is this the best approach to dynamically
   construct a page ?
  
   Thank you all for your time :)
  
   --
   *Regards,*
   *Muhammad Gelbana
   Java Developer*
  
 
 
 
  --
  Regards
 
  Taha Hafeez Siddiqi (tawus)
  http://tawus.wordpress.com
 
  -
  To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
  For additional commands, e-mail: users-h...@tapestry.apache.org
 
 
 
 
  --
  *Regards,*
  *Muhammad Gelbana
  Java Developer*
 



 --
 Regards

 Taha Hafeez Siddiqi (tawus)
 http://tawus.wordpress.com

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




-- 
*Regards,*
*Muhammad Gelbana
Java Developer*


Re: Injecting domain object into all pages

2011-09-28 Thread Cezary Biernacki
Hi,
I built a website with similar requirements, and it is not hard to do that
with Tapestry. A simple approach is to built a service that returns correct
'Site' instance, and use it everywhere where you need to 'site'.

So instead having
  private Site site;

you would have, e.g.
   @Inject
   private SiteLookup lookup;


and instead using 'site', you would use 'lookup.getSite()'. SiteLookup can
depend on 'Request' service, so there is no need to pass it as argument to
getSite() method.

But, if you are not afraid of some more advanced machinery, you can
contribute your own InjectionProvider, and inject 'Site' directly, something
like:


public class SiteInjectionProvider implements InjectionProvider {
private final Request request;

public  SiteInjectionProvider (Request request) {
this.request = request;
}

@Override
public boolean provideInjection(String fieldName,
@SuppressWarnings(rawtypes) Class fieldType,
ObjectLocator locator, ClassTransformation transformation,
MutableComponentModel componentModel) {

if (!Site.class.equals(fieldType)) {
return false;
}

TransformField field = transformation.getField(fieldName);

ComponentValueProviderFieldValueConduit provider =
createProvider(fieldName);

field.replaceAccess(provider);

return true;
}

private ComponentValueProviderFieldValueConduit createProvider(final
String fieldName) {

return new ComponentValueProviderFieldValueConduit() {

public FieldValueConduit get(final ComponentResources resources)
{

return new ReadOnlyFieldValueConduit(resources, fieldName) {
public Object get() {
return ; // --- here implement selecting
correct Site based on Request
}
};
}

};
}

}


Remember to contribute your injection provider in your AppModule

@Contribute(InjectionProvider.class)
public static void
setupInjectingSite(OrderedConfigurationInjectionProvider configuration) {
configuration.addInstance(site, SiteInjectionProvider .class,
after:Default);

}


After that, you would be able to use
   @Inject
private Site site;

on your pages and components.

Best regards,
Cezary







On Wed, Sep 28, 2011 at 2:39 PM, Sonny Gill sonny.pub...@gmail.com wrote:

 Thanks Barry.

 Site is a domain layer object and knows nothing about Request/Response etc.
 There will be a limited number of Site objects, one for each site
 supported,
 created and configured at the application start up.

 I could set it up as a Service for Tapestry application.
 But can I then provide a Service lookup method that can look at the current
 request, get the correct Site using some criteria, and hand it over to
 Tapestry to inject into the page for current request?

 So, something like :-

 public Service lookupSiteService(Request request) {
   String id = ...get site id from the request in some way...;

   SiteRepository repository = ...; // Can I inject an implementation of
 SiteRepository (also a domain layer object) here?

   return repository.getSite(id);
 }




Re: Injecting domain object into all pages

2011-09-28 Thread Sonny Gill
Hi Cezary,

Thanks a lot for the detailed response.
That InjectionProvider example looks like exactly what I am looking for.
I will give that a go.

Cheers,
Sonny

On Wed, Sep 28, 2011 at 2:59 PM, Cezary Biernacki cezary...@gmail.comwrote:

 Hi,
 I built a website with similar requirements, and it is not hard to do that
 with Tapestry. A simple approach is to built a service that returns correct
 'Site' instance, and use it everywhere where you need to 'site'.

 So instead having
  private Site site;

 you would have, e.g.
   @Inject
   private SiteLookup lookup;


 and instead using 'site', you would use 'lookup.getSite()'. SiteLookup can
 depend on 'Request' service, so there is no need to pass it as argument to
 getSite() method.

 But, if you are not afraid of some more advanced machinery, you can
 contribute your own InjectionProvider, and inject 'Site' directly,
 something
 like:


 public class SiteInjectionProvider implements InjectionProvider {
private final Request request;

public  SiteInjectionProvider (Request request) {
this.request = request;
}

@Override
public boolean provideInjection(String fieldName,
 @SuppressWarnings(rawtypes) Class fieldType,
ObjectLocator locator, ClassTransformation transformation,
 MutableComponentModel componentModel) {

if (!Site.class.equals(fieldType)) {
return false;
}

TransformField field = transformation.getField(fieldName);

ComponentValueProviderFieldValueConduit provider =
 createProvider(fieldName);

field.replaceAccess(provider);

return true;
}

private ComponentValueProviderFieldValueConduit createProvider(final
 String fieldName) {

return new ComponentValueProviderFieldValueConduit() {

public FieldValueConduit get(final ComponentResources resources)
 {

return new ReadOnlyFieldValueConduit(resources, fieldName) {
public Object get() {
return ; // --- here implement selecting
 correct Site based on Request
}
};
}

};
}

 }


 Remember to contribute your injection provider in your AppModule

@Contribute(InjectionProvider.class)
public static void
 setupInjectingSite(OrderedConfigurationInjectionProvider configuration) {
configuration.addInstance(site, SiteInjectionProvider .class,
 after:Default);

}


 After that, you would be able to use
   @Inject
private Site site;

 on your pages and components.

 Best regards,
 Cezary




Re: DEAD LOCK in VirtualAssetStreamer

2011-09-28 Thread Cezary Biernacki
Hi,
You can replace default VirtualAssetStreamer with your implementation by
contributing it to ServiceOverride (contributeServiceOverride). Your version
of VirtualAssetStreamer can be based on
existing org.apache.tapestry5.internal.services.VirtualAssetStreamerImpl,
just replace all references of ByteArrayOutputStream to your class that
extends ByteArrayOutputStream but has not synchronized writeTo().

Another that does not require application change is to deploy a caching
proxy to cache just assets.

Best regards,
Cezary



On Wed, Sep 28, 2011 at 1:00 PM, Jens Breitenstein mailingl...@j-b-s.dewrote:

 Thanks Howard!

 Unortunately we need some time to migrate to 5.2.x and we face this issues
 each day, thus loosing our cluster and shop-customers. Downtimes each day
 because of this issue is, well, ugly to horrible depending on whom you
 ask...
 Unfortunately we depend on core library mappings in our current version
 like configuration.add(new LibraryMapping(core, x.y.z.core)); which
 failed in 5.2, therefore migration means more than switching a version or
 jar to us.
 Is there any workaround or quickfix we can go for immediately to buy us
 time to allow proper migration from 5.1.0.5?

 Any hint is highly appreciated

 Jens


 Am 22.09.11 17:52, schrieb Howard Lewis Ship:

  This is known and fixed in 5.2.

 On Thu, Sep 22, 2011 at 3:36 AM, Jens 
 Breitensteinmailinglist@j-b-**s.demailingl...@j-b-s.de
  wrote:

 Hi All!

 It seems we encountered a serious concurrency bug in Tapestry 5.1  under
 high load.
 In our special case one thread was blocked and unable to respond and
 write
 an asset output stream.
 As virtual assets are shared and the same ByteArrayOutputStream is reused
 for the same asset accross multiple threads, the one thread hanging
 causes
 all other threads which use the same asset to be blocked too. This
 happens
 because ByteArrayOutputStream.writeTo uses synchronized internally. To
 our
 personal opinion we should only cache the data but not the
 ByteArrayOutputStream instances.

 Any idea how to solve this or am I wrong?

 Jens






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




Re: [t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Taha Hafeez
Have you looked at
http://tawus.wordpress.com/2011/04/20/tapestry-magic-3-plugin-blocks/



On Wed, Sep 28, 2011 at 6:13 PM, Muhammad Gelbana m.gelb...@gmail.com wrote:
 I know you mean I should use components but in what way ?
 I retracted the inheritance approache and replaced it with the
 switchinghttp://tapestry.apache.org/switching-cases.htmlidea which
 is marvelous. This way I won't get into the messy t:if tree.

 I'm trying to figure out *every possible way* of composing pages from
 components, that's why I asked you what do you mean :)
 And this way I'll learn more about components till hopefully reach the point
 when I say Now I get it ! :)

 For example consider this case, what if I want to have the blocks in the
 switching example, to be in a separate .tml file ? Just to reduce the page's
 size and make it easier to maintain.

 Actually I can apply this idea to the common test fields part. It's a bean
 editor declaration in the page's .tml file:
 *        t:CommonTestDataBeanEditor t:id=commonTestDataEditor
 object=commonTestData*
 * t:parameter name=prefix*
 * t:label for=**prefix** /*
 * t:textfield t:id=**prefix** value=commonTestData.**prefix**/*
 * /t:parameter*
 * /t:CommonTestDataBeanEditor*

 Is it possible to get this bean-editor's declaration from another .tml file
 ? I tried extending the bean editor component, but I couldn't figure out
 what to put in the .tml file ! Can mixins fit in ?

 I'm all about trying everything and mastering this very flexible and nice
 framework, that's why I'm asking too many questions :)

 Thank you for your time :)

 On Wed, Sep 28, 2011 at 1:37 PM, Taha Hafeez tawus.tapes...@gmail.comwrote:

 Use components :)


 On Wed, Sep 28, 2011 at 5:03 PM, Muhammad Gelbana m.gelb...@gmail.com
 wrote:
  Thank you Taha :)
 
  But what do you mean by You can always re-factor your code by
 composition.
 
 
  On Wed, Sep 28, 2011 at 1:11 PM, Taha Hafeez tawus.tapes...@gmail.com
 wrote:
 
  Hi Muhammad
 
  I don't think inheritance is the best approach with tapestry. You can
  always re-factor your code by composition. Using components is always
  a better approach.
 
  If you have a child page trying to access a component in parent page,
  IMHO, you should reconsider your refactoring.
 
  On Wed, Sep 28, 2011 at 3:58 PM, Muhammad Gelbana m.gelb...@gmail.com
  wrote:
   This is a new approach I'm taking to compose pages. I'm trying to
 convert
  an
   existing application to tapestry but one page turned out to be really
 big
   and hard to maintain. This page has many form fields. Some fields
 should
   always exists, and conditionally show other fields depending on a
  condition,
   let's say a test type.
  
   I used to do this in one page template, then conditionally showing the
   fields I want using the t:if component and a configured bean-editor
   inside.
   Then I decided to go more scalable so I decided to make a page for
 each
   test and inherit the page with the common fields. This will release
 me
  for
   the messy t:if p:else tags all over the center of the page.
  
   Now I'm facing an issue that my parent page has injected components
   (@InjectComponent) and when displaying the child page, it complains:
   Component tests/DNSTest does not contain embedded component
  'gatewayField'.
   The gatewayField variable exists in the parent page as:
   @InjectComponent
   private TextField gatewayField
  
   ..and there are other fields. I tried adding @Property, and
  getters\setters
   my self, still didn't work. It only worked when I commented these
 fields
  and
   code referring to them.
  
   How can I resolve this ? And is this the best approach to dynamically
   construct a page ?
  
   Thank you all for your time :)
  
   --
   *Regards,*
   *Muhammad Gelbana
   Java Developer*
  
 
 
 
  --
  Regards
 
  Taha Hafeez Siddiqi (tawus)
  http://tawus.wordpress.com
 
  -
  To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
  For additional commands, e-mail: users-h...@tapestry.apache.org
 
 
 
 
  --
  *Regards,*
  *Muhammad Gelbana
  Java Developer*
 



 --
 Regards

 Taha Hafeez Siddiqi (tawus)
 http://tawus.wordpress.com

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




 --
 *Regards,*
 *Muhammad Gelbana
 Java Developer*




-- 
Regards

Taha Hafeez Siddiqi (tawus)
http://tawus.wordpress.com

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



Re: [t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Thiago H. de Paula Figueiredo
On Wed, 28 Sep 2011 10:38:53 -0300, Taha Hafeez tawus.tapes...@gmail.com  
wrote:



Have you looked at
http://tawus.wordpress.com/2011/04/20/tapestry-magic-3-plugin-blocks/


Which is basically the same approach used by BeanEditor, Grid and other  
BeanModel-based components. A proven approach. :)


--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor

Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

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



Re: [T5.3] Symbols for Default Component Parameter Values

2011-09-28 Thread Massimo Lusetti
On Wed, Sep 28, 2011 at 12:15 AM, Igor Drobiazko
igor.drobia...@gmail.com wrote:

 Actually this is supported since 5.2:
 https://issues.apache.org/jira/browse/TAP5-1094

I think the proposal here is to have the default value for some
parameters (like the grid's rowsPerPage) to bind to a Symbol so the
default can be changed more easly...

Please fire a jira issue It's something nice to work on...
-- 
Massimo
http://meridio.blogspot.com

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



table

2011-09-28 Thread csckid
The cell I have added using t:add doesn't show the sort button, on the thead.
How can I show the sort button? Please also let me know, whether this is the
right way to create table in tapestry?
table t:type=grid t:source=truckWoodPriceList t:row=truckWoodPrice
t:exclude=woodType, price,created, updated
  t:rowsPerPage=20 t:pagerPosition=top t:add=truck, cft, wood
p:empty
  pThere are no records to display; /p
/p:empty
p:truckCell
${truckWoodPrice.truck.id}
/p:truckCell
p:cftCell
 ${truckWoodPrice.truck.cft}
/p:cftCell
p:woodCell
 ${truckWoodPrice.woodType} @ ${truckWoodPrice.price}
/p:woodCell
 /table

public class TruckWoodPrice extends Persistent{
private Truck truck;
DateTime dateTime = new DateTime();
private WoodType woodType;
private Double price;
private Integer truckYear= dateTime.getYear();
//getters and setters
}

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/table-tp4849434p4849434.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



Some worries about Tapestry5 after comparing with wicket!!!

2011-09-28 Thread Kevin Jing
Hi, gus, I am investigating web frameworks for our products, which is a big
ERP software. After that, I am interested in Tapestry5 and Wicket, and I
think we will determine one of them to use. They are very similar and I
prefer to T5, but I
still would like to know the best solution to address my some concerns in
tapestry5,some of them are pros in wicket.

1. How do we add the components or remove them dynamically by coding?
2. How do we set disabled property of components dynamically, by coding not
EL expression to binding a method in  page class.
3. Is it easy for tapestry to intergrate some other famous framework, like
freemaker, velocity, Google guice and some thing like that.

Thanks a lot! 

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Some-worries-about-Tapestry5-after-comparing-with-wicket-tp4849721p4849721.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: Some worries about Tapestry5 after comparing with wicket!!!

2011-09-28 Thread Lenny Primak
1).  You can use blocks to dynamically build a page from the 'blocks'
or you can use Dynamic component in some of the more esoteric cases.

2).  components can have any property you want, and can be set dynamically at 
runtime,
via ajax for example.

3).  Any frameworks are easily integrated.  Guice is a special case because
it's an IoC framework, and Tapestry has its own, which is better,
so while its possible to integrate Guice, it's not necessary.


On Sep 28, 2011, at 10:53 AM, Kevin Jing wrote:

 Hi, gus, I am investigating web frameworks for our products, which is a big
 ERP software. After that, I am interested in Tapestry5 and Wicket, and I
 think we will determine one of them to use. They are very similar and I
 prefer to T5, but I
 still would like to know the best solution to address my some concerns in
 tapestry5,some of them are pros in wicket.
 
 1. How do we add the components or remove them dynamically by coding?
 2. How do we set disabled property of components dynamically, by coding not
 EL expression to binding a method in  page class.
 3. Is it easy for tapestry to intergrate some other famous framework, like
 freemaker, velocity, Google guice and some thing like that.
 
 Thanks a lot! 
 
 --
 View this message in context: 
 http://tapestry.1045711.n5.nabble.com/Some-worries-about-Tapestry5-after-comparing-with-wicket-tp4849721p4849721.html
 Sent from the Tapestry - User mailing list archive at Nabble.com.
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org
 


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



Re: table

2011-09-28 Thread Thiago H. de Paula Figueiredo

On Wed, 28 Sep 2011 11:41:25 -0300, csckid testnowsh...@gmail.com wrote:

The cell I have added using t:add doesn't show the sort button, on the  
thead. How can I show the sort button?


When you use the add parameter, Grid doesn't know what the associated  
value is for the columns you're adding. One way is providing a BeanModel  
to the model parameter and adding columns through  
beanModel.add(truck.id), for example. Another way is to change your  
TruckWoodPrice to have, for example, a getTruckId() { return  
truck.getid(); } method.


--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor

Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

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



Re: Some worries about Tapestry5 after comparing with wicket!!!

2011-09-28 Thread Thiago H. de Paula Figueiredo
On Wed, 28 Sep 2011 12:53:52 -0300, Kevin Jing kevinhig...@gmail.com  
wrote:



Hi, gus,


Hi!


1. How do we add the components or remove them dynamically by coding?


In Tapestry, the component tree is static, but you can have them render  
very dynamically. Nice example here:  
http://tawus.wordpress.com/2011/04/20/tapestry-magic-3-plugin-blocks/.


2. How do we set disabled property of components dynamically, by coding  
not EL expression to binding a method in  page class.


Easy: a t:type=EventLink disabled=disableLink

In your page or component class:

public boolean isDisableLink() {
...
}

3. Is it easy for tapestry to intergrate some other famous framework,  
like freemaker, velocity, Google guice and some thing like that.


Very easy. ChennileKit provides FreeMarker and Velocity integration:  
http://www.chenillekit.org/chenillekit-template/index.html. Guice wasn't  
integrated yet as far as I know, but Spring integration is already  
provided and the same approach could be used for Guice or any other  
dependency injection framework. Geoff's Tapestry JumpStart has an example  
of integration at  
http://jumpstart.doublenegative.com.au/jumpstart/examples/state/ejb3, the  
Tapestry 5 wiki too: http://wiki.apache.org/tapestry/JEE-Annotation.


By the way, Guice inspired Tapestry-IoC a lot.

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor

Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

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



Re: [t5.2.6] Composing pages through inheritance problem

2011-09-28 Thread Muhammad Gelbana
I hope one day I can as helpful as you are..for no less than helping you
back :)

On Wed, Sep 28, 2011 at 3:51 PM, Thiago H. de Paula Figueiredo 
thiag...@gmail.com wrote:

 On Wed, 28 Sep 2011 10:38:53 -0300, Taha Hafeez tawus.tapes...@gmail.com
 wrote:

  Have you looked at
 http://tawus.wordpress.com/**2011/04/20/tapestry-magic-3-**plugin-blocks/http://tawus.wordpress.com/2011/04/20/tapestry-magic-3-plugin-blocks/


 Which is basically the same approach used by BeanEditor, Grid and other
 BeanModel-based components. A proven approach. :)


 --
 Thiago H. de Paula Figueiredo
 Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
 and instructor
 Owner, Ars Machina Tecnologia da Informação Ltda.
 http://www.arsmachina.com.br

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




-- 
*Regards,*
*Muhammad Gelbana
Java Developer*


Using Request Attributes

2011-09-28 Thread sireesha
Hi 

I am new bee in using Tapestry
How to use request.setAttribute(XXX,YYY') and
request.getAttribute(XXX).

I hv a java component(POJO) class and some tml file

I want to set a variable likr pageId and want to use that in tml file.

Can anyone help me

Thanks in advance.

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Using-Request-Attributes-tp4848701p4848701.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



Some worries about Tapestry5 after comparing with wicket!!!

2011-09-28 Thread Kevin Jing
Hi, gus, I am investigating web frameworks for our products, which is a big
ERP software. After that, I am interested in Tapestry5 and Wicket, and I
think we will determine one of them to use. They are very similar and I
prefer to T5, but I 
still would like to know the best solution to address my some concerns in
tapestry5,some of them are pros in wicket.

1. How do we add the components or remove them dynamically by coding?
2. How do we set disabled property of components dynamically, by coding not
EL expression to binding a method in  page class.
3. Is it easy for tapestry to intergrate some other famous framework, like
freemaker, velocity, Google guice and some thing like that.

Thanks a lot!

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Some-worries-about-Tapestry5-after-comparing-with-wicket-tp4849707p4849707.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



CSS for all pages

2011-09-28 Thread Wechsung, Wulf
Hello Guys,

I was wondering if it is at all possible to add a global (ie included in all 
pages) CSS from a module. Basically just like the tapestry framework  adds the 
default.css to any page in your tapestry web app I would like to have a webapp 
that loads a module that includes a CSS in all the pages of the app. The 
use-case is that I need to add some CSS fixes that should go into all apps that 
use the module auto-magically as is the case with filters and services.

Thanks and kind Regards,
Wulf


Re: Using Request Attributes

2011-09-28 Thread Lenny Primak
You don't use set/getAttributes in Tapestry, it abstracts that away for you.
Use @Property (@Perist) fields and they will work the same way,
or you can use @SessionAttrubute as well if you need to integrate with other 
frameworks


On Sep 28, 2011, at 5:50 AM, sireesha wrote:

 Hi 
 
 I am new bee in using Tapestry
 How to use request.setAttribute(XXX,YYY') and
 request.getAttribute(XXX).
 
 I hv a java component(POJO) class and some tml file
 
 I want to set a variable likr pageId and want to use that in tml file.
 
 Can anyone help me
 
 Thanks in advance.
 
 --
 View this message in context: 
 http://tapestry.1045711.n5.nabble.com/Using-Request-Attributes-tp4848701p4848701.html
 Sent from the Tapestry - User mailing list archive at Nabble.com.
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org
 


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



Re: CSS for all pages

2011-09-28 Thread Steve Eynon
There may be an easier way, but you could have a worker to add a Mixin
/ Component to each page which has no markup, but @Import's your CSS.

In T5.3 it's :

public class EmbedCssMixinInEveryPageWorker implements
ComponentClassTransformWorker2 {
public void transform(PlasticClass plasticClass,
TransformationSupport support, MutableComponentModel model) {
if (model.isPage())
model.addMixinClassName(CssMixin.class.getName());
}
}

@Import(stylesheet=context:myApp.css)
public class CssMixin {
}

in your module, add

public static void
contributeComponentClassTransformWorker(OrderedConfigurationComponentClassTransformWorker2
configuration) {
configuration.addInstance(CssMixin, 
EmbedCssMixinInEveryPageWorker.class);
}

Steve.

On 29 September 2011 00:24, Wechsung, Wulf wulf.wechs...@sap.com wrote:
 Hello Guys,

 I was wondering if it is at all possible to add a global (ie included in all 
 pages) CSS from a module. Basically just like the tapestry framework  adds 
 the default.css to any page in your tapestry web app I would like to have a 
 webapp that loads a module that includes a CSS in all the pages of the app. 
 The use-case is that I need to add some CSS fixes that should go into all 
 apps that use the module auto-magically as is the case with filters and 
 services.

 Thanks and kind Regards,
 Wulf


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



Re: Meap Tapestry 5 book cancelled?

2011-09-28 Thread bogdan_cm
There are many many users of Tapestry that are very excited about the book
but are not actively on the forums expressing it. I believe, like you said,
this is the best thing that could have happened.
I for one, cannot wait to get my hands on it. 

Good luck and steady hand :). 





--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Meap-Tapestry-5-book-cancelled-tp4830642p4849928.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



Where to store site settings?

2011-09-28 Thread Tim
Can someone please tell me the best way to store site settings in a 
Tapestry application?


I would like to store the location of a certain directory (where Lucene 
data is to be kept), and it is different in development and in 
production, so I don't want it hard coded into the code.  Where should I 
store this setting?  In a properties file? (and if so, where do I store 
the location to the properties files?)   In the web.xml file as a 
context-param?  In app.properties?


What do people out there do?

I suspect the answer is probably app.properties, so how do I get access 
to this in a normal Java class?


Thanks.

--
Tim Koop

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



Re: Where to store site settings?

2011-09-28 Thread Kalle Korhonen
I typically have a bunch of application specific symbols since they
allow so much flexibility. Set the defaults in AppModule, override
with jvm system properties, in your setup scripts for production
environment etc.

Kalle


On Wed, Sep 28, 2011 at 9:47 AM, Tim koop...@gmail.com wrote:
 Can someone please tell me the best way to store site settings in a Tapestry
 application?

 I would like to store the location of a certain directory (where Lucene data
 is to be kept), and it is different in development and in production, so I
 don't want it hard coded into the code.  Where should I store this setting?
  In a properties file? (and if so, where do I store the location to the
 properties files?)   In the web.xml file as a context-param?  In
 app.properties?

 What do people out there do?

 I suspect the answer is probably app.properties, so how do I get access to
 this in a normal Java class?

 Thanks.

 --
 Tim Koop

 -
 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



How to retrieve Field

2011-09-28 Thread Pups
Hi to all.
I use Tapestry 5.1.0.5.
I have the following code

@Component(id = applyCouponCode)
private TextField applyCouponCode;

private void processSubmission() {
...
if (applyCouponParameterName != null ||
parameterNames.contains(proceedWithoutCoupon)) {
applyCouponCodeValue = 
request.getParameter(applyCouponParameterName);

try {
shoppingCartService.applyCoupon(applyCouponCodeValue);
shoppingCartService.validateCartState();
} catch (ShoppingCartException e) {
tracker.recordError(applyCouponCode, e.getMessage() +  
Please, enter a
different coupon code or remove coupon code to proceed.);
}
}
}

This component doesn't contain Form. It's located inside the form in this
way

t:form t:id=orderForm clientValidation=false autofocus=false
...
t:applyCoupon/
...
/t:form


In mentioned processSubmission method in recordError method
applyCouponCode.getControlName() return null. So finally when I'm trying to
decorate error message for specified field I get 
tracker.inError(field) == false

Is it possible do not do

@Component(id = applyCouponCode)
private TextField applyCouponCode;

and somehow to retrieve necessary Field using some service or something
else?

Otherwise, what can be wrong in existing code?

Thanks a lot

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/How-to-retrieve-Field-tp4850061p4850061.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: CSS for all pages

2011-09-28 Thread Steve Eynon
Ah, cheers Thiago!

I think Wulf was saying the CSS was part of a separate module he
wouldn't have direct access to the Layout component - in that case he
could use the Worker to single out the Layout and just add the Mixin
to that.

-- Forwarded message --
From: Thiago H. de Paula Figueiredo thiag...@gmail.com
Date: 29 September 2011 01:27
Subject: Re: CSS for all pages
To: Steve Eynon steve.ey...@alienfactory.co.uk

Awesome use of a component class transformation and a mixin, Steve! :)

Wulf, I'd say almost all Tapestry projects have a Layout component
used in all pages, so @Import'ing your CSS or JavaScript in it makes
them being added to all pages.


On Wed, 28 Sep 2011 13:39:56 -0300, Steve Eynon
steve.ey...@alienfactory.co.uk wrote:

 There may be an easier way, but you could have a worker to add a Mixin
 / Component to each page which has no markup, but @Import's your CSS.

 In T5.3 it's :

 public class EmbedCssMixinInEveryPageWorker implements
 ComponentClassTransformWorker2 {
        public void transform(PlasticClass plasticClass,
 TransformationSupport support, MutableComponentModel model) {
                if (model.isPage())
                        model.addMixinClassName(CssMixin.class.getName());
        }
 }

 @Import(stylesheet=context:myApp.css)
 public class CssMixin {
 }

 in your module, add

 public static void
 contributeComponentClassTransformWorker(OrderedConfigurationComponentClassTransformWorker2
 configuration) {
        configuration.addInstance(CssMixin, 
 EmbedCssMixinInEveryPageWorker.class);
 }

 Steve.

 On 29 September 2011 00:24, Wechsung, Wulf wulf.wechs...@sap.com wrote:

 Hello Guys,

 I was wondering if it is at all possible to add a global (ie included in all 
 pages) CSS from a module. Basically just like the tapestry framework  adds 
 the default.css to any page in your tapestry web app I would like to have a 
 webapp that loads a module that includes a CSS in all the pages of the app. 
 The use-case is that I need to add some CSS fixes that should go into all 
 apps that use the module auto-magically as is the case with filters and 
 services.

 Thanks and kind Regards,
 Wulf


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



--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant,
developer, and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
http://www.arsmachina.com.br

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



RE: CSS for all pages

2011-09-28 Thread Wechsung, Wulf
Exactly, Steve!
You solution is great! Thanks a lot :)


-Original Message-
From: Steve Eynon [mailto:steve.ey...@alienfactory.co.uk] 
Sent: Mittwoch, 28. September 2011 19:53
To: Tapestry users
Subject: Re: CSS for all pages

Ah, cheers Thiago!

I think Wulf was saying the CSS was part of a separate module he
wouldn't have direct access to the Layout component - in that case he
could use the Worker to single out the Layout and just add the Mixin
to that.

-- Forwarded message --
From: Thiago H. de Paula Figueiredo thiag...@gmail.com
Date: 29 September 2011 01:27
Subject: Re: CSS for all pages
To: Steve Eynon steve.ey...@alienfactory.co.uk

Awesome use of a component class transformation and a mixin, Steve! :)

Wulf, I'd say almost all Tapestry projects have a Layout component
used in all pages, so @Import'ing your CSS or JavaScript in it makes
them being added to all pages.


On Wed, 28 Sep 2011 13:39:56 -0300, Steve Eynon
steve.ey...@alienfactory.co.uk wrote:

 There may be an easier way, but you could have a worker to add a Mixin
 / Component to each page which has no markup, but @Import's your CSS.

 In T5.3 it's :

 public class EmbedCssMixinInEveryPageWorker implements
 ComponentClassTransformWorker2 {
        public void transform(PlasticClass plasticClass,
 TransformationSupport support, MutableComponentModel model) {
                if (model.isPage())
                        model.addMixinClassName(CssMixin.class.getName());
        }
 }

 @Import(stylesheet=context:myApp.css)
 public class CssMixin {
 }

 in your module, add

 public static void
 contributeComponentClassTransformWorker(OrderedConfigurationComponentClassTransformWorker2
 configuration) {
        configuration.addInstance(CssMixin, 
 EmbedCssMixinInEveryPageWorker.class);
 }

 Steve.

 On 29 September 2011 00:24, Wechsung, Wulf wulf.wechs...@sap.com wrote:

 Hello Guys,

 I was wondering if it is at all possible to add a global (ie included in all 
 pages) CSS from a module. Basically just like the tapestry framework  adds 
 the default.css to any page in your tapestry web app I would like to have a 
 webapp that loads a module that includes a CSS in all the pages of the app. 
 The use-case is that I need to add some CSS fixes that should go into all 
 apps that use the module auto-magically as is the case with filters and 
 services.

 Thanks and kind Regards,
 Wulf


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



--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant,
developer, and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
http://www.arsmachina.com.br

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


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



Re: T5.2 and CXF / SOAP

2011-09-28 Thread Norman Franke

Thanks! That should be very helpful.

I may be doing attachments for pictures and integrating with .NET, so  
the MTOM stuff should come in handy.


Norman Franke
Answering Service for Directors, Inc.
www.myasd.com



On Sep 27, 2011, at 8:30 AM, Ulrich Stärk wrote:


Sure:

First you need a CXF servlet to process incoming requests targeted  
at the web service. Something

along the lines of

public class MyCXFServlet extends CXFNonSpringServlet
{
   private static final long serialVersionUID = -2887022453330372210L;

   @Override
   public void loadBus(ServletConfig servletConfig) throws  
ServletException

   {
   super.loadBus(servletConfig);

   Registry registry = (Registry)
servletConfig 
.getServletContext 
().getAttribute(TapestryFilter.REGISTRY_CONTEXT_NAME);


   MyService impl = registry.getService(MyService,  
MyServiceImpl.class);


   Bus bus = this.getBus();
   BusFactory.setDefaultBus(bus);
   EndpointImpl ep = (EndpointImpl) Endpoint.create(impl);
   ep.getFeatures().add(new WSAddressingFeature());
   ep.setPublishedEndpointUrl(https://your.host/some/path/MyService 
);

   ep.publish(/MyService);
   }
}

As you can see we fetch the Tapestry IoC registry from the servlet  
context and ask it for a service
called MyService that is then being published by CXF. The service  
interface looks something like


import javax.activation.DataHandler;
import javax.jws.WebService;

@WebService
public interface RelationAnalyzer
{
   public ListFoo doSomething(DataHandler file) throws IOException;
}

In this case doSomething() is working on a file upload and since  
this one is speaking to a .NET
client we need to configure it to send files as MTOM attachments and  
configure it as a SOAP 1.2 HTTP

Binding:

import javax.activation.DataHandler;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;

@BindingType(SOAPBinding.SOAP12HTTP_MTOM_BINDING)
@WebService(endpointInterface = MyService,
   serviceName = MyService)
public class MyServiceImpl implements MyService
{
...
}

Additionally, in your AppModule you have to tell Tapestry to ignore  
the path where your webservice
is listening for requests (compare with above's  
setPublishedEndpointURL()):


public static void  
contributeIgnoredPathsFilter(ConfigurationString configuration)

{
   configuration.add(/some/path/.*);
}

Since in previous versions, Tapestry didn't copy annotations from  
the service implementation to it's

proxies, you have to bind the implementation itself:

binder.bind(MyServiceImpl.class).withId(MyService);

This might be different now, I haven't tried the new feature though.

And as a goodie from the web service client's app.config:

?xml version=1.0 encoding=utf-8 ?
configuration
   configSections
   /configSections
   system.serviceModel
   bindings
   customBinding
   binding name=MyServiceSoapBinding
 mtomMessageEncoding maxReadPoolSize=64  
maxWritePoolSize=16

   messageVersion=Soap12 writeEncoding=utf-8
   readerQuotas maxDepth=32  
maxStringContentLength=8192 maxArrayLength=16384
   maxBytesPerRead=4096  
maxNameTableCharCount=16384 /

   /mtomMessageEncoding
   httpsTransport manualAddressing=false  
maxBufferPoolSize=524288
   maxReceivedMessageSize=65536  
allowCookies=false

authenticationScheme=Anonymous
   bypassProxyOnLocal=false  
hostNameComparisonMode=StrongWildcard

   keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
   realm= transferMode=Buffered  
unsafeConnectionNtlmAuthentication=false
   useDefaultWebProxy=true  
requireClientCertificate=false

   /httpsTransport
   /binding
   /customBinding
   /bindings
   client
   endpoint address=https://your.host/some/path/MyService;
   binding=customBinding  
bindingConfiguration=MyServiceSoapBinding
   contract=MyService.MyService  
name=MyServiceImplPort /

   /client
   /system.serviceModel
/configuration

HTH,

Uli

On 26.09.2011 17:33, Norman Franke wrote:

Care to share?

Norman Franke
Answering Service for Directors, Inc.
www.myasd.com



On Sep 26, 2011, at 9:20 AM, Ulrich Stärk wrote:


I have.

On 24.09.2011 00:27, Norman Franke wrote:
So, since CXF appears to be way, way better documented, I'll ask.  
Has anyone integrated Tapestry

5's IoC with CXF?

Norman Franke
Answering Service for Directors, Inc.
www.myasd.com




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






-
To unsubscribe, e-mail: 

Re: Using Request Attributes

2011-09-28 Thread Sigbjørn Tvedt
Hi.
You should have a look here.
http://jumpstart.doublenegative.com.au/jumpstart/examples/output/output

As you see, the value is retrieved from the getMessage method by using
${message} in the tml file.

Regards
Sigbjørn

On Wed, Sep 28, 2011 at 18:30, Lenny Primak lpri...@hope.nyc.ny.us wrote:

 You don't use set/getAttributes in Tapestry, it abstracts that away for
 you.
 Use @Property (@Perist) fields and they will work the same way,
 or you can use @SessionAttrubute as well if you need to integrate with
 other frameworks


 On Sep 28, 2011, at 5:50 AM, sireesha wrote:

  Hi 
 
  I am new bee in using Tapestry
  How to use request.setAttribute(XXX,YYY') and
  request.getAttribute(XXX).
 
  I hv a java component(POJO) class and some tml file
 
  I want to set a variable likr pageId and want to use that in tml file.
 
  Can anyone help me
 
  Thanks in advance.
 
  --
  View this message in context:
 http://tapestry.1045711.n5.nabble.com/Using-Request-Attributes-tp4848701p4848701.html
  Sent from the Tapestry - User mailing list archive at Nabble.com.
 
  -
  To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
  For additional commands, e-mail: users-h...@tapestry.apache.org
 


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




Re: How to retrieve Field

2011-09-28 Thread Thiago H. de Paula Figueiredo
On Wed, 28 Sep 2011 14:46:00 -0300, Vasyl Shevchuk  
vasyl.shevc...@devcom.com wrote:



Hello, Thiago!


Hi!


But, could you please explain this part more detailed
Your TextField should be bound to some property. Can't you read this
property directly?


TextFields edits properties of type String. In your case, it's bound to  
the applyCouponCodeValue property. As you're inside the  
processSubmission() method, you should get the submitted value from the  
request itself, as the TextField's processSubmission() may not be invoked  
yet. I always avoided writing form field components with form field  
components in their template. It's easy to create a form field component  
with multiple HTML form fields inside.



I have this on template now (using @Component)

input t:id=applyCouponCode name=applyCouponCode size=17
value=applyCouponCodeValue class=stxt/


Ah, I haven't noticed that you didn't use t:type in your template, so you  
need to use @Component instead of @InjectComponent. Your code was and is  
right.  :)



And will have the folllowing if I'll not use @Component annotation

t:textfield t:id=applyCouponCode name=applyCouponCode size=17
value=applyCouponCodeValue class=stxt /


Yep, or, my preference, input type=text t:type=TextField  
t:id=applyCouponCode name=applyCouponCode size=17  
value=applyCouponCodeValue class=stxt /



How can I read property directly?


getApplyCouponCodeValue(). :)

Cheers!

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor

Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

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



Who can recommend a hosting plan with jdk1.6, resin, dedicated IP addy, 6 domains, web admin interface shell access?

2011-09-28 Thread Jon Williams
Hi y'all,

Who can recommend a hosting plan with jdk1.6, resin, dedicated IP addy, 6
domains, web admin interface  shell access that isn't in India or Tibuktoo?
OFF TOPIC I KNOW.
I trust you guys/gals.
Opinions?


Re: Who can recommend a hosting plan with jdk1.6, resin, dedicated IP addy, 6 domains, web admin interface shell access?

2011-09-28 Thread Andreas Fink
Hi Jon.

If it really has to be resin, i would as the directly ask the caucho folks. 
They are quite a friendly bunch.

Cheers,
Andi.

On Sep 28, 2011, at 21:12 , Jon Williams wrote:

 Hi y'all,
 
 Who can recommend a hosting plan with jdk1.6, resin, dedicated IP addy, 6
 domains, web admin interface  shell access that isn't in India or Tibuktoo?
 OFF TOPIC I KNOW.
 I trust you guys/gals.
 Opinions?


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



Re: Textarea with character count?

2011-09-28 Thread Bob Harner
There's some easy-to-modify source code for this at
http://tinybits.blogspot.com/2009/04/enforce-max-length-on-textareas-and_15.html

On Tue, Sep 27, 2011 at 2:34 AM, Magnus Kvalheim mag...@kvalheim.dk wrote:
 Hi,


  I wonder in Tapestry world, is there such a component that while user
 types, it will counts how many characters have the user typed.
 Alternatively, I
 would like to know if there is a way to restrict the textarea to a fixed
 size, say 500 characters. If exceeded, no more text will be allowed.


 I guess there isn't one ready to use, but with a little bit of JavaScript
 you can easily write a mixin that does exactly that. ;)


 I've used this jQuery plugin previously -
 http://roy-jin.appspot.com/jsp/textareaCounter.jsp .
 You can specify a fixed number of characters.

 Works well and has good documentation.

 Cheers
 Magnus Kvalheim


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



Re: 5.3 Beta change in behaviour from Alpha with regard to event methods

2011-09-28 Thread Vangel V. Ajanovski

On 28.09.2011 10:32, Dragan Sahpaski wrote:

The symbol you have to use to turn off this check is
SymbolConstants.UNKNOWN_COMPONENT_ID_CHECK_ENABLED.

Actually, I like this check, but it would be better if it was possible 
to happen at application startup, not on first access to the page.




smime.p7s
Description: S/MIME Cryptographic Signature


Re: Textarea with character count?

2011-09-28 Thread Jon Williams
Oh this brings back some bad memories for me. Try doing this with Tapestry
4's Dojo.js Not fun. RANT OFF

On Wed, Sep 28, 2011 at 1:58 PM, Bob Harner bobhar...@gmail.com wrote:

 There's some easy-to-modify source code for this at

 http://tinybits.blogspot.com/2009/04/enforce-max-length-on-textareas-and_15.html

 On Tue, Sep 27, 2011 at 2:34 AM, Magnus Kvalheim mag...@kvalheim.dk
 wrote:
  Hi,
 
 
   I wonder in Tapestry world, is there such a component that while user
  types, it will counts how many characters have the user typed.
  Alternatively, I
  would like to know if there is a way to restrict the textarea to a
 fixed
  size, say 500 characters. If exceeded, no more text will be allowed.
 
 
  I guess there isn't one ready to use, but with a little bit of
 JavaScript
  you can easily write a mixin that does exactly that. ;)
 
 
  I've used this jQuery plugin previously -
  http://roy-jin.appspot.com/jsp/textareaCounter.jsp .
  You can specify a fixed number of characters.
 
  Works well and has good documentation.
 
  Cheers
  Magnus Kvalheim
 

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




Re: 5.3 Beta change in behaviour from Alpha with regard to event methods

2011-09-28 Thread Howard Lewis Ship
Part of Tapestry's philosophy is lazy loading of pages and components
on an as-needed basis. This has good points and bad points ... good
points are very fast startup which I find very important.  The bad
side is that a lot of checks occur when the page is lazily loaded
(when first needed), and some things people want (such as a @Path
annotation on pages to control the URL for that page) aren't possible.

Further, if Tapestry did all the checks at startup, before the first
request, you would not have a good place to report the errors ...
errors logged to the console are not nearly as nice as the full
exception report page.

A thought: a built in page that, when it renders, identifies and loads
all pages in the application, which should flesh out most of the
errors in most pages. So the PageCatalog page would either generate
a list of all pages, or an exception report for the first error
loading a page.  Quite doable.



On Wed, Sep 28, 2011 at 1:01 PM, Vangel V. Ajanovski a...@ii.edu.mk wrote:
 On 28.09.2011 10:32, Dragan Sahpaski wrote:

 The symbol you have to use to turn off this check is
 SymbolConstants.UNKNOWN_COMPONENT_ID_CHECK_ENABLED.

 Actually, I like this check, but it would be better if it was possible to
 happen at application startup, not on first access to the page.





-- 
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: Some worries about Tapestry5 after comparing with wicket!!!

2011-09-28 Thread Kevin Jing
Thanks for prompt replay and they are very clear so that I can understand
some of them now. But for setting disabled property, I am still confuse. I
would like to give a scenarios.


  When a user login the system, we need to check his/her permission, and
then
  we will probably hide or disable the buttons or links, or disable an
edittable, or make   some cells readable or just set some other properties
according to his/her permission.
if so, I think the following solution is not the ones that I need because I
hope I can change the properties dynamically by coding according to some
conditions. Is there some better solution for this question in tapestry?

   
  In your page or component class:
  public boolean isDisableLink() {
 ...
  }  

Thanks a lot!

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Some-worries-about-Tapestry5-after-comparing-with-wicket-tp4849721p4851067.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: Some worries about Tapestry5 after comparing with wicket!!!

2011-09-28 Thread Lenny Primak
Tapestry-security has components that do exactly this. So I Isn't only possible 
but been done before. 



On Sep 28, 2011, at 7:22 PM, Kevin Jing kevinhig...@gmail.com wrote:

 Thanks for prompt replay and they are very clear so that I can understand
 some of them now. But for setting disabled property, I am still confuse. I
 would like to give a scenarios.
 
 
  When a user login the system, we need to check his/her permission, and
 then
  we will probably hide or disable the buttons or links, or disable an
 edittable, or make   some cells readable or just set some other properties
 according to his/her permission.
 if so, I think the following solution is not the ones that I need because I
 hope I can change the properties dynamically by coding according to some
 conditions. Is there some better solution for this question in tapestry?
 
 
  In your page or component class:
  public boolean isDisableLink() {
 ...
  }  
 
 Thanks a lot!
 
 --
 View this message in context: 
 http://tapestry.1045711.n5.nabble.com/Some-worries-about-Tapestry5-after-comparing-with-wicket-tp4849721p4851067.html
 Sent from the Tapestry - User mailing list archive at Nabble.com.
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org
 

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



Re: Where to store site settings?

2011-09-28 Thread Bob Harner
I like to have a simple Settings or Config table in the database,
having just VARCHAR name and value columns, and a simple Tapestry
IOC service that looks up and caches the values (either lazily or at
startup time). Another option is to have the settings in a property
file (outside the war), of course, but on the other hand having them
in the database makes it easier to later create crud interfaces for
those that may need to change at run time.

On Wed, Sep 28, 2011 at 12:53 PM, Kalle Korhonen
kalle.o.korho...@gmail.com wrote:
 I typically have a bunch of application specific symbols since they
 allow so much flexibility. Set the defaults in AppModule, override
 with jvm system properties, in your setup scripts for production
 environment etc.

 Kalle


 On Wed, Sep 28, 2011 at 9:47 AM, Tim koop...@gmail.com wrote:
 Can someone please tell me the best way to store site settings in a Tapestry
 application?

 I would like to store the location of a certain directory (where Lucene data
 is to be kept), and it is different in development and in production, so I
 don't want it hard coded into the code.  Where should I store this setting?
  In a properties file? (and if so, where do I store the location to the
 properties files?)   In the web.xml file as a context-param?  In
 app.properties?

 What do people out there do?

 I suspect the answer is probably app.properties, so how do I get access to
 this in a normal Java class?

 Thanks.

 --
 Tim Koop

 -
 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



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



Re: 5.3 Beta change in behaviour from Alpha with regard to event methods

2011-09-28 Thread Vangel V. Ajanovski

On 29.09.2011 00:25, Howard Lewis Ship wrote:

errors in most pages. So the PageCatalog page would either generate
a list of all pages, or an exception report for the first error
loading a page.  Quite doable.


That would probably help. Thanks for the idea.



smime.p7s
Description: S/MIME Cryptographic Signature


Change Name

2011-09-28 Thread csckid
If I make a form using beaneditform , how do I change the name of the field
of the form. e.g
class Truck{
private int id;
private int truckNumberVO;
//getters and setters
}

t:beaneditform submitlabel=Create object=truck /
I want the field/label name of truckNumberVO to be shown as Truck Number

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Change-Name-tp4851582p4851582.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.3] Symbols for Default Component Parameter Values

2011-09-28 Thread Steve Eynon
I had to look up the meaning of Staw Man Proposal (!) but it seems
it's all good!

JIRA raised:

https://issues.apache.org/jira/browse/TAP5-1677

Have fun!

Steve.

On 28 September 2011 21:57, Massimo Lusetti mluse...@gmail.com wrote:
 On Wed, Sep 28, 2011 at 12:15 AM, Igor Drobiazko
 igor.drobia...@gmail.com wrote:

 Actually this is supported since 5.2:
 https://issues.apache.org/jira/browse/TAP5-1094

 I think the proposal here is to have the default value for some
 parameters (like the grid's rowsPerPage) to bind to a Symbol so the
 default can be changed more easly...

 Please fire a jira issue It's something nice to work on...
 --
 Massimo
 http://meridio.blogspot.com

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



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



Re: 5.3 Beta change in behaviour from Alpha with regard to event methods

2011-09-28 Thread Steve Eynon
 if Tapestry did all the checks at startup, before the first
 request, you would not have a good place to report the errors ...

If you wanted to go down this line you could have a filter in place
that redirected you to an error reporting page if any errors were
recorded at startup.

I do something similar with a Configuration Module I have - all config
is loaded on startup and any errors recorded. When attempting to
access any page, if config errors were detected, you're sent to a
Config Error page where you're enlightened of your mistakes. (Guru
Meditation Style!)

But by doing this, you effectively disable the whole app until the
errors are rectified - which may not desired behaviour.

Steve.


On 29 September 2011 10:29, Vangel V. Ajanovski a...@ii.edu.mk wrote:
 On 29.09.2011 00:25, Howard Lewis Ship wrote:

 errors in most pages. So the PageCatalog page would either generate
 a list of all pages, or an exception report for the first error
 loading a page.  Quite doable.

 That would probably help. Thanks for the idea.



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



Re: Change Name

2011-09-28 Thread Taha Hafeez
Hi

Won't it be more useful if you first visit the documentation and then
if you don't find it there you ask it in the mailing list. It will
save you some time !!

http://tapestry.apache.org/beaneditform-guide.html


Default Label
Tapestry will attempt to provide a reasonable default label for each
field, based on the property name being emitted. The property name is
capitalized, and spaces are added before case changes, thus property
name becomes label Name and property streetAddress becomes label
Street Address.

BeanEditForm also searches for a label for the field in the containing
component's message catalog. The message key is the property name
suffixed with -label. If such a label is found, it takes precedence.




On Thu, Sep 29, 2011 at 9:04 AM, csckid testnowsh...@gmail.com wrote:
 If I make a form using beaneditform , how do I change the name of the field
 of the form. e.g
 class Truck{
    private int id;
    private int truckNumberVO;
    //getters and setters
 }

 t:beaneditform submitlabel=Create object=truck /
 I want the field/label name of truckNumberVO to be shown as Truck Number

 --
 View this message in context: 
 http://tapestry.1045711.n5.nabble.com/Change-Name-tp4851582p4851582.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





-- 
Regards

Taha Hafeez Siddiqi (tawus)
http://tawus.wordpress.com

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



Re: [T5.3] Symbols for Default Component Parameter Values

2011-09-28 Thread Taha Hafeez
A good thing about following Howard is you getter better in both
tapestry and english :)

On Thu, Sep 29, 2011 at 9:04 AM, Steve Eynon
steve.ey...@alienfactory.co.uk wrote:
 I had to look up the meaning of Staw Man Proposal (!) but it seems
 it's all good!

 JIRA raised:

 https://issues.apache.org/jira/browse/TAP5-1677

 Have fun!

 Steve.

 On 28 September 2011 21:57, Massimo Lusetti mluse...@gmail.com wrote:
 On Wed, Sep 28, 2011 at 12:15 AM, Igor Drobiazko
 igor.drobia...@gmail.com wrote:

 Actually this is supported since 5.2:
 https://issues.apache.org/jira/browse/TAP5-1094

 I think the proposal here is to have the default value for some
 parameters (like the grid's rowsPerPage) to bind to a Symbol so the
 default can be changed more easly...

 Please fire a jira issue It's something nice to work on...
 --
 Massimo
 http://meridio.blogspot.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





-- 
Regards

Taha Hafeez Siddiqi (tawus)
http://tawus.wordpress.com

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



Re: CSS for all pages

2011-09-28 Thread Olaf Tomczak
The other way to do this is (simpler in my opinion) to implement your own
JavaScriptStack (ListStylesheetLink getStylesheets() method) and make a
contribution to JavaScriptStackSource in your module.

Cheers, Olaf

2011/9/28 Wechsung, Wulf wulf.wechs...@sap.com

 Exactly, Steve!
 You solution is great! Thanks a lot :)


 -Original Message-
 From: Steve Eynon [mailto:steve.ey...@alienfactory.co.uk]
 Sent: Mittwoch, 28. September 2011 19:53
 To: Tapestry users
 Subject: Re: CSS for all pages

 Ah, cheers Thiago!

 I think Wulf was saying the CSS was part of a separate module he
 wouldn't have direct access to the Layout component - in that case he
 could use the Worker to single out the Layout and just add the Mixin
 to that.

 -- Forwarded message --
 From: Thiago H. de Paula Figueiredo thiag...@gmail.com
 Date: 29 September 2011 01:27
 Subject: Re: CSS for all pages
 To: Steve Eynon steve.ey...@alienfactory.co.uk

 Awesome use of a component class transformation and a mixin, Steve! :)

 Wulf, I'd say almost all Tapestry projects have a Layout component
 used in all pages, so @Import'ing your CSS or JavaScript in it makes
 them being added to all pages.


 On Wed, 28 Sep 2011 13:39:56 -0300, Steve Eynon
 steve.ey...@alienfactory.co.uk wrote:

  There may be an easier way, but you could have a worker to add a Mixin
  / Component to each page which has no markup, but @Import's your CSS.
 
  In T5.3 it's :
 
  public class EmbedCssMixinInEveryPageWorker implements
  ComponentClassTransformWorker2 {
 public void transform(PlasticClass plasticClass,
  TransformationSupport support, MutableComponentModel model) {
 if (model.isPage())
 model.addMixinClassName(CssMixin.class.getName());
 }
  }
 
  @Import(stylesheet=context:myApp.css)
  public class CssMixin {
  }
 
  in your module, add
 
  public static void
 
 contributeComponentClassTransformWorker(OrderedConfigurationComponentClassTransformWorker2
  configuration) {
 configuration.addInstance(CssMixin,
 EmbedCssMixinInEveryPageWorker.class);
  }
 
  Steve.
 
  On 29 September 2011 00:24, Wechsung, Wulf wulf.wechs...@sap.com
 wrote:
 
  Hello Guys,
 
  I was wondering if it is at all possible to add a global (ie included in
 all pages) CSS from a module. Basically just like the tapestry framework
  adds the default.css to any page in your tapestry web app I would like to
 have a webapp that loads a module that includes a CSS in all the pages of
 the app. The use-case is that I need to add some CSS fixes that should go
 into all apps that use the module auto-magically as is the case with filters
 and services.
 
  Thanks and kind Regards,
  Wulf
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
  For additional commands, e-mail: users-h...@tapestry.apache.org
 


 --
 Thiago H. de Paula Figueiredo
 Independent Java, Apache Tapestry 5 and Hibernate consultant,
 developer, and instructor
 Owner, Ars Machina Tecnologia da Informação Ltda.
 Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
 http://www.arsmachina.com.br

 -
 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