diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs index f49ef27..d128e75 100644 --- a/.settings/com.google.gdt.eclipse.core.prefs +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -1,6 +1,5 @@ -#Tue Feb 26 17:29:33 CET 2013 eclipse.preferences.version=1 jarsExcludedFromWebInfLib= -lastWarOutDir=/Users/massi/Documents/workspace/reports/target/reports-4.0.1-SNAPSHOT +lastWarOutDir=/home/gioia/workspace/reports/target/reports-4.0.1-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 7eca16c..7cfe79f 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -8,6 +8,9 @@ uses + + uses + diff --git a/pom.xml b/pom.xml index 10be98d..f0050b7 100644 --- a/pom.xml +++ b/pom.xml @@ -156,13 +156,13 @@ org.gcube.portlets.user home-library - 4.3.0-SNAPSHOT + [4.3.0-SNAPSHOT,5.0.0-SNAPSHOT) ${setScope} org.gcube.portlets.user home-library-jcr - 1.3.0-SNAPSHOT + [1.3.0-SNAPSHOT,2.0.0-SNAPSHOT) ${setClassifier} ${setScope} @@ -233,6 +233,11 @@ sources test + + report-exporter-widget + report-exporter-widget + [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java index bd2ae55..c70c6bf 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java @@ -79,6 +79,8 @@ public class Headerbar extends Composite{ private MenuItem optionHTML; private MenuItem optionDOCX; + + private MenuItem optionPDF; private MenuItem optionFimes; @@ -323,13 +325,13 @@ public class Headerbar extends Composite{ MenuItem toReturn = new MenuItem("Export", exportsMenu); optionDOCX = new MenuItem(""+ EXPORT_OPENXML +"", true, getNullCommand()); - // optionPDF = new MenuItem("Export to PDF", true, getNullCommand()); + optionPDF = new MenuItem("Export to PDF", true, getNullCommand()); optionHTML = new MenuItem(""+ EXPORT_HTML +"", true, getNullCommand()); optionFimes = new MenuItem(""+ EXPORT_FIMES +"", true, getNullCommand()); exportsMenu.addItem(optionDOCX); exportsMenu.addItem(optionHTML); - + exportsMenu.addItem(optionPDF); //optionsMenu.addItem(optionPDF); //exportsMenu.addItem(optionFimes); @@ -375,8 +377,8 @@ public class Headerbar extends Composite{ optionDOCX.setHTML(EXPORT_OPENXML); optionDOCX.setCommand(generateDOCX); - // optionPDF.setHTML("Export to PDF"); - // optionPDF.setCommand(generatePDF); + optionPDF.setHTML("Export to PDF"); + optionPDF.setCommand(generatePDF); optionHTML.setHTML(EXPORT_HTML); optionHTML.setCommand(generateHTML); @@ -591,7 +593,7 @@ public class Headerbar extends Composite{ Command generatePDF = new Command() { public void execute() { - Window.alert("PDF Exporting may not be fully working, you can also generate a PDF using your Word Processor application starting from the docx exported file"); +// Window.alert("PDF Exporting may not be fully working, you can also generate a PDF using your Word Processor application starting from the docx exported file"); presenter.generateManifestation(templateModel, ExportManifestationType.PDF); } }; diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java index eda249d..015c833 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java @@ -7,6 +7,8 @@ import org.gcube.portlets.d4sreporting.common.client.uicomponents.richtext.RichT import org.gcube.portlets.d4sreporting.common.shared.ComponentType; import org.gcube.portlets.d4sreporting.common.shared.Metadata; import org.gcube.portlets.d4sreporting.common.shared.Model; +import org.gcube.portlets.user.exporter.client.ReportExporterPopup; +import org.gcube.portlets.user.exporter.shared.TypeExporter; import org.gcube.portlets.user.gcubewidgets.client.popup.GCubeDialog; import org.gcube.portlets.user.reportgenerator.client.Headerbar; import org.gcube.portlets.user.reportgenerator.client.ReportGenerator; @@ -654,85 +656,103 @@ public class Presenter { * @param type . */ public void generateManifestation(final TemplateModel model, final ExportManifestationType type) { - boolean cont = true; - if (type == ExportManifestationType.HTML && model.containsLargeTS()) { - cont = Window.confirm("Exporting Large Time Series in HTML format can take up to minutes. (about 30 secs for 500 rows)\ndo you want to continue?"); +// boolean cont = true; +// if (type == ExportManifestationType.HTML && model.containsLargeTS()) { +// cont = Window.confirm("Exporting Large Time Series in HTML format can take up to minutes. (about 30 secs for 500 rows)\ndo you want to continue?"); +// } + + + ReportExporterPopup popup = new ReportExporterPopup(); + Model reportModel = model.getSerializableModel(); + + switch (type) { + case DOCX: + popup.export(reportModel, TypeExporter.DOCX); + break; + case HTML: + popup.export(reportModel, TypeExporter.HTML); + break; + case PDF: + popup.export(reportModel, TypeExporter.PDF); + break; + } - //continue after warning the user on exporting large TSs - if (cont) { - final int left = Window.getClientWidth() / 2 - 200; - final int top = Window.getClientHeight() / 2 + 100; - final LoadingPopup loading = new LoadingPopup(true); - loading.setPopupPosition(left, top); - //loading.setStyleName("none"); - - AsyncCallback callback = new AsyncCallback() { - - public void onFailure(Throwable caught) { - //MessageBox - MessageBox.alert("", "Failed to export: " + caught.getMessage(), null); - - } - - public void onSuccess(Boolean result) { - //MessageBox.hide(); - if (result) { - refreshWorkspace(); - - - - final GCubeDialog popupPanel = new GCubeDialog(); - popupPanel.setText("Exporting result"); - String exportedName = model.getTemplateName(); - exportedName = exportedName.replaceAll(".d4sR", ""); - exportedName = exportedName.replaceAll(".d4sT", ""); - - final String urlToOpen = model.getExportedFileURL(type, exportedName); - - VerticalPanel dlgPanel = new VerticalPanel(); - dlgPanel.setSpacing(5); - dlgPanel.add(new HTML("The Report " + exportedName + " (" + type +") has been successfully saved
in your workspace root folder", true)); - CellPanel bPanel = new HorizontalPanel(); - Button close = new Button("close"); - Button preview = new Button("Open"); - bPanel.add(close); - bPanel.add(preview); - bPanel.setWidth("100%"); - - bPanel.setSpacing(5); - bPanel.setCellWidth(close, "50%"); - bPanel.setCellWidth(preview, "50%"); - bPanel.setCellHorizontalAlignment(close, HasHorizontalAlignment.ALIGN_CENTER); - bPanel.setCellHorizontalAlignment(preview, HasHorizontalAlignment.ALIGN_CENTER); - - close.addClickHandler(new ClickHandler() { - public void onClick(ClickEvent event) { - popupPanel.hide(); - } - }); - preview.addClickHandler(new ClickHandler() { - public void onClick(ClickEvent event) { - Window.open(urlToOpen, model.getTemplateName(), ""); - } - }); - dlgPanel.add(bPanel); - - popupPanel.setAnimationEnabled(true); - popupPanel.setPopupPosition(left, top); - popupPanel.setWidget(dlgPanel); - popupPanel.show(); - } - else { - MessageBox.alert("", "Server reported errors on exporting Format", null); - } - } - - }; - - Model toSend = model.getSerializableModel(); - model.getModelService().generateManifestation(toSend, type, callback); +// //continue after warning the user on exporting large TSs +// if (cont) { +// final int left = Window.getClientWidth() / 2 - 200; +// final int top = Window.getClientHeight() / 2 + 100; +// final LoadingPopup loading = new LoadingPopup(true); +// loading.setPopupPosition(left, top); +// //loading.setStyleName("none"); +// +// +// AsyncCallback callback = new AsyncCallback() { +// +// public void onFailure(Throwable caught) { +// //MessageBox +// MessageBox.alert("", "Failed to export: " + caught.getMessage(), null); +// +// } +// +// public void onSuccess(Boolean result) { +// //MessageBox.hide(); +// if (result) { +// refreshWorkspace(); +// +// +// +// final GCubeDialog popupPanel = new GCubeDialog(); +// popupPanel.setText("Exporting result"); +// String exportedName = model.getTemplateName(); +// exportedName = exportedName.replaceAll(".d4sR", ""); +// exportedName = exportedName.replaceAll(".d4sT", ""); +// +// final String urlToOpen = model.getExportedFileURL(type, exportedName); +// +// VerticalPanel dlgPanel = new VerticalPanel(); +// dlgPanel.setSpacing(5); +// dlgPanel.add(new HTML("The Report " + exportedName + " (" + type +") has been successfully saved
in your workspace root folder", true)); +// CellPanel bPanel = new HorizontalPanel(); +// Button close = new Button("close"); +// Button preview = new Button("Open"); +// bPanel.add(close); +// bPanel.add(preview); +// bPanel.setWidth("100%"); +// +// bPanel.setSpacing(5); +// bPanel.setCellWidth(close, "50%"); +// bPanel.setCellWidth(preview, "50%"); +// bPanel.setCellHorizontalAlignment(close, HasHorizontalAlignment.ALIGN_CENTER); +// bPanel.setCellHorizontalAlignment(preview, HasHorizontalAlignment.ALIGN_CENTER); +// +// close.addClickHandler(new ClickHandler() { +// public void onClick(ClickEvent event) { +// popupPanel.hide(); +// } +// }); +// preview.addClickHandler(new ClickHandler() { +// public void onClick(ClickEvent event) { +// Window.open(urlToOpen, model.getTemplateName(), ""); +// } +// }); +// dlgPanel.add(bPanel); +// +// popupPanel.setAnimationEnabled(true); +// popupPanel.setPopupPosition(left, top); +// popupPanel.setWidget(dlgPanel); +// popupPanel.show(); +// } +// else { +// MessageBox.alert("", "Server reported errors on exporting Format", null); +// } +// } +// +// }; +// +// Model toSend = model.getSerializableModel(); +// model.getModelService().generateManifestation(toSend, type, callback); //TODO: // MessageBox.show(new MessageBoxConfig() { // { @@ -747,7 +767,7 @@ public class Presenter { // }); // } // }); - } +// } } public void openAddCitationDialog() { diff --git a/src/main/resources/org/gcube/portlets/user/reportgenerator/ReportGenerator.gwt.xml b/src/main/resources/org/gcube/portlets/user/reportgenerator/ReportGenerator.gwt.xml index 3af2ac4..275b9fe 100644 --- a/src/main/resources/org/gcube/portlets/user/reportgenerator/ReportGenerator.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/reportgenerator/ReportGenerator.gwt.xml @@ -13,6 +13,7 @@ + fileUploaderServlet /reportgenerator/fimesfileuploaderservlet + + convertServlet + org.gcube.portlets.user.exporter.server.ReportExporterServiceImpl + + + + convertServlet + /reports/convert + DownloadService