Michael Blow has submitted this change and it was merged. Change subject: Merge commit 'ac5b498' from 'stabilization-f69489' into 'master' ......................................................................
Merge commit 'ac5b498' from 'stabilization-f69489' into 'master' Change-Id: Iaf16894f0628189e3d2de685f2b3f132c65baff3 --- M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java M hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/FormUrlEncodedRequest.java 2 files changed, 6 insertions(+), 102 deletions(-) Approvals: Jenkins: Verified; No violations found; ; Verified Murtadha Hubail: Looks good to me, approved diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java index b80582a..f5921fe 100644 --- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java +++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java @@ -164,11 +164,7 @@ private static Map<String, InetSocketAddress> replicationAddress; private final List<Charset> allCharsets; -<<<<<<< HEAD (4b0ea9 [ASTERIXDB-2528][COMP] Fix illegal state exception in the co) - private final List<Charset> charsetsRemaining = new ArrayList<>(); -======= private final Queue<Charset> charsetsRemaining = new ArrayDeque<>(); ->>>>>>> BRANCH (ac5b49 [NO ISSUE][HTTP] Character encoding fixes) /* * Instance members @@ -650,39 +646,11 @@ charsetsRemaining.clear(); } -<<<<<<< HEAD (4b0ea9 [ASTERIXDB-2528][COMP] Fix illegal state exception in the co) - private Charset selectCharset(String payload) { - // choose an encoding that works for this input - return nextCharset(charset -> canEncodeDecode(charset, payload)); - } - - public void setAvailableCharsets(Collection<Charset> charsets) { - synchronized (allCharsets) { - allCharsets.clear(); - allCharsets.addAll(charsets); - charsetsRemaining.clear(); - } - } - - public Charset nextCharset(Predicate<Charset> test) { - synchronized (allCharsets) { - while (true) { - for (Iterator<Charset> iter = charsetsRemaining.iterator(); iter.hasNext();) { - Charset next = iter.next(); - if (test.test(next)) { - iter.remove(); - return next; - } - } - Collections.shuffle(allCharsets); - charsetsRemaining.addAll(allCharsets); -======= private synchronized Charset nextCharset() { while (true) { Charset nextCharset = charsetsRemaining.poll(); if (nextCharset != null) { return nextCharset; ->>>>>>> BRANCH (ac5b49 [NO ISSUE][HTTP] Character encoding fixes) } Collections.shuffle(allCharsets); charsetsRemaining.addAll(allCharsets); diff --git a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/FormUrlEncodedRequest.java b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/FormUrlEncodedRequest.java index b91dd0a..42712fd 100644 --- a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/FormUrlEncodedRequest.java +++ b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/FormUrlEncodedRequest.java @@ -18,12 +18,8 @@ */ package org.apache.hyracks.http.server; -<<<<<<< HEAD (4b0ea9 [ASTERIXDB-2528][COMP] Fix illegal state exception in the co) -import java.io.IOException; -import java.net.InetSocketAddress; -======= import java.nio.charset.Charset; ->>>>>>> BRANCH (ac5b49 [NO ISSUE][HTTP] Character encoding fixes) +import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -39,79 +35,19 @@ public class FormUrlEncodedRequest extends BaseRequest implements IServletRequest { -<<<<<<< HEAD (4b0ea9 [ASTERIXDB-2528][COMP] Fix illegal state exception in the co) - private final List<String> names; - private final List<String> values; - - public static IServletRequest create(ChannelHandlerContext ctx, FullHttpRequest request) throws IOException { - List<String> names = new ArrayList<>(); - List<String> values = new ArrayList<>(); - HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(request); - try { - List<InterfaceHttpData> bodyHttpDatas = decoder.getBodyHttpDatas(); - for (InterfaceHttpData data : bodyHttpDatas) { - if (data.getHttpDataType().equals(InterfaceHttpData.HttpDataType.Attribute)) { - Attribute attr = (MixedAttribute) data; - names.add(data.getName()); - values.add(attr.getValue()); - } - } - } finally { - decoder.destroy(); - } - InetSocketAddress remoteAddress = (InetSocketAddress) ctx.channel().remoteAddress(); - return new FormUrlEncodedRequest(request, remoteAddress, new QueryStringDecoder(request.uri()).parameters(), - names, values); -======= - public static IServletRequest create(FullHttpRequest request) { + public static IServletRequest create(ChannelHandlerContext ctx, FullHttpRequest request) { Charset charset = HttpUtil.getRequestCharset(request); Map<String, List<String>> parameters = new LinkedHashMap<>(); URLEncodedUtils.parse(request.content().toString(charset), charset).forEach( pair -> parameters.computeIfAbsent(pair.getName(), a -> new ArrayList<>()).add(pair.getValue())); new QueryStringDecoder(request.uri()).parameters() .forEach((name, value) -> parameters.computeIfAbsent(name, a -> new ArrayList<>()).addAll(value)); - return new FormUrlEncodedRequest(request, parameters); ->>>>>>> BRANCH (ac5b49 [NO ISSUE][HTTP] Character encoding fixes) + InetSocketAddress remoteAddress = (InetSocketAddress) ctx.channel().remoteAddress(); + return new FormUrlEncodedRequest(request, remoteAddress, parameters); } -<<<<<<< HEAD (4b0ea9 [ASTERIXDB-2528][COMP] Fix illegal state exception in the co) - protected FormUrlEncodedRequest(FullHttpRequest request, InetSocketAddress remoteAddress, - Map<String, List<String>> parameters, List<String> names, List<String> values) { + private FormUrlEncodedRequest(FullHttpRequest request, InetSocketAddress remoteAddress, + Map<String, List<String>> parameters) { super(request, remoteAddress, parameters); - this.names = names; - this.values = values; - } - - @Override - public String getParameter(CharSequence name) { - for (int i = 0; i < names.size(); i++) { - if (name.equals(names.get(i))) { - return values.get(i); - } - } - return HttpUtil.getParameter(parameters, name); - } - - @Override - public Set<String> getParameterNames() { - HashSet<String> paramNames = new HashSet<>(); - paramNames.addAll(parameters.keySet()); - paramNames.addAll(names); - return Collections.unmodifiableSet(paramNames); - } - - @Override - public Map<String, String> getParameters() { - HashMap<String, String> paramMap = new HashMap<>(); - paramMap.putAll(super.getParameters()); - for (int i = 0; i < names.size(); i++) { - paramMap.put(names.get(i), values.get(i)); - } - - return Collections.unmodifiableMap(paramMap); -======= - private FormUrlEncodedRequest(FullHttpRequest request, Map<String, List<String>> parameters) { - super(request, parameters); ->>>>>>> BRANCH (ac5b49 [NO ISSUE][HTTP] Character encoding fixes) } } -- To view, visit https://asterix-gerrit.ics.uci.edu/3266 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iaf16894f0628189e3d2de685f2b3f132c65baff3 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Murtadha Hubail <mhub...@apache.org>