Example usage for org.apache.commons.fileupload FileUploadException printStackTrace

List of usage examples for org.apache.commons.fileupload FileUploadException printStackTrace

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileUploadException printStackTrace.

Prototype

public void printStackTrace() 

Source Link

Document

Prints this throwable and its backtrace to the standard error stream.

Usage

From source file:org.openremote.modeler.utils.MultipartFileUtil.java

@SuppressWarnings("unchecked")
public static MultipartFile getMultipartFileFromRequest(HttpServletRequest request, String fileFieldName) {
    MultipartFile multipartFile = null;//www  .j  av a  2 s. c o m
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List items = null;
    try {
        items = upload.parseRequest(request);
    } catch (FileUploadException e) {
        LOGGER.error("get InputStream from httpServletRequest error.", e);
        e.printStackTrace();
    }
    if (items == null) {
        return null;
    }
    Iterator it = items.iterator();
    FileItem fileItem = null;
    while (it.hasNext()) {
        fileItem = (FileItem) it.next();
        if (!fileItem.isFormField() && fileFieldName != null && fileFieldName.equals(fileItem.getFieldName())) {
            break;
        }
    }
    if (fileItem != null) {
        multipartFile = new CommonsMultipartFile(fileItem);
    }
    return multipartFile;
}

From source file:org.oryxeditor.server.StencilSetExtensionGeneratorServlet.java

/**
 * Request parameters are documented in//from   ww  w . ja v a2s.  c  om
 * editor/test/examples/stencilset-extension-generator.xhtml
 * The parameter 'csvFile' is always required.
 * An example CSV file can be found in
 * editor/test/examples/design-thinking-example-data.csv
 * which has been exported using OpenOffice.org from
 * editor/test/examples/design-thinking-example-data.ods
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
    this.request = request;
    this.response = response;
    this.baseUrl = Repository.getBaseUrl(request);
    this.repository = new Repository(baseUrl);

    // parameters and their default values
    String modelNamePrefix = "Generated Model using ";
    String stencilSetExtensionNamePrefix = StencilSetExtensionGenerator.DEFAULT_STENCIL_SET_EXTENSION_NAME_PREFIX;
    String baseStencilSetPath = StencilSetExtensionGenerator.DEFAULT_BASE_STENCIL_SET_PATH;
    String baseStencilSet = StencilSetExtensionGenerator.DEFAULT_BASE_STENCIL_SET;
    String baseStencil = StencilSetExtensionGenerator.DEFAULT_BASE_STENCIL;
    List<String> stencilSetExtensionUrls = new ArrayList<String>();
    String[] columnPropertyMapping = null;
    String[] csvHeader = null;
    List<Map<String, String>> stencilPropertyMatrix = new ArrayList<Map<String, String>>();
    String modelDescription = "The initial version of this model has been created by the Stencilset Extension Generator.";
    String additionalERDFContentForGeneratedModel = "";
    String[] modelTags = null;

    // Check that we have a file upload request
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    if (isMultipart) {

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload();

        // Parse the request
        FileItemIterator iterator;
        try {
            iterator = upload.getItemIterator(request);
            while (iterator.hasNext()) {
                FileItemStream item = iterator.next();
                String name = item.getFieldName();
                InputStream stream = item.openStream();
                if (item.isFormField()) {
                    // ordinary form field
                    String value = Streams.asString(stream);
                    //System.out.println("Form field " + name + " with value "
                    //    + value + " detected.");
                    if (name.equals("modelNamePrefix")) {
                        modelNamePrefix = value;
                    } else if (name.equals("stencilSetExtensionNamePrefix")) {
                        stencilSetExtensionNamePrefix = value;
                    } else if (name.equals("baseStencilSetPath")) {
                        baseStencilSetPath = value;
                    } else if (name.equals("baseStencilSet")) {
                        baseStencilSet = value;
                    } else if (name.equals("stencilSetExtension")) {
                        stencilSetExtensionUrls.add(value);
                    } else if (name.equals("baseStencil")) {
                        baseStencil = value;
                    } else if (name.equals("columnPropertyMapping")) {
                        columnPropertyMapping = value.split(",");
                    } else if (name.equals("modelDescription")) {
                        modelDescription = value;
                    } else if (name.equals("modelTags")) {
                        modelTags = value.split(",");
                    } else if (name.equals("additionalERDFContentForGeneratedModel")) {
                        additionalERDFContentForGeneratedModel = value;
                    }
                } else {
                    // file field
                    //System.out.println("File field " + name + " with file name "
                    //    + item.getName() + " detected.");
                    // Process the input stream
                    if (name.equals("csvFile")) {
                        CsvMapReader csvFileReader = new CsvMapReader(new InputStreamReader(stream),
                                CsvPreference.EXCEL_PREFERENCE);
                        csvHeader = csvFileReader.getCSVHeader(true);
                        if (columnPropertyMapping != null && columnPropertyMapping.length > 0) {
                            csvHeader = columnPropertyMapping;
                        }
                        Map<String, String> row;
                        while ((row = csvFileReader.read(csvHeader)) != null) {
                            stencilPropertyMatrix.add(row);
                        }
                    }
                }
            }

            // generate stencil set
            Date creationDate = new Date(System.currentTimeMillis());
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss.SSS");
            String stencilSetExtensionName = stencilSetExtensionNamePrefix + " "
                    + dateFormat.format(creationDate);

            stencilSetExtensionUrls
                    .add(StencilSetExtensionGenerator.generateStencilSetExtension(stencilSetExtensionName,
                            stencilPropertyMatrix, columnPropertyMapping, baseStencilSet, baseStencil));

            // generate new model
            String modelName = modelNamePrefix + stencilSetExtensionName;
            String model = repository.generateERDF(UUID.randomUUID().toString(),
                    additionalERDFContentForGeneratedModel, baseStencilSetPath, baseStencilSet,
                    stencilSetExtensionUrls, modelName, modelDescription);
            String modelUrl = baseUrl + repository.saveNewModel(model, modelName, modelDescription,
                    baseStencilSet, baseStencilSetPath);

            // hack for reverse proxies:
            modelUrl = modelUrl.substring(modelUrl.lastIndexOf("http://"));

            // tag model
            if (modelTags != null) {
                for (String tagName : modelTags) {
                    repository.addTag(modelUrl, tagName.trim());
                }
            }

            // redirect client to editor with that newly generated model
            response.setHeader("Location", modelUrl);
            response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);

        } catch (FileUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else {
        // TODO Add some error message
    }
}

From source file:org.oryxeditor.server.TBPMServlet.java

protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException {

    res.setContentType("text/html");
    res.setStatus(200);//from  w w  w  .  j  a  v a2 s.c  o  m
    PrintWriter out = null;
    try {
        out = res.getWriter();
    } catch (IOException e) {
        e.printStackTrace();
    }

    // No isMultipartContent => Error
    final boolean isMultipartContent = ServletFileUpload.isMultipartContent(req);
    if (!isMultipartContent) {
        printError(res, "No Multipart Content transmitted.");
        return;
    }

    final FileItemFactory factory = new DiskFileItemFactory();
    final ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
    servletFileUpload.setSizeMax(-1);
    try {
        final List<?> items = servletFileUpload.parseRequest(req);
        final FileItem fileItem = (FileItem) items.get(0);
        final String fileName = fileItem.getName();
        if (!(fileName.endsWith(".png") || fileName.endsWith(".jpg") || fileName.endsWith(".JPG"))) {
            printError(res, "No file with .png or .jpg extension uploaded.");
            return;
        }
        String response = this.processUploadedFile(fileItem);
        out.write(response);

    } catch (FileUploadException e1) {
        e1.printStackTrace();
    }
}

From source file:org.pentaho.platform.web.refactor.SolutionManagerUIComponent.java

public Document doFileUpload() {
    String baseUrl = PentahoSystem.getApplicationContext()
            .getSolutionPath(SolutionManagerUIComponent.EMPTY_STR);
    ISolutionRepository repository = PentahoSystem.get(ISolutionRepository.class, session);
    String path = this.getParameter(SolutionManagerUIComponent.PATH_STR, null);
    IParameterProvider request = (IParameterProvider) getParameterProviders()
            .get(IParameterProvider.SCOPE_REQUEST);
    HttpServletRequest httpRequest = ((HttpRequestParameterProvider) request).getRequest();
    /*    /*from  w w w.j a v a2s.  c  o  m*/
        String contentType = httpRequest.getContentType();
        if ((contentType == null)
            || ((contentType.indexOf("multipart/form-data") < 0) && (contentType.indexOf("multipart/mixed stream") < 0))) { //$NON-NLS-1$ //$NON-NLS-2$
          return doGetSolutionStructure();
        }
        DiskFileUpload uploader = new DiskFileUpload();
    */

    if (!ServletFileUpload.isMultipartContent(httpRequest)) {
        return doGetSolutionStructure();
    }

    ServletFileUpload uploader = new ServletFileUpload(new DiskFileItemFactory());

    try {
        List fileList = uploader.parseRequest(httpRequest);
        Iterator iter = fileList.iterator();
        while (iter.hasNext()) {
            FileItem fi = (FileItem) iter.next();

            // Check if not form field so as to only handle the file inputs
            if (!fi.isFormField()) {
                File tempFileRef = new File(fi.getName());
                repository.addSolutionFile(baseUrl, path, tempFileRef.getName(), fi.get(), true);
                SolutionManagerUIComponent.logger
                        .info(Messages.getString("SolutionManagerUIComponent.INFO_0001_FILE_SAVED") + path + "/" //$NON-NLS-1$//$NON-NLS-2$
                                + tempFileRef.getName());
            }
        }
    } catch (FileUploadException e) {
        SolutionManagerUIComponent.logger.error(e.toString());
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return doGetSolutionStructure();
}

From source file:org.pentaho.platform.web.servlet.RepositoryFilePublisher.java

@Override
protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
        throws ServletException, IOException {
    PentahoSystem.systemEntryPoint();/*from   w  w  w  . j a v  a 2s .co m*/
    try {
        response.setCharacterEncoding(LocaleHelper.getSystemEncoding());
        IPentahoSession pentahoSession = PentahoSessionHolder.getSession();
        String publishPath = request.getParameter("publishPath"); //$NON-NLS-1$
        String publishKey = request.getParameter("publishKey");//$NON-NLS-1$
        String jndiName = request.getParameter("jndiName");//$NON-NLS-1$
        String jdbcDriver = request.getParameter("jdbcDriver");//$NON-NLS-1$
        String jdbcUrl = request.getParameter("jdbcUrl");//$NON-NLS-1$
        String jdbcUserId = request.getParameter("jdbcUserId");//$NON-NLS-1$
        String jdbcPassword = request.getParameter("jdbcPassword");//$NON-NLS-1$
        boolean overwrite = Boolean.valueOf(request.getParameter("overwrite")).booleanValue(); //$NON-NLS-1$
        boolean mkdirs = Boolean.valueOf(request.getParameter("mkdirs")).booleanValue(); //$NON-NLS-1$

        List<FileItem> fileItems = Collections.emptyList();
        try {
            fileItems = getFileItems(request);
        } catch (FileUploadException e) {
            e.printStackTrace();
            if (RepositoryFilePublisher.logger.isErrorEnabled()) {
                RepositoryFilePublisher.logger.error("an exception occurred", e);
            }
            response.getWriter().println(ISolutionRepository.FILE_ADD_FAILED);
            return;
        }

        int status = doPublish(fileItems, publishPath, publishKey, jndiName, jdbcDriver, jdbcUrl, jdbcUserId,
                jdbcPassword, overwrite, mkdirs, pentahoSession);
        response.getWriter().println(status);
    } finally {
        PentahoSystem.systemExitPoint();
    }
}

From source file:org.silverpeas.mobile.server.servlets.MediaServlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String componentId = "";
    String albumId = "";
    String tempDir = MediaHelper.getTemporaryUploadMediaPath();

    // configures upload settings
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // sets memory threshold - beyond which files are stored in disk
    factory.setSizeThreshold(MEMORY_THRESHOLD);
    // sets temporary location to store files
    factory.setRepository(new File(tempDir));

    ServletFileUpload upload = new ServletFileUpload(factory);

    // sets maximum size of upload file
    upload.setFileSizeMax(MAX_FILE_SIZE);

    // sets maximum size of request (include file + form data)
    upload.setSizeMax(MAX_REQUEST_SIZE);

    // Parse the request
    @SuppressWarnings("unchecked")
    List<FileItem> items = null;
    try {// www .ja  v  a  2  s  .c  om
        items = upload.parseRequest(request);
    } catch (FileUploadBase.FileSizeLimitExceededException eu) {
        response.sendError(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE);
        return;
    } catch (FileUploadException e) {
        e.printStackTrace();
    }

    // Process the uploaded items
    Iterator iter = items.iterator();
    while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();
        if (item.isFormField()) {
            if (item.getFieldName().equals("componentId"))
                componentId = item.getString();
            if (item.getFieldName().equals("albumId"))
                albumId = item.getString();

        } else {
            String fileName = item.getName();
            File file = new File(tempDir + File.separator + fileName);
            try {
                item.write(file);
                createMedia(request, response, fileName, getUserInSession(request).getId(), componentId,
                        albumId, file, false, "", "", true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

From source file:org.tolven.ajax.DocServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // Create a factory for disk-based file items
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(4096);/*w  ww  . j  a va  2 s  . c o m*/
    //  Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    Writer writer = response.getWriter();
    // Parse the request
    String returnTo = null;
    try {
        List<FileItem> items = upload.parseRequest(request);
        long id = 0;
        for (FileItem item : items) {
            if (item.isFormField()) {
                String name = item.getFieldName();
                String value = item.getString();
                if ("returnTo".equals(name))
                    returnTo = value;
            } else {
                String contentType = item.getContentType();
                boolean isInMemory = item.isInMemory();
                // TODO less than int bytes 
                int sizeInBytes = (int) item.getSize();
                AccountUser accountUser = TolvenRequest.getInstance().getAccountUser();
                DocBase doc = docBean.createNewDocument(contentType, "", accountUser);
                // Get the logged in user and set as the author
                Object obj = request.getSession().getAttribute(GeneralSecurityFilter.ACCOUNT_ID);
                if (obj == null)
                    throw new IllegalStateException(getClass() + ": Session ACCOUNT_ID is null");
                obj = request.getSession().getAttribute(GeneralSecurityFilter.TOLVENUSER_ID);
                if (obj == null)
                    throw new IllegalStateException(getClass() + ": Session TOLVENUSER_ID is null");
                String kbeKeyAlgorithm = propertyBean.getProperty(DocumentSecretKey.DOC_KBE_KEY_ALGORITHM_PROP);
                int kbeKeyLength = Integer
                        .parseInt(propertyBean.getProperty(DocumentSecretKey.DOC_KBE_KEY_LENGTH));

                if (isInMemory) {
                    doc.setAsEncryptedContent(item.get(), kbeKeyAlgorithm, kbeKeyLength);
                } else {
                    InputStream uploadedStream = item.getInputStream();
                    byte[] b = new byte[sizeInBytes];
                    uploadedStream.read(b);
                    doc.setAsEncryptedContent(b, kbeKeyAlgorithm, kbeKeyLength);
                    uploadedStream.close();
                }
                docBean.finalizeDocument(doc);
            }
            //             writer.write( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<html>\n" +
            writer.write("<html>\n" + "<head>"
                    + (returnTo == null ? " "
                            : "<meta http-equiv=\"refresh\" content=\"0; url=" + returnTo + "\"/>")
                    + "</head><body>\n" + id + "\n</body>\n</html>\n");
        }
    } catch (FileUploadException e) {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST);
        e.printStackTrace();
    } finally {
        request.setAttribute("activeWriter", writer);
        //         writer.close();
    }
}

From source file:org.trianacode.TrianaCloud.Broker.Broker.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
    logger.info("Broker received a request.");
    String pathInfo = isolatePath(request);
    String content = "";
    if (!pathInfo.equalsIgnoreCase("")) {
        logger.info("Unknown Endpoint");
        write404Error(response, "Unknown endpoint");
        return;// w  w  w.  j  a v  a 2 s. c  o  m
    }

    try {
        byte[] data = null;
        String r_key = "";
        String fname = "";
        String name = "";
        int numTasks = 0;
        StringBuilder s = new StringBuilder();

        try {
            List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
            for (FileItem item : items) {
                if (item.isFormField()) {
                    // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
                    String fieldname = item.getFieldName();
                    String fieldvalue = item.getString();
                    if (fieldname.equalsIgnoreCase("task")) {
                        s.append(fieldvalue);
                    }
                    if (fieldname.equalsIgnoreCase("routingkey")) {
                        r_key = fieldvalue;
                    }
                    if (fieldname.equalsIgnoreCase("numtasks")) {
                        numTasks = Integer.parseInt(fieldvalue);
                    }
                    if (fieldname.equalsIgnoreCase("name")) {
                        name = fieldvalue;
                    }
                } else {
                    // Process form file field (input type="file").
                    String fieldname = item.getFieldName();
                    String filename = FilenameUtils.getName(item.getName());
                    // ... (do your job here)

                    fname = filename;

                    InputStream is = item.getInputStream();

                    long length = item.getSize();

                    if (length > Integer.MAX_VALUE) {
                        // File is too large
                        throw new Exception("File too large");
                    }

                    // Create the byte array to hold the data
                    byte[] bytes = new byte[(int) length];

                    // Read in the bytes
                    int offset = 0;
                    int numRead = 0;
                    while (offset < bytes.length
                            && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
                        offset += numRead;
                    }

                    // Ensure all the bytes have been read in
                    if (offset < bytes.length) {
                        throw new IOException("Could not completely read file " + length);
                    }
                    data = bytes;
                }
            }
        } catch (FileUploadException e) {
            logger.error("Cannot parse multipart request.");
            throw new ServletException("Cannot parse multipart request.", e);
        }

        List<String> UUIDList = new ArrayList<String>();

        log.debug(content);
        for (int i = 0; i < numTasks; i++) {
            Task t = new Task();
            t.setData(data);
            t.setDataMD5(MD5.getMD5Hash(data));
            t.setDataType("binary");
            t.setName(name);
            t.setFileName(fname);
            t.setOrigin("Broker");
            t.setDispatchTime(System.currentTimeMillis());
            t.setRoutingKey(r_key);
            t.setUUID(UUID.randomUUID().toString());
            insertTask(t);
            UUIDList.add(t.getUUID());
        }

        StringBuilder sb = new StringBuilder();
        for (String id : UUIDList) {
            sb.append(id + "\n");
        }
        //String ret = "Ok; ///TODO:do some stuff here
        writeResponse(response, 200, "Success", sb.toString());

        List<Task> t = td.list();

        for (Task ta : t) {
            System.out.println(ta.getDispatchTime() + "  " + ta.getState());
        }

    } catch (Exception e) {
        e.printStackTrace();
        log.error(e);
        StringBuffer stack = new StringBuffer("Error: " + e.getMessage() + "<br/>");
        StackTraceElement[] trace = e.getStackTrace();
        for (StackTraceElement element : trace) {
            stack.append(element.toString()).append("<br/>");
        }
        writeError(response, 500, stack.toString());
    } catch (Throwable t) {
        writeThrowable(response, t);
    }
}

From source file:org.vosao.servlet.FormSendServlet.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String message = null;/*w ww.java2  s  .  c o  m*/
    Map<String, String> parameters = new HashMap<String, String>();
    List<FileItem> files = new ArrayList<FileItem>();
    try {
        if (request.getContentType().startsWith("multipart/form-data")) {
            ServletFileUpload upload = new ServletFileUpload();
            upload.setFileSizeMax(MAX_SIZE);
            upload.setHeaderEncoding("UTF-8");
            FileItemIterator iter;
            try {
                iter = upload.getItemIterator(request);
                InputStream stream = null;
                while (iter.hasNext()) {
                    FileItemStream item = iter.next();
                    stream = item.openStream();
                    if (item.isFormField()) {
                        parameters.put(item.getFieldName(), Streams.asString(stream, "UTF-8"));
                    } else {
                        files.add(new FileItem(item, StreamUtil.readFileStream(stream)));
                    }
                }
            } catch (FileUploadException e) {
                logger.error(e.getMessage());
                throw new UploadException(Messages.get("request_parsing_error"));
            }
        } else {
            for (Object key : request.getParameterMap().keySet()) {
                String paramName = (String) key;
                parameters.put(paramName, request.getParameter(paramName));
            }
        }
        message = processForm(parameters, files, request);
    } catch (UploadException e) {
        message = createMessage("error", e.getMessage());
        logger.error(message);
    } catch (Exception e) {
        message = createMessage("error", e.getMessage());
        logger.error(message);
        e.printStackTrace();
    }
    response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");
    response.setStatus(200);
    response.getWriter().write(message);
}

From source file:org.vuphone.vandyupon.media.incoming.event.ImageParser.java

public Notification parse(HttpServletRequest req) {
    if (req.getParameter("type").equalsIgnoreCase("eventimagepost")) {
        //get data from request

        String response = null;//from w w w  .j  av a 2  s  . c  om
        String callback = null;
        long time, eventId = 0;
        time = System.currentTimeMillis();
        byte[] imageData = null;

        eventId = Long.parseLong(req.getParameter(EVENTID));

        response = req.getParameter("resp");
        callback = req.getParameter("callback");
        if (ServletFileUpload.isMultipartContent(req)) {
            //process the multipart request

            File temp = new File("/temp");
            if (!temp.exists()) {
                temp.mkdir();
            }

            DiskFileItemFactory factory = new DiskFileItemFactory(5000000, temp);

            ServletFileUpload ul = new ServletFileUpload(factory);
            Iterator iter = null;

            HashMap<String, String> params = new HashMap<String, String>();

            try {
                iter = ul.parseRequest(req).iterator();

                while (iter.hasNext()) {

                    FileItem item = (FileItem) iter.next();

                    if (item.isFormField())
                        params.put(item.getFieldName(), item.getString());
                    else
                        //file upload
                        imageData = item.get();
                }

            } catch (FileUploadException e) {
                e.printStackTrace();
                return null;
            }

        } else {

            eventId = Long.parseLong(req.getParameter(EVENTID));

            response = req.getParameter("resp");
            callback = req.getParameter("callback");
            imageData = new byte[req.getContentLength() + 1];
            try {
                ServletInputStream sis = req.getInputStream();
                int read = 0;
                int readSoFar = 0;
                while ((read = sis.read(imageData, readSoFar, imageData.length - readSoFar)) != -1) {
                    readSoFar += read;
                    //logger_.log(Level.SEVERE, "Read " + String.valueOf(read) + " bytes this time. So Far " + String.valueOf(readSoFar));
                }
            } catch (IOException excp) {
                logger_.log(Level.SEVERE, "Got IOException:" + excp.getMessage());
            }

        }
        ImageNotification in = new ImageNotification();
        in.setEventId(eventId);
        in.setTime(time);
        in.setBytes(imageData);
        in.setResponseType(response);
        in.setCallback(callback);
        return in;
    } else {
        return null;
    }
}