@Override public ObjectActionParameter getParameterById(final String paramId) { final List<ObjectActionParameter> allParameters = getParameters(); for (int i = 0; i < allParameters.size(); i++) { final ObjectActionParameter param = allParameters.get(i); if (Objects.equal(paramId, param.getId())) { return param; } } return null; }
@Override protected JsonRepresentation mutatorArgs(final MutatorSpec mutatorSpec) { final JsonRepresentation argMap = JsonRepresentation.newMap(); final List<ObjectActionParameter> parameters = objectMember.getParameters(); for (int i = 0; i < objectMember.getParameterCount(); i++) { argMap.mapPut(parameters.get(i).getId() + ".value", argValueFor(i)); } return argMap; }
@Override protected JsonRepresentation mutatorArgs(final MutatorSpec mutatorSpec) { final JsonRepresentation argMap = JsonRepresentation.newMap(); final List<ObjectActionParameter> parameters = objectMember.getParameters(); for (int i = 0; i < objectMember.getParameterCount(); i++) { argMap.mapPut(parameters.get(i).getId(), argValueFor(i)); } return argMap; }
@Override protected JsonRepresentation mutatorArgs(final MutatorSpec mutatorSpec) { final JsonRepresentation argMap = JsonRepresentation.newMap(); final List<ObjectActionParameter> parameters = objectMember.getParameters(); for (int i = 0; i < objectMember.getParameterCount(); i++) { argMap.mapPut(parameters.get(i).getId() + ".value", argValueFor(i)); } return argMap; }
private ObjectActionReprRenderer addParameterDetails() { boolean gsoc2013 = getRendererContext().getConfiguration().getBoolean("isis.viewer.restfulobjects.gsoc2013.legacyParamDetails", false); if(gsoc2013) { final List<Object> parameters = Lists.newArrayList(); for (int i = 0; i < objectMember.getParameterCount(); i++) { final ObjectActionParameter param = objectMember.getParameters().get(i); final Object paramDetails = paramDetails(param); parameters.add(paramDetails); } representation.mapPut("parameters", parameters); } else { final Map<String,Object> parameters = Maps.newLinkedHashMap(); for (int i = 0; i < objectMember.getParameterCount(); i++) { final ObjectActionParameter param = objectMember.getParameters().get(i); final Object paramDetails = paramDetails(param); parameters.put(param.getId(), paramDetails); } representation.mapPut("parameters", parameters); } return this; }
private static List<JsonRepresentation> argListFor(final ObjectAction action, final JsonRepresentation arguments) { final List<JsonRepresentation> argList = Lists.newArrayList(); // ensure that we have no arguments that are not parameters for (final Map.Entry<String, JsonRepresentation> arg : arguments.mapIterable()) { final String argName = arg.getKey(); if(argName.startsWith("x-ro")) { continue; } if (action.getParameterById(argName) == null) { String reason = String.format("Argument '%s' found but no such parameter", argName); arguments.mapPut("x-ro-invalidReason", reason); throw RestfulObjectsApplicationException.createWithBody(RestfulResponse.HttpStatusCode.BAD_REQUEST, arguments, reason); } } // ensure that an argument value has been provided for all non-optional // parameters final List<ObjectActionParameter> parameters = action.getParameters(); for (final ObjectActionParameter param : parameters) { final String paramId = param.getId(); final JsonRepresentation argRepr = arguments.getRepresentation(paramId); if (argRepr == null && !param.isOptional()) { String reason = String.format("No argument found for (mandatory) parameter '%s'", paramId); arguments.mapPut("x-ro-invalidReason", reason); throw RestfulObjectsApplicationException.createWithBody(RestfulResponse.HttpStatusCode.BAD_REQUEST, arguments, reason); } argList.add(argRepr); } return argList; }
private static List<JsonRepresentation> argListFor(final ObjectAction action, final JsonRepresentation arguments) { final List<JsonRepresentation> argList = Lists.newArrayList(); // ensure that we have no arguments that are not parameters for (final Entry<String, JsonRepresentation> arg : arguments.mapIterable()) { final String argName = arg.getKey(); if (action.getParameterById(argName) == null) { String reason = String.format("Argument '%s' found but no such parameter", argName); arguments.mapPut("x-ro-invalidReason", reason); throw RestfulObjectsApplicationException.createWithBody(HttpStatusCode.BAD_REQUEST, arguments, reason); } } // ensure that an argument value has been provided for all non-optional // parameters final List<ObjectActionParameter> parameters = action.getParameters(); for (final ObjectActionParameter param : parameters) { final String paramId = param.getId(); final JsonRepresentation argRepr = arguments.getRepresentation(paramId); if (argRepr == null && !param.isOptional()) { String reason = String.format("No argument found for (mandatory) parameter '%s'", paramId); arguments.mapPut("x-ro-invalidReason", reason); throw RestfulObjectsApplicationException.createWithBody(HttpStatusCode.BAD_REQUEST, arguments, reason); } argList.add(argRepr); } return argList; }
private ObjectActionReprRenderer addParameterDetails() { boolean gsoc2013 = getRendererContext().getConfiguration().getBoolean("isis.viewer.restfulobjects.gsoc2013.legacyParamDetails", false); if(gsoc2013) { final List<Object> parameters = Lists.newArrayList(); for (int i = 0; i < objectMember.getParameterCount(); i++) { final ObjectActionParameter param = objectMember.getParameters().get(i); final Object paramDetails = paramDetails(param, getInteractionInitiatedBy()); parameters.add(paramDetails); } representation.mapPut("parameters", parameters); } else { final Map<String,Object> parameters = Maps.newLinkedHashMap(); for (int i = 0; i < objectMember.getParameterCount(); i++) { final ObjectActionParameter param = objectMember.getParameters().get(i); final Object paramDetails = paramDetails(param, getInteractionInitiatedBy()); parameters.put(param.getId(), paramDetails); } representation.mapPut("parameters", parameters); } return this; }
private static List<JsonRepresentation> argListFor(final ObjectAction action, final JsonRepresentation arguments) { final List<JsonRepresentation> argList = Lists.newArrayList(); // ensure that we have no arguments that are not parameters for (final Entry<String, JsonRepresentation> arg : arguments.mapIterable()) { final String argName = arg.getKey(); if (action.getParameterById(argName) == null) { throw RestfulObjectsApplicationException.create(HttpStatusCode.BAD_REQUEST, "Action '%s' does not have a parameter %s but an argument of that name was provided", action.getId(), argName); } } // ensure that an argument value has been provided for all non-optional // parameters final List<ObjectActionParameter> parameters = action.getParameters(); for (final ObjectActionParameter param : parameters) { final String paramId = param.getId(); final JsonRepresentation argRepr = arguments.getRepresentation(paramId); if (argRepr == null && !param.isOptional()) { throw RestfulObjectsApplicationException.create(HttpStatusCode.BAD_REQUEST, "Action '%s', no argument found for (mandatory) parameter '%s'", action.getId(), paramId); } argList.add(argRepr); } return argList; }
@Override public String getCssClass(final ScalarModel scalarModel) { final ObjectAdapterMemento adapterMemento = scalarModel.getObjectAdapterMemento(); if (adapterMemento == null) { // shouldn't happen return null; } final ObjectActionParameter actionParameter = scalarModel.getParameterMemento() .getActionParameter(scalarModel.getSpecificationLoader()); final ObjectAction action = actionParameter.getAction(); final String objectSpecId = action.getOnType().getSpecId().asString().replace(".", "-"); final String parmId = actionParameter.getId(); return "isis-" + objectSpecId + "-" + action.getId() + "-" + parmId; }
private Object paramDetails(final ObjectActionParameter param) { final JsonRepresentation paramRep = JsonRepresentation.newMap(); paramRep.mapPut("num", param.getNumber()); paramRep.mapPut("id", param.getId()); paramRep.mapPut("name", param.getName()); paramRep.mapPut("description", param.getDescription()); final Object paramChoices = choicesFor(param); if (paramChoices != null) { paramRep.mapPut("choices", paramChoices); } final Object paramDefault = defaultFor(param); if (paramDefault != null) { paramRep.mapPut("default", paramDefault); } return paramRep; }
private Object paramDetails(final ObjectActionParameter param, final InteractionInitiatedBy interactionInitiatedBy) { final JsonRepresentation paramRep = JsonRepresentation.newMap(); paramRep.mapPut("num", param.getNumber()); paramRep.mapPut("id", param.getId()); paramRep.mapPut("name", param.getName()); paramRep.mapPut("description", param.getDescription()); final Object paramChoices = choicesFor(param, interactionInitiatedBy); if (paramChoices != null) { paramRep.mapPut("choices", paramChoices); } final Object paramDefault = defaultFor(param); if (paramDefault != null) { paramRep.mapPut("default", paramDefault); } return paramRep; }
private Object paramDetails(final ObjectActionParameter param) { final JsonRepresentation paramRep = JsonRepresentation.newMap(); paramRep.mapPut("num", param.getNumber()); paramRep.mapPut("id", param.getId()); paramRep.mapPut("name", param.getName()); paramRep.mapPut("description", param.getDescription()); final Object paramChoices = choicesFor(param); if (paramChoices != null) { paramRep.mapPut("choices", paramChoices); } final Object paramDefault = defaultFor(param); if (paramDefault != null) { paramRep.mapPut("default", paramDefault); } return paramRep; }