Mercurial > hg > ismi-richfaces
changeset 98:9b02c9af49b0
add file upload to import merge.
author | casties |
---|---|
date | Fri, 28 Oct 2016 19:06:21 +0200 |
parents | 13b313ae1af8 |
children | d0fb989bf53a |
files | src/main/java/de/mpiwg/itgroup/ismi/merge/ImportMerge.java src/main/webapp/merge/importMerge.xhtml |
diffstat | 2 files changed, 30 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/ismi/merge/ImportMerge.java Fri Oct 28 18:21:07 2016 +0200 +++ b/src/main/java/de/mpiwg/itgroup/ismi/merge/ImportMerge.java Fri Oct 28 19:06:21 2016 +0200 @@ -20,6 +20,8 @@ import org.mpi.openmind.repository.bo.Node; import org.mpi.openmind.repository.bo.Relation; import org.mpi.openmind.repository.utils.CsvNodeListReader; +import org.richfaces.event.FileUploadEvent; +import org.richfaces.model.UploadedFile; import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean; @@ -75,6 +77,26 @@ public ImportMerge() { } + public void uploadListener(FileUploadEvent event) throws Exception { + UploadedFile item = event.getUploadedFile(); + importFilename = item.getName(); + reset(); + try { + Reader importReader = new InputStreamReader(item.getInputStream(), "UTF-8"); + importNodeList = CsvNodeListReader.readCsv(importReader); + + this.importNodeListLength = importNodeList.size(); + this.importFileMsg = "File "+ importFilename + " contains " + importNodeListLength + " Nodes"; + this.importNodeIdx = 0; + loadImportNode(); + + } catch (Exception e) { + addErrorMsg("The import file could no be loaded."); + addErrorMsg("Error: "+e); + } + } + + /** * Action that loads the import file and parses it into the Nodes list. *
--- a/src/main/webapp/merge/importMerge.xhtml Fri Oct 28 18:21:07 2016 +0200 +++ b/src/main/webapp/merge/importMerge.xhtml Fri Oct 28 19:06:21 2016 +0200 @@ -24,15 +24,15 @@ <h:panelGrid columns="2" styleClass="createPanel" columnClasses="createPanelFirstColumn" id="loadListPanel"> - <h:outputText value="Import File" /> + <h:outputText value="Load File" /> - <h:panelGrid columns="3"> - <h:outputText value="#{Session.importMerge.importFilename}" /> - - <a4j:commandButton value="Load" - actionListener="#{Session.importMerge.loadImportFile}" - render="mainPanel,loadListPanel,loadingPanel,mergingPanel" /> - + <h:panelGrid columns="1"> + <rich:fileUpload fileUploadListener="#{Session.importMerge.uploadListener}" id="upload" acceptedTypes=".csv" + ontyperejected="alert('Only CSV files are accepted');" maxFilesQuantity="1" + listHeight="60px" addLabel="Select file to upload..."> + <a4j:ajax event="uploadcomplete" execute="@none" render="mainPanel" /> + </rich:fileUpload> + <h:outputText value="#{Session.importMerge.importFileMsg}" rendered="#{!empty Session.importMerge.importFileMsg}"