From: <hs...@us...> - 2011-04-08 17:53:24
|
Revision: 781 http://treebase.svn.sourceforge.net/treebase/?rev=781&view=rev Author: hshyket Date: 2011-04-08 17:53:18 +0000 (Fri, 08 Apr 2011) Log Message: ----------- Fixed bug where the Dryad import was not populating the study_nexusfile nexus text field. Added a Unix timestamp to file uploads so that each name is unique. Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/ProcessUserController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/UploadFileController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/ProcessUserController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/ProcessUserController.java 2011-03-30 18:58:25 UTC (rev 780) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/ProcessUserController.java 2011-04-08 17:53:18 UTC (rev 781) @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; @@ -91,10 +92,24 @@ study.setCitation(citation); citation.setStudy(study); Submission submission = mSubmissionService.createSubmission(user, study); + long unixTime = System.currentTimeMillis() / 1000L; List<File> files = DryadUtil.getDataFiles(dataPath); - for(int i=0; i<files.size(); i++ ) - submission.getStudy().addNexusFile(files.get(i).getName(), "NEXUS"); + for(int i=0; i<files.size(); i++ ) { + String copyDir = request.getSession().getServletContext() + .getRealPath(TreebaseUtil.FILESEP + "NexusFileUpload") + + TreebaseUtil.FILESEP + request.getRemoteUser(); + + File originalFile = new File(files.get(i).getAbsolutePath()); + File copyFile = new File(copyDir + TreebaseUtil.FILESEP + unixTime + "_" + files.get(i).getName()); + + FileUtils.copyFile(originalFile, copyFile); + + files.remove(i); + files.add(i,copyFile); + + submission.getStudy().addNexusFile(files.get(i).getName(), TreebaseUtil.readFileToString(files.get(i))); + } MyProgressionListener listener = new MyProgressionListener(); getSubmissionService().addNexusFilesJDBC(submission, files, listener); Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/UploadFileController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/UploadFileController.java 2011-03-30 18:58:25 UTC (rev 780) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/UploadFileController.java 2011-04-08 17:53:18 UTC (rev 781) @@ -167,13 +167,19 @@ List<File> files = new ArrayList<File>(); String firstFile = null; + + long unixTime = System.currentTimeMillis() / 1000L; + for (FileBean file : getFiles(request)) { if (LOGGER.isDebugEnabled()) { LOGGER .debug("Uploading file to =>" + uploadDir + TreebaseUtil.FILESEP + file.getName()); //$NON-NLS-1$ } + + file.setName(unixTime + "_" + file.getName()); File uploadedFile = new File(uploadDir + TreebaseUtil.FILESEP + file.getName()); + FileCopyUtils.copy(file.getData(), uploadedFile); files.add(uploadedFile); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |