[
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
Unable to locate asset 'classpath:mypackage/testapp/components/datefield.gif'
(the file does not exist).
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 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.
> 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
> Unable to locate asset 'classpath:mypackage/testapp/components/datefield.gif'
> (the file does not exist).
> 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