### Question:
AdminAdapter extends StaticHttpHandler implements Adapter, PostConstruct, EventListener { ParameterMap extractParameters(final String requestString) { final ParameterMap parameters = new ParameterMap(); StringTokenizer stoken = new StringTokenizer(requestString == null ? "" : requestString, QUERY_STRING_SEPARATOR); while (stoken.hasMoreTokens()) { String token = stoken.nextToken(); if (token.indexOf('=') == -1) continue; String paramName = token.substring(0, token.indexOf('=')); String value = token.substring(token.indexOf('=') + 1); try { value = URLDecoder.decode(value, "UTF-8"); } catch (UnsupportedEncodingException e) { aalogger.log(Level.WARNING, KernelLoggerInfo.cantDecodeParameter, new Object[] {paramName, value}); } parameters.add(paramName, value); } if (aalogger.isLoggable(Level.FINER)) { for (Map.Entry<String, List<String>> entry : parameters.entrySet()) { for (String v : entry.getValue()) aalogger.log(Level.FINER, "Key {0} = {1}", new Object[]{entry.getKey(), v}); } } return parameters; } @SuppressWarnings({ "unchecked", "rawtypes" }) protected  AdminAdapter(Class<? extends Privacy> privacyClass); @Override final HttpHandler getHttpService(); @Override void postConstruct(); @Override void onMissingResource(Request req, Response res); boolean hasCookieHeader(Request req); String[] getJSESSIONIDHeaders(Request req); boolean isSingleInstanceCommand(String commandName); String getCookieHeader(Request req); String createSessionId(); AdminAccessController.Access authenticate(Request req); static String[] getUserPassword(Request req); void afterService(Request req, Response res); void fireAdapterEvent(String type, Object data); @Override void event(@RestrictTo(EventTypes.SERVER_READY_NAME) Event event); @Override int getListenPort(); @Override InetAddress getListenAddress(); @Override List<String> getVirtualServers(); @Override boolean isRegistered(); @Override void setRegistered(boolean isRegistered); final static String VS_NAME; final static String PREFIX_URI; static final String SESSION_COOKIE_NAME; static final int MAX_AGE; static final String ASADMIN_PATH; }### Answer:
@Test public void extractParametersTest() { ParameterMap props = aa.extractParameters("uniquetablenames=false&createtables=true&target=server&libraries=foo.jar&dbvendorname=test&deploymentplan=test"); Properties correctProps = new Properties(); correctProps.put("uniquetablenames", "false"); correctProps.put("createtables", "true"); correctProps.put("target", "server"); correctProps.put("libraries", "foo.jar"); correctProps.put("dbvendorname", "test"); correctProps.put("deploymentplan", "test"); for (String prop : correctProps.stringPropertyNames()) { assertEquals("compare Properties", correctProps.getProperty(prop), props.getOne(prop)); } }