private static String percentDecode(final String value) throws UriSyntaxException { try { return Decoder.decode(value); } catch (RuntimeException e) { throw new UriSyntaxException(UriSyntaxException.URISYNTAX, e); } }
private static String percentDecode(final String value) throws UriSyntaxException { try { return Decoder.decode(value); } catch (RuntimeException e) { throw new UriSyntaxException(UriSyntaxException.URISYNTAX, e); } }
private static String percentDecode(final String value) throws UriSyntaxException { try { return Decoder.decode(value); } catch (RuntimeException e) { throw new UriSyntaxException(UriSyntaxException.URISYNTAX, e); } }
public static Map<String, String> extractQueryParameters(final String queryString) { Map<String, String> queryParametersMap = new HashMap<String, String>(); if (queryString != null && queryString.length() > 0) { // At first the queryString will be decoded. List<String> queryParameters = Arrays.asList(queryString.split("\\&")); for (String param : queryParameters) { String decodedParam = Decoder.decode(param); int indexOfEqualSign = decodedParam.indexOf("="); if (indexOfEqualSign < 0) { queryParametersMap.put(decodedParam, ""); } else { queryParametersMap.put(decodedParam.substring(0, indexOfEqualSign), decodedParam .substring(indexOfEqualSign + 1)); } } } return queryParametersMap; }
public static Map<String, String> extractQueryParameters(final String queryString) { Map<String, String> queryParametersMap = new HashMap<String, String>(); if (queryString != null && queryString.length() > 0) { // At first the queryString will be decoded. List<String> queryParameters = Arrays.asList(queryString.split("\\&")); for (String param : queryParameters) { String decodedParam = Decoder.decode(param); int indexOfEqualSign = decodedParam.indexOf("="); if (indexOfEqualSign < 0) { queryParametersMap.put(decodedParam, ""); } else { queryParametersMap.put(decodedParam.substring(0, indexOfEqualSign), decodedParam .substring(indexOfEqualSign + 1)); } } } return queryParametersMap; }
private static List<PathSegment> convertPathSegmentList(final List<String> pathSegments) { ArrayList<PathSegment> converted = new ArrayList<PathSegment>(); for (final String segment : pathSegments) { int index = segment.indexOf(";"); if (index == -1) { converted.add(new ODataPathSegmentImpl(Decoder.decode(segment), null)); } else { String path = segment.substring(0, index); Map<String, List<String>> parameterMap = extractMatrixParameter(segment, index); converted.add(new ODataPathSegmentImpl(Decoder.decode(path), parameterMap)); } } return converted; }
private static List<PathSegment> convertPathSegmentList(final List<String> pathSegments) { ArrayList<PathSegment> converted = new ArrayList<PathSegment>(); for (final String segment : pathSegments) { int index = segment.indexOf(";"); if (index == -1) { converted.add(new ODataPathSegmentImpl(Decoder.decode(segment), null)); } else { String path = segment.substring(0, index); Map<String, List<String>> parameterMap = extractMatrixParameter(segment, index); converted.add(new ODataPathSegmentImpl(Decoder.decode(path), parameterMap)); } } return converted; }
public static Map<String, List<String>> parseQueryParameter(final Line httpRequest) { Map<String, List<String>> queryParameter = new HashMap<String, List<String>>(); String[] requestParts = httpRequest.toString().split(" "); if (requestParts.length == 3) { String[] parts = requestParts[1].split("\\?"); if (parts.length == 2) { String[] parameters = parts[1].split("&"); for (String parameter : parameters) { String[] parameterParts = parameter.split("="); String parameterName = parameterParts[0]; if (parameterParts.length == 2) { List<String> valueList = queryParameter.get(parameterName); valueList = valueList == null ? new LinkedList<String>() : valueList; queryParameter.put(parameterName, valueList); valueList.add(Decoder.decode(parameterParts[1])); } } } } return queryParameter; } }
public static Map<String, List<String>> parseQueryParameter(final Line httpRequest) { Map<String, List<String>> queryParameter = new HashMap<String, List<String>>(); String[] requestParts = httpRequest.toString().split(" "); if (requestParts.length == 3) { String[] parts = requestParts[1].split("\\?"); if (parts.length == 2) { String[] parameters = parts[1].split("&"); for (String parameter : parameters) { String[] parameterParts = parameter.split("="); String parameterName = parameterParts[0]; if (parameterParts.length == 2) { List<String> valueList = queryParameter.get(parameterName); valueList = valueList == null ? new LinkedList<String>() : valueList; queryParameter.put(parameterName, valueList); valueList.add(Decoder.decode(parameterParts[1])); } } } } return queryParameter; } }
public static Map<String, List<String>> extractAllQueryParameters(final String queryString, String formEncoding) { Map<String, List<String>> allQueryParameterMap = new HashMap<String, List<String>>(); if(Boolean.parseBoolean(formEncoding)){ List<String> encoding = new ArrayList<String>(); encoding.add(formEncoding); allQueryParameterMap.put(ACCEPT_FORM_ENCODING, encoding ); } if (queryString != null && queryString.length() > 0) { // At first the queryString will be decoded. List<String> queryParameters = Arrays.asList(queryString.split("\\&")); for (String param : queryParameters) { String decodedParam = Decoder.decode(param); int indexOfEqualSign = decodedParam.indexOf("="); if (indexOfEqualSign < 0) { final List<String> parameterList = allQueryParameterMap.containsKey(decodedParam) ? allQueryParameterMap.get(decodedParam) : new LinkedList<String>(); allQueryParameterMap.put(decodedParam, parameterList); parameterList.add(""); } else { final String key = decodedParam.substring(0, indexOfEqualSign); final List<String> parameterList = allQueryParameterMap.containsKey(key) ? allQueryParameterMap.get(key) : new LinkedList<String>(); allQueryParameterMap.put(key, parameterList); parameterList.add(decodedParam.substring(indexOfEqualSign + 1)); } } } return allQueryParameterMap; }
public static Map<String, List<String>> extractAllQueryParameters(final String queryString, String formEncoding) { Map<String, List<String>> allQueryParameterMap = new HashMap<String, List<String>>(); if(Boolean.parseBoolean(formEncoding)){ List<String> encoding = new ArrayList<String>(); encoding.add(formEncoding); allQueryParameterMap.put(ACCEPT_FORM_ENCODING, encoding ); } if (queryString != null && queryString.length() > 0) { // At first the queryString will be decoded. List<String> queryParameters = Arrays.asList(queryString.split("\\&")); for (String param : queryParameters) { String decodedParam = Decoder.decode(param); int indexOfEqualSign = decodedParam.indexOf("="); if (indexOfEqualSign < 0) { final List<String> parameterList = allQueryParameterMap.containsKey(decodedParam) ? allQueryParameterMap.get(decodedParam) : new LinkedList<String>(); allQueryParameterMap.put(decodedParam, parameterList); parameterList.add(""); } else { final String key = decodedParam.substring(0, indexOfEqualSign); final List<String> parameterList = allQueryParameterMap.containsKey(key) ? allQueryParameterMap.get(key) : new LinkedList<String>(); allQueryParameterMap.put(key, parameterList); parameterList.add(decodedParam.substring(indexOfEqualSign + 1)); } } } return allQueryParameterMap; }
private static List<PathSegment> convertPathSegmentList(final List<javax.ws.rs.core.PathSegment> pathSegments) { ArrayList<PathSegment> converted = new ArrayList<PathSegment>(); for (final javax.ws.rs.core.PathSegment pathSegment : pathSegments) { final PathSegment segment = new ODataPathSegmentImpl(Decoder.decode(pathSegment.getPath()), pathSegment.getMatrixParameters()); converted.add(segment); } return converted; }
private static List<PathSegment> convertPathSegmentList(final List<javax.ws.rs.core.PathSegment> pathSegments) { ArrayList<PathSegment> converted = new ArrayList<PathSegment>(); for (final javax.ws.rs.core.PathSegment pathSegment : pathSegments) { final PathSegment segment = new ODataPathSegmentImpl(Decoder.decode(pathSegment.getPath()), pathSegment.getMatrixParameters()); converted.add(segment); } return converted; }
private static List<PathSegment> convertPathSegmentList(final List<javax.ws.rs.core.PathSegment> pathSegments) { ArrayList<PathSegment> converted = new ArrayList<PathSegment>(); for (final javax.ws.rs.core.PathSegment pathSegment : pathSegments) { final PathSegment segment = new ODataPathSegmentImpl(Decoder.decode(pathSegment.getPath()), pathSegment.getMatrixParameters()); converted.add(segment); } return converted; }
private static URI buildBaseUri(final HttpServletRequest req, final List<PathSegment> precedingPathSegments) throws ODataException { try { URI baseUri; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(req.getContextPath()).append(req.getServletPath()); for (final PathSegment ps : precedingPathSegments) { if (!"".equals(ps.getPath()) && ps.getPath().length() > 0) { stringBuilder.append("/").append(ps.getPath()); } for (final String key : ps.getMatrixParameters().keySet()) { List<String> matrixParameters = ps.getMatrixParameters().get(key); String matrixParameterString = ";" + key + "="; for (String matrixParam : matrixParameters) { matrixParameterString += Decoder.decode(matrixParam) + ","; } stringBuilder.append(matrixParameterString.substring(0, matrixParameterString.length() - 1)); } } String path = stringBuilder.toString(); if (!path.endsWith("/")) { path = path + "/"; } baseUri = new URI(req.getScheme(), null, req.getServerName(), req.getServerPort(), path, null, null); return baseUri; } catch (final URISyntaxException e) { throw new ODataException(e); } }
private static URI buildBaseUri(final HttpServletRequest req, final List<PathSegment> precedingPathSegments) throws ODataException { try { URI baseUri; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(req.getContextPath()).append(req.getServletPath()); for (final PathSegment ps : precedingPathSegments) { if (!"".equals(ps.getPath()) && ps.getPath().length() > 0) { stringBuilder.append("/").append(ps.getPath()); } for (final String key : ps.getMatrixParameters().keySet()) { List<String> matrixParameters = ps.getMatrixParameters().get(key); String matrixParameterString = ";" + key + "="; for (String matrixParam : matrixParameters) { matrixParameterString += Decoder.decode(matrixParam) + ","; } stringBuilder.append(matrixParameterString.substring(0, matrixParameterString.length() - 1)); } } String path = stringBuilder.toString(); if (!path.endsWith("/")) { path = path + "/"; } baseUri = new URI(req.getScheme(), null, req.getServerName(), req.getServerPort(), path, null, null); return baseUri; } catch (final URISyntaxException e) { throw new ODataException(e); } }
String systemQueryOption = result.group(1); String value = result.group(2); queryParametersMap.put(systemQueryOption, Decoder.decode(value)); } else { queryParamsScanner.close();
private void readEntitySets(final JsonReader reader) throws IOException, EntityProviderException, EdmException { while (reader.hasNext()) { currentHandledObjectName = reader.nextString(); if (currentHandledObjectName != null) { // Looking for the last dot: "\\.(?=[^.]+$)" String[] names = currentHandledObjectName.split("\\" + Edm.DELIMITER + "(?=[^" + Edm.DELIMITER + "]+$)"); if (names.length == 1) { EntitySet entitySet = new EntitySet().setName(Decoder.decode(names[0])); EntityContainerInfo container = new EntityContainerInfo().setDefaultEntityContainer(true); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); } else { EntitySet entitySet = new EntitySet().setName(Decoder.decode(names[1])); EntityContainerInfo container = new EntityContainerInfo().setName(Decoder.decode(names[0])).setDefaultEntityContainer(false); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); } } } }
private void readEntitySets(final JsonReader reader) throws IOException, EntityProviderException, EdmException { while (reader.hasNext()) { currentHandledObjectName = reader.nextString(); if (currentHandledObjectName != null) { // Looking for the last dot: "\\.(?=[^.]+$)" String[] names = currentHandledObjectName.split("\\" + Edm.DELIMITER + "(?=[^" + Edm.DELIMITER + "]+$)"); if (names.length == 1) { EntitySet entitySet = new EntitySet().setName(Decoder.decode(names[0])); EntityContainerInfo container = new EntityContainerInfo().setDefaultEntityContainer(true); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); } else { EntitySet entitySet = new EntitySet().setName(Decoder.decode(names[1])); EntityContainerInfo container = new EntityContainerInfo().setName(Decoder.decode(names[0])).setDefaultEntityContainer(false); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); } } } }
public List<EdmEntitySetInfo> getEntitySetsInfo() throws EntityProviderException { List<EdmEntitySetInfo> entitySets = new ArrayList<EdmEntitySetInfo>(); for (Workspace workspace : workspaces) { for (Collection collection : workspace.getCollections()) { String[] names = collection.getHref().split("\\" + Edm.DELIMITER + "(?=[^" + Edm.DELIMITER + "]+$)"); try { if (names.length == 1) { EntitySet entitySet = new EntitySet().setName(Decoder.decode(names[0])); EntityContainerInfo container = new EntityContainerInfo().setDefaultEntityContainer(true); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); } else if (names.length == 2) { EntitySet entitySet = new EntitySet().setName(Decoder.decode(names[1])); EntityContainerInfo container = new EntityContainerInfo().setName(Decoder.decode(names[0])).setDefaultEntityContainer(false); EdmEntitySetInfo entitySetInfo = new EdmEntitySetInfoImplProv(entitySet, container); entitySets.add(entitySetInfo); } } catch (EdmException e) { throw new EntityProviderException(EntityProviderException.COMMON, e); } } } return entitySets; } }