Java Code Examples for org.apache.commons.fileupload.util.mime.MimeUtility

The following examples show how to use org.apache.commons.fileupload.util.mime.MimeUtility. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: Mars-Java   Source File: ParameterParser.java    License: MIT License 4 votes vote down vote up
/**
 * Extracts a map of name/value pairs from the given array of
 * characters. Names are expected to be unique.
 *
 * @param charArray the array of characters that contains a sequence of
 * name/value pairs
 * @param offset - the initial offset.
 * @param length - the length.
 * @param separator the name/value pairs separator
 *
 * @return a map of name/value pairs
 */
public Map<String, String> parse(
    final char[] charArray,
    int offset,
    int length,
    char separator) {

    if (charArray == null) {
        return new HashMap<String, String>();
    }
    HashMap<String, String> params = new HashMap<String, String>();
    this.chars = charArray;
    this.pos = offset;
    this.len = length;

    String paramName = null;
    String paramValue = null;
    while (hasChar()) {
        paramName = parseToken(new char[] {
                '=', separator });
        paramValue = null;
        if (hasChar() && (charArray[pos] == '=')) {
            pos++; // skip '='
            paramValue = parseQuotedToken(new char[] {
                    separator });

            if (paramValue != null) {
                try {
                    paramValue = MimeUtility.decodeText(paramValue);
                } catch (UnsupportedEncodingException e) {
                    // let's keep the original value in this case
                }
            }
        }
        if (hasChar() && (charArray[pos] == separator)) {
            pos++; // skip separator
        }
        if ((paramName != null) && (paramName.length() > 0)) {
            if (this.lowerCaseNames) {
                paramName = paramName.toLowerCase(Locale.ENGLISH);
            }

            params.put(paramName, paramValue);
        }
    }
    return params;
}
 
Example 2
Source Project: lams   Source File: ParameterParser.java    License: GNU General Public License v2.0 4 votes vote down vote up
/**
 * Extracts a map of name/value pairs from the given array of
 * characters. Names are expected to be unique.
 *
 * @param charArray the array of characters that contains a sequence of
 * name/value pairs
 * @param offset - the initial offset.
 * @param length - the length.
 * @param separator the name/value pairs separator
 *
 * @return a map of name/value pairs
 */
public Map<String, String> parse(
    final char[] charArray,
    int offset,
    int length,
    char separator) {

    if (charArray == null) {
        return new HashMap<String, String>();
    }
    HashMap<String, String> params = new HashMap<String, String>();
    this.chars = charArray;
    this.pos = offset;
    this.len = length;

    String paramName = null;
    String paramValue = null;
    while (hasChar()) {
        paramName = parseToken(new char[] {
                '=', separator });
        paramValue = null;
        if (hasChar() && (charArray[pos] == '=')) {
            pos++; // skip '='
            paramValue = parseQuotedToken(new char[] {
                    separator });

            if (paramValue != null) {
                try {
                    paramValue = MimeUtility.decodeText(paramValue);
                } catch (UnsupportedEncodingException e) {
                    // let's keep the original value in this case
                }
            }
        }
        if (hasChar() && (charArray[pos] == separator)) {
            pos++; // skip separator
        }
        if ((paramName != null) && (paramName.length() > 0)) {
            if (this.lowerCaseNames) {
                paramName = paramName.toLowerCase(Locale.ENGLISH);
            }

            params.put(paramName, paramValue);
        }
    }
    return params;
}
 
Example 3
Source Project: AndroidWebServ   Source File: ParameterParser.java    License: Apache License 2.0 4 votes vote down vote up
/**
 * Extracts a map of name/value pairs from the given array of
 * characters. Names are expected to be unique.
 *
 * @param chars the array of characters that contains a sequence of
 * name/value pairs
 * @param offset - the initial offset.
 * @param length - the length.
 * @param separator the name/value pairs separator
 *
 * @return a map of name/value pairs
 */
public Map<String, String> parse(
    final char[] chars,
    int offset,
    int length,
    char separator) {

    if (chars == null) {
        return new HashMap<String, String>();
    }
    HashMap<String, String> params = new HashMap<String, String>();
    this.chars = chars;
    this.pos = offset;
    this.len = length;

    String paramName = null;
    String paramValue = null;
    while (hasChar()) {
        paramName = parseToken(new char[] {
                '=', separator });
        paramValue = null;
        if (hasChar() && (chars[pos] == '=')) {
            pos++; // skip '='
            paramValue = parseQuotedToken(new char[] {
                    separator });

            if (paramValue != null) {
                try {
                    paramValue = MimeUtility.decodeText(paramValue);
                } catch (UnsupportedEncodingException e) {
                    // let's keep the original value in this case
                }
            }
        }
        if (hasChar() && (chars[pos] == separator)) {
            pos++; // skip separator
        }
        if ((paramName != null) && (paramName.length() > 0)) {
            if (this.lowerCaseNames) {
                paramName = paramName.toLowerCase(Locale.ENGLISH);
            }

            params.put(paramName, paramValue);
        }
    }
    return params;
}