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

Alex Lumpov updated TAP5-1501:
------------------------------

    Description: 
Suppose there is a component that uses a certain  asset (for example 
DateField). I want to extend it.
For example:

package mypackage.testapp.components;
import org.apache.tapestry5.corelib.components.DateField;
public class MyDateField extends DateField {
}

If i change the asset and put it in a new classpath, then everything is fine.
But if i want to override only a class and use the already existing asset, then 
i get the error:

Unable to locate asset 'classpath:mypackage/testapp/components/datefield.gif' 
(the file does not exist).

Hide uninteresting stack frames Stack trace

org.apache.tapestry5.internal.services.assetsourceimpl.getlocalizedassetfromresource(Assetsourceimpl.java:135)
* 
org.apache.tapestry5.internal.services.assetsourceimpl.getassetinlocale(Assetsourceimpl.java:105)
* 
org.apache.tapestry5.internal.services.assetsourceimpl.getasset(Assetsourceimpl.java:85)
* $Assetsource_12f2703a8d2.getasset($Assetsource_12f2703a8d2.java)
* 
org.apache.tapestry5.internal.bindings.assetbindingfactory.newbinding(Assetbindingfactory.java:45)
* $Bindingfactory_12f2703a9a5.newbinding($Bindingfactory_12f2703a9a5.java)
* 
org.apache.tapestry5.internal.services.bindingsourceimpl.newbinding(Bindingsourceimpl.java:78)
* 
org.apache.tapestry5.internal.services.bindingsourceimpl.newbinding(Bindingsourceimpl.java:41)
...


It seems to me it would be nice if the classpath assets could be inheritable 
like templates.

  was:
Suppose there is a component that uses a certain  asset (for example 
Datefield). I want to extend it.
For example:

package mypackage.testapp.components;
import org.apache.tapestry5.corelib.components.datefield;
public class Mydatefield datefield extends {
}

If i change the asset and put it in a new classpath, then everything is fine.
But if i want to override only a class and use the already existing asset, then 
i get the error:

Unable to locate asset 'classpath:mypackage/testapp/components/datefield.gif' 
(the file does not exist).

Hide uninteresting stack frames Stack trace

org.apache.tapestry5.internal.services.assetsourceimpl.getlocalizedassetfromresource(Assetsourceimpl.java:135)
* 
org.apache.tapestry5.internal.services.assetsourceimpl.getassetinlocale(Assetsourceimpl.java:105)
* 
org.apache.tapestry5.internal.services.assetsourceimpl.getasset(Assetsourceimpl.java:85)
* $Assetsource_12f2703a8d2.getasset($Assetsource_12f2703a8d2.java)
* 
org.apache.tapestry5.internal.bindings.assetbindingfactory.newbinding(Assetbindingfactory.java:45)
* $Bindingfactory_12f2703a9a5.newbinding($Bindingfactory_12f2703a9a5.java)
* 
org.apache.tapestry5.internal.services.bindingsourceimpl.newbinding(Bindingsourceimpl.java:78)
* 
org.apache.tapestry5.internal.services.bindingsourceimpl.newbinding(Bindingsourceimpl.java:41)
...


It seems to me it would be nice if the classpath assets could be inheritable 
like templates.


> Asset Inheritance
> -----------------
>
>                 Key: TAP5-1501
>                 URL: https://issues.apache.org/jira/browse/TAP5-1501
>             Project: Tapestry 5
>          Issue Type: Wish
>          Components: tapestry-core
>    Affects Versions: 5.2.4, 5.2.5
>            Reporter: Alex Lumpov
>
> Suppose there is a component that uses a certain  asset (for example 
> DateField). I want to extend it.
> For example:
> package mypackage.testapp.components;
> import org.apache.tapestry5.corelib.components.DateField;
> public class MyDateField extends DateField {
> }
> If i change the asset and put it in a new classpath, then everything is fine.
> But if i want to override only a class and use the already existing asset, 
> then i get the error:
> Unable to locate asset 'classpath:mypackage/testapp/components/datefield.gif' 
> (the file does not exist).
> Hide uninteresting stack frames Stack trace
> org.apache.tapestry5.internal.services.assetsourceimpl.getlocalizedassetfromresource(Assetsourceimpl.java:135)
> * 
> org.apache.tapestry5.internal.services.assetsourceimpl.getassetinlocale(Assetsourceimpl.java:105)
> * 
> org.apache.tapestry5.internal.services.assetsourceimpl.getasset(Assetsourceimpl.java:85)
> * $Assetsource_12f2703a8d2.getasset($Assetsource_12f2703a8d2.java)
> * 
> org.apache.tapestry5.internal.bindings.assetbindingfactory.newbinding(Assetbindingfactory.java:45)
> * $Bindingfactory_12f2703a9a5.newbinding($Bindingfactory_12f2703a9a5.java)
> * 
> org.apache.tapestry5.internal.services.bindingsourceimpl.newbinding(Bindingsourceimpl.java:78)
> * 
> org.apache.tapestry5.internal.services.bindingsourceimpl.newbinding(Bindingsourceimpl.java:41)
> ...
> It seems to me it would be nice if the classpath assets could be inheritable 
> like templates.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to