Opened 18 years ago

Closed 16 years ago

Last modified 16 years ago

#394 closed enhancement (fixed)

Make it possible to export and properly query values in components

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: minor Milestone: BASE 2.9
Component: core Version:
Keywords: Cc:

Description

The ColoringData component is the first component class we use in BASE. However, it came with some limitations. The query system always assumes that property paths with dots (for example scan.protocol.name) are references to other object, but this is not the case for components (for example coloring.minValue). As a result it is not possible to use the auto-join feature of the query. It works for the moment with formulas since the don't have any references and we can safely disable the auto-join. The current implementation will not work if we mix components with references. The problematic code is in the ItemContext.configureQuery method.

The export function doesn't work for a similar reason. The Metadata class can handle property paths with dots (for example: scan.protocol.name) but it assumes that they are references. The Metadata class needs to check the ClassMetadata.getPropertyType() in Hibernate to find out if it is a component or an entity.

Change History (2)

comment:1 by Nicklas Nordborg, 16 years ago

Resolution: fixed
Status: newclosed

(In [4620]) Fixes #394: Make it possible to export and properly query values in components

The query problem was solved by using # instead of . to separate paths in a component. The export problem was solved by introducing a new interface (ComponentData) that all components must implement.

comment:2 by Nicklas Nordborg, 16 years ago

Milestone: BASE 2.x+BASE 2.9
Note: See TracTickets for help on using tickets.