@Override public Consent isVisible(final AuthenticationSession session, final ObjectAdapter target) { return super.isVisible(session, realTarget(target)); }
@Override public Consent isUsable(final AuthenticationSession session, final ObjectAdapter target) { return super.isUsable(session, realTarget(target)); }
@Override public ObjectAdapter execute(final ObjectAdapter object, final ObjectAdapter[] parameters) { LOG.debug("execute action " + object + "." + getId()); final ObjectAdapter[] params = realParameters(object, parameters); final ObjectAdapter target = realTarget(object); final ActionInvocationFacet facet = getFacet(ActionInvocationFacet.class); return facet.invoke(target, params); }
/** * TODO: currently this method is hard-coded to assume all interactions are * initiated {@link InteractionInvocationMethod#BY_USER by user}. */ @Override public Consent isProposedArgumentSetValid(final ObjectAdapter object, final ObjectAdapter[] proposedArguments) { final ObjectAdapter[] parameters = realParameters(object, proposedArguments); return isProposedArgumentSetValidResultSet(realTarget(object), parameters).createConsent(); }
@Override public ObjectAdapter[] getChoices(final ObjectAdapter adapter) { final List<ObjectAdapter> parameterChoices = Lists.newArrayList(); final ActionParameterChoicesFacet choicesFacet = getFacet(ActionParameterChoicesFacet.class); if (choicesFacet != null) { final Object[] choices = choicesFacet.getChoices(parentAction.realTarget(adapter)); checkChoicesType(getSpecificationLookup(), choices, getSpecification()); for (final Object choice : choices) { parameterChoices.add(getAdapterMap().adapterFor(choice)); } } if (parameterChoices.size() == 0 && BoundedFacetUtils.isBoundedSet(getSpecification())) { addParameterChoicesForBounded(parameterChoices); } return parameterChoices.toArray(new ObjectAdapter[0]); }
@Override public ObjectAdapter getDefault(final ObjectAdapter adapter) { if (parentAction.isContributed() && adapter != null) { if (adapter.getSpecification().isOfType(getSpecification())) { return adapter; } } final ActionParameterDefaultsFacet defaultsFacet = getFacet(ActionParameterDefaultsFacet.class); if (defaultsFacet != null) { final Object dflt = defaultsFacet.getDefault(parentAction.realTarget(adapter)); if (dflt == null) { // it's possible that even though there is a default facet, when // invoked it // is unable to return a default. return null; } return getAdapterMap().adapterFor(dflt); } return null; }
@Override public ObjectAdapter[] getDefaults(final ObjectAdapter target) { final ObjectAdapter realTarget = realTarget(target);
@Override public ObjectAdapter[][] getChoices(final ObjectAdapter target) { final ObjectAdapter realTarget = realTarget(target);