Search in sources :

Example 1 with Url

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

the class LinkCreator method createLink.

/**
 * Create a search link with the given parameters
 *
 * @param url the url
 * @param rel the link to add
 * @param flags flags for this link, e.g: 'searchable'
 * @param params url parameters
 * @return the link the was created
 */
public static DetailedLink createLink(String url, String rel, LinkFlags flags, ParametersSet params) {
    DetailedLink link = new DetailedLink();
    link.setRel(rel);
    link.setHref(combine(url, rel));
    if (flags == LinkFlags.SEARCHABLE) {
        LinkCapabilities capabilities = new LinkCapabilities();
        capabilities.setSearchable(true);
        link.setLinkCapabilities(capabilities);
    }
    link.setRequest(new Request());
    link.getRequest().setUrl(new Url());
    link.getRequest().getUrl().getParametersSets().add(params);
    return link;
}
Also used : DetailedLink(org.ovirt.engine.api.model.DetailedLink) Request(org.ovirt.engine.api.model.Request) LinkCapabilities(org.ovirt.engine.api.model.LinkCapabilities) Url(org.ovirt.engine.api.model.Url)

Example 2 with Url

use of org.ovirt.engine.api.model.Url 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 Url

use of org.ovirt.engine.api.model.Url 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)

Aggregations

Url (org.ovirt.engine.api.model.Url)3 ParametersSet (org.ovirt.engine.api.model.ParametersSet)2 Request (org.ovirt.engine.api.model.Request)2 DetailedLink (org.ovirt.engine.api.model.DetailedLink)1 LinkCapabilities (org.ovirt.engine.api.model.LinkCapabilities)1 Parameter (org.ovirt.engine.api.model.Parameter)1