Example usage for org.apache.commons.codec.net QuotedPrintableCodec decode

List of usage examples for org.apache.commons.codec.net QuotedPrintableCodec decode

Introduction

In this page you can find the example usage for org.apache.commons.codec.net QuotedPrintableCodec decode.

Prototype

public Object decode(Object pObject) throws DecoderException 

Source Link

Document

Decodes a quoted-printable object into its original form.

Usage

From source file:com.android.bluetooth.map.BluetoothMapContent.java

public static String decodeEncodedWord(String checkEncoded) {
    if (checkEncoded == null) {
        if (V)//from w ww.j a  v a 2 s.  c o m
            Log.v(TAG, " Decode Invalid Input");
        return null;
    }
    if (checkEncoded != null && (checkEncoded.contains("=?") == false)) {
        if (V)
            Log.v(TAG, " Decode NotRequired" + checkEncoded);
        return checkEncoded;
    }

    int begin = checkEncoded.indexOf("=?", 0);

    int endScan = begin + 2;
    if (begin != -1) {
        int qm1 = checkEncoded.indexOf('?', endScan + 2);
        int qm2 = checkEncoded.indexOf('?', qm1 + 1);
        if (qm2 != -1) {
            endScan = qm2 + 1;
        }
    }

    int end = begin == -1 ? -1 : checkEncoded.indexOf("?=", endScan);
    if (end == -1)
        return checkEncoded;
    checkEncoded = checkEncoded.substring((endScan - 1), (end + 1));

    // TODO: Handle encoded words as defined by MIME standard RFC 2047
    // Encoded words will have the form =?charset?enc?Encoded word?= where
    // enc is either 'Q' or 'q' for quoted-printable and 'B' or 'b' for Base64
    QuotedPrintableCodec qpDecode = new QuotedPrintableCodec("UTF-8");
    String decoded = null;
    try {
        decoded = qpDecode.decode(checkEncoded);
    } catch (DecoderException e) {
        if (V)
            Log.v(TAG, "decode exception");
        return checkEncoded;
    }
    if (decoded == null) {
        return checkEncoded;
    }
    return decoded;
}

From source file:org.apache.juddi.v3.tck.UDDI_090_Smtp_ExternalTest.java

/**
 * gets all current messages from the mail server and returns the number
 * of messages containing the string, messages containing the string are
 * deleted from the mail server String is the body of each message
 *
 * @return number of matching and deleted messages
 * @param contains a string to search for
 *//*ww  w .  j av  a  2 s.  c o m*/
private static int fetchMail(String contains) {

    //final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";

    /* Set the mail properties */
    Properties properties = TckPublisher.getProperties();
    // Set manual Properties

    int found = 0;
    Session session = Session.getDefaultInstance(properties, null);
    Store store = null;
    try {
        store = session.getStore("pop3");

        store.connect(properties.getProperty("mail.pop3.host"),
                Integer.parseInt(properties.getProperty("mail.pop3.port", "110")),
                properties.getProperty("mail.pop3.username"), properties.getProperty("mail.pop3.password"));
        /* Mention the folder name which you want to read. */
        // inbox = store.getDefaultFolder();
        // inbox = inbox.getFolder("INBOX");
        Folder inbox = store.getFolder("INBOX");

        /* Open the inbox using store. */
        inbox.open(Folder.READ_WRITE);

        Message messages[] = inbox.getMessages();

        for (int i = 0; i < messages.length; i++) {

            MimeMessageParser p = new MimeMessageParser(new MimeMessage(session, messages[i].getInputStream()));
            Enumeration allHeaders = p.getMimeMessage().getAllHeaders();
            while (allHeaders.hasMoreElements()) {
                Object j = allHeaders.nextElement();
                if (j instanceof javax.mail.Header) {
                    javax.mail.Header msg = (javax.mail.Header) j;
                    logger.info("XML as message header is " + msg.getValue());
                    if (msg.getValue().contains(contains)) {
                        //found it
                        messages[i].setFlag(Flags.Flag.DELETED, true);
                        found++;
                    }
                }
            }
            for (int k = 0; k < p.getAttachmentList().size(); k++) {
                InputStream is = p.getAttachmentList().get((k)).getInputStream();
                QuotedPrintableCodec qp = new QuotedPrintableCodec();
                // If "is" is not already buffered, wrap a BufferedInputStream
                // around it.
                if (!(is instanceof BufferedInputStream)) {
                    is = new BufferedInputStream(is);
                }
                int c;
                StringBuilder sb = new StringBuilder();
                System.out.println("Message : ");
                while ((c = is.read()) != -1) {
                    sb.append(c);
                    System.out.write(c);
                }
                is.close();
                String decoded = qp.decode(sb.toString());
                logger.info("decode message is " + decoded);
                if (decoded.contains(contains)) {
                    //found it
                    messages[i].setFlag(Flags.Flag.DELETED, true);
                    found++;
                }
            }

        }
        inbox.close(true);

    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (store != null) {
            try {
                store.close();
            } catch (Exception ex) {
            }
        }
    }
    return found;
}

From source file:org.forumj.web.filter.AAALoginFilter.java

/**
 * {@inheritDoc}//from ww  w  . j  a v a 2s.c o  m
 */
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
        throws IOException, ServletException {
    boolean ok = true;
    HttpServletRequest request = (HttpServletRequest) req;
    HttpServletResponse response = (HttpServletResponse) resp;
    try {
        IUser user = (IUser) request.getSession(true).getAttribute("user");
        UserService userService = FJServiceHolder.getUserService();
        if (user == null || !user.isLogined()) {
            QuotedPrintableCodec codec = new QuotedPrintableCodec();
            Cookie[] cookies = request.getCookies();
            Cookie iduCookie = getCookie(cookies, "idu");
            Cookie pass2Cookie = getCookie(cookies, "pass2");
            if (pass2Cookie != null) {
                String pass2 = pass2Cookie.getValue();
                if (pass2 != null) {
                    pass2 = codec.decode(pass2);
                    user = userService.read(Long.valueOf(iduCookie.getValue()), pass2, false);
                    if (user == null) {
                        ok = false;
                    } else {
                        if (!user.getIsActive()) {
                            user = null;
                        } else {
                            request.getSession().setAttribute("user", user);
                        }
                    }
                } else {
                    ok = false;
                }
            }
        }
        if (user == null) {
            String iduParameter = request.getParameter("IDU");
            String pass1Parameter = request.getParameter("PS1");
            String pass2Parameter = request.getParameter("PS2");
            if (iduParameter != null && (pass1Parameter != null || pass2Parameter != null)) {
                boolean firstPassword = pass1Parameter != null;
                user = userService.read(Long.valueOf(iduParameter),
                        firstPassword ? pass1Parameter : pass2Parameter, firstPassword);
                if (user == null) {
                    ok = false;
                } else {
                    if (!user.getIsActive()) {
                        user = null;
                    } else {
                        request.getSession().setAttribute("user", user);
                    }
                }
            }
        }
        if (user == null) {
            user = userService.readUser(0l);
            request.getSession().setAttribute("user", user);
        }
        if (ok) {
            if (user != null && user.isLogined()) {
                String ip = request.getRemoteAddr();
                if (ip != null && CheckIp.isSpammerIp(ip)) {
                    setcookie(response, "idu", "", 0, request.getContextPath(), request.getServerName());
                    setcookie(response, "pass2", "", 0, request.getContextPath(), request.getServerName());
                    user = userService.readUser(0l);
                    request.getSession().setAttribute("user", user);
                }
            }
            chain.doFilter(request, response);
        } else {
            goAwayStupidHackers(response, request.getContextPath() + "/", request);
        }
    } catch (Throwable e) {
        e.printStackTrace();
        StringBuffer buffer = new StringBuffer();
        buffer.append(errorOut(e));
        response.setContentType("text/html; charset=UTF-8");
        PrintWriter writer = response.getWriter();
        String out = buffer.toString();
        writer.write(out);
    }
}

From source file:org.forumj.web.requesthandler.prehandler.LoginPreHandler.java

@Override
public boolean handle(AsyncContext context) throws FJWebException {
    boolean ok = true;
    HttpServletRequest request = (HttpServletRequest) context.getRequest();
    HttpServletResponse response = (HttpServletResponse) context.getResponse();
    try {/*from   w w w.j  ava  2  s  .  com*/
        IUser user = (IUser) request.getSession(true).getAttribute("user");
        UserService userService = FJServiceHolder.getUserService();
        if (user == null || !user.isLogined()) {
            QuotedPrintableCodec codec = new QuotedPrintableCodec();
            Cookie[] cookies = request.getCookies();
            Cookie iduCookie = getCookie(cookies, "idu");
            Cookie pass2Cookie = getCookie(cookies, "pass2");
            if (pass2Cookie != null) {
                String pass2 = pass2Cookie.getValue();
                if (pass2 != null) {
                    pass2 = codec.decode(pass2);
                    user = userService.read(Long.valueOf(iduCookie.getValue()), pass2, false);
                    if (user == null) {
                        ok = false;
                    } else {
                        if (!user.getIsActive()) {
                            user = null;
                        } else {
                            request.getSession().setAttribute("user", user);
                        }
                    }
                } else {
                    ok = false;
                }
            }
        }
        if (user == null) {
            String iduParameter = request.getParameter("IDU");
            String pass1Parameter = request.getParameter("PS1");
            String pass2Parameter = request.getParameter("PS2");
            if (iduParameter != null && (pass1Parameter != null || pass2Parameter != null)) {
                boolean firstPassword = pass1Parameter != null;
                user = userService.read(Long.valueOf(iduParameter),
                        firstPassword ? pass1Parameter : pass2Parameter, firstPassword);
                if (user == null) {
                    ok = false;
                } else {
                    if (!user.getIsActive()) {
                        user = null;
                    } else {
                        request.getSession().setAttribute("user", user);
                    }
                }
            }
        }
        if (user == null) {
            user = userService.readUser(0l);
            request.getSession().setAttribute("user", user);
        }
        if (ok) {
            if (user != null && user.isLogined()) {
                String ip = request.getRemoteAddr();
                if (ip != null && CheckIp.isSpammerIp(ip)) {
                    setcookie(response, "idu", "", 0, request.getContextPath(), request.getServerName());
                    setcookie(response, "pass2", "", 0, request.getContextPath(), request.getServerName());
                    user = userService.readUser(0l);
                    request.getSession().setAttribute("user", user);
                }
            }
            return true;
        } else {
            return false;
        }
    } catch (Throwable e) {
        throw new FJWebException(e);
    }
}

From source file:org.owasp.jbrofuzz.encode.EncoderHashCore.java

private static String decodeRfc1521(final String decodeText) {
    final QuotedPrintableCodec codec = new QuotedPrintableCodec();
    try {//ww w . j ava2s  .  c  om
        return codec.decode(decodeText);
    } catch (final DecoderException e) {
        return "Error: RFC 1521 MIME value cannot be decoded...";
    }
}

From source file:vcf2csv.VCF2CSV.java

/**
 * @param args the command line arguments
 *//*  ww w.  j a va 2  s .co m*/
public static void main(String[] args) {

    /**
     * start by parsing the input data
     */
    CommandLine commandLine = new CommandLine(args);

    /**
     * If it's not set, don't continue and display the help message.
     */
    if (!commandLine.isSet()) {
        System.out.println(getHelpMessage());
        return;
    }

    /**
     * Seems like the input is valid. Let's start by inspecting the input a
     * little bit more. Namely, we'll first try opening the vcf and csv
     * files.
     */
    System.out.println("Seems like valid data input");
    String vcfFilePath = commandLine.getVCFFilePath();
    String csvFilePath = commandLine.getCSVFilePath();

    // try opening vcf file.
    BufferedReader vcfFile = null;
    try {
        vcfFile = new BufferedReader(new FileReader(vcfFilePath));
    } catch (IOException ex) {
        System.out.println("Something went wrong while trying to open the "
                + "vcf file!\nMake sure the path is correct and the file is " + "accessible.");
        return;
    }

    // try opening the csv file.
    BufferedWriter csvFile = null;
    try {
        csvFile = new BufferedWriter(new FileWriter(csvFilePath));
    } catch (IOException ex) {
        System.out.println("Something went wrong while trying to open the " + "csv file.");
        return;
    }
    System.out.println("Valid Data Input.");

    /**
     * Start parsing the file.
     */
    String line = null;
    Contact contact = null;
    QuotedPrintableCodec decoder = new QuotedPrintableCodec();
    while (true) {

        /**
         * read a line. Exit in case of error.
         */
        try {
            line = vcfFile.readLine();
            if (line == null) {
                vcfFile.close();
                csvFile.close();
                return; // nothing more to read.
            }
        } catch (IOException ex) {
            System.out.println("Something went wrong while trying to read from the vcf file!");
            return;
        }

        /**
         * building the record/contact
         */
        if (line.startsWith("N;")) {
            contact = new Contact(extractName(line));
        } else if (line.startsWith("=")) {
            contact.setName(contact.getName() + extractName(line.substring(1)));
        } else if (line.startsWith("TEL")) {
            contact.addPhone(extractPhone(line));
        } else if (line.startsWith("END")) {
            // now, that's the end of a record
            try {
                if (commandLine.doReverse()) {
                    csvFile.write(decoder.decode(contact.getFullNameReversed()) + ", ");
                } else {
                    csvFile.write(decoder.decode(contact.getFullName()) + ", ");
                }
                csvFile.write(String.join(",", contact.getPhones()));
                csvFile.newLine();
            } catch (IOException ex) {
                System.out.println("Something went wrong while trying to " + "write a record to the csv file!");
                return;
            } catch (DecoderException ex) {
                System.out.println("Someting went wrong while trying to decode a record!");
            }
        }
    }
}