List of usage examples for org.apache.commons.fileupload.portlet PortletFileUpload PortletFileUpload
public PortletFileUpload(FileItemFactory fileItemFactory)
FileItem
instances. From source file:it.infn.ct.molon_portlet.java
/** * This method manages the user input fields managing two cases * distinguished by the type of the input <form ... statement The use of * upload file controls needs the use of "multipart/form-data" while the * else condition of the isMultipartContent check manages the standard input * case. The multipart content needs a manual processing of all <form items * All form' input items are identified by the 'name' input property inside * the jsp file// w w w . java 2s . c om * @param request ActionRequest instance (processAction) * @param appInput AppInput instance storing the jobSubmission data */ void getInputForm(ActionRequest request, molon_portlet.AppInput appInput) { if (PortletFileUpload.isMultipartContent(request)) { try { FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; int i = 0; int j = 0; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Prepare a log string with field list switch (molon_portlet.inputControlsIds.valueOf(fieldName)) { case jobPID: logstring += LS + "FIELD IS A JOB PID WITH NAME : '" + item.getString() + "'"; appInput.jobPID = item.getString(); break; case inputURL: logstring += LS + "FIELD IS AN INPUT URL WITH NAME : '" + item.getString() + "'"; appInput.inputURL = item.getString(); break; case JobIdentifier: logstring += LS + "FIELD IS A JOB IDENTIFIER WITH NAME : '" + item.getString() + "'"; appInput.jobIdentifier = item.getString(); break; case file_inputFile: if (fileName == "") break; logstring += LS + "FIELD IS A FILE WITH NAME : '" + fileName + "'"; appInput.inputFile = appInput.path + "/" + fileName; logstring += LS + "COPYING IT TO PATH : '" + appInput.path + "'"; copyFile(item, appInput.inputFile); break; default: _log.warn("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring + LS); } // try catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values // appInput.inputFileName = (String) request.getParameter("file_inputFile"); // appInput.inputFileText = (String) request.getParameter("inputFile"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "-----------------------" // + LS + "inputFileName: '" + appInput.inputFileName + "'" // + LS + "inputFileText: '" + appInput.inputFileText + "'" + LS + "jobIdentifier: '" + appInput.jobIdentifier + "'" + LS + "jobPID: '" + appInput.jobPID + "'" + LS + "inputURL: '" + appInput.inputURL + "'" + LS + "inputFile: '" + appInput.inputFile + "'" + LS); }
From source file:it.infn.ct.corsika_portlet.java
/** * This method manages the user input fields managing two cases * distinguished by the type of the input <form ... statement The use of * upload file controls needs the use of "multipart/form-data" while the * else condition of the isMultipartContent check manages the standard input * case. The multipart content needs a manual processing of all <form items * All form' input items are identified by the 'name' input property inside * the jsp file// w w w. j a va 2 s .c o m * @param request ActionRequest instance (processAction) * @param appInput AppInput instance storing the jobSubmission data */ void getInputForm(ActionRequest request, corsika_portlet.AppInput appInput) { if (PortletFileUpload.isMultipartContent(request)) { try { FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; int i = 0; int j = 0; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Prepare a log string with field list switch (corsika_portlet.inputControlsIds.valueOf(fieldName)) { case jobPID: logstring += LS + "FIELD IS A JOB PID WITH NAME : '" + item.getString() + "'"; appInput.jobPID = item.getString(); break; case JobIdentifier: logstring += LS + "FIELD IS A JOB IDENTIFIER WITH NAME : '" + item.getString() + "'"; appInput.jobIdentifier = item.getString(); break; case file_inputFile: if (fileName == "") break; logstring += LS + "FIELD IS A FILE WITH NAME : '" + fileName + "'"; appInput.inputFile = appInput.path + "/" + fileName; logstring += LS + "COPYING IT TO PATH : '" + appInput.path + "'"; copyFile(item, appInput.inputFile); break; case corsikaVersion: appInput.corsikaVersion = item.getString(); logstring += LS + "FIELD IS A CORSIKA VERSION WITH NAME : '" + appInput.corsikaVersion + "'"; break; case parametricJob: if (item.getString().trim().equals("yes")) appInput.parametricJob = true; else appInput.parametricJob = false; logstring += LS + "FIELD IS A PARAMETRIC JOB SPECIFICATION : '" + appInput.parametricJob.toString() + "'"; break; case emailWhenFinished: if (item.getString().trim().equals("yes")) appInput.emailWhenFinished = true; else appInput.emailWhenFinished = false; logstring += LS + "FIELD IS A EMAIL WHEN FINISHED SPECIFICATION : '" + appInput.emailWhenFinished.toString() + "'"; break; case useStorageElement: if (item.getString().trim().equals("yes")) appInput.useStorageElement = true; else appInput.useStorageElement = false; logstring += LS + "FIELD IS A STORAGE ELEMENT SPECIFICATION : '" + appInput.useStorageElement.toString() + "'"; break; default: _log.warn("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring + LS); } // try catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values // appInput.inputFileName = (String) request.getParameter("file_inputFile"); // appInput.inputFileText = (String) request.getParameter("inputFile"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "-----------------------" // + LS + "inputFileName: '" + appInput.inputFileName + "'" // + LS + "inputFileText: '" + appInput.inputFileText + "'" + LS + "jobIdentifier: '" + appInput.jobIdentifier + "'" + LS + "jobPID: '" + appInput.jobPID + "'" + LS + "inputFile: '" + appInput.inputFile + "'" + LS); }
From source file:it.infn.ct.ParallelSemanticSearch_portlet.java
public void getInputForm(ActionRequest request, App_Input appInput) { if (PortletFileUpload.isMultipartContent(request)) { try {/*from ww w . j a va2s .c o m*/ FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Prepare a log string with field list logstring += LS + "field name: '" + fieldName + "' - '" + item.getString() + "'"; switch (inputControlsIds.valueOf(fieldName)) { case JobIdentifier: appInput.jobIdentifier = item.getString(); break; default: _log.warn("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring + LS); } // try catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values appInput.search_word = (String) request.getParameter("search_word"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); appInput.nameSubject = (String) request.getParameter("nameSubject"); appInput.idResouce = (String) request.getParameter("idResource"); appInput.selected_language = (String) request.getParameter("selLanguage"); appInput.numberPage = (String) request.getParameter("numberOfPage"); appInput.numberPageOpenAgris = (String) request.getParameter("numberOfPageOpenAgris"); appInput.numRecordsForPage = (String) request.getParameter("numberOfRecords"); appInput.moreResourceCHAIN = (String) request.getParameter("moreResourceCHAIN"); appInput.moreResourceOpenAgris = (String) request.getParameter("moreResourceOpenAgris"); appInput.idResourceOpenAgris = (String) request.getParameter("idResourceOpenAgris"); appInput.moreInfoOpenAgris = (String) request.getParameter("moreInfoOpenAgris"); appInput.moreInfo = (String) request.getParameter("moreInfo"); appInput.numberPageCulturaItalia = (String) request.getParameter("numberOfPageCulturaItalia"); appInput.moreResourceCulturaItalia = (String) request.getParameter("moreResourceCulturaItalia"); appInput.moreInfoCulturaItalia = (String) request.getParameter("moreInfoCulturaItalia"); appInput.numResource = (String) request.getParameter("numResource"); appInput.numResourceFromDetails = (String) request.getParameter("numResourceFromDetails"); appInput.numResourceOpenAgris = (String) request.getParameter("numResourceOpenAgris"); appInput.numResourceOpenAgrisFromDetails = (String) request .getParameter("numResourceOpenAgrisFromDetails"); appInput.numResourceCulturaItalia = (String) request.getParameter("numResourceCulturaItalia"); appInput.numResourceCulturaItaliaFromDetails = (String) request .getParameter("numResourceCulturaItaliaFromDetails"); appInput.idResourceCulturaItalia = (String) request.getParameter("idResourceCulturaItalia"); appInput.numberPageIsidore = (String) request.getParameter("numberOfPageIsidore"); appInput.moreResourceIsidore = (String) request.getParameter("moreResourceIsidore"); appInput.idResourceIsidore = (String) request.getParameter("idResourceIsidore"); appInput.numResourceIsidore = (String) request.getParameter("numResourceIsidore"); appInput.numResourceIsidoreFromDetails = (String) request.getParameter("numResourceIsidoreFromDetails"); appInput.numberPageIsidore = (String) request.getParameter("numberOfPageIsidore"); appInput.moreInfoIsidore = (String) request.getParameter("moreInfoIsidore"); appInput.idResourceEuropeana = (String) request.getParameter("idResourceEuropeana"); appInput.moreResourceEuropeana = (String) request.getParameter("moreResourceEuropeana"); appInput.numberPageEuropeana = (String) request.getParameter("numberOfPageEuropeana"); appInput.numResourceEuropeana = (String) request.getParameter("numResourceEuropeana"); appInput.numResourceEuropeanaFromDetails = (String) request .getParameter("numResourceEuropeanaFromDetails"); appInput.numberPageEuropeana = (String) request.getParameter("numberOfPageEuropeana"); appInput.moreInfoEuropeana = (String) request.getParameter("moreInfoEuropeana"); appInput.idResourcePubmed = (String) request.getParameter("idResourcePubmed"); appInput.moreResourcePubmed = (String) request.getParameter("moreResourcePubmed"); appInput.numberPagePubmed = (String) request.getParameter("numberOfPagePubmed"); appInput.numResourcePubmed = (String) request.getParameter("numResourcePubmed"); appInput.numResourcePubmedFromDetails = (String) request.getParameter("numResourcePubmedFromDetails"); appInput.moreInfoPubmed = (String) request.getParameter("moreInfoPubmed"); appInput.idResourceEngage = (String) request.getParameter("idResourceEngage"); appInput.moreResourceEngage = (String) request.getParameter("moreResourceEngage"); appInput.numberPageEngage = (String) request.getParameter("numberOfPageEngage"); appInput.numResourceEngage = (String) request.getParameter("numResourceEngage"); appInput.numResourceEngageFromDetails = (String) request.getParameter("numResourceEngageFromDetails"); appInput.moreInfoEngage = (String) request.getParameter("moreInfoEngage"); appInput.title_GS = (String) request.getParameter("title_GS"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "-----------------------" + LS + "Search Word: '" + appInput.search_word + "'" + LS + "jobIdentifier: '" + appInput.jobIdentifier + "'" + LS + "subject: '" + appInput.nameSubject + "'" + LS + "idResource: '" + appInput.idResouce + "'" + LS + "language selected: '" + appInput.selected_language + "'" + LS + "number page selected: '" + appInput.numberPage + "'" + LS + "number record for page: '" + appInput.numRecordsForPage + "'" + LS + "number page selected OpenAgris: '" + appInput.numberPageOpenAgris + "'" + LS + "moreResourceCHAIN: '" + appInput.moreResourceCHAIN + "'" + LS + "moreInfo: '" + appInput.moreInfo + "'" + LS + "moreResourceOpenAgris: '" + appInput.moreResourceOpenAgris + "'" + LS + "idResourceOpenAgris: '" + appInput.idResourceOpenAgris + "'" + LS + "moreInfoOpenAgris: '" + appInput.moreInfoOpenAgris + "'" + LS + "number page selected CulturaItalia: '" + appInput.numberPageCulturaItalia + "'" + LS + "moreResourceCulturaItalia: '" + appInput.moreResourceCulturaItalia + "'" + LS + "moreInfoCulturaItalia: '" + appInput.moreInfoCulturaItalia + "'" + LS + "NumResource: '" + appInput.numResource + "'" + LS + "NumResourceFromDetails: '" + appInput.numResourceFromDetails + "'" + LS + "NumResourceOpenAgris: '" + appInput.numResourceOpenAgris + "'" + LS + "NumResourceOpenAgrisFromDetails: '" + appInput.numResourceOpenAgrisFromDetails + "'" + LS + "NumResourceCulturaItalia: '" + appInput.numResourceCulturaItalia + "'" + LS + "NumResourceCulturaItaliaFromDetails: '" + appInput.numResourceCulturaItaliaFromDetails + "'" + LS + "idResourceCulturaItalia: '" + appInput.idResourceCulturaItalia + "'" + LS + "moreResourceEuropeana: '" + appInput.moreResourceEuropeana + "'" + LS); }
From source file:hu.sztaki.lpds.pgportal.portlets.workflow.EasyWorkflowPortlet.java
@Override public void doUpload(ActionRequest request, ActionResponse response) { PortletContext context = getPortletContext(); context.log("[FileUploadPortlet] doUpload() called"); try {/*from ww w . j a v a 2 s .c om*/ DiskFileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload pfu = new PortletFileUpload(factory); pfu.setSizeMax(uploadMaxSize); // Maximum upload size pfu.setProgressListener((ProgressListener) new FileUploadProgressListener()); PortletSession ps = request.getPortletSession(); if (ps.getAttribute("uploaded") == null) ps.setAttribute("uploaded", new Vector<String>()); ps.setAttribute("upload", pfu); //get the FileItems String fieldName = null; List fileItems = pfu.parseRequest(request); Iterator iter = fileItems.iterator(); File serverSideFile = null; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); // retrieve hidden parameters if item is a form field if (item.isFormField()) { fieldName = item.getFieldName(); } else { // item is not a form field, do file upload Hashtable<String, ProgressListener> tmp = (Hashtable<String, ProgressListener>) ps .getAttribute("uploads", ps.APPLICATION_SCOPE); String s = item.getName(); s = FilenameUtils.getName(s); ps.setAttribute("uploading", s); String tempDir = System.getProperty("java.io.tmpdir") + "/uploads/" + request.getRemoteUser(); File f = new File(tempDir); if (!f.exists()) f.mkdirs(); serverSideFile = new File(tempDir, s); item.write(serverSideFile); item.delete(); context.log("[FileUploadPortlet] - file " + s + " uploaded successfully to " + tempDir); // file upload to storage try { Hashtable h = new Hashtable(); h.put("portalURL", PropertyLoader.getInstance().getProperty("service.url")); h.put("userID", request.getRemoteUser()); String uploadField = ""; // retrieve hidden parameters if item is a form field for (FileItem item0 : (List<FileItem>) fileItems) { if (item0.isFormField()) h.put(item0.getFieldName(), item0.getString()); else uploadField = item0.getFieldName(); } Hashtable hsh = new Hashtable(); ServiceType st = InformationBase.getI().getService("storage", "portal", hsh, new Vector()); PortalStorageClient psc = (PortalStorageClient) Class.forName(st.getClientObject()) .newInstance(); psc.setServiceURL(st.getServiceUrl()); psc.setServiceID("/upload"); if (serverSideFile != null) { psc.fileUpload(serverSideFile, uploadField, h); } } catch (Exception ex) { response.setRenderParameter("full", "error.upload"); ex.printStackTrace(); return; } ((Vector<String>) ps.getAttribute("uploaded")).add(s); } } // ps.removeAttribute("uploads",ps.APPLICATION_SCOPE); ps.setAttribute("finaluploads", ""); } catch (SizeLimitExceededException see) { response.setRenderParameter("full", "error.upload.sizelimit"); request.getPortletSession().setAttribute("finaluploads", ""); see.printStackTrace(); context.log("[FileUploadPortlet] - failed to upload file - " + see.toString()); return; } catch (FileUploadException fue) { response.setRenderParameter("full", "error.upload"); fue.printStackTrace(); context.log("[FileUploadPortlet] - failed to upload file - " + fue.toString()); return; } catch (Exception e) { e.printStackTrace(); response.setRenderParameter("full", "error.exception"); context.log("[FileUploadPortlet] - failed to upload file - " + e.toString()); return; } response.setRenderParameter("full", "action.succesfull"); }
From source file:it.infn.ct.nuclemd.Nuclemd.java
public String[] uploadNuclemdSettings(ActionRequest actionRequest, ActionResponse actionResponse, String username) {/* ww w.j av a 2 s . c o m*/ String[] NUCLEMD_Parameters = new String[9]; boolean status; // Check that we have a file upload request boolean isMultipart = PortletFileUpload.isMultipartContent(actionRequest); if (isMultipart) { // Create a factory for disk-based file items. DiskFileItemFactory factory = new DiskFileItemFactory(); // Set factory constrains File NUCLEMD_Repository = new File("/tmp"); if (!NUCLEMD_Repository.exists()) status = NUCLEMD_Repository.mkdirs(); factory.setRepository(NUCLEMD_Repository); // Create a new file upload handler. PortletFileUpload upload = new PortletFileUpload(factory); try { // Parse the request List items = upload.parseRequest(actionRequest); // Processing items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); String timeStamp = dateFormat.format(Calendar.getInstance().getTime()); // Processing a regular form field if (item.isFormField()) { if (fieldName.equals("nuclemd_release")) NUCLEMD_Parameters[8] = item.getString(); if (fieldName.equals("nuclemd_desc")) if (item.getString().equals("Please, insert here a description")) NUCLEMD_Parameters[0] = "NUCLEMD Simulation Started"; else NUCLEMD_Parameters[0] = item.getString(); if (fieldName.equals("nuclemd_CE")) NUCLEMD_Parameters[1] = item.getString(); } else { // Processing a file upload if (fieldName.equals("nuclemd_fileinp")) { log.info("\n- Uploading the input file: " + "\n[ " + item.getName() + " ]" + "\n[ " + item.getContentType() + " ]" + "\n[ " + item.getSize() + "KBytes ]"); // Writing the file to disk String uploadNuclemdFile = NUCLEMD_Repository + "/" + timeStamp + "_" + username + "_" + item.getName(); log.info("\n- Writing the file: [ " + uploadNuclemdFile.toString() + " ] to disk"); item.write(new File(uploadNuclemdFile)); // Writing the file to disk String uploadNuclemdFile_stripped = NUCLEMD_Repository + "/" + timeStamp + "_" + username + "_" + item.getName() + "_stripped"; NUCLEMD_Parameters[2] = RemoveCarriageReturn(uploadNuclemdFile, uploadNuclemdFile_stripped); } if (fieldName.equals("nuclemd_fileconf_1")) { log.info("\n- Uploading the input file: " + "\n[ " + item.getName() + " ]" + "\n[ " + item.getContentType() + " ]" + "\n[ " + item.getSize() + "KBytes ]"); // Writing the file to disk String uploadNuclemdFile = NUCLEMD_Repository + "/" + timeStamp + "_" + username + "_" + item.getName(); log.info("\n- Writing the file: [ " + uploadNuclemdFile.toString() + " ] to disk"); item.write(new File(uploadNuclemdFile)); // Writing the file to disk String uploadNuclemdFile_stripped = NUCLEMD_Repository + "/" + timeStamp + "_" + username + "_" + item.getName() + "_stripped"; NUCLEMD_Parameters[3] = RemoveCarriageReturn(uploadNuclemdFile, uploadNuclemdFile_stripped); } if (fieldName.equals("nuclemd_fileconf_2")) { log.info("\n- Uploading the input file: " + "\n[ " + item.getName() + " ]" + "\n[ " + item.getContentType() + " ]" + "\n[ " + item.getSize() + "KBytes ]"); // Writing the file to disk String uploadNuclemdFile = NUCLEMD_Repository + "/" + timeStamp + "_" + username + "_" + item.getName(); log.info("\n- Writing the file: [ " + uploadNuclemdFile.toString() + " ] to disk"); item.write(new File(uploadNuclemdFile)); // Writing the file to disk String uploadNuclemdFile_stripped = NUCLEMD_Repository + "/" + timeStamp + "_" + username + "_" + item.getName() + "_stripped"; NUCLEMD_Parameters[4] = RemoveCarriageReturn(uploadNuclemdFile, uploadNuclemdFile_stripped); } } if (fieldName.equals("EnableNotification")) NUCLEMD_Parameters[5] = item.getString(); if (fieldName.equals("nuclemd_maxwallclocktime")) NUCLEMD_Parameters[6] = item.getString(); if (fieldName.equals("EnableDemo")) NUCLEMD_Parameters[7] = item.getString(); } // end while } catch (FileUploadException ex) { Logger.getLogger(Nuclemd.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(Nuclemd.class.getName()).log(Level.SEVERE, null, ex); } } return NUCLEMD_Parameters; }
From source file:it.infn.ct.wrf.Wrf.java
public String[] uploadSettings(ActionRequest actionRequest, ActionResponse actionResponse, String username) { String[] _Parameters = new String[7]; boolean status; // Check that we have a file upload request boolean isMultipart = PortletFileUpload.isMultipartContent(actionRequest); if (isMultipart) { // Create a factory for disk-based file items. DiskFileItemFactory factory = new DiskFileItemFactory(); // Set factory constrains File _Repository = new File("/tmp"); if (!_Repository.exists()) status = _Repository.mkdirs(); factory.setRepository(_Repository); // Create a new file upload handler. PortletFileUpload upload = new PortletFileUpload(factory); try {/*www. ja v a2 s .c o m*/ // Parse the request List items = upload.parseRequest(actionRequest); // Processing items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); String timeStamp = dateFormat.format(Calendar.getInstance().getTime()); // Processing a regular form field if (item.isFormField()) { if (fieldName.equals("wrf_textarea_OCTAVE")) { _Parameters[0] = _Repository + "/" + timeStamp + "_" + username + ".m"; // Store the textarea in a ASCII file storeString(_Parameters[0], item.getString()); } if (fieldName.equals("wrf_textarea_R")) { _Parameters[0] = _Repository + "/" + timeStamp + "_" + username + ".r"; // Store the textarea in a ASCII file storeString(_Parameters[0], item.getString()); } if (fieldName.equals("wrftype")) _Parameters[1] = item.getString(); if (fieldName.equals("wrf_CR")) _Parameters[2] = item.getString(); if (fieldName.equals("wrfvmtemplate")) _Parameters[5] = item.getString(); if (fieldName.equals("wrf_vmname")) _Parameters[6] = item.getString(); } else { // Processing a file upload if (fieldName.equals("wrf_file_OCTAVE") || fieldName.equals("wrf_file_R")) { log.info("\n- Uploading the following user's file: " + "\n[ " + item.getName() + " ]" + "\n[ " + item.getContentType() + " ]" + "\n[ " + item.getSize() + "KBytes ]"); // Writing the file to disk String uploadFile = _Repository + "/" + timeStamp + "_" + username + "_" + item.getName(); log.info("\n- Writing the user's file: [ " + uploadFile.toString() + " ] to disk"); item.write(new File(uploadFile)); _Parameters[0] = uploadFile; } } if (fieldName.equals("EnableNotification")) _Parameters[3] = item.getString(); if (fieldName.equals("wrf_desc")) if (item.getString().equals("Please, insert here a description for your run")) _Parameters[4] = "Cloud Simulation Started"; else _Parameters[4] = item.getString(); } // end while } catch (FileUploadException ex) { Logger.getLogger(Wrf.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(Wrf.class.getName()).log(Level.SEVERE, null, ex); } } return _Parameters; }
From source file:org.alfresco.web.app.portlet.AlfrescoFacesPortlet.java
/** * Called by the portlet container to allow the portlet to process an action request. *///from w w w. ja v a 2s.co m public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException { Application.setInPortalServer(true); try { // Set the current locale I18NUtil.setLocale(getLanguage(request.getPortletSession())); boolean isMultipart = PortletFileUpload.isMultipartContent(request); // NOTE: Due to filters not being called within portlets we can not make use // of the MyFaces file upload support, therefore we are using a pure // portlet request/action to handle file uploads until there is a // solution. if (isMultipart) { if (logger.isDebugEnabled()) logger.debug("Handling multipart request..."); PortletSession session = request.getPortletSession(); // get the file from the request and put it in the session DiskFileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List<FileItem> fileItems = upload.parseRequest(request); Iterator<FileItem> iter = fileItems.iterator(); FileUploadBean bean = new FileUploadBean(); while (iter.hasNext()) { FileItem item = iter.next(); String filename = item.getName(); if (item.isFormField() == false) { if (logger.isDebugEnabled()) logger.debug("Processing uploaded file: " + filename); // workaround a bug in IE where the full path is returned // IE is only available for Windows so only check for the Windows path separator int idx = filename.lastIndexOf('\\'); if (idx == -1) { // if there is no windows path separator check for *nix idx = filename.lastIndexOf('/'); } if (idx != -1) { filename = filename.substring(idx + File.separator.length()); } File tempFile = TempFileProvider.createTempFile("alfresco", ".upload"); item.write(tempFile); bean.setFile(tempFile); bean.setFileName(filename); bean.setFilePath(tempFile.getAbsolutePath()); session.setAttribute(FileUploadBean.FILE_UPLOAD_BEAN_NAME, bean, PortletSession.PORTLET_SCOPE); } } // Set the VIEW_ID parameter to tell the faces portlet bridge to treat the request // as a JSF request, this will send us back to the previous page we came from. String lastViewId = (String) request.getPortletSession().getAttribute(SESSION_LAST_VIEW_ID); if (lastViewId != null) { response.setRenderParameter(VIEW_ID, lastViewId); } } else { SessionUser sessionUser = (SessionUser) request.getPortletSession() .getAttribute(AuthenticationHelper.AUTHENTICATION_USER, PortletSession.APPLICATION_SCOPE); User user = sessionUser instanceof User ? (User) sessionUser : null; if (user != null) { // setup the authentication context try { WebApplicationContext ctx = (WebApplicationContext) getPortletContext() .getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); AuthenticationService auth = (AuthenticationService) ctx.getBean("AuthenticationService"); auth.validate(user.getTicket()); // save last username into portlet preferences, get from LoginBean state LoginBean loginBean = (LoginBean) request.getPortletSession() .getAttribute(AuthenticationHelper.LOGIN_BEAN); if (loginBean != null) { // TODO: Need to login to the Portal to get a user here to store prefs against // so not really a suitable solution as they get thrown away at present! // Also would need to store prefs PER user - so auto login for each...? String oldValue = request.getPreferences().getValue(PREF_ALF_USERNAME, null); if (oldValue == null || oldValue.equals(loginBean.getUsernameInternal()) == false) { if (request.getPreferences().isReadOnly(PREF_ALF_USERNAME) == false) { request.getPreferences().setValue(PREF_ALF_USERNAME, loginBean.getUsernameInternal()); request.getPreferences().store(); } } } // do the normal JSF processing super.processAction(request, response); } catch (AuthenticationException authErr) { // remove User object as it's now useless request.getPortletSession().removeAttribute(AuthenticationHelper.AUTHENTICATION_USER, PortletSession.APPLICATION_SCOPE); } } else { // do the normal JSF processing as we may be on the login page super.processAction(request, response); } } } catch (Throwable e) { if (getErrorPage() != null) { handleError(request, response, e); } else { logger.warn("No error page configured, re-throwing exception"); if (e instanceof PortletException) { throw (PortletException) e; } else if (e instanceof IOException) { throw (IOException) e; } else { throw new PortletException(e); } } } finally { Application.setInPortalServer(false); } }
From source file:org.apache.geronimo.console.bundlemanager.BundleManagerPortlet.java
/****************************** * Install Action/*from w w w . java 2s .c o m*/ ******************************/ private void processInstallAction(ActionRequest request, BundleContext bundleContext, StartLevel startLevelService) throws PortletException, IOException { if (!PortletFileUpload.isMultipartContent(request)) { throw new PortletException("Expected file upload"); } // use commons-fileupload to process the request File rootDir = new File(System.getProperty("java.io.tmpdir")); PortletFileUpload uploader = new PortletFileUpload(new DiskFileItemFactory(10240, rootDir)); File bundleFile = null; String startAfterInstalled = null; String str_startLevel = null; List<?> items; try { items = uploader.parseRequest(request); } catch (FileUploadException e) { addErrorMessage(request, getLocalizedString(request, "consolebase.bundlemanager.err.file.uploadError")); logger.error("FileUploadException", e); return; } // deal with the multipart form data items; for (Iterator<?> i = items.iterator(); i.hasNext();) { FileItem item = (FileItem) i.next(); if (!item.isFormField()) { String fieldName = item.getFieldName(); String fileName = item.getName().trim(); if (fileName.length() != 0) { int index = fileName.lastIndexOf('\\'); if (index != -1) { fileName = fileName.substring(index + 1); } if ("bundleFile".equals(fieldName)) { bundleFile = new File(rootDir, fileName); } } if (bundleFile != null) { try { item.write(bundleFile); } catch (Exception e) { addErrorMessage(request, getLocalizedString(request, "consolebase.bundlemanager.err.file.writeError")); logger.error("Exception", e); return; } } else { //should never happen addErrorMessage(request, getLocalizedString(request, "consolebase.bundlemanager.err.file.nullError")); logger.error("The uploaded file is null!"); return; } } else { if ("startAfterInstalled".equalsIgnoreCase(item.getFieldName())) { startAfterInstalled = item.getString(); } else if ("startLevel".equalsIgnoreCase(item.getFieldName())) { str_startLevel = item.getString(); } } } // install the uploaded bundle file String url = "file:///" + bundleFile.getCanonicalPath(); Bundle installedBundle; try { installedBundle = bundleContext.installBundle(url); addInfoMessage(request, getLocalizedString(request, "consolebase.bundlemanager.info.install", installedBundle.getSymbolicName(), installedBundle.getBundleId())); } catch (BundleException e) { addErrorMessage(request, getLocalizedString(request, "consolebase.bundlemanager.err.actionError") + "install", e.getMessage()); logger.error("BundleException", e); return; } // set start level for the installed bundle int startLevel = -1; try { startLevel = Integer.parseInt(str_startLevel); } catch (NumberFormatException e) { // if can't generated, use the default initialBundleStartLevel } int defaultStartLevel = startLevelService.getInitialBundleStartLevel(); if (startLevel != defaultStartLevel && startLevel >= 0) { startLevelService.setBundleStartLevel(installedBundle, startLevel); } // if check box "Start" checked, then start the bundle if ("yes".equals(startAfterInstalled)) { try { installedBundle.start(); addInfoMessage(request, getLocalizedString(request, "consolebase.bundlemanager.info.start", installedBundle.getSymbolicName(), installedBundle.getBundleId())); } catch (BundleException e) { addErrorMessage(request, getLocalizedString(request, "consolebase.bundlemanager.err.actionError") + "start", e.getMessage()); logger.error("BundleException", e); return; } } }
From source file:org.apache.geronimo.console.configmanager.DeploymentPortlet.java
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException, IOException { if (!PortletFileUpload.isMultipartContent(actionRequest)) { throw new PortletException("Expected file upload"); }/* w w w. jav a 2 s . c om*/ File rootDir = new File(System.getProperty("java.io.tmpdir")); PortletFileUpload uploader = new PortletFileUpload(new DiskFileItemFactory(10240, rootDir)); File moduleFile = null; File planFile = null; String startApp = null; String redeploy = null; try { List items = uploader.parseRequest(actionRequest); for (Iterator i = items.iterator(); i.hasNext();) { FileItem item = (FileItem) i.next(); if (!item.isFormField()) { String fieldName = item.getFieldName(); String name = item.getName().trim(); File file; if (name.length() == 0) { file = null; } else { // Firefox sends basename, IE sends full path int index = name.lastIndexOf('\\'); if (index != -1) { name = name.substring(index + 1); } file = new File(rootDir, name); } if ("module".equals(fieldName)) { moduleFile = file; } else if ("plan".equals(fieldName)) { planFile = file; } if (file != null) { try { item.write(file); } catch (Exception e) { throw new PortletException(e); } } } else { // retrieve 'startApp' form field value if ("startApp".equalsIgnoreCase(item.getFieldName())) { startApp = item.getString(); } else if ("redeploy".equalsIgnoreCase(item.getFieldName())) { redeploy = item.getString(); } } } } catch (FileUploadException e) { throw new PortletException(e); } DeploymentFactoryManager dfm = DeploymentFactoryManager.getInstance(); FileInputStream fis = null; try { DeploymentManager mgr = dfm.getDeploymentManager("deployer:geronimo:inVM", null, null); try { boolean isRedeploy = redeploy != null && !redeploy.equals(""); if (mgr instanceof JMXDeploymentManager) { ((JMXDeploymentManager) mgr).setLogConfiguration(false, true); } Target[] all = mgr.getTargets(); if (null == all) { throw new IllegalStateException("No target to distribute to"); } ProgressObject progress; if (isRedeploy) { TargetModuleID[] targets = identifyTargets(moduleFile, planFile, mgr.getAvailableModules(null, all)); if (targets.length == 0) { addErrorMessage(actionRequest, getLocalizedString(actionRequest, "plugin.errorMsg04"), null); log.error(getLocalizedString(actionRequest, "plugin.errorMsg04")); return; } progress = mgr.redeploy(targets, moduleFile, planFile); } else { progress = mgr.distribute(new Target[] { all[0] }, moduleFile, planFile); } while (progress.getDeploymentStatus().isRunning()) { Thread.sleep(100); } String abbrStatusMessage; String fullStatusMessage = null; if (progress.getDeploymentStatus().isCompleted()) { abbrStatusMessage = getLocalizedString(actionRequest, !isRedeploy ? "plugin.infoMsg01" : "plugin.infoMsg02"); addInfoMessage(actionRequest, abbrStatusMessage); // start installed app/s if (!isRedeploy && startApp != null && !startApp.equals("")) { progress = mgr.start(progress.getResultTargetModuleIDs()); while (progress.getDeploymentStatus().isRunning()) { Thread.sleep(100); } if (progress.getDeploymentStatus().isCompleted()) { abbrStatusMessage = getLocalizedString(actionRequest, "plugin.infoMsg03"); addInfoMessage(actionRequest, abbrStatusMessage); } else { abbrStatusMessage = getLocalizedString(actionRequest, "plugin.errorMsg02"); fullStatusMessage = progress.getDeploymentStatus().getMessage(); addErrorMessage(actionRequest, abbrStatusMessage, fullStatusMessage); log.error(abbrStatusMessage + "\n" + fullStatusMessage); } } } else { fullStatusMessage = progress.getDeploymentStatus().getMessage(); // for the abbreviated status message clip off everything // after the first line, which in most cases means the gnarly stacktrace abbrStatusMessage = getLocalizedString(actionRequest, "plugin.errorMsg01"); addErrorMessage(actionRequest, abbrStatusMessage, fullStatusMessage); log.error(abbrStatusMessage + "\n" + fullStatusMessage); } } finally { mgr.release(); if (fis != null) fis.close(); if (moduleFile != null && moduleFile.exists()) { if (!moduleFile.delete()) { log.debug("Unable to delete temporary file " + moduleFile); moduleFile.deleteOnExit(); } } if (planFile != null && planFile.exists()) { if (!planFile.delete()) { log.debug("Unable to delete temporary file " + planFile); planFile.deleteOnExit(); } } } } catch (Exception e) { throw new PortletException(e); } }
From source file:org.apache.geronimo.console.databasemanager.wizard.DatabasePoolPortlet.java
private boolean processImportUpload(ActionRequest request, ActionResponse response) throws PortletException { String type = request.getParameter("importSource"); response.setRenderParameter("importSource", type); if (!PortletFileUpload.isMultipartContent(request)) { throw new PortletException("Expected file upload"); }/*from www .j ava 2 s.c o m*/ PortletFileUpload uploader = new PortletFileUpload(new DiskFileItemFactory()); try { List<FileItem> items = uploader.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { File file = File.createTempFile("geronimo-import", ""); file.deleteOnExit(); log.debug("Writing database pool import file to " + file.getAbsolutePath()); item.write(file); DatabaseConversionStatus status = processImport(file, type); request.getPortletSession(true).setAttribute("ImportStatus", new ImportStatus(status)); return true; } else { throw new PortletException("Not expecting any form fields"); } } } catch (PortletException e) { throw e; } catch (Exception e) { throw new PortletException(e); } return false; }