You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Vladimir Velikiy (JIRA)" <ji...@apache.org> on 2014/01/26 17:42:37 UTC

[jira] [Updated] (TAP5-2276) Error loading asset from inherited component from different library

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

Vladimir Velikiy updated TAP5-2276:
-----------------------------------

    Description: 
I use component inheritance in my project. Parent component 'Dialog' is located in library 'common'. It uses asset 'common.js' located in META-INF/assets/common/common.js. When I use it in page it works fine, but if I use inherited component FormDialog located in my application components folder,  I get error: 'Unable to locate asset 'common.js' for component request/Create:contractorcreatedialog. It should be located at META-INF/assets/common.js'. Inherited component doesn't contain any @Import annotations.
This error occurs because method getComponentAsset(...) in AssetSourceImpl uses ComponentResources of inherited component when calculates asset path and gets incorrect (empty in my case) library path prefix instead of super component library name.

  was:
I use component inheritance in my project. Parent component 'Dialog' located in library 'common'. It uses asset 'common.js' located in META-INF/assets/common/common.js. When I use it in page it works fine, but if I use inherited component FormDialog located in my application components folder,  I get error: 'Unable to locate asset 'common.js' for component request/Create:contractorcreatedialog. It should be located at META-INF/assets/common.js'. Inherited component doesn't contain any @Import annotations.
This error occurs because method getComponentAsset(...) in AssetSourceImpl uses ComponentResources of inherited component when calculates asset path and gets incorrect (empty in my case) library path prefix instead of super component library name.


> Error loading asset from inherited component from different library
> -------------------------------------------------------------------
>
>                 Key: TAP5-2276
>                 URL: https://issues.apache.org/jira/browse/TAP5-2276
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.4
>            Reporter: Vladimir Velikiy
>              Labels: assets, component, inheritance
>
> I use component inheritance in my project. Parent component 'Dialog' is located in library 'common'. It uses asset 'common.js' located in META-INF/assets/common/common.js. When I use it in page it works fine, but if I use inherited component FormDialog located in my application components folder,  I get error: 'Unable to locate asset 'common.js' for component request/Create:contractorcreatedialog. It should be located at META-INF/assets/common.js'. Inherited component doesn't contain any @Import annotations.
> This error occurs because method getComponentAsset(...) in AssetSourceImpl uses ComponentResources of inherited component when calculates asset path and gets incorrect (empty in my case) library path prefix instead of super component library name.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)