git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/reports@169470 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
e9972d4742
commit
cb093f81d5
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/reports-manager-portlet-6.1.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
||||
<classpathentry kind="src" output="target/reports-manager-portlet-6.2.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/reports-manager-portlet-6.1.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
|
||||
<classpathentry excluding="**" kind="src" output="target/reports-manager-portlet-6.2.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
|
@ -34,10 +34,10 @@
|
|||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/reports-manager-portlet-6.1.0-SNAPSHOT/WEB-INF/classes"/>
|
||||
<classpathentry kind="output" path="target/reports-manager-portlet-6.2.0-SNAPSHOT/WEB-INF/classes"/>
|
||||
</classpath>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/gwt"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||
<dependent-module archiveName="session-checker-1.1.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/session-checker/session-checker">
|
||||
<dependent-module archiveName="storagehub-icons-library-1.0.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/storagehub-icons-library/storagehub-icons-library">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
<dependent-module archiveName="gcube-reporting-library-3.6.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/gcube-reporting-library/gcube-reporting-library">
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
<ReleaseNotes>
|
||||
<Changeset component="org.gcube.portlets-user.report-generator-portlet.6-2-0"
|
||||
date="2018-06-26">
|
||||
<Change>Removed obsolete dependencies</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.portlets-user.report-generator-portlet.6-1-0"
|
||||
date="2017-01-29">
|
||||
<Change>Removed dependency towards access logger</Change>
|
||||
|
|
48
pom.xml
48
pom.xml
|
@ -12,7 +12,7 @@
|
|||
<groupId>org.gcube.portlets.user</groupId>
|
||||
<artifactId>reports-manager-portlet</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<version>6.1.0-SNAPSHOT</version>
|
||||
<version>6.2.0-SNAPSHOT</version>
|
||||
<name>gCube Reports Manager</name>
|
||||
<description>
|
||||
gCube Reports Portlet.
|
||||
|
@ -32,7 +32,7 @@
|
|||
<setClassifier>online</setClassifier>
|
||||
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
@ -68,15 +68,6 @@
|
|||
<version>${gwtVersion}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.gwtbootstrap</groupId>
|
||||
<artifactId>gwt-bootstrap</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.portlets.widgets</groupId>
|
||||
<artifactId>session-checker</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.core</groupId>
|
||||
<artifactId>common-scope-maps</artifactId>
|
||||
|
@ -113,16 +104,17 @@
|
|||
<version>2.7.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.allen-sauer.gwt.log</groupId>
|
||||
<artifactId>gwt-log</artifactId>
|
||||
<version>3.1.7</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.application</groupId>
|
||||
<artifactId>gcube-reporting-modeler</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common.portal</groupId>
|
||||
<artifactId>portal-manager</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- reports-store-gateway-client -->
|
||||
<dependency>
|
||||
<groupId>org.gcube.application.rsg</groupId>
|
||||
<artifactId>reports-store-gateway-client</artifactId>
|
||||
|
@ -165,35 +157,13 @@
|
|||
<dependency>
|
||||
<groupId>org.gcube.portlets.widgets</groupId>
|
||||
<artifactId>workspace-explorer</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.portlets.widgets</groupId>
|
||||
<artifactId>report-exporter-widget</artifactId>
|
||||
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>xalan</artifactId>
|
||||
<groupId>xalan</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.portal</groupId>
|
||||
<artifactId>gcube-reporting-library</artifactId>
|
||||
<version>[3.4.0-SNAPSHOT, 4.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.portlets.widgets</groupId>
|
||||
<artifactId>fileupload-progress-bar</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.portlets.user</groupId>
|
||||
<artifactId>workspace-application-handler</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.dvos</groupId>
|
||||
<artifactId>usermanagement-core</artifactId>
|
||||
|
@ -304,7 +274,7 @@
|
|||
<version>2.3.2</version>
|
||||
<configuration>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- SA Plugin -->
|
||||
|
|
|
@ -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("<font color=\"gray\">"+ EXPORT_OPENXML +"</font>", true, getDisabledExportMenuItemCmd());
|
||||
optionPDF = new MenuItem("<font color=\"gray\">Export to PDF</font>", true, getDisabledExportMenuItemCmd());
|
||||
optionHTML = new MenuItem("<font color=\"gray\">"+ EXPORT_HTML +"</font>", true, getDisabledExportMenuItemCmd());
|
||||
optionFimes = new MenuItem("<font color=\"gray\">"+ EXPORT_FIMES +"</font>", true, getDisabledExportMenuItemCmd());
|
||||
optionXML = new MenuItem("<font color=\"gray\">"+ EXPORT_XML +"</font>", true, getDisabledExportMenuItemCmd());
|
||||
// optionEncryptedModel = new MenuItem("<font color=\"gray\">"+ EXPORT_ENCRYPTED_REPORT +"</font>", 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.");
|
||||
|
|
|
@ -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,54 +149,6 @@ 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<ReportImage>() {
|
||||
@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
|
||||
|
@ -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,43 +603,6 @@ 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);
|
||||
|
@ -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<String>() {
|
||||
@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();
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,7 +66,6 @@ public interface ReportServiceAsync {
|
|||
|
||||
void readImportedModel(String tempPath, AsyncCallback<Model> callback);
|
||||
|
||||
void save(String filePath, String workspaceFolderId, String ItemName, TypeExporter type, boolean overwrite, AsyncCallback<String> callback);
|
||||
|
||||
void renewHTTPSession(AsyncCallback<Void> callback);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -189,7 +189,6 @@ public class ClientImage extends Composite {
|
|||
}
|
||||
|
||||
private void showUploadPopup() {
|
||||
presenter.showUploadImagePopup(this);
|
||||
}
|
||||
|
||||
private VerticalPanel getAttributesPanel(BasicComponent co) {
|
||||
|
|
|
@ -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<Widget, ExportOptions> {
|
||||
}
|
||||
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<String>() {
|
||||
@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<String>() {
|
||||
@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<String>() {
|
||||
@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;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui">
|
||||
<g:HTMLPanel styleName="exportPanel" ui:field="myPanel">
|
||||
<div class="exportClose">
|
||||
<g:HTML ui:field="close" styleName="closeImage" title="Cancel"></g:HTML>
|
||||
</div>
|
||||
<table style="width: 700px; text-align: center;">
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="exportResult">
|
||||
Exporting Completed Succesfully</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<g:HTML ui:field="saveOpen" styleName="exportOption optionSaveOpen">Save & Open</g:HTML>
|
||||
</td>
|
||||
<td>
|
||||
<g:HTML ui:field="save" styleName="exportOption optionSave">Save</g:HTML>
|
||||
</td>
|
||||
<td>
|
||||
<g:HTML ui:field="saveAs" styleName="exportOption optionSaveAs">Save As</g:HTML>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="tinyMessage">
|
||||
Note: existing copies will be overwritten.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
String scope = PortalContext.getConfiguration().getCurrentScope(getThreadLocalRequest());
|
||||
_log.info("Looking for a running ReportsStoreGateway WS in " + scope);
|
||||
String previousScope = ScopeProvider.instance.get();
|
||||
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<ServiceEndpoint> client = clientFor(ServiceEndpoint.class);
|
||||
List<ServiceEndpoint> 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.");
|
||||
|
|
|
@ -10,10 +10,6 @@
|
|||
<inherits name='org.gcube.portlets.user.gcubewidgets.WidgetFactory' />
|
||||
<inherits name='org.gcube.portlets.d4sreporting.common.Reporting' />
|
||||
<inherits name='com.extjs.gxt.ui.GXT' />
|
||||
<inherits name='org.gcube.portlets.widgets.fileupload.FileUpload' />
|
||||
<inherits name='org.gcube.portlets.widgets.exporter.Report_exporter_widget' />
|
||||
<inherits name='org.gcube.portlets.widgets.sessionchecker.SessionChecker' />
|
||||
<inherits name="com.github.gwtbootstrap.Bootstrap" />
|
||||
<!-- Specify the app entry point class. -->
|
||||
<entry-point
|
||||
class='org.gcube.portlets.user.reportgenerator.client.ReportGenerator' />
|
||||
|
|
|
@ -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
|
||||
page-url=http://www.gcube-system.org
|
||||
author=gCube
|
||||
licenses=EUPL
|
||||
|
|
|
@ -24,27 +24,6 @@
|
|||
<url-pattern>/reports/WorkspaceExplorerService</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>checkServlet</servlet-name>
|
||||
<servlet-class>org.gcube.portlets.widgets.sessionchecker.server.SessionCheckerServiceImpl</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>checkServlet</servlet-name>
|
||||
<url-pattern>/reports/checksession</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>uploadprogress</servlet-name>
|
||||
<servlet-class>org.gcube.portlets.widgets.fileupload.server.UploadProgressServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>uploadprogress</servlet-name>
|
||||
<url-pattern>/reports/uploadprogress</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>DownloadService</servlet-name>
|
||||
<servlet-class>org.gcube.portlets.user.reportgenerator.server.servlet.DownloadImageServlet</servlet-class>
|
||||
|
@ -55,41 +34,6 @@
|
|||
<url-pattern>/reports/DownloadService</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- DO NOT CHANGE - DO NOT Replace URL PATTERN HERE -->
|
||||
<servlet>
|
||||
<servlet-name>upload</servlet-name>
|
||||
<servlet-class>org.gcube.portlets.widgets.fileupload.server.UploadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>upload</servlet-name>
|
||||
<url-pattern>/FileUpload/upload</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- END DO NOT CHANGE -->
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>remoteLoggerServiceImpl</servlet-name>
|
||||
<servlet-class>com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>remoteLoggerServiceImpl</servlet-name>
|
||||
<url-pattern>/reports/gwt-log</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>convertServlet</servlet-name>
|
||||
<servlet-class>org.gcube.portlets.widgets.exporter.server.ReportExporterServiceImpl</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>convertServlet</servlet-name>
|
||||
<url-pattern>/reports/convert</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>DownloadEncryptedReport</servlet-name>
|
||||
<servlet-class>org.gcube.portlets.user.reportgenerator.server.servlet.DownloadEncryptedReport</servlet-class>
|
||||
|
|
Reference in New Issue