}
}
return jsonObj;
} else if (jsonParam.has(AJAX_FILES_REQUEST)) {
JSONObject jsonObj = new JSONObject();
JSONArray files = (JSONArray) jsonParam.get(AJAX_PARAM_FILES_ID);
boolean allUploaded = true;
Map<String, Object> sessionMap = context.getExternalContext().getSessionMap();
for (int i = 0; i < files.length(); i++) {
JSONArray file = files.getJSONArray(i);
if (file.getString(3).equals("SUCCESSFUL")) {
if (!sessionMap.containsKey(file.getString(0))) {
allUploaded = false;
break;
}
}
}
JSONArray fileSizes = new JSONArray();
if (allUploaded) {
List<FileUploadItem> filesItems = new LinkedList<FileUploadItem>();
for (int i = 0; i < files.length(); i++) {
JSONArray file = files.getJSONArray(i);
if (file.getString(3).equals("SUCCESSFUL")) {
FileUploadItem fileUploadItem = (FileUploadItem) sessionMap.get(file.getString(0));
filesItems.add(fileUploadItem);
sessionMap.remove(file.getString(0));
JSONArray jsonArray = new JSONArray();
jsonArray.put(file.getString(4));
jsonArray.put(fileUploadItem.getFile().length());
fileSizes.put(jsonArray);
} else if (file.getString(3).equals("STOPPED")) {
filesItems.add(new FileUploadItem(file.getString(2), null, FileUploadStatus.STOPPED));
sessionMap.remove(PROGRESS_ID + file.getString(1));