private static ObjectAction findAction(final List<ObjectAction> actions, final String methodName) { for (int i = 0; i < actions.size(); i++) { if (actions.get(i).getActions().size() > 0) { final ObjectAction action = findAction(actions.get(i).getActions(), methodName); if (action != null) { return action; } } else { if (actions.get(i).getId().equals(methodName)) { return actions.get(i); } } } return null; }
private ObjectAction getAction(final List<ObjectAction> availableActions, final ActionType type, final String id) { if (id == null) { return null; } outer: for (int i = 0; i < availableActions.size(); i++) { final ObjectAction action = availableActions.get(i); if (action.getActions().size() > 0) { // deal with action set final ObjectAction a = getAction(action.getActions(), type, id); if (a != null) { return a; } } else { // regular action if (!type.matchesTypeOf(action)) { continue outer; } if (id.equals(action.getIdentifier().toNameParmsIdentityString())) { return action; } if (id.equals(action.getIdentifier().toNameIdentityString())) { return action; } continue outer; } } return null; }
private ObjectAction getAction(final List<ObjectAction> availableActions, final ActionType type, final String actionName, final List<ObjectSpecification> parameters) { outer: for (int i = 0; i < availableActions.size(); i++) { final ObjectAction action = availableActions.get(i); if (action.getActions().size() > 0) { // deal with action set final ObjectAction a = getAction(action.getActions(), type, actionName, parameters); if (a != null) { return a; } } else { // regular action if (!action.getType().equals(type)) { continue outer; } if (actionName != null && !actionName.equals(action.getId())) { continue outer; } if (action.getParameters().size() != parameters.size()) { continue outer; } for (int j = 0; j < parameters.size(); j++) { if (!parameters.get(j).isOfType(action.getParameters().get(j).getSpecification())) { continue outer; } } return action; } } return null; }
final int newIndent = indent + 4; try { final List<ObjectAction> debActions = objectAction.getActions(); if (debActions.size() > 0) { for (int i = 0; i < debActions.size(); i++) {
private static void writeMethods(final Request request, final ObjectAdapter adapter, List<ObjectAction> actions, final String objectId, final boolean showForms, final InclusionList inclusionList, final String cancelTo) { actions = inclusionList.includedActions(actions); for (int j = 0; j < actions.size(); j++) { final ObjectAction action = actions.get(j); if (action instanceof ObjectActionSet) { request.appendHtml("<div class=\"actions\">"); writeMethods(request, adapter, action.getActions(), objectId, showForms, inclusionList, cancelTo); request.appendHtml("</div>"); } else if (action.isContributed()) { if (action.getParameterCount() == 1 && adapter.getSpecification().isOfType(action.getParameters().get(0).getSpecification())) { if (objectId != null) { final ObjectAdapter target = request.getContext().getMappedObject(objectId); final ObjectAdapter realTarget = action.realTarget(target); final String realTargetId = request.getContext().mapObject(realTarget, Scope.INTERACTION); writeMethod(request, adapter, new String[] { objectId }, action, realTargetId, showForms, cancelTo); } else { request.appendHtml("<div class=\"action\">"); request.appendAsHtmlEncoded(action.getName()); request.appendHtml("???</div>"); } } else if (!adapter.getSpecification().isService()) { writeMethod(request, adapter, new String[0], action, objectId, showForms, cancelTo); } } else { writeMethod(request, adapter, new String[0], action, objectId, showForms, cancelTo); } } }