From: <yo...@us...> - 2010-07-14 02:17:04
|
Revision: 732 http://treebase.svn.sourceforge.net/treebase/?rev=732&view=rev Author: youjun Date: 2010-07-14 02:16:55 +0000 (Wed, 14 Jul 2010) Log Message: ----------- handshaking page, controller, util 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/StudyFormController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/DryadUtil.java trunk/treebase-web/src/main/webapp/WEB-INF/pages/loginForm.jsp Added Paths: ----------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/CitationParser.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 2010-07-13 16:38:00 UTC (rev 731) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/ProcessUserController.java 2010-07-14 02:16:55 UTC (rev 732) @@ -21,7 +21,12 @@ public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { - String importKey = (String)request.getSession().getAttribute("importKey"); + String importKey = null; + if(request.getParameter("importKey") != null){ + importKey = (String)request.getAttribute("importKey"); + request.getSession().setAttribute("importKey",importKey); + } + if (importKey != null && importKey.length()>0) { return new ModelAndView("redirect:/user/studyForm.html"); Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudyFormController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudyFormController.java 2010-07-13 16:38:00 UTC (rev 731) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudyFormController.java 2010-07-14 02:16:55 UTC (rev 732) @@ -2,6 +2,7 @@ package org.cipres.treebase.web.controllers; import java.io.File; +import java.io.FileFilter; import java.util.Collection; import javax.servlet.ServletException; @@ -127,32 +128,41 @@ ControllerUtil.saveStudy(request, submission.getStudy()); } else if(importKey != null && importKey.length()>0){ - - String uploadDir = getServletContext() - .getRealPath(TreebaseUtil.FILESEP + "DryadUpload") - + TreebaseUtil.FILESEP + importKey; + String uploadpath = getServletContext() + .getRealPath(TreebaseUtil.FILESEP + "DryadFileUpload") + + TreebaseUtil.FILESEP + importKey; String importStatus=""; - File bagitPath= new File(uploadDir, "data"); - if(!bagitPath.exists())importStatus = "NOT FOUND"; - else{ - try{ + File uploadDir=new File(uploadpath); + if(!uploadDir.exists()){ + importStatus = "NOT FOUND"; + return new ModelAndView(new RedirectView("submissionList.html")); + } + + File[] uploadFiles = uploadDir.listFiles(new FileFilter(){public boolean accept(File file){return file.isDirectory();}}); + if(uploadDir.length()==0){ + importStatus = "NOT FOUND"; + return new ModelAndView(new RedirectView("submissionList.html")); + } + File bagitPath = uploadFiles[0]; + File dataPath = new File(bagitPath, "data"); + + try{ Submission submission = mSubmissionService.createSubmission(user, new Study()); - - Citation citation = DryadUtil.createCitation(bagitPath); + Citation citation = DryadUtil.createCitation(dataPath); submission.getStudy().setCitation(citation); citation.setStudy(submission.getStudy()); - Collection<File> files = DryadUtil.getDataFiles(bagitPath); + Collection<File> files = DryadUtil.getDataFiles(dataPath); MyProgressionListener listener = new MyProgressionListener(); getSubmissionService().addNexusFilesJDBC(submission, files, listener); // save Study object to session ControllerUtil.saveStudy(request, submission.getStudy()); importStatus = "OK"; - }catch (Exception e) { + }catch (Exception e) { importStatus = "FAILED"; - } } + request.setAttribute("importStatus", importStatus); //request.getSession().removeAttribute("importKey"); return new ModelAndView(new RedirectView("submissionList.html")); Added: trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/CitationParser.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/CitationParser.java (rev 0) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/CitationParser.java 2010-07-14 02:16:55 UTC (rev 732) @@ -0,0 +1,93 @@ +package org.cipres.treebase.web.util; + +import java.io.File; +import java.util.List; + +import org.cipres.treebase.domain.study.ArticleCitation; +import org.cipres.treebase.domain.study.Citation; +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.Element; +import org.dom4j.Namespace; +import org.dom4j.Node; +import org.dom4j.QName; +import org.dom4j.io.SAXReader; + +public class CitationParser { + + private static final Namespace xs = new Namespace("xs","http://www.w3.org/2001/XMLSchema"); + private static final Namespace dwc= new Namespace("dwc", "http://rs.tdwg.org/dwc/terms/"); + private static final Namespace dcterms= new Namespace("dcterms", "http://purl.org/dc/terms/"); + private static final Namespace prism= new Namespace("prism", "http://prismstandard.org/namespaces/basic/2.0/"); + + private ArticleCitation citation; + private Element pubRoot; + private Element pkgRoot; + + + public CitationParser(File path){ + + citation = new ArticleCitation(); + + File pubFile = new File(path, "dryadpub.xml"); + SAXReader pubReader = new SAXReader(); + Document pubDoc= null ; + try { + pubDoc = pubReader.read(pubFile); + pubRoot = pubDoc.getRootElement(); + } catch (DocumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + File pkgFile = new File(path, "dryadpkg.xml"); + SAXReader pkgReader = new SAXReader(); + Document pkgDoc= null ; + try { + pkgDoc = pkgReader.read(pkgFile); + pkgRoot = pkgDoc.getRootElement(); + } catch (DocumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + loadData(); + } + + + private void loadData(){ + + citation.setAbstract(getNode(pubRoot,"description",dcterms).getText()); + citation.setDoi(getNode(pubRoot,"identifier",dcterms).getText());; + + citation.setTitle(getNode(pubRoot,"title",dcterms).getText()); + citation.setIssue(getNode(pubRoot,"issueIdentifier",prism).getText()); + citation.setJournal(getNode(pubRoot,"publicationName",prism).getText()); + citation.setVolume(getNode(pubRoot,"volume",prism).getText()); + citation.setPages(getNode(pubRoot,":pageRange",prism).getText()); + + //citation.setKeywords(getNode(pubRoot,"description",dcterms).getText()); + //citation.setAuthors(pAuthors); + + //citation.setPublishYear(getNode(pubRoot,"issued",dcterms).getText()); + //citation.setPublished(getNode(pubRoot,"description",dcterms).getText()); + + } + + private Node getNode(Element root, String localName, Namespace namespace){ + + return root.element(new QName(localName, namespace)); + } + + private List<Node> getNodes(Element root, String localName, Namespace namespace){ + + return root.elements(new QName(localName, namespace)); + } + + + public Citation getCitation() { + return citation; + } + +} Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/DryadUtil.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/DryadUtil.java 2010-07-13 16:38:00 UTC (rev 731) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/util/DryadUtil.java 2010-07-14 02:16:55 UTC (rev 732) @@ -15,6 +15,7 @@ public class DryadUtil { + public static Citation createCitation(File path){ Citation citation = new Citation(); Modified: trunk/treebase-web/src/main/webapp/WEB-INF/pages/loginForm.jsp =================================================================== --- trunk/treebase-web/src/main/webapp/WEB-INF/pages/loginForm.jsp 2010-07-13 16:38:00 UTC (rev 731) +++ trunk/treebase-web/src/main/webapp/WEB-INF/pages/loginForm.jsp 2010-07-14 02:16:55 UTC (rev 732) @@ -2,13 +2,15 @@ <form method="post" id="loginForm" action="<c:url value="/j_security_check"/>" > +<!-- <% if(request.getParameter("importKey") != null){ session.setAttribute("importKey",request.getParameter("importKey")); } %> - +--> + <fieldset> <legend>Login</legend> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |