/** * 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); }
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); } }
/** * 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; }