diff --git a/.classpath b/.classpath index 4474544..96169d0 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -34,10 +34,10 @@ - + - + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 6249222..4d17cd3 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,6 +1,6 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 8a0a2b9..5ff4b1e 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -5,7 +5,7 @@ - + uses diff --git a/distro/changelog.xml b/distro/changelog.xml index b9eaed1..7ec0903 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,8 @@ + + Removed obsolete dependencies + Removed dependency towards access logger diff --git a/pom.xml b/pom.xml index 8e94424..4a5c19e 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.portlets.user reports-manager-portlet war - 6.1.0-SNAPSHOT + 6.2.0-SNAPSHOT gCube Reports Manager gCube Reports Portlet. @@ -32,7 +32,7 @@ online 1.7 - 1.7 + 1.8 ${project.build.directory}/${project.build.finalName} UTF-8 @@ -68,15 +68,6 @@ ${gwtVersion} provided - - com.github.gwtbootstrap - gwt-bootstrap - - - org.gcube.portlets.widgets - session-checker - [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) - org.gcube.core common-scope-maps @@ -113,16 +104,17 @@ 2.7.0 compile - - com.allen-sauer.gwt.log - gwt-log - 3.1.7 - org.gcube.application gcube-reporting-modeler [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) + + org.gcube.common.portal + portal-manager + provided + + org.gcube.application.rsg reports-store-gateway-client @@ -165,35 +157,13 @@ org.gcube.portlets.widgets workspace-explorer - [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) - - - org.gcube.portlets.widgets - report-exporter-widget [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT) - - - xalan - xalan - - org.gcube.portal gcube-reporting-library [3.4.0-SNAPSHOT, 4.0.0-SNAPSHOT) - - org.gcube.portlets.widgets - fileupload-progress-bar - [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) - compile - - - org.gcube.portlets.user - workspace-application-handler - [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) - org.gcube.dvos usermanagement-core @@ -304,7 +274,7 @@ 2.3.2 1.7 - 1.7 + 1.8 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 aa67b1e..e54e277 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 @@ -49,10 +49,6 @@ public class Headerbar extends Composite{ private static final String ADD_BIBLIO_ENTRY = "Add citation"; private static final String VIEW_BIBLIO = "View Bibliography"; private static final String MANAGE_BIBLIO = "Delete citation(s)"; - private static final String EXPORT_OPENXML = "Export to OpenXML (docx)"; - private static final String EXPORT_HTML = "Export to HTML"; - private static final String EXPORT_FIMES = "Export to FiMES XML"; - private static final String EXPORT_XML = "Export to XML"; private static final String IMPORT_VME = "Edit VME"; // private static final String EXPORT_ENCRYPTED_REPORT = "Save an Encrypted Version to Desktop"; @@ -142,11 +138,6 @@ public class Headerbar extends Composite{ separator3 = menuBar.addSeparator(); biblioMenu = getBiblioMenu(); menuBar.addItem(biblioMenu); - separator4 = menuBar.addSeparator(); - exportMenu = getExportsMenu(); - menuBar.addItem(exportMenu); - - mainLayout.setSize("100%", "24px"); mainLayout.setStyleName("menubar"); @@ -195,9 +186,6 @@ public class Headerbar extends Composite{ MenuItem vmeMenuDelete = getVMEMenuDelete(); menuBar.addItem(vmeMenuDelete); - menuBar.addSeparator(); - exportMenu = getExportsMenu(); - menuBar.addItem(exportMenu); } public void setMenuForWorkflowDocument(boolean canUpdate) { @@ -222,14 +210,9 @@ public class Headerbar extends Composite{ separator3 = menuBar.addSeparator(); biblioMenu = getBiblioMenu(); menuBar.addItem(biblioMenu); - separator4 = menuBar.addSeparator(); - exportMenu = getExportsMenu(); - menuBar.addItem(exportMenu); - ReportGenerator.get().getToolbarPanel().clear(); ReportGenerator.get().getToolbarPanel().add(new HTML("  ", true)); - enableExports(); } /** * Redirect to VRE Deployer Portlet @@ -501,32 +484,6 @@ public class Headerbar extends Composite{ return toReturn; } - private MenuItem getExportsMenu() { - MenuBar exportsMenu = new MenuBar(true); - - exportsMenu.setAnimationEnabled(true); - MenuItem toReturn = new MenuItem("Export", exportsMenu); - - optionDOCX = new MenuItem(""+ EXPORT_OPENXML +"", true, getDisabledExportMenuItemCmd()); - optionPDF = new MenuItem("Export to PDF", true, getDisabledExportMenuItemCmd()); - optionHTML = new MenuItem(""+ EXPORT_HTML +"", true, getDisabledExportMenuItemCmd()); - optionFimes = new MenuItem(""+ EXPORT_FIMES +"", true, getDisabledExportMenuItemCmd()); - optionXML = new MenuItem(""+ EXPORT_XML +"", true, getDisabledExportMenuItemCmd()); - // optionEncryptedModel = new MenuItem(""+ EXPORT_ENCRYPTED_REPORT +"", true, getDisabledExportMenuItemCmd()); - - - exportsMenu.addItem(optionDOCX); - exportsMenu.addItem(optionHTML); - exportsMenu.addItem(optionPDF); - exportsMenu.addItem(optionXML); - exportsMenu.addSeparator(); - // exportsMenu.addItem(optionEncryptedModel); - //optionsMenu.addItem(optionPDF); - //exportsMenu.addItem(optionFimes); - - return toReturn; - } - private MenuItem getViewMenu() { Command openPageProperties = new Command() { public void execute() { @@ -560,40 +517,7 @@ public class Headerbar extends Composite{ return toReturn; } - /** - * rewrite with setHTML to remove the gray color - */ - public void enableExports() { - optionDOCX.setHTML(EXPORT_OPENXML); - optionDOCX.setScheduledCommand(generateDOCX); - - optionPDF.setHTML("Export to PDF"); - optionPDF.setScheduledCommand(generatePDF); - - optionHTML.setHTML(EXPORT_HTML); - optionHTML.setScheduledCommand(generateHTML); - - optionFimes.setHTML(EXPORT_FIMES); - optionFimes.setScheduledCommand(generateFimes); - - optionXML.setHTML(EXPORT_XML); - optionXML.setScheduledCommand(generatedXML); - - // optionEncryptedModel.setHTML(EXPORT_ENCRYPTED_REPORT); - - // - // importModel.setHTML("Import from Template or Report"); - // importModel.setScheduledCommand(importModelOrReport); - // - // viewMetadata.setHTML("View Metadata"); - // viewMetadata.setScheduledCommand(openMetadata); - - - // discardSection.setHTML("Discard current"); - // discardSection.setScheduledCommand(discardSectionCom); - - } /** * rewrite with setHTML to remove the gray color @@ -619,7 +543,6 @@ public class Headerbar extends Composite{ public void execute() { if (! ReportConstants.isDeployed) { presenter.openTemplate("", "", true); - enableExports(); } else { String url = "https://gcube.wiki.gcube-system.org/gcube/index.php/Common_Functionality#Report_Management"; @@ -695,31 +618,6 @@ public class Headerbar extends Composite{ } }; - ScheduledCommand generateDOCX = new ScheduledCommand() { - public void execute() { - presenter.generateManifestation(templateModel, ExportManifestationType.DOCX); - } - }; - - ScheduledCommand generatePDF = new ScheduledCommand() { - 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"); - presenter.generateManifestation(templateModel, ExportManifestationType.PDF); - } - }; - - ScheduledCommand generateHTML = new ScheduledCommand() { - public void execute() { - presenter.generateManifestation(templateModel, ExportManifestationType.HTML); - } - }; - - ScheduledCommand generatedXML = new ScheduledCommand() { - public void execute() { - presenter.generateManifestation(templateModel, ExportManifestationType.XML); - } - }; - ScheduledCommand generateEncryptedModel = new ScheduledCommand() { @Override public void execute() { @@ -845,8 +743,7 @@ public class Headerbar extends Composite{ dlg.setAnimationEnabled(true); dlg.show(); - presenter.getHeader().enableExports(); - } + } @Override public void onFailed(Throwable throwable) { Window.alert("There are networks problem, please check your connection."); 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 0a93a34..fe4418f 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 @@ -33,7 +33,6 @@ import org.gcube.portlets.user.reportgenerator.client.events.RemovedUserCommentE import org.gcube.portlets.user.reportgenerator.client.events.RemovedUserCommentEventHandler; import org.gcube.portlets.user.reportgenerator.client.events.SelectedReportEvent; import org.gcube.portlets.user.reportgenerator.client.events.SelectedReportEventHandler; -import org.gcube.portlets.user.reportgenerator.client.model.ExportManifestationType; import org.gcube.portlets.user.reportgenerator.client.model.TemplateComponent; import org.gcube.portlets.user.reportgenerator.client.model.TemplateModel; import org.gcube.portlets.user.reportgenerator.client.model.TemplateSection; @@ -52,34 +51,19 @@ import org.gcube.portlets.user.reportgenerator.client.targets.HeadingTextArea; import org.gcube.portlets.user.reportgenerator.client.targets.ReportTextArea; import org.gcube.portlets.user.reportgenerator.client.targets.TextTableImage; import org.gcube.portlets.user.reportgenerator.client.toolbar.RichTextToolbar; -import org.gcube.portlets.user.reportgenerator.client.uibinder.ExportOptions; -import org.gcube.portlets.user.reportgenerator.shared.ReportImage; import org.gcube.portlets.user.reportgenerator.shared.SessionInfo; import org.gcube.portlets.user.reportgenerator.shared.UserBean; import org.gcube.portlets.user.reportgenerator.shared.VMETypeIdentifier; import org.gcube.portlets.user.reportgenerator.shared.VmeExportResponse; import org.gcube.portlets.user.reportgenerator.shared.VmeResponseEntry; -import org.gcube.portlets.widgets.exporter.client.ReportExporterPopup; -import org.gcube.portlets.widgets.exporter.client.event.ExportingCompletedEvent; -import org.gcube.portlets.widgets.exporter.client.event.ExportingCompletedEventHandler; -import org.gcube.portlets.widgets.exporter.client.event.ReportExporterEvent; -import org.gcube.portlets.widgets.exporter.client.event.ReportExporterEventHandler; -import org.gcube.portlets.widgets.exporter.shared.TypeExporter; -import org.gcube.portlets.widgets.fileupload.client.events.FileUploadCompleteEvent; -import org.gcube.portlets.widgets.fileupload.client.events.FileUploadCompleteEventHandler; -import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEvent; -import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEventHandler; -import org.gcube.portlets.widgets.fileupload.client.view.UploadProgressDialog; import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.MessageBoxEvent; import com.extjs.gxt.ui.client.widget.Dialog; import com.extjs.gxt.ui.client.widget.MessageBox; import com.google.gwt.core.client.GWT; -import com.google.gwt.core.client.RunAsyncCallback; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.user.client.Command; -import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.HTML; @@ -113,7 +97,7 @@ public class Presenter { private final WaitingOperationDialog dlg = new WaitingOperationDialog(); - private UploadProgressDialog uploadDlg; + private UserBean currentUser; private String currentScope; @@ -165,55 +149,7 @@ public class Presenter { private void handleEvents() { - /** - * get the uploaded selected file name before submitting it - */ - eventBus.addHandler(FileUploadSelectedEvent.TYPE, new FileUploadSelectedEventHandler() { - @Override - public void onFileSelected(FileUploadSelectedEvent event) { - String fileName = event.getSelectedFileName(); - GWT.log("selected file name: " + fileName); - if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg") || fileName.endsWith(".png") - || fileName.endsWith(".gif") || fileName.endsWith(".bmp") || fileName.endsWith(".d4sR")) { - try { - uploadDlg.submitForm(); - } catch (Exception e) { - e.printStackTrace(); - } - } - else { - Window.alert("File type not allowed"); - uploadDlg.hide(); - } - } - }); - /** - * get the uploaded file result - */ - eventBus.addHandler(FileUploadCompleteEvent.TYPE, new FileUploadCompleteEventHandler() { - - @Override - public void onUploadComplete(FileUploadCompleteEvent event) { - - //the filename and its path on server are returned to the client - String fileName = event.getUploadedFileInfo().getFilename(); - String absolutePathOnServer = event.getUploadedFileInfo().getAbsolutePath(); - GWT.log(fileName + " uploaded on Server here: " + absolutePathOnServer); - - reportService.getUploadedImageUrlById(fileName, absolutePathOnServer, new AsyncCallback() { - @Override - public void onFailure(Throwable caught) { - Window.alert("An error occurred in the server: " + caught.getMessage()); - } - @Override - public void onSuccess(ReportImage result) { - uploadDlg.showRegisteringResult(true); //or false if an error occurred - selectedImage.dropImage(result.getUrl(), result.getId(), result.getWidth(), result.getHeight()); - } - }); - } - }); - + eventBus.addHandler(SelectedReportEvent.TYPE, new SelectedReportEventHandler() { @Override public void onReportSelected(SelectedReportEvent event) { @@ -235,14 +171,6 @@ public class Presenter { } }); - eventBus.addHandler(ExportingCompletedEvent.TYPE, new ExportingCompletedEventHandler() { - @Override - public void onExportFinished(ExportingCompletedEvent event) { - int top = 0; - ReportGenerator.get().getScrollerPanel().setVerticalScrollPosition(top); - showExportSaveOptions(event.getFilePath(), event.getItemName(), event.getType()); - } - }); eventBus.addHandler(AddBiblioEvent.TYPE, new AddBiblioEventHandler() { public void onAddCitation(AddBiblioEvent event) { @@ -261,26 +189,6 @@ public class Presenter { } }); - eventBus.addHandler(ReportExporterEvent.TYPE, new ReportExporterEventHandler() { - - @Override - public void onCompletedExport(ReportExporterEvent event) { - - switch (event.getOperationResult()) { - case SAVED: - //refreshWorkspace(); - break; - case SAVED_OPEN: - // refreshWorkspace(); - toolBoxPanel.showExportedVersion(event.getItemId(), event.getItemId()); - break; - default: - break; - } - - } - }); - eventBus.addHandler(AddCommentEvent.TYPE, new AddCommentEventHandler() { public void onAddComment(AddCommentEvent event) { model.addCommentToComponent(event.getSourceComponent(), event.getComment(), event.getAreaHeight()); @@ -343,12 +251,10 @@ public class Presenter { public void onSuccess(Model result) { if (isVME) { header.setMenuForVME(); - header.enableExports(); } dlg.hide(); if (result != null) { //there was one report open in session loadModel(result, true); - header.enableExports(); } else{ commonCommands.newTemplate.execute(); } @@ -697,44 +603,7 @@ public class Presenter { */ public void generateFiMES(final TemplateModel model) { } - /** - * - * @param model . - * @param type . - */ - public void generateManifestation(final TemplateModel model, final ExportManifestationType type) { - GWT.runAsync(ReportExporterPopup.class, new RunAsyncCallback() { - - @SuppressWarnings("incomplete-switch") - @Override - public void onSuccess() { - ReportExporterPopup popup = new ReportExporterPopup(eventBus); - 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; - case XML: - popup.export(reportModel, TypeExporter.XML); - break; - } - } - - @Override - public void onFailure(Throwable reason) { - } - }); - - } - - - + public void openAddCitationDialog() { AddBiblioEntryDialog dlg = new AddBiblioEntryDialog(eventBus); dlg.show(); @@ -1124,23 +993,7 @@ public class Presenter { public void refreshWorkspace() { toolBoxPanel.refreshRoot(); } - /** - * show the upload file popup - */ - public void showUploadImagePopup(ClientImage selectedImage) { - uploadDlg = new UploadProgressDialog("Upload Image", eventBus, true); - uploadDlg.center(); - uploadDlg.show(); - this.selectedImage = selectedImage; - } - /** - * show the upload file popup - */ - public void showUploadFilePopup() { - uploadDlg = new UploadProgressDialog("Upload Report", eventBus); - uploadDlg.center(); - uploadDlg.show(); - } + /** * * @return the current selected rich text area @@ -1190,46 +1043,7 @@ public class Presenter { this.exportsPanel = exportsPanel; } - /** - * when export is done this method is called - * @param filePath - * @param itemName - * @param type - */ - public void showExportSaveOptions(final String filePath, final String itemName, final TypeExporter type) { - clearExportPanel(); - /* - * I need to save a temp file, in case the user uses the Save & Open. - * Smart popup blockers will allow a popup if it is directly associated to a user’s action. - * If it’s delayed in anyway, there’s a good chance it’s going to get blocked. The exported File needs to be there when clicking open. - */ - reportService.save(filePath, null, "system.tmp", type, true, new AsyncCallback() { - @Override - public void onSuccess(String createdItemId) { - //here i pass the temp createdItemId - showExportPanel(filePath, itemName, type, createdItemId); - } - - @Override - public void onFailure(Throwable caught) { - Window.alert("Error while trying exporting this report: " + caught.getMessage()); - } - }); - - } - - public void showExportPanel(final String filePath, final String itemName, final TypeExporter type, String tempFileId) { - final ExportOptions exo = new ExportOptions(this, toolBoxPanel, filePath, itemName, type, reportService, tempFileId); - exportsPanel.add(exo); - //needed for applying the css3 transition effect - final Timer t = new Timer() { - @Override - public void run() { - exo.getMainPanel().addStyleName("exportPanel-show"); - } - }; - t.schedule(10); - } + public void clearExportPanel() { exportsPanel.clear(); diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportGenerator.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportGenerator.java index ba331f1..84a00b9 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportGenerator.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportGenerator.java @@ -1,7 +1,6 @@ package org.gcube.portlets.user.reportgenerator.client; import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter; -import org.gcube.portlets.widgets.sessionchecker.client.CheckSession; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.CellPanel; @@ -129,8 +128,7 @@ public class ReportGenerator implements EntryPoint { // Add image and button to the RootPanel RootPanel.get("ReportGeneratorDIV").add(mainLayout); - //if you do not need to something when the session expire - CheckSession.getInstance().startPolling(); + } diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportService.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportService.java index 63185b4..900c57b 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportService.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportService.java @@ -10,9 +10,6 @@ import org.gcube.portlets.user.reportgenerator.shared.SessionInfo; import org.gcube.portlets.user.reportgenerator.shared.VMEReportBean; import org.gcube.portlets.user.reportgenerator.shared.VMETypeIdentifier; import org.gcube.portlets.user.reportgenerator.shared.VmeExportResponse; -import org.gcube.portlets.widgets.exporter.shared.SaveReportFileException; -import org.gcube.portlets.widgets.exporter.shared.SaveReportFileExistException; -import org.gcube.portlets.widgets.exporter.shared.TypeExporter; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; @@ -35,10 +32,6 @@ public interface ReportService extends RemoteService{ Model importVMETemplate(VMETypeIdentifier refType); - String save(String filePath, String workspaceFolderId, String ItemName, - TypeExporter type, boolean overwrite) - throws SaveReportFileException, SaveReportFileExistException; - ReportImage getImageUrlById(String identifier); /** * return the first ten records of the timeseries having id as param diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportServiceAsync.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportServiceAsync.java index d43ec24..618faf4 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportServiceAsync.java @@ -10,7 +10,6 @@ import org.gcube.portlets.user.reportgenerator.shared.SessionInfo; import org.gcube.portlets.user.reportgenerator.shared.VMEReportBean; import org.gcube.portlets.user.reportgenerator.shared.VMETypeIdentifier; import org.gcube.portlets.user.reportgenerator.shared.VmeExportResponse; -import org.gcube.portlets.widgets.exporter.shared.TypeExporter; import com.google.gwt.user.client.rpc.AsyncCallback; /** @@ -67,8 +66,7 @@ public interface ReportServiceAsync { void readImportedModel(String tempPath, AsyncCallback callback); - void save(String filePath, String workspaceFolderId, String ItemName, TypeExporter type, boolean overwrite, AsyncCallback callback); - + void renewHTTPSession(AsyncCallback callback); void listVMEReports(AsyncCallback> callback); diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java index 3027525..e356fb3 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java @@ -1,8 +1,5 @@ package org.gcube.portlets.user.reportgenerator.client; -import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter; -import org.gcube.portlets.widgets.fileupload.client.view.UploadProgressDialog; - import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.ui.VerticalPanel; diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientImage.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientImage.java index a8af99b..1679527 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientImage.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientImage.java @@ -189,7 +189,6 @@ public class ClientImage extends Composite { } private void showUploadPopup() { - presenter.showUploadImagePopup(this); } private VerticalPanel getAttributesPanel(BasicComponent co) { diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/ExportOptions.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/ExportOptions.java deleted file mode 100644 index 6435f17..0000000 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/ExportOptions.java +++ /dev/null @@ -1,172 +0,0 @@ -package org.gcube.portlets.user.reportgenerator.client.uibinder; - -import java.util.Arrays; - -import org.gcube.portlets.user.reportgenerator.client.ReportServiceAsync; -import org.gcube.portlets.user.reportgenerator.client.ToolboxPanel; -import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter; -import org.gcube.portlets.widgets.exporter.shared.TypeExporter; -import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.WorskpaceExplorerSaveNotificationListener; -import org.gcube.portlets.widgets.wsexplorer.client.save.WorkspaceExplorerSaveDialog; -import org.gcube.portlets.widgets.wsexplorer.shared.Item; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; - -import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.ClickEvent; -import com.google.gwt.uibinder.client.UiBinder; -import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.uibinder.client.UiHandler; -import com.google.gwt.user.client.Timer; -import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.HTMLPanel; -import com.google.gwt.user.client.ui.Widget; - -public class ExportOptions extends Composite { - - private static ExportOptionsUiBinder uiBinder = GWT - .create(ExportOptionsUiBinder.class); - - interface ExportOptionsUiBinder extends UiBinder { - } - enum ExportMode {SAVE_OPEN, SAVE, SAVE_AS } - - ToolboxPanel tbp; - @UiField HTML saveOpen; - @UiField HTML save; - @UiField HTML saveAs; - @UiField HTML close; - @UiField HTMLPanel myPanel; - - private String tempFileId; - private String filePath; - private String itemName; - - private TypeExporter type; - private ReportServiceAsync rpc; - private Presenter p; - - public ExportOptions(Presenter p, ToolboxPanel tbp, final String filePath, final String itemName, final TypeExporter type, ReportServiceAsync rpc, String tempFileId) { - initWidget(uiBinder.createAndBindUi(this)); - this.tbp = tbp; - this.filePath = filePath; - this.itemName = itemName; - this.type= type; - this.rpc = rpc; - this.p = p; - this.tempFileId = tempFileId; - } - - @UiHandler("close") - void onSaveCancel(ClickEvent e) { - myPanel.removeStyleName("exportPanel-show"); - //needed for applying the css3 transition effect - final Timer t = new Timer() { - @Override - public void run() { - p.clearExportPanel(); - } - }; - t.schedule(500); - } - - @UiHandler("saveOpen") - void onSaveOpenClick(ClickEvent e) { - GWT.log("SaveOPen"); - doCallBack(ExportMode.SAVE_OPEN); - } - - @UiHandler("save") - void onSaveClick(ClickEvent e) { - doCallBack(ExportMode.SAVE); - } - - @UiHandler("saveAs") - void onSaveAs(ClickEvent e) { - doCallBack(ExportMode.SAVE_AS); - } - - - private void doCallBack(ExportMode mode) { - switch(mode) { - case SAVE: - rpc.save(filePath, null, itemName, type, true, new AsyncCallback() { - @Override - public void onSuccess(String createdItemId) { - p.clearExportPanel(); - tbp.refreshRoot(); - } - - @Override - public void onFailure(Throwable caught) { - Window.alert("Error: " + caught.getMessage()); - } - }); - break; - case SAVE_AS: - - ItemType[] types = {ItemType.FOLDER}; - final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save Report, choose folder please:", Arrays.asList(types)); - WorskpaceExplorerSaveNotificationListener listener = new WorskpaceExplorerSaveNotificationListener(){ - - @Override - public void onSaving(Item parent, String fileName) { - rpc.save(filePath, parent.getId(), fileName, type, true, new AsyncCallback() { - @Override - public void onSuccess(String createdItemId) { - p.clearExportPanel(); - tbp.refreshRoot(); - } - - @Override - public void onFailure(Throwable caught) { - Window.alert("Error: " + caught.getMessage()); - } - }); - navigator.hide(); - } - - @Override - public void onAborted() { - GWT.log("onAborted"); - } - - @Override - public void onFailed(Throwable throwable) { - GWT.log("onFailed"); - } - }; - navigator.addWorkspaceExplorerSaveNotificationListener(listener); - navigator.show(); - break; - case - SAVE_OPEN: - /* - * Smart popup blockers (Chrome and Safari have them) will allow a popup if it is directly associated to a user’s action. - * If it’s delayed in anyway, there’s a good chance it’s going to get blocked. - * So the exported File needs to be there when clicking open, and I've saved a temp version previously. - */ - tbp.showExportedVersion(tempFileId, itemName); - rpc.save(filePath, null, itemName, type, true, new AsyncCallback() { - @Override - public void onSuccess(String createdItemId) { - p.clearExportPanel(); - tbp.refreshRoot(); - } - - @Override - public void onFailure(Throwable caught) { - Window.alert("Error: " + caught.getMessage()); - } - }); - break; - } - } - - public HTMLPanel getMainPanel() { - return myPanel; - } - -} diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/ExportOptions.ui.xml b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/ExportOptions.ui.xml deleted file mode 100644 index b4f1b75..0000000 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/ExportOptions.ui.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - -
- -
- - - - - - - - - - - - -
-
- Exporting Completed Succesfully
-
- Save & Open - - Save - - Save As -
-
- Note: existing copies will be overwritten.
-
-
-
\ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java index e9705a0..9606d7e 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java @@ -2,15 +2,12 @@ package org.gcube.portlets.user.reportgenerator.client.uibinder; import org.gcube.portlets.user.reportgenerator.client.Presenter.CommonCommands; import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter; -import org.gcube.portlets.user.reportgenerator.client.uibinder.ExportOptions.ExportMode; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; -import com.google.gwt.user.client.Command; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HTMLPanel; diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/server/servlet/ReportServiceImpl.java b/src/main/java/org/gcube/portlets/user/reportgenerator/server/servlet/ReportServiceImpl.java index 4d15eb7..143dcc1 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/server/servlet/ReportServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/server/servlet/ReportServiceImpl.java @@ -52,7 +52,6 @@ import org.gcube.common.homelibrary.home.exceptions.InternalErrorException; import org.gcube.common.homelibrary.home.workspace.Workspace; import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; -import org.gcube.common.homelibrary.home.workspace.exceptions.ItemAlreadyExistException; import org.gcube.common.homelibrary.home.workspace.exceptions.ItemNotFoundException; import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException; import org.gcube.common.homelibrary.home.workspace.folder.FolderItem; @@ -61,6 +60,7 @@ import org.gcube.common.homelibrary.home.workspace.folder.items.GCubeItem; import org.gcube.common.homelibrary.home.workspace.folder.items.Report; import org.gcube.common.homelibrary.home.workspace.folder.items.ReportTemplate; import org.gcube.common.homelibrary.home.workspace.folder.items.ts.TimeSeries; +import org.gcube.common.portal.PortalContext; import org.gcube.common.resources.gcore.ServiceEndpoint; import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint; import org.gcube.common.resources.gcore.ServiceEndpoint.Property; @@ -85,9 +85,6 @@ import org.gcube.portlets.user.reportgenerator.shared.VMEReportBean; import org.gcube.portlets.user.reportgenerator.shared.VMETypeIdentifier; import org.gcube.portlets.user.reportgenerator.shared.VmeExportResponse; import org.gcube.portlets.user.reportgenerator.shared.VmeResponseEntry; -import org.gcube.portlets.widgets.exporter.shared.SaveReportFileException; -import org.gcube.portlets.widgets.exporter.shared.SaveReportFileExistException; -import org.gcube.portlets.widgets.exporter.shared.TypeExporter; import org.gcube.resources.discovery.client.api.DiscoveryClient; import org.gcube.resources.discovery.client.queries.api.SimpleQuery; import org.gcube.vomanagement.usermanagement.RoleManager; @@ -1314,47 +1311,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe return os.toByteArray(); } - @Override - public String save(String filePath, String workspaceFolderId, String itemName, TypeExporter type, boolean overwrite) throws SaveReportFileException, SaveReportFileExistException { - try { - File file = new File(filePath); - - Workspace workspace = HomeLibrary.getUserWorkspace(getASLSession().getUsername()); - _log.info("Saving in Workspace of " + workspace.getOwner().getPortalLogin()); - WorkspaceFolder folder = (workspaceFolderId != null)? - (WorkspaceFolder)workspace.getItem(workspaceFolderId):workspace.getRoot(); - - itemName = itemName + "." + type.toString().toLowerCase(); - if (workspace.exists(itemName, folder.getId())) { - if (overwrite) - workspace.remove(itemName, folder.getId()); - else - throw new SaveReportFileException("The item " + itemName + " already exists"); - } - - switch (type) { - case PDF: - return folder.createExternalPDFFileItem(itemName, - "", null, new FileInputStream(file)).getId(); - - case HTML: - return folder.createExternalFileItem(itemName, - "", "text/html", new FileInputStream(file)).getId(); - case DOCX: - return folder.createExternalFileItem(itemName, - "", "application/msword", new FileInputStream(file)).getId(); - - case XML: - return folder.createExternalFileItem(itemName, - "", "application/xml", new FileInputStream(file)).getId(); - } - throw new SaveReportFileException("Unknown file type"); - } catch (ItemAlreadyExistException e) { - throw new SaveReportFileExistException(e.getMessage()); - } catch (Exception e) { - throw new SaveReportFileException(e.getMessage()); - } - } + @Override public void renewHTTPSession() { @@ -1667,14 +1624,13 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe * @throws Exception */ private boolean isReportsStoreGatewayAvailable(){ - String user = (String) this.getThreadLocalRequest().getSession().getAttribute(ScopeHelper.USERNAME_ATTRIBUTE); + String user = PortalContext.getConfiguration().getCurrentUser(getThreadLocalRequest()).getUsername(); if (user == null && isWithinPortal()) { _log.warn("Session expired, returning ReportsStoreGateway not available"); return false; } - String scope = getASLSession().getScope(); - _log.info("Looking for a running ReportsStoreGateway WS in " + scope); - String previousScope = ScopeProvider.instance.get(); + String scope = PortalContext.getConfiguration().getCurrentScope(getThreadLocalRequest()); + _log.info("Looking for a running ReportsStoreGateway WS in " + scope); ScopeProvider.instance.set(scope); SimpleQuery query = queryFor(ServiceEndpoint.class); query.addCondition("$resource/Profile/Category/string() eq 'Service'"); @@ -1682,7 +1638,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe DiscoveryClient client = clientFor(ServiceEndpoint.class); List list = client.submit(query); - ScopeProvider.instance.set(previousScope); + if (list.size() > 1) { _log.warn("Multiple ReportsStoreGateway Service Endpoints available in the scope, should be only one."); 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 9974319..b25a0cc 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 @@ -10,10 +10,6 @@ - - - - diff --git a/src/main/webapp/WEB-INF/liferay-plugin-package.properties b/src/main/webapp/WEB-INF/liferay-plugin-package.properties index 2898b81..ce42ee8 100644 --- a/src/main/webapp/WEB-INF/liferay-plugin-package.properties +++ b/src/main/webapp/WEB-INF/liferay-plugin-package.properties @@ -1,9 +1,9 @@ name=Report Generator module-group-id=liferay -module-incremental-version=1 +module-incremental-version=2 tags= short-description= change-log= -page-url=http://www.liferay.com -author=Liferay, Inc. -licenses=MIT \ No newline at end of file +page-url=http://www.gcube-system.org +author=gCube +licenses=EUPL diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 5e9e021..be6b635 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -24,27 +24,6 @@ /reports/WorkspaceExplorerService - - checkServlet - org.gcube.portlets.widgets.sessionchecker.server.SessionCheckerServiceImpl - - - - checkServlet - /reports/checksession - - - - - uploadprogress - org.gcube.portlets.widgets.fileupload.server.UploadProgressServlet - - - - uploadprogress - /reports/uploadprogress - - DownloadService org.gcube.portlets.user.reportgenerator.server.servlet.DownloadImageServlet @@ -55,41 +34,6 @@ /reports/DownloadService - - - upload - org.gcube.portlets.widgets.fileupload.server.UploadServlet - - - - upload - /FileUpload/upload - - - - - - - remoteLoggerServiceImpl - com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl - - - - remoteLoggerServiceImpl - /reports/gwt-log - - - - - convertServlet - org.gcube.portlets.widgets.exporter.server.ReportExporterServiceImpl - - - - convertServlet - /reports/convert - - DownloadEncryptedReport org.gcube.portlets.user.reportgenerator.server.servlet.DownloadEncryptedReport