Package com.davidjc.ajaxfileupload.action

Source Code of com.davidjc.ajaxfileupload.action.UploadProgress

package com.davidjc.ajaxfileupload.action;

import java.util.Map;

import net.sf.json.JSONObject;
import net.sf.json.util.JSONBuilder;

import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.SessionAware;

import com.davidjc.ajaxfileupload.multipart.ProgressMonitor;
import com.opensymphony.xwork2.Action;

/**
*
* @author dave
*/
public class UploadProgress implements SessionAware {

    private static Logger logger = Logger.getLogger(UploadProgress.class);

    private static final String SESSION_BYTES_UPLOADED_NOTCHANGED_COUNT = "SESSION_BYTES_UPLOADED_NOTCHANGED_COUNT";
   
    private Map sessionMap;

    private String rnd; //just a random number
    private String stringResult;

    public String execute() {
  if (logger.isDebugEnabled())
      logger.debug("Executing the UploadProgress action");

  Object mon_obj = sessionMap.get(ProgressMonitor.SESSION_PROGRESS_MONITOR);

  JSONObject json = new JSONObject();
  if (mon_obj != null) {
      ProgressMonitor monitor = (ProgressMonitor) mon_obj;
      json.accumulate("bytesSent", "" + monitor.getBytesRead());
      json.accumulate("bytesTotal", "" + monitor.getBytesLength());
      json.accumulate("percentComplete", "" + monitor.percentComplete());
     
      if(!monitor.isStillProcessing() || monitor.isAborted()) {
    json.accumulate("aborted", true);
      }else {
    json.accumulate("aborted", false);
      }
        
     
  } else {
      json.accumulate("bytesSent", "" + 0);
      json.accumulate("bytesTotal", "" + 0);
      json.accumulate("percentComplete", "" + 0);
      json.accumulate("aborted", false);
  }

  setStringResult(json.toString());
  if (logger.isDebugEnabled())
      logger.debug("JSON Result is: " + getStringResult());

  return Action.SUCCESS;
    }

    public void setSession(Map sessionMap) {
  this.sessionMap = sessionMap;
    }

    public void setRnd(String rnd) {
  this.rnd = rnd;
    }

    public String getRnd() {
  return rnd;
    }

    public void setStringResult(String stringResult) {
  this.stringResult = stringResult;
    }

    public String getStringResult() {
  return stringResult;
    }

}
TOP

Related Classes of com.davidjc.ajaxfileupload.action.UploadProgress

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.