Search in sources :

Example 1 with ParametersSet

use of org.ovirt.engine.api.model.ParametersSet in project ovirt-engine by oVirt.

the class LinkCreator method combine.

/**
 * Combine URL params to URI path.
 *
 * @param head the path head
 * @param params the URL params to append
 * @return the combined head and params
 */
public static String combine(String head, List<ParametersSet> params) {
    StringBuilder combined_params = new StringBuilder();
    if (params != null) {
        for (ParametersSet ps : params) {
            for (Parameter param : ps.getParameters()) {
                combined_params.append(String.format(MATRIX_PARAMETER_TEMPLATE, param.getName(), param.getValue()));
            }
        }
    }
    combined_params.insert(0, head);
    return combined_params.toString();
}
Also used : ParametersSet(org.ovirt.engine.api.model.ParametersSet) Parameter(org.ovirt.engine.api.model.Parameter)

Example 2 with ParametersSet

use of org.ovirt.engine.api.model.ParametersSet in project ovirt-engine by oVirt.

the class RsdlBuilder method addUrlParams.

private void addUrlParams(DetailedLink link, Action action) {
    if (action.getRequest().getUrlparams() != null && !action.getRequest().getUrlparams().isEmpty()) {
        link.getRequest().setUrl(new Url());
        ParametersSet ps = new ParametersSet();
        for (Object key : action.getRequest().getUrlparams().keySet()) {
            Parameter param = new Parameter();
            param.setName(key.toString());
            Object value = action.getRequest().getUrlparams().get(key);
            if (value != null) {
                ParamData urlParamData = (ParamData) value;
                param.setType(urlParamData.getType());
                param.setContext(urlParamData.getContext());
                param.setValue(urlParamData.getValue());
                param.setRequired(urlParamData.getRequired() == null ? Boolean.FALSE : urlParamData.getRequired());
                param.setDeprecated(urlParamData.getDeprecated());
            }
            ps.getParameters().add(param);
        }
        link.getRequest().getUrl().getParametersSets().add(ps);
    }
}
Also used : ParametersSet(org.ovirt.engine.api.model.ParametersSet) Parameter(org.ovirt.engine.api.model.Parameter) Url(org.ovirt.engine.api.model.Url)

Example 3 with ParametersSet

use of org.ovirt.engine.api.model.ParametersSet in project ovirt-engine by oVirt.

the class ApiRootLinksCreator method getEventParams.

private static ParametersSet getEventParams() {
    ParametersSet ps = new ParametersSet();
    Parameter param = new Parameter();
    param.setName("from");
    param.setValue("event_id");
    ps.getParameters().add(param);
    return ps;
}
Also used : ParametersSet(org.ovirt.engine.api.model.ParametersSet) Parameter(org.ovirt.engine.api.model.Parameter)

Example 4 with ParametersSet

use of org.ovirt.engine.api.model.ParametersSet in project ovirt-engine by oVirt.

the class RsdlBuilder method addUrlParameter.

/**
 * Adds to a link the a URL parameter, creating all the intermediate objects if they don't exist.
 *
 * @param link the link where the parameters will be added
 * @param parameter the parameter to add
 */
private void addUrlParameter(DetailedLink link, Parameter parameter) {
    Request request = link.getRequest();
    if (request == null) {
        request = new Request();
        link.setRequest(request);
    }
    Url url = request.getUrl();
    if (url == null) {
        url = new Url();
        request.setUrl(url);
    }
    List<ParametersSet> parametersSets = url.getParametersSets();
    ParametersSet parametersSet;
    if (parametersSets.isEmpty()) {
        parametersSet = new ParametersSet();
        parametersSets.add(parametersSet);
    } else {
        parametersSet = parametersSets.get(0);
    }
    parametersSet.getParameters().add(parameter);
}
Also used : ParametersSet(org.ovirt.engine.api.model.ParametersSet) Request(org.ovirt.engine.api.model.Request) Url(org.ovirt.engine.api.model.Url)

Example 5 with ParametersSet

use of org.ovirt.engine.api.model.ParametersSet in project ovirt-engine by oVirt.

the class RsdlBuilder method addCommonActionParameters.

/**
 * Adds to a link the parameters that are common to all actions, like {@code async} and {@code grace_period.expiry}.
 * These parameters will be added to all the signatures that have a body of type {@code Action}.
 *
 * @param link the link where the parameters will be added
 */
private void addCommonActionParameters(DetailedLink link) {
    Request request = link.getRequest();
    if (request != null) {
        org.ovirt.engine.api.model.Body body = request.getBody();
        if (body != null) {
            String type = body.getType();
            if (ACTION.equals(type)) {
                List<ParametersSet> parametersSets = body.getParametersSets();
                for (ParametersSet parametersSet : parametersSets) {
                    List<Parameter> parameters = parametersSet.getParameters();
                    parameters.add(newGracePeriodParameter());
                    parameters.add(newAsyncActionParameter());
                }
            }
        }
    }
}
Also used : ParametersSet(org.ovirt.engine.api.model.ParametersSet) Request(org.ovirt.engine.api.model.Request) Parameter(org.ovirt.engine.api.model.Parameter)

Aggregations

ParametersSet (org.ovirt.engine.api.model.ParametersSet)7 Parameter (org.ovirt.engine.api.model.Parameter)5 Request (org.ovirt.engine.api.model.Request)2 Url (org.ovirt.engine.api.model.Url)2 HashMap (java.util.HashMap)1 Map (java.util.Map)1