You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2014/07/28 17:51:38 UTC

[jira] [Created] (ISIS-845) Hidden (Where.REFERENCES_PARENT) should take into account the instance that is the parent, not just its type.

Dan Haywood created ISIS-845:
--------------------------------

             Summary: Hidden (Where.REFERENCES_PARENT) should take into account the instance that is the parent, not just its type.
                 Key: ISIS-845
                 URL: https://issues.apache.org/jira/browse/ISIS-845
             Project: Isis
          Issue Type: Improvement
    Affects Versions: core-1.6.0
            Reporter: Dan Haywood
            Assignee: Dan Haywood
             Fix For: core-1.7.0


For example:

PartyRelationship {
    fromParty;
    toParty;
}

if rendered from the point of view of the from party, would want to show only the toParty.  But adding this annotation causes both properties to be suppressed.

This can be seen in the code:

    static Filter<ObjectAssociation> associationDoesNotReferenceParent(final ObjectSpecification parentSpec) {
        if(parentSpec == null) {
            return Filters.any();
        }
        return new Filter<ObjectAssociation>() {
            @Override
            public boolean accept(ObjectAssociation association) {
                final HiddenFacet facet = association.getFacet(HiddenFacet.class);
                if(facet == null) {
                    return true;
                }
                if (facet.where() != Where.REFERENCES_PARENT) {
                    return true;
                }
                final ObjectSpecification assocSpec = association.getSpecification();
                final boolean associationSpecIsOfParentSpec = parentSpec.isOfType(assocSpec);
                final boolean isVisible = !associationSpecIsOfParentSpec;
                return isVisible;
            }
        };
    }

Instead, the code should take into account the actual instance that is referenced, not just the type (ie look at the object that the association points back to).



--
This message was sent by Atlassian JIRA
(v6.2#6252)