You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Alexander Kundirenko (JIRA)" <ta...@jakarta.apache.org> on 2005/09/01 17:33:08 UTC

[jira] Created: (TAPESTRY-619) Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed

Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed
-----------------------------------------------------------------------------------------------------------------

         Key: TAPESTRY-619
         URL: http://issues.apache.org/jira/browse/TAPESTRY-619
     Project: Tapestry
        Type: Improvement
  Components: Framework  
    Versions: 4.0    
 Reporter: Alexander Kundirenko


I want to initialize persistent property using value of another property.
f.e. I have:

<property name="itemClass" initial-value="literal:research.model.SomeObject"/>

@Persist
public abstract IPersistable getItem();
public abstract void setItem(IPersistable item);

I want to initialize my "item" property using initial-value of "itemClass" property
But if I  override finishLoad() method I can't do it, because "itemClass" is still not initialized.
It is initialized in generated method, in my case it was:

  $FormPage_118.finishLoad(IRequestCycle, IPageLoader, IComponentSpecification)

Can  you make AbstractComponent.finishLoad()  called after this generated method executes?

package org.apache.tapestry;

class AbstractComponent {
...

public void finishLoad(IRequestCycle cycle, IPageLoader loader,
            IComponentSpecification specification)
    {
        //MOVE GENERATED CODE HERE
        finishLoad();
        //IT IS HERE NOW
    }
...
}

Thank you


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


[jira] Commented: (TAPESTRY-619) Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed

Posted by "Howard M. Lewis Ship (JIRA)" <ta...@jakarta.apache.org>.
    [ http://issues.apache.org/jira/browse/TAPESTRY-619?page=comments#action_12320808 ] 

Howard M. Lewis Ship commented on TAPESTRY-619:
-----------------------------------------------

Perhaps you could do your initialization elsewhere, such as in pageAttached() (PageAttachListener) or pageBeginRender (PageBeginRenderListener)?

> Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed
> -----------------------------------------------------------------------------------------------------------------
>
>          Key: TAPESTRY-619
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-619
>      Project: Tapestry
>         Type: Improvement
>   Components: Framework
>     Versions: 4.0
>     Reporter: Alexander Kundirenko

>
> I want to initialize persistent property using value of another property.
> f.e. I have:
> <property name="itemClass" initial-value="literal:research.model.SomeObject"/>
> @Persist
> public abstract IPersistable getItem();
> public abstract void setItem(IPersistable item);
> I want to initialize my "item" property using initial-value of "itemClass" property
> But if I  override finishLoad() method I can't do it, because "itemClass" is still not initialized.
> It is initialized in generated method, in my case it was:
>   $FormPage_118.finishLoad(IRequestCycle, IPageLoader, IComponentSpecification)
> Can  you make AbstractComponent.finishLoad()  called after this generated method executes?
> package org.apache.tapestry;
> class AbstractComponent {
> ...
> public void finishLoad(IRequestCycle cycle, IPageLoader loader,
>             IComponentSpecification specification)
>     {
>         //MOVE GENERATED CODE HERE
>         finishLoad();
>         //IT IS HERE NOW
>     }
> ...
> }
> Thank you

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


[jira] Resolved: (TAPESTRY-619) Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed

Posted by "Howard M. Lewis Ship (JIRA)" <ta...@jakarta.apache.org>.
     [ http://issues.apache.org/jira/browse/TAPESTRY-619?page=all ]
     
Howard M. Lewis Ship resolved TAPESTRY-619:
-------------------------------------------

    Resolution: Won't Fix
     Assign To: Howard M. Lewis Ship

Alas, a change such as you suggest would break many other things. No can do in this release, but you may be satisfied in 4.1, where we get rid of subclassing for pages and components.

> Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed
> -----------------------------------------------------------------------------------------------------------------
>
>          Key: TAPESTRY-619
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-619
>      Project: Tapestry
>         Type: Improvement
>   Components: Framework
>     Versions: 4.0
>     Reporter: Alexander Kundirenko
>     Assignee: Howard M. Lewis Ship

>
> I want to initialize persistent property using value of another property.
> f.e. I have:
> <property name="itemClass" initial-value="literal:research.model.SomeObject"/>
> @Persist
> public abstract IPersistable getItem();
> public abstract void setItem(IPersistable item);
> I want to initialize my "item" property using initial-value of "itemClass" property
> But if I  override finishLoad() method I can't do it, because "itemClass" is still not initialized.
> It is initialized in generated method, in my case it was:
>   $FormPage_118.finishLoad(IRequestCycle, IPageLoader, IComponentSpecification)
> Can  you make AbstractComponent.finishLoad()  called after this generated method executes?
> package org.apache.tapestry;
> class AbstractComponent {
> ...
> public void finishLoad(IRequestCycle cycle, IPageLoader loader,
>             IComponentSpecification specification)
>     {
>         //MOVE GENERATED CODE HERE
>         finishLoad();
>         //IT IS HERE NOW
>     }
> ...
> }
> Thank you

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


[jira] Commented: (TAPESTRY-619) Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed

Posted by "Alexander Kundirenko (JIRA)" <ta...@jakarta.apache.org>.
    [ http://issues.apache.org/jira/browse/TAPESTRY-619?page=comments#action_12320815 ] 

Alexander Kundirenko commented on TAPESTRY-619:
-----------------------------------------------

But attach() and pageBeginReder() are called on each page request.
I need to page fill property with initial value once., when page instance is creating.

The problem is to do it using another property initial-value.

BTW why changes which are made within enterActiveState() are not  saved when page returns to pool?
Is it normal behaviour?     


> Call AbstractComponent.finishLoad() after generated code in ConcretePage.finishLoad(cycle, loader, spec) executed
> -----------------------------------------------------------------------------------------------------------------
>
>          Key: TAPESTRY-619
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-619
>      Project: Tapestry
>         Type: Improvement
>   Components: Framework
>     Versions: 4.0
>     Reporter: Alexander Kundirenko

>
> I want to initialize persistent property using value of another property.
> f.e. I have:
> <property name="itemClass" initial-value="literal:research.model.SomeObject"/>
> @Persist
> public abstract IPersistable getItem();
> public abstract void setItem(IPersistable item);
> I want to initialize my "item" property using initial-value of "itemClass" property
> But if I  override finishLoad() method I can't do it, because "itemClass" is still not initialized.
> It is initialized in generated method, in my case it was:
>   $FormPage_118.finishLoad(IRequestCycle, IPageLoader, IComponentSpecification)
> Can  you make AbstractComponent.finishLoad()  called after this generated method executes?
> package org.apache.tapestry;
> class AbstractComponent {
> ...
> public void finishLoad(IRequestCycle cycle, IPageLoader loader,
>             IComponentSpecification specification)
>     {
>         //MOVE GENERATED CODE HERE
>         finishLoad();
>         //IT IS HERE NOW
>     }
> ...
> }
> Thank you

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org