/** * Merge in a configuration and return a ProcessingParameters object representing * the merged values * * @param pConfig config to merge in * @return a new ProcessingParameters instance if the given config is not null. Otherwise this object * is returned. */ public ProcessingParameters mergedParams(Map<String, String> pConfig) { if (pConfig == null) { return this; } else { Map<ConfigKey,String> newParams = new HashMap<ConfigKey, String>(); newParams.putAll(params); newParams.putAll(convertToConfigMap(pConfig)); return new ProcessingParameters(newParams, pathInfo); } }
/** * Get a processing configuration or null if not set * @param pConfigKey configuration key to fetch * @return string value or <code>null</code> if not set */ public String getParameter(ConfigKey pConfigKey) { return processingConfig.get(pConfigKey); }
private static String extractPathInfo(String pPathInfo, ProcessingParameters pProcessingParams) { String pathInfo = pPathInfo; // If no pathinfo is given directly, we look for a query parameter named 'p'. // This variant is helpful, if there are problems with the server mangling // up the pathinfo (e.g. for security concerns, often '/','\',';' and other are not // allowed in encoded form within the pathinfo) if (pProcessingParams != null && (pPathInfo == null || pPathInfo.length() == 0 || pathInfo.matches("^/+$"))) { pathInfo = pProcessingParams.getPathInfo(); } return normalizePathInfo(pathInfo); }
/** * Create a single {@link JmxRequest}s from a JSON map representation of a request * * @param pRequestMap JSON representation of a {@link JmxRequest} * @param pProcessingParams additional map of operational parameters. Must not be null. * @return the created {@link JmxRequest} */ public static <R extends JmxRequest> R createPostRequest(Map<String, ?> pRequestMap, ProcessingParameters pProcessingParams) { try { ProcessingParameters paramsMerged = pProcessingParams.mergedParams((Map<String,String>) pRequestMap.get("config")); RequestType type = RequestType.getTypeByName((String) pRequestMap.get("type")); return (R) getCreator(type).create(pRequestMap, paramsMerged); } catch (MalformedObjectNameException e) { throw new IllegalArgumentException("Invalid object name. " + e.getMessage(),e); } }
/** * Create a single {@link JmxRequest}s from a JSON map representation of a request * * @param pRequestMap JSON representation of a {@link JmxRequest} * @param pProcessingParams additional map of operational parameters. Must not be null. * @return the created {@link JmxRequest} */ public static <R extends JmxRequest> R createPostRequest(Map<String, ?> pRequestMap, ProcessingParameters pProcessingParams) { try { ProcessingParameters paramsMerged = pProcessingParams.mergedParams((Map<String,String>) pRequestMap.get("config")); RequestType type = RequestType.getTypeByName((String) pRequestMap.get("type")); return (R) getCreator(type).create(pRequestMap, paramsMerged); } catch (MalformedObjectNameException e) { throw new IllegalArgumentException("Invalid object name. " + e.getMessage(),e); } }
/** * Get processing parameters from a string-string map * * @param pParams params to extra. A parameter "p" is used as extra path info * @return the processing parameters */ public ProcessingParameters getProcessingParameters(Map<String,String> pParams) { Map<ConfigKey,String> procParams = ProcessingParameters.convertToConfigMap(pParams); for (Map.Entry<ConfigKey,String> entry : globalConfig.entrySet()) { ConfigKey key = entry.getKey(); if (key.isRequestConfig() && !procParams.containsKey(key)) { procParams.put(key,entry.getValue()); } } return new ProcessingParameters(procParams,pParams.get(PATH_QUERY_PARAM)); }
private void initParameters(ProcessingParameters pParams) { processingConfig = pParams; String ignoreErrors = processingConfig.get(ConfigKey.IGNORE_ERRORS); if (ignoreErrors != null && ignoreErrors.matches("^(true|yes|on|1)$")) { valueFaultHandler = ValueFaultHandler.IGNORING_VALUE_FAULT_HANDLER; } else { valueFaultHandler = ValueFaultHandler.THROWING_VALUE_FAULT_HANDLER; } }
private static String extractPathInfo(String pPathInfo, ProcessingParameters pProcessingParams) { String pathInfo = pPathInfo; // If no pathinfo is given directly, we look for a query parameter named 'p'. // This variant is helpful, if there are problems with the server mangling // up the pathinfo (e.g. for security concerns, often '/','\',';' and other are not // allowed in encoded form within the pathinfo) if (pProcessingParams != null && (pPathInfo == null || pPathInfo.length() == 0 || pathInfo.matches("^/+$"))) { pathInfo = pProcessingParams.getPathInfo(); } return normalizePathInfo(pathInfo); }
/** * Create a single {@link JmxRequest}s from a JSON map representation of a request * * @param pRequestMap JSON representation of a {@link JmxRequest} * @param pProcessingParams additional map of operational parameters. Must not be null. * @return the created {@link JmxRequest} */ public static <R extends JmxRequest> R createPostRequest(Map<String, ?> pRequestMap, ProcessingParameters pProcessingParams) { try { ProcessingParameters paramsMerged = pProcessingParams.mergedParams((Map<String,String>) pRequestMap.get("config")); RequestType type = RequestType.getTypeByName((String) pRequestMap.get("type")); return (R) getCreator(type).create(pRequestMap, paramsMerged); } catch (MalformedObjectNameException e) { throw new IllegalArgumentException("Invalid object name. " + e.getMessage(),e); } }
/** * Merge in a configuration and return a ProcessingParameters object representing * the merged values * * @param pConfig config to merge in * @return a new ProcessingParameters instance if the given config is not null. Otherwise this object * is returned. */ public ProcessingParameters mergedParams(Map<String, String> pConfig) { if (pConfig == null) { return this; } else { Map<ConfigKey,String> newParams = new HashMap<ConfigKey, String>(); newParams.putAll(params); newParams.putAll(convertToConfigMap(pConfig)); return new ProcessingParameters(newParams, pathInfo); } }
/** * Get a processing configuration as integer or null * if not set * * @param pConfigKey configuration to lookup * @return integer value of configuration or 0 if not set. */ public int getParameterAsInt(ConfigKey pConfigKey) { String intValueS = processingConfig.get(pConfigKey); if (intValueS != null) { return Integer.parseInt(intValueS); } else { return 0; } }
private static String extractPathInfo(String pPathInfo, ProcessingParameters pProcessingParams) { String pathInfo = pPathInfo; // If no pathinfo is given directly, we look for a query parameter named 'p'. // This variant is helpful, if there are problems with the server mangling // up the pathinfo (e.g. for security concerns, often '/','\',';' and other are not // allowed in encoded form within the pathinfo) if (pProcessingParams != null && (pPathInfo == null || pPathInfo.length() == 0 || pathInfo.matches("^/+$"))) { pathInfo = pProcessingParams.getPathInfo(); } return normalizePathInfo(pathInfo); }
/** * Merge in a configuration and return a ProcessingParameters object representing * the merged values * * @param pConfig config to merge in * @return a new ProcessingParameters instance if the given config is not null. Otherwise this object * is returned. */ public ProcessingParameters mergedParams(Map<String, String> pConfig) { if (pConfig == null) { return this; } else { Map<ConfigKey,String> newParams = new HashMap<ConfigKey, String>(); newParams.putAll(params); newParams.putAll(convertToConfigMap(pConfig)); return new ProcessingParameters(newParams, pathInfo); } }
/** * Get a processing configuration or null if not set * @param pConfigKey configuration key to fetch * @return string value or <code>null</code> if not set */ public String getParameter(ConfigKey pConfigKey) { return processingConfig.get(pConfigKey); }
/** * Get processing parameters from a string-string map * * @param pParams params to extra. A parameter "p" is used as extra path info * @return the processing parameters */ public ProcessingParameters getProcessingParameters(Map<String,String> pParams) { Map<ConfigKey,String> procParams = ProcessingParameters.convertToConfigMap(pParams); for (Map.Entry<ConfigKey,String> entry : globalConfig.entrySet()) { ConfigKey key = entry.getKey(); if (key.isRequestConfig() && !procParams.containsKey(key)) { procParams.put(key,entry.getValue()); } } return new ProcessingParameters(procParams,pParams.get(PATH_QUERY_PARAM)); }
/** * Get a processing configuration or null if not set * @param pConfigKey configuration key to fetch * @return string value or <code>null</code> if not set */ public String getParameter(ConfigKey pConfigKey) { return processingConfig.get(pConfigKey); }
/** * Get processing parameters from a string-string map * * @param pParams params to extra. A parameter "p" is used as extra path info * @return the processing parameters */ public ProcessingParameters getProcessingParameters(Map<String,String> pParams) { Map<ConfigKey,String> procParams = ProcessingParameters.convertToConfigMap(pParams); for (Map.Entry<ConfigKey,String> entry : globalConfig.entrySet()) { ConfigKey key = entry.getKey(); if (key.isRequestConfig() && !procParams.containsKey(key)) { procParams.put(key,entry.getValue()); } } return new ProcessingParameters(procParams,pParams.get(PATH_QUERY_PARAM)); }
private void initParameters(ProcessingParameters pParams) { processingConfig = pParams; String ignoreErrors = processingConfig.get(ConfigKey.IGNORE_ERRORS); if (ignoreErrors != null && ignoreErrors.matches("^(true|yes|on|1)$")) { valueFaultHandler = ValueFaultHandler.IGNORING_VALUE_FAULT_HANDLER; } else { valueFaultHandler = ValueFaultHandler.THROWING_VALUE_FAULT_HANDLER; } }
private void initParameters(ProcessingParameters pParams) { processingConfig = pParams; String ignoreErrors = processingConfig.get(ConfigKey.IGNORE_ERRORS); if (ignoreErrors != null && ignoreErrors.matches("^(true|yes|on|1)$")) { valueFaultHandler = ValueFaultHandler.IGNORING_VALUE_FAULT_HANDLER; } else { valueFaultHandler = ValueFaultHandler.THROWING_VALUE_FAULT_HANDLER; } }
/** * Get a processing configuration as integer or null * if not set * * @param pConfigKey configuration to lookup * @return integer value of configuration or 0 if not set. */ public int getParameterAsInt(ConfigKey pConfigKey) { String intValueS = processingConfig.get(pConfigKey); if (intValueS != null) { return Integer.parseInt(intValueS); } else { return 0; } }