Example usage for org.apache.commons.io.serialization ValidatingObjectInputStream readObject

List of usage examples for org.apache.commons.io.serialization ValidatingObjectInputStream readObject

Introduction

In this page you can find the example usage for org.apache.commons.io.serialization ValidatingObjectInputStream readObject.

Prototype

public final Object readObject() throws IOException, ClassNotFoundException 

Source Link

Document

Read an object from the ObjectInputStream.

Usage

From source file:fr.paris.lutece.portal.business.mail.MailItemQueueDAO.java

/**
 * return the first mail item in the table
 * //  ww  w .  jav a 2 s .c  o m
 * @param nIdMailItemQueue
 *            the id of the mail item
 * @return the first mail item in the table
 */
@Override
public MailItemQueue load(int nIdMailItemQueue) {
    MailItemQueue mailItemQueue = null;
    MailItem mailItem = null;
    InputStream inputStream;
    DAOUtil daoUtil = new DAOUtil(SQL_QUERY_LOAD_MAIL_ITEM);
    daoUtil.setInt(1, nIdMailItemQueue);
    daoUtil.executeQuery();

    if (daoUtil.next()) {
        mailItemQueue = new MailItemQueue();
        mailItemQueue.setIdMailItemQueue(daoUtil.getInt(1));
        inputStream = daoUtil.getBinaryStream(2);

        try {
            ValidatingObjectInputStream objectInputStream = new ValidatingObjectInputStream(inputStream);
            objectInputStream.accept(MailItem.class, ArrayList.class, byte[].class, FileAttachment.class,
                    UrlAttachment.class, FileAttachment[].class, UrlAttachment[].class, URL.class);
            mailItem = (MailItem) objectInputStream.readObject();
            objectInputStream.close();
        } catch (IOException e) {
            AppLogService.error(e.getMessage(), e);
        } catch (ClassNotFoundException e) {
            AppLogService.error(e.getMessage(), e);
        } finally {
            try {
                inputStream.close();
            } catch (IOException e) {
                AppLogService.error(e.getMessage(), e);
            }
        }

        mailItemQueue.setMailItem(mailItem);
    }

    daoUtil.free();

    return mailItemQueue;
}