[MAGNOLIA-5732] Workspace in component definition ignored Created: 28/Mar/14  Updated: 01/May/14  Resolved: 28/Mar/14

Status: Closed
Project: Magnolia
Component/s: core
Affects Version/s: 4.5.17, 5.2.3
Fix Version/s: 4.5.18, 5.2.4

Type: Bug Priority: Major
Reporter: Dominik Kunz Assignee: Daniel Lipp
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File ComponentProviderConfigurationBuilder.patch     Text File ComponentProviderConfigurationBuilderTest.java     Text File ComponentWorkspaceWorkaroundConfigurer.java    
Template:
Patch included:
Yes
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Testcase included:
Yes
Release notes required:
Yes
Date of First Response:

 Description   

When defining components with a workspace, the workspace defined is ignored.

For example the following definition states the workspace data however this is ignored and config is always used:

<component>
    <type>com.test.Test</type>
    <workspace>data</workspace>
    <path>/test</path>
    <observed>true</observed>
</component>

The included testcase shows that this is for observed as well as not observed components.

The included patch is for the git master.



 Comments   
Comment by Daniel Lipp [ 28/Mar/14 ]

Hi Dominik,

thx for spotting, adding a test and even fixing it. That's simply great! Looks like a very obvious bug and I'm really surprised nobody run into it before. I check our modules and there we only configure "config" workspace for components (so far) so that's why we didn't run into it before.

Will be fixed today.

Regards
Daniel

Comment by Dominik Kunz [ 28/Mar/14 ]

Hi Daniel,

you are welcome, glad to hear that it gets fixed today. Will save me a bit of extra work.

Regards
Dominik

Comment by Dominik Kunz [ 28/Mar/14 ]

For all that are not able to update Magnolia, a quick but kind of ugly workaround may be achieved using the attached ComponentConfigurer as first <configurer/> in the XML. Then use workspacename:/path/to/node for the <path/> element in the configuration.

Example for path /test in workspace data:

<component>
  <type>com.test.Test</type>
  <path>data:/test</path>
  <observed>true</observed>
</component>
Generated at Mon Feb 12 04:07:52 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.