[jira] Commented: (TAP5-1197) Eliminate page pooling using shared page instances that separate their structure from the mutable state

2010-07-14 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888663#action_12888663
 ] 

Hudson commented on TAP5-1197:
--

Integrated in tapestry-5.2-freestyle #154 (See 
[http://hudson.zones.apache.org/hudson/job/tapestry-5.2-freestyle/154/])
TAP5-1197: Only track the page's dirty count in when the page pool is 
enabled (it is meaningless in the non-pooling mode)


> Eliminate page pooling using shared page instances that separate their 
> structure from the mutable state
> ---
>
> Key: TAP5-1197
> URL: https://issues.apache.org/jira/browse/TAP5-1197
> Project: Tapestry 5
>  Issue Type: Improvement
>  Components: tapestry-core
>Affects Versions: 5.2.0
>Reporter: Howard M. Lewis Ship
>Assignee: Howard M. Lewis Ship
>
> This has been suggested before, but the recent changes to class 
> transformation API makes it much more reasonable to accomplish.
> The goal here is to identify all transient or mutable state in the page and 
> store it via the PerThreadManager.  This will be invisible to user code; the 
> pages will appear to be individual instances with internal state ... but in 
> fact, it will be a single instance (per locale) with all internal, mutable 
> state stored elsewhere.
> Because this changes the semantics of some aspects of the component class 
> transformation pipeline, there will be a compatibility mode that will allow 
> pages to be pooled as with 5.1, while any third party libraries that 
> contribute workers update.
> Why do all this?  For large applications with very complex pages, this will 
> be a big win, as Tapestry has been shown to strain the limits of available 
> JVM heap (surprising to me, but apparently true) once you have a few dozen 
> (or hundred) page instances (of each page type) floating around.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



svn commit: r964264 - in /tapestry/tapestry5/trunk/tapestry-core/src: main/java/org/apache/tapestry5/internal/pageload/ main/java/org/apache/tapestry5/internal/structure/ test/java/org/apache/tapestry

2010-07-14 Thread hlship
Author: hlship
Date: Thu Jul 15 00:04:56 2010
New Revision: 964264

URL: http://svn.apache.org/viewvc?rev=964264&view=rev
Log:
TAP5-1197: Only track the page's dirty count in when the page pool is enabled 
(it is meaningless in the non-pooling mode)

Modified:

tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java

tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java

tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/structure/PageImplTest.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java?rev=964264&r1=964263&r2=964264&view=diff
==
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/PageLoaderImpl.java
 Thu Jul 15 00:04:56 2010
@@ -18,6 +18,7 @@ import org.apache.tapestry5.Binding;
 import org.apache.tapestry5.BindingConstants;
 import org.apache.tapestry5.ComponentResources;
 import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.SymbolConstants;
 import org.apache.tapestry5.internal.InternalComponentResources;
 import org.apache.tapestry5.internal.InternalConstants;
 import org.apache.tapestry5.internal.bindings.LiteralBinding;
@@ -27,6 +28,7 @@ import org.apache.tapestry5.internal.str
 import org.apache.tapestry5.ioc.Invokable;
 import org.apache.tapestry5.ioc.Location;
 import org.apache.tapestry5.ioc.OperationTracker;
+import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.internal.util.TapestryException;
@@ -138,10 +140,14 @@ public class PageLoaderImpl implements P
 
 private final PerthreadManager perThreadManager;
 
+private final boolean poolingEnabled;
+
 public PageLoaderImpl(ComponentInstantiatorSource instantiatorSource, 
ComponentTemplateSource templateSource,
 PageElementFactory elementFactory, 
ComponentPageElementResourcesSource resourcesSource,
 ComponentClassResolver componentClassResolver, 
PersistentFieldManager persistentFieldManager,
-StringInterner interner, OperationTracker tracker, 
PerthreadManager perThreadManager)
+StringInterner interner, OperationTracker tracker, 
PerthreadManager perThreadManager,
+@Symbol(SymbolConstants.PAGE_POOL_ENABLED)
+boolean poolingEnabled)
 {
 this.instantiatorSource = instantiatorSource;
 this.templateSource = templateSource;
@@ -152,6 +158,7 @@ public class PageLoaderImpl implements P
 this.interner = interner;
 this.tracker = tracker;
 this.perThreadManager = perThreadManager;
+this.poolingEnabled = poolingEnabled;
 }
 
 public void objectWasInvalidated()
@@ -167,7 +174,8 @@ public class PageLoaderImpl implements P
 {
 public Page invoke()
 {
-Page page = new PageImpl(logicalPageName, locale, 
persistentFieldManager, perThreadManager);
+Page page = new PageImpl(logicalPageName, locale, 
persistentFieldManager, perThreadManager,
+poolingEnabled);
 
 ComponentAssembler assembler = getAssembler(pageClassName, 
locale);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java?rev=964264&r1=964263&r2=964264&view=diff
==
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/PageImpl.java
 Thu Jul 15 00:04:56 2010
@@ -65,15 +65,25 @@ public class PageImpl implements Page
  *for access to cross-request persistent values
  * @param perThreadManager
  *for managing per-request mutable state
+ * @param pooled
+ *if pooling enabled, or is this page a singleton
  */
 public PageImpl(String name, Locale locale, PersistentFieldManager 
persistentFieldManager,
-PerthreadManager perThreadManager)
+PerthreadManager perThreadManager, boolean pooled)
 {
 this.name = name;
 this.local

[jira] Commented: (TAP5-957) Unexcept "beforeunload" event generated by ie

2010-07-14 Thread Raul Montes (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888498#action_12888498
 ] 

Raul Montes commented on TAP5-957:
--

Today I found a case where this bug is triggered even when (at least from what 
I know) good JavaScript practices are used: when you want an anchor used only 
to trigger some JavaScript behaviour you could, for example, set href="#" on 
the link, and then observe the click event. BUT the problem with this is that 
the "#" character is appended to the URL on the browser (unless you stop the 
event, which you cannot always do). Another way (and recommended) is to set 
href to "javascript:void(0)", which does absolutely nothing and you can observe 
the click event without any problem.

The problem is that, only in IE (of course...), this "javascript:void(0)" 
triggers the beforeunload event (like the javascript:show() reported in this 
issue) so this recommended practice for "unlinked links" is not possible in 
Tapestry.

I created a ticket a few months ago very related to this problem 
(https://issues.apache.org/jira/browse/TAP5-1115). I think changing the 
observed event from beforeunload to just unload should fix both issues. The 
issue TAP5-1115 has been apparently ignored :( even when I think is a big 
problem: if you click a link that downloads a file without leaving the page 
(which is very common), any Ajax behaviour stops working because of this.

Please, at least give us feedback about what you think for both of these issues.

> Unexcept "beforeunload" event generated by ie
> -
>
> Key: TAP5-957
> URL: https://issues.apache.org/jira/browse/TAP5-957
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Affects Versions: 5.1.0.5
>Reporter: mindhawk
>Priority: Minor
>
> IE will generate a "beforeunload " event when a link such as " href='javascript:show()'>show"  is clicked. So Tapestry.windowUnloaded is 
> set to true. That means all ajax request have no chance to refresh the page 
> after this event.
> Now, I have to set Tapestry.windowUnloaded=false, every time I want to send a 
> ajax request. I don't think thisis a good practice. 
> I think there will be some more smart approach to replace 
> Tapestry.windowUnloaded, or just remove it. because, the request is sent to 
> the server no matter the value is true or false. This value is only discard 
> the responses from the server.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-1199) ClassTransformation should include an API specifically for adding a component event handler to a component class

2010-07-14 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888426#action_12888426
 ] 

Hudson commented on TAP5-1199:
--

Integrated in tapestry-5.2-freestyle #153 (See 
[http://hudson.zones.apache.org/hudson/job/tapestry-5.2-freestyle/153/])


> ClassTransformation should include an API specifically for adding a component 
> event handler to a component class
> 
>
> Key: TAP5-1199
> URL: https://issues.apache.org/jira/browse/TAP5-1199
> Project: Tapestry 5
>  Issue Type: Improvement
>  Components: tapestry-core
>Affects Versions: 5.2.0
>Reporter: Howard M. Lewis Ship
>Assignee: Howard M. Lewis Ship
>Priority: Minor
>
> There's a bunch of steps in making this happen; it would be nice if it was 
> just something like:
> transformation.addEventHandler("activate", 0, new ComponentEventHandler(Event 
> event) { ... });
> The number is the minimum number of parameters. 
> The semantics of this is that the handler is invoked first, with an 
> invocation.proceed() at the end. The handler is not invoked if the event is 
> aborted. The result of the invocation is overridden to true if the handler is 
> invoked.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-1203) Use of @Contribute annotation does not work properly with marker annotations

2010-07-14 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-1203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888425#action_12888425
 ] 

Hudson commented on TAP5-1203:
--

Integrated in tapestry-5.2-freestyle #153 (See 
[http://hudson.zones.apache.org/hudson/job/tapestry-5.2-freestyle/153/])


> Use of @Contribute annotation does not work properly with marker annotations
> 
>
> Key: TAP5-1203
> URL: https://issues.apache.org/jira/browse/TAP5-1203
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-ioc
>Affects Versions: 5.2.0
>Reporter: Howard M. Lewis Ship
>Assignee: Howard M. Lewis Ship
> Fix For: 5.2.0
>
>
> @Contribute is a great idea, but there are two problems (as discussed on the 
> mailing list)
> 1) Marker annotations on the contribute method should be simple annotation, 
> not wrapped inside @Marker, i.e.:
> @Contribute(NameListHolder.class)
> @BlueMarker
> public void contributeBlueNames(...)
> 2) The comparison of marker annotations on the contribution method to the 
> marker annotations for the service is slightly off. It was done with 
> equals(), but it should be that the service contains all maker annotations 
> from the contribution method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-1197) Eliminate page pooling using shared page instances that separate their structure from the mutable state

2010-07-14 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888428#action_12888428
 ] 

Hudson commented on TAP5-1197:
--

Integrated in tapestry-5.2-freestyle #153 (See 
[http://hudson.zones.apache.org/hudson/job/tapestry-5.2-freestyle/153/])
TAP5-1197: Remove the Defense class and convert existing code to use Java's 
assert keyword


> Eliminate page pooling using shared page instances that separate their 
> structure from the mutable state
> ---
>
> Key: TAP5-1197
> URL: https://issues.apache.org/jira/browse/TAP5-1197
> Project: Tapestry 5
>  Issue Type: Improvement
>  Components: tapestry-core
>Affects Versions: 5.2.0
>Reporter: Howard M. Lewis Ship
>Assignee: Howard M. Lewis Ship
>
> This has been suggested before, but the recent changes to class 
> transformation API makes it much more reasonable to accomplish.
> The goal here is to identify all transient or mutable state in the page and 
> store it via the PerThreadManager.  This will be invisible to user code; the 
> pages will appear to be individual instances with internal state ... but in 
> fact, it will be a single instance (per locale) with all internal, mutable 
> state stored elsewhere.
> Because this changes the semantics of some aspects of the component class 
> transformation pipeline, there will be a compatibility mode that will allow 
> pages to be pooled as with 5.1, while any third party libraries that 
> contribute workers update.
> Why do all this?  For large applications with very complex pages, this will 
> be a big win, as Tapestry has been shown to strain the limits of available 
> JVM heap (surprising to me, but apparently true) once you have a few dozen 
> (or hundred) page instances (of each page type) floating around.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TAP5-1207) A form control component (such as TextField) whose id is "id" can confuse client-side logic for the Form DOM object

2010-07-14 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-1207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888427#action_12888427
 ] 

Hudson commented on TAP5-1207:
--

Integrated in tapestry-5.2-freestyle #153 (See 
[http://hudson.zones.apache.org/hudson/job/tapestry-5.2-freestyle/153/])


> A form control component (such as TextField) whose id is "id" can confuse 
> client-side logic for the Form DOM object
> ---
>
> Key: TAP5-1207
> URL: https://issues.apache.org/jira/browse/TAP5-1207
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Affects Versions: 5.2.0
>Reporter: Howard M. Lewis Ship
>Assignee: Howard M. Lewis Ship
> Fix For: 5.2.0
>
>
>  Using Chrome's page inspector, I can see that the form's element has been 
> rewritten, from:
>  action="/t5/widendev/searchadmin.removedoc.form" method="post" id="form_3"
> to:
>  action="/t5/widendev/searchadmin.removedoc.form" method="post" id="[object 
> HTMLInputElement]">
> 
> ah, there is is:
> ID 
>type="text"> src="/assets/5.5.1_1/core/spacer.gif"/> 
> Having a form element with id "id" is bad!
> Basically, each element of the form is mapped onto the Form as a property; so 
> HTMLInputElement#id overwrites the id property of the Form (changing it from 
> type string to type HTMLINputElement).
> "id" and perhaps other names need to be added to the list of pre-reserved 
> element ids inside the Form.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



svn commit: r964086 [4/4] - in /tapestry/tapestry5/trunk: tapestry-core/src/main/java/org/apache/tapestry5/ tapestry-core/src/main/java/org/apache/tapestry5/ajax/ tapestry-core/src/main/java/org/apach

2010-07-14 Thread hlship
Modified: 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/AspectInterceptorBuilderImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/AspectInterceptorBuilderImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==
--- 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/AspectInterceptorBuilderImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/AspectInterceptorBuilderImpl.java
 Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2008, 2009 The Apache Software Foundation
+// Copyright 2008, 2009, 2010 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
-// http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,12 +14,6 @@
 
 package org.apache.tapestry5.ioc.internal.services;
 
-import org.apache.tapestry5.ioc.MethodAdvice;
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.Defense;
-import org.apache.tapestry5.ioc.internal.util.OneShotLock;
-import org.apache.tapestry5.ioc.services.*;
-
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -27,6 +21,16 @@ import java.util.Arrays;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.tapestry5.ioc.MethodAdvice;
+import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.internal.util.OneShotLock;
+import org.apache.tapestry5.ioc.services.AspectInterceptorBuilder;
+import org.apache.tapestry5.ioc.services.ClassFab;
+import org.apache.tapestry5.ioc.services.ClassFabUtils;
+import org.apache.tapestry5.ioc.services.ClassFactory;
+import org.apache.tapestry5.ioc.services.MethodSignature;
+
+...@suppresswarnings("all")
 public class AspectInterceptorBuilderImpl implements 
AspectInterceptorBuilder
 {
 private final ClassFactory classFactory;
@@ -54,7 +58,7 @@ public class AspectInterceptorBuilderImp
 private boolean sawToString;
 
 public AspectInterceptorBuilderImpl(ClassFactory classFactory, Class 
serviceInterface, T delegate,
-String description)
+String description)
 {
 this.classFactory = classFactory;
 this.serviceInterface = serviceInterface;
@@ -71,8 +75,8 @@ public class AspectInterceptorBuilderImp
 
 public void adviseMethod(Method method, MethodAdvice advice)
 {
-Defense.notNull(method, "method");
-Defense.notNull(advice, "advice");
+assert method != null;
+assert advice != null;
 
 lock.check();
 
@@ -81,8 +85,8 @@ public class AspectInterceptorBuilderImp
 if (builder == null)
 {
 if (!remainingMethods.contains(method))
-throw new IllegalArgumentException(
-String.format("Method %s is not defined for interface 
%s.", method, serviceInterface));
+throw new IllegalArgumentException(String.format("Method %s is 
not defined for interface %s.", method,
+serviceInterface));
 
 // One less method to pass thru to the delegate
 

Modified: 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassFabImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassFabImpl.java?rev=964086&r1=964085&r2=964086&view=diff
==
--- 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassFabImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassFabImpl.java
 Wed Jul 14 15:51:30 2010
@@ -1,10 +1,10 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2010 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
-// http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,10 +14,2

[jira] Updated: (TAPESTRY-2766) javascaript does no rerender in inner component

2010-07-14 Thread Andrey (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAPESTRY-2766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey updated TAPESTRY-2766:
-

Comment: was deleted

(was: I tried you solution and it didn't worked
As I understand Component should be able to activate it own scripts.
Script working only if first time component is shown and there is full page 
refresh
I don't clearly understand your answer could you explain it in a different way
I'm attaching poc to issue
)

> javascaript does no rerender in inner component
> ---
>
> Key: TAPESTRY-2766
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2766
> Project: Tapestry
>  Issue Type: Bug
>Affects Versions: 4.1.2, 4.1.6
>Reporter: Andrey
>Assignee: Andreas Andreou
>
> I have page and Component inside it with Component.script included. Component 
> first state is hidden, by if around it, ajax call change state of if and 
> rerenders it but script is not on the page(bodyscript)
> Code Example
> Page(show initial value is false, onRefresh change it to true and vice versa)
>
>   
>updateComponents="ognl:{'some'}" renderTag="false"/>
>   
>  
>  updateComponents="ognl:{'div'}">Refresh
> Component:
>  type="text/javascript"/>
> use script from Component script
>   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (TAPESTRY-2766) javascaript does no rerender in inner component

2010-07-14 Thread Andrey (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAPESTRY-2766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey updated TAPESTRY-2766:
-


I tried you solution and it didn't worked
As I understand Component should be able to activate it own scripts.
Script working only if first time component is shown and there is full page 
refresh
I don't clearly understand your answer could you explain it in a different way
I'm attaching poc to issue


> javascaript does no rerender in inner component
> ---
>
> Key: TAPESTRY-2766
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2766
> Project: Tapestry
>  Issue Type: Bug
>Affects Versions: 4.1.2, 4.1.6
>Reporter: Andrey
>Assignee: Andreas Andreou
>
> I have page and Component inside it with Component.script included. Component 
> first state is hidden, by if around it, ajax call change state of if and 
> rerenders it but script is not on the page(bodyscript)
> Code Example
> Page(show initial value is false, onRefresh change it to true and vice versa)
>
>   
>updateComponents="ognl:{'some'}" renderTag="false"/>
>   
>  
>  updateComponents="ognl:{'div'}">Refresh
> Component:
>  type="text/javascript"/>
> use script from Component script
>   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[CONF] Apache Tapestry > Index

2010-07-14 Thread confluence







Index
Page edited by Ulrich Stärk


 Changes (2)
 



...
h2. News [!Feed-icon.gif!|https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=TAPESTRY&title=Apache+Tapestry+News+RSS+Feed&labelString%3D&sort=modified&maxResults=10&timeSpan=5&confirm=Create&showContent=false&showDiff=false]  
{blog-posts:max=5|sort=modified|reverse=true} 
{blog-posts:max=5|sort=modified|reverse=true|content=excerpts} 
{html}{html}  
...

Full Content



  

  
  Component oriented framework for creating dynamic, robust, highly scalable web applications in Java.
  




	Java power

First key feature. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consequat imperdiet consequat. Quisque rutrum ultricies dolor nec imperdiet. Integer sem lectus, lobortis in cursus sed, consequat vitae turpis.

	Script ease

Second key feature. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consequat imperdiet consequat. Quisque rutrum ultricies dolor nec imperdiet. Integer sem lectus, lobortis in cursus sed, consequat vitae turpis.

	Highly Productive

Last key feature. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consequat imperdiet consequat. Quisque rutrum ultricies dolor nec imperdiet. Integer sem lectus, lobortis in cursus sed, consequat vitae turpis.







We think you will love Tapestry! Give us 20 minutes and follow our tutorial.




News 




Wednesday, 26 May 2010



New Website


Last changed Jul 08, 2010 11:05 by Ulrich Stärk


 The Apache Tapestry project is pleased to announce the launch of its new website...

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam a felis diam, vel ultrices quam. Etiam ligula nisl, tristique id tincidunt ut, blandit non nisi. Nulla ultricies lacinia ipsum, sit amet pellentesque nibh rutrum in. Nulla facilisi. Vestibulum eget felis sed ipsum vestibulum laoreet. Morbi vitae odio erat. Vivamus eu mauris eu purus euismod auctor at at lectus. Quisque varius blandit nibh, …

Read more…

Posted at May 26, 2010 by

Ulrich Stärk|

0 comments
|
Edit






What is Apache Tapestry?

Apache Tapestry is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.

Tapestry divides a web application into a set of pages, each constructed from components. This provides a consistent structure, allowing the Tapestry framework to assume responsibility for key concerns such as URL construction and dispatch, persistent state storage on the client or on the server, user input validation, localization/internationalization, and exception reporting. Developing Tapestry applications involves creating HTML templates using plain HTML, and combining the templates with small amounts of Java code. In Tapestry, you create your application in terms of objects, and the methods and properties of those objects – and specifically not in terms of URLs and query parameters. Tapestry brings true object oriented development to Java web applications.

Tapestry is specifically designed to make creating new components very easy, as this is a routine approach when building applications.

Tapestry is architected to scale from tiny, single-page applications all the way up to massive applications consisting of hundreds of individual pages, developed by large, diverse teams. Tapestry easily integrates with any kind of backend, including JEE, Spring and Hibernate.

It's more than what you can do with Tapestry ... it's also how you do it! Tapestry is a vastly productive environment. Java developers love it because they can make Java code changes and see them immediately ... no redeploy, no restart! And it's blazingly fast to boot (even when files change). Designers love it because Tapestry templates are so close to ordinary HTML, without all the cruft and confusion seen in JavaServer Pages. Managers love it because it makes it easy for large teams to work together, and because they know important features (including localization) are baked right in. Once you work in Tapestry there's no going back!

Tapestry is released under the Apache Software Licence 2.0.


Ne

[jira] Commented: (TAP5-1144) Would like a simple way to set GridPager range

2010-07-14 Thread Geoff Callender (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-1144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888354#action_12888354
 ] 

Geoff Callender commented on TAP5-1144:
---

This may not be an issue because I've since found that this kind of thing works:

java:
@Component(id = "list")
@Property
private Grid _list;

tml:




> Would like a simple way to set GridPager range
> --
>
> Key: TAP5-1144
> URL: https://issues.apache.org/jira/browse/TAP5-1144
> Project: Tapestry 5
>  Issue Type: Improvement
>  Components: tapestry-core
>Reporter: Geoff Callender
>
> There are times when the default range of GridPager (5) produces too many 
> boxes (up to 11) for the available display area.
> For example, there's no way this page can handle 11 boxes (and the ellipsis): 
> http://jumpstart.doublenegative.com.au/jumpstart/examples/onepagecrud
> Maybe there's already an easy way to do this, but I'm thinking it would be 
> good to allow the following:
> @InjectComponent
> private Grid _list;
> void setupRender() {
> _list.getGridPager().setRange(MY_RANGE);
> }
> However, getGridPager() and setRange() do not exist.
> Even better, provide a parameter on GridPager that specifies the maximum 
> number of boxes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[CONF] Apache Tapestry > Index

2010-07-14 Thread confluence







Index
Page edited by Ulrich Stärk


 Changes (1)
 



...
h2. News [!Feed-icon.gif!|https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=TAPESTRY&title=Apache+Tapestry+News+RSS+Feed&labelString%3D&sort=modified&maxResults=10&timeSpan=5&confirm=Create&showContent=false&showDiff=false]  
{blog-posts:max=5|sort=modified|reverse=true|content=excerpts} {blog-posts:max=5|sort=creation|reverse=true|content=excerpts} 
{html}{html}  
...

Full Content



  

  
  Component oriented framework for creating dynamic, robust, highly scalable web applications in Java.
  




	Java power

First key feature. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consequat imperdiet consequat. Quisque rutrum ultricies dolor nec imperdiet. Integer sem lectus, lobortis in cursus sed, consequat vitae turpis.

	Script ease

Second key feature. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consequat imperdiet consequat. Quisque rutrum ultricies dolor nec imperdiet. Integer sem lectus, lobortis in cursus sed, consequat vitae turpis.

	Highly Productive

Last key feature. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consequat imperdiet consequat. Quisque rutrum ultricies dolor nec imperdiet. Integer sem lectus, lobortis in cursus sed, consequat vitae turpis.







We think you will love Tapestry! Give us 20 minutes and follow our tutorial.




News 




Wednesday, 26 May 2010



New Website


Last changed Jul 08, 2010 11:05 by Ulrich Stärk


 The Apache Tapestry project is pleased to announce the launch of its new website...

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam a felis diam, vel ultrices quam. Etiam ligula nisl, tristique id tincidunt ut, blandit non nisi. Nulla ultricies lacinia ipsum, sit amet pellentesque nibh rutrum in. Nulla facilisi. Vestibulum eget felis sed ipsum vestibulum laoreet. Morbi vitae odio erat. Vivamus eu mauris eu purus euismod auctor at at lectus. Quisque varius blandit nibh, …

Read more…

Posted at May 26, 2010 by

Ulrich Stärk|

0 comments
|
Edit






What is Apache Tapestry?

Apache Tapestry is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.

Tapestry divides a web application into a set of pages, each constructed from components. This provides a consistent structure, allowing the Tapestry framework to assume responsibility for key concerns such as URL construction and dispatch, persistent state storage on the client or on the server, user input validation, localization/internationalization, and exception reporting. Developing Tapestry applications involves creating HTML templates using plain HTML, and combining the templates with small amounts of Java code. In Tapestry, you create your application in terms of objects, and the methods and properties of those objects – and specifically not in terms of URLs and query parameters. Tapestry brings true object oriented development to Java web applications.

Tapestry is specifically designed to make creating new components very easy, as this is a routine approach when building applications.

Tapestry is architected to scale from tiny, single-page applications all the way up to massive applications consisting of hundreds of individual pages, developed by large, diverse teams. Tapestry easily integrates with any kind of backend, including JEE, Spring and Hibernate.

It's more than what you can do with Tapestry ... it's also how you do it! Tapestry is a vastly productive environment. Java developers love it because they can make Java code changes and see them immediately ... no redeploy, no restart! And it's blazingly fast to boot (even when files change). Designers love it because Tapestry templates are so close to ordinary HTML, without all the cruft and confusion seen in JavaServer Pages. Managers love it because it makes it easy for large teams to work together, and because they know important features (including localization) are baked right in. Once you work in Tapestry there's no going back!

Tapestry is released under the Apache Software Licence 2.0.

[CONF] Apache Tapestry > Navigation

2010-07-14 Thread confluence







Navigation
Page edited by Ulrich Stärk


 Changes (1)
 



...
- [About] - [Community Contributions] 
- [Apache|http://www.apache.org/] - [Sponsorship|http://www.apache.org/foundation/sponsorship.html] - [Thanks|http://www.apache.org/foundation/thanks.html] 
{html}{html} 

Full Content



	Home
	Getting Started
	Documentation
	Download Tapestry
	About
	Community Contributions
	Apache
	Sponsorship
	Thanks






Change Notification Preferences

View Online
|
View Changes









[CONF] Apache Tapestry > Small Banner

2010-07-14 Thread confluence







Small Banner
File attached by  Ulrich Stärk




tapestry_s.png
(14 kB image/png)



   
Change Notification Preferences
   
   View Attachments









[jira] Resolved: (TAPESTRY-2766) javascaript does no rerender in inner component

2010-07-14 Thread Andreas Andreou (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAPESTRY-2766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Andreou resolved TAPESTRY-2766.
---

  Assignee: Andreas Andreou
Resolution: Not A Problem

Because the script is evaluated by Tapestry in an anonymous context,
the main_comp() function definition is executed as normal but then the context 
is closed, so the function is lost!

The way you want to define the function is by attaching it yourself in the 
correct context -
for instance try:

window.main_comp = function() {
alert(1);  } 

or document.main_comp = ...
if you want it to be globally available




> javascaript does no rerender in inner component
> ---
>
> Key: TAPESTRY-2766
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2766
> Project: Tapestry
>  Issue Type: Bug
>Affects Versions: 4.1.2, 4.1.6
>Reporter: Andrey
>Assignee: Andreas Andreou
>
> I have page and Component inside it with Component.script included. Component 
> first state is hidden, by if around it, ajax call change state of if and 
> rerenders it but script is not on the page(bodyscript)
> Code Example
> Page(show initial value is false, onRefresh change it to true and vice versa)
>
>   
>updateComponents="ognl:{'some'}" renderTag="false"/>
>   
>  
>  updateComponents="ognl:{'div'}">Refresh
> Component:
>  type="text/javascript"/>
> use script from Component script
>   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[CONF] Apache Tapestry > Small Banner

2010-07-14 Thread confluence







Small Banner
File removed by  Ulrich Stärk




tapestry_s.png (9 kB image/png)




   
Change Notification Preferences
   
   View Attachments










[jira] Updated: (TAPESTRY-2766) javascaript does no rerender in inner component

2010-07-14 Thread Andrey (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAPESTRY-2766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey updated TAPESTRY-2766:
-


The script actualy came in ajax response but don't appear in DOM

Example(Componet is a @Body element)
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"; 
[

]>


   
 





 
 Test
 


 
 

> javascaript does no rerender in inner component
> ---
>
> Key: TAPESTRY-2766
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2766
> Project: Tapestry
>  Issue Type: Bug
>Affects Versions: 4.1.2, 4.1.6
>Reporter: Andrey
>
> I have page and Component inside it with Component.script included. Component 
> first state is hidden, by if around it, ajax call change state of if and 
> rerenders it but script is not on the page(bodyscript)
> Code Example
> Page(show initial value is false, onRefresh change it to true and vice versa)
>
>   
>updateComponents="ognl:{'some'}" renderTag="false"/>
>   
>  
>  updateComponents="ognl:{'div'}">Refresh
> Component:
>  type="text/javascript"/>
> use script from Component script
>   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[CONF] Apache Tapestry > Banner

2010-07-14 Thread confluence







Banner
Page edited by Ulrich Stärk


 Changes (1)
 



{html:output=html|noPanel=true} 
id="banner"> id="top"> 

...

Full Content



  

  
  Component oriented framework for creating dynamic, robust, highly scalable web applications in Java.
  





Change Notification Preferences

View Online
|
View Changes









[jira] Created: (TAPESTRY-2766) javascaript does no rerender in inner component

2010-07-14 Thread Andrey (JIRA)
javascaript does no rerender in inner component
---

 Key: TAPESTRY-2766
 URL: https://issues.apache.org/jira/browse/TAPESTRY-2766
 Project: Tapestry
  Issue Type: Bug
Affects Versions: 4.1.6, 4.1.2
Reporter: Andrey


I have page and Component inside it with Component.script included. Component 
first state is hidden, by if around it, ajax call change state of if and 
rerenders it but script is not on the page(bodyscript)

Code Example
Page(show initial value is false, onRefresh change it to true and vice versa)
 
  

  
 

Refresh

Component:


use script from Component script




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.