Skip to content

Conversation

@andi-huber
Copy link
Contributor

@andi-huber andi-huber commented Nov 27, 2025

  • programming model design
  • implement as hiding advisor, similar to the ProtoypeFacet

@andi-huber andi-huber self-assigned this Nov 27, 2025

return property.isVisible(owner, InteractionInitiatedBy.FRAMEWORK, getWhere()).isAllowed()
&& property.isVisible(owner, InteractionInitiatedBy.USER, getWhere()).isAllowed()
return property.isVisible(owner, iConstraint().withInitiatedBy(InteractionInitiatedBy.FRAMEWORK)).isAllowed() //TODO strange API
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the only place where we ask framework and user visibility;
how is this justified?

RenderPolicy renderPolicy)
implements VisibilityContext {

// public CollectionVisibilityContext(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if ultimately not needed, remove

Comment on lines +75 to +79
property.isVisible(rowElement(), iConstraint).isAllowed() //TODO API: should not be required
? property.get(rowElement(), interactionInitiatedBy)
: ManagedObject.empty(property.getElementType())),
collection-> ManagedObjects.unpack(
collection.isVisible(rowElement(), interactionInitiatedBy, Where.ALL_TABLES).isAllowed()
collection.isVisible(rowElement(), iConstraint).isAllowed() //TODO API: should not be required
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

confusing:
we are checking whether a property is visible, constraint by WhatViewer and Where, but then use path-through, ignoring user access constraints to get the property.

Comment on lines +54 to +61
|| property.isVisible(rowElement(), iConstraint).isAllowed() //TODO API: should not be required
? property.get(rowElement(), interactionInitiatedBy)
: ManagedObject.empty(property.getElementType())),
collection-> ManagedObjects.unpack(
interactionInitiatedBy.isPassThrough()
|| collection.isVisible(rowElement(), interactionInitiatedBy, Where.ALL_TABLES).isAllowed()
? collection.get(rowElement(), interactionInitiatedBy)
: null
|| collection.isVisible(rowElement(), iConstraint).isAllowed() //TODO API: should not be required
? collection.get(rowElement(), interactionInitiatedBy)
: null
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as in DataRowInternal, confusing:
we are checking whether a property is visible, constraint by WhatViewer and Where, but then use path-through, ignoring user access constraints to get the property

Comment on lines +49 to +60
@Override
public void process(final ProcessClassContext processClassContext) {
var facetHolder = processClassContext.getFacetHolder();
//TODO WIP FacetUtil.addFacet(new HiddenFacetForFeatureFilterImpl(facetHolder));
}

@Override
public void process(final ProcessMethodContext processMethodContext) {
var facetHolder = processMethodContext.getFacetHolder();
//TODO WIP processMethodContext.getFeatureType().isProperty();
//TODO WIP FacetUtil.addFacet(new HiddenFacetForFeatureFilterImpl(facetHolder));
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs implenting

andi-huber added a commit that referenced this pull request Dec 3, 2025
to a point of sanity
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant