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