From 6e9b17be9d776299d0631eef181032a0feb74046 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Fri, 22 Nov 2013 17:28:12 +0000 Subject: [PATCH] removed workspace tree view and replaced with structure view git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/reports@85974 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 4 +- .settings/com.google.gdt.eclipse.core.prefs | 2 +- .settings/org.eclipse.wst.common.component | 8 +- pom.xml | 13 +-- .../reportgenerator/client/Headerbar.java | 40 +++---- .../client/Presenter/Presenter.java | 31 +----- .../client/ReportGenerator.java | 2 +- ...eDialog.java => ReportStructurePanel.java} | 104 +++++++++++++----- .../reportgenerator/client/ToolboxPanel.java | 14 ++- .../client/model/TemplateComponent.java | 16 ++- .../FimesReportTreeStructureResources.java | 45 +++++--- .../client/resources/checkbox.png | Bin 0 -> 243 bytes .../client/resources/heading_1.png | Bin 0 -> 455 bytes .../client/resources/heading_2.png | Bin 0 -> 508 bytes .../client/resources/heading_3.png | Bin 0 -> 514 bytes .../client/resources/heading_4.png | Bin 0 -> 499 bytes .../client/resources/heading_5.png | Bin 0 -> 501 bytes .../client/resources/information.png | Bin 778 -> 0 bytes .../client/resources/instruction.png | Bin 0 -> 291 bytes .../client/resources/radio.png | Bin 0 -> 478 bytes .../client/resources/reference.png | Bin 0 -> 355 bytes .../client/resources/sequence.png | Bin 0 -> 301 bytes .../client/resources/text_heading_1.png | Bin 276 -> 0 bytes .../client/resources/text_heading_2.png | Bin 304 -> 0 bytes .../client/resources/text_heading_3.png | Bin 306 -> 0 bytes .../client/resources/text_heading_4.png | Bin 293 -> 0 bytes .../client/targets/BasicTextArea.java | 21 +++- .../client/targets/HeadingTextArea.java | 13 ++- .../server/servlet/ReportServiceImpl.java | 93 +++++++++------- .../reportgenerator/ReportGenerator.gwt.xml | 2 +- 30 files changed, 246 insertions(+), 162 deletions(-) rename src/main/java/org/gcube/portlets/user/reportgenerator/client/{dialog/ReportStructureDialog.java => ReportStructurePanel.java} (67%) create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/checkbox.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/heading_1.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/heading_2.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/heading_3.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/heading_4.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/heading_5.png delete mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/information.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/instruction.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/radio.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/reference.png create mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/sequence.png delete mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_1.png delete mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_2.png delete mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_3.png delete mode 100644 src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_4.png diff --git a/.classpath b/.classpath index 9a07555..0383786 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -31,5 +31,5 @@ - + diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs index 1bd2e50..d5e5d52 100644 --- a/.settings/com.google.gdt.eclipse.core.prefs +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -2,6 +2,6 @@ <<<<<<<=.mine >>>>>>>=.r71295 eclipse.preferences.version=1 -lastWarOutDir=/Users/massi/Documents/workspace/reports/target/reports-4.6.3-SNAPSHOT +lastWarOutDir=/Users/massi/Documents/workspace/reports/target/reports-4.6.4-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 43de741..400921f 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -5,13 +5,7 @@ - - uses - - - uses - - + uses diff --git a/pom.xml b/pom.xml index d0c2cfa..38f0f4f 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.portlets.user reports war - 4.6.3-SNAPSHOT + 4.6.4-SNAPSHOT gCube Reports Portlet gCube Reports Portlet. @@ -116,6 +116,10 @@ 2.2.5 ${setScope} + + com.allen-sauer.gwt.log + gwt-log + org.gcube.portlets.widgets user-selection-dialog @@ -129,7 +133,7 @@ org.gcube.application.rsg reports-store-gateway-client - 0.0.1-SNAPSHOT + [0.0.1-SNAPSHOT,) org.gcube.common @@ -200,11 +204,6 @@ portal-service ${setScope} - - com.allen-sauer.gwt.log - gwt-log - ${setScope} - javax.portlet portlet-api 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 7653d12..74ccf87 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 @@ -19,6 +19,7 @@ import org.gcube.portlets.widgets.lighttree.client.load.WorkspaceLightTreeLoadPo 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.core.client.Scheduler.ScheduledCommand; import com.google.gwt.user.client.Command; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.CellPanel; @@ -423,34 +424,34 @@ public class Headerbar extends Composite{ public void enableExports() { optionDOCX.setHTML(EXPORT_OPENXML); - optionDOCX.setCommand(generateDOCX); + optionDOCX.setScheduledCommand(generateDOCX); optionPDF.setHTML("Export to PDF"); - optionPDF.setCommand(generatePDF); + optionPDF.setScheduledCommand(generatePDF); optionHTML.setHTML(EXPORT_HTML); - optionHTML.setCommand(generateHTML); + optionHTML.setScheduledCommand(generateHTML); optionFimes.setHTML(EXPORT_FIMES); - optionFimes.setCommand(generateFimes); + optionFimes.setScheduledCommand(generateFimes); optionXML.setHTML(EXPORT_XML); - optionXML.setCommand(generatedXML); + optionXML.setScheduledCommand(generatedXML); // optionEncryptedModel.setHTML(EXPORT_ENCRYPTED_REPORT); - optionEncryptedModel.setCommand(generateEncryptedModel); + // importModel.setHTML("Import from Template or Report"); - importModel.setCommand(importModelOrReport); + importModel.setScheduledCommand(importModelOrReport); viewMetadata.setHTML("View Metadata"); - viewMetadata.setCommand(openMetadata); + viewMetadata.setScheduledCommand(openMetadata); viewComments.setHTML(VIEW_USER_COMMENTS); - viewComments.setCommand(showUserComments); + viewComments.setScheduledCommand(showUserComments); discardSection.setHTML("Discard current"); - discardSection.setCommand(discardSectionCom); + discardSection.setScheduledCommand(discardSectionCom); } /** @@ -467,7 +468,7 @@ public class Headerbar extends Composite{ */ public void enableBiblioEntry(RichTextArea d4sArea) { addBiblioEntry.setHTML(ADD_BIBLIO_ENTRY); - addBiblioEntry.setCommand(addBiblioEntryCommand); + addBiblioEntry.setScheduledCommand(addBiblioEntryCommand); presenter.setAreaForBiblio(d4sArea); } @@ -555,43 +556,43 @@ public class Headerbar extends Composite{ //************** COMMANDS ********************************//// - Command generateFimes = new Command() { + ScheduledCommand generateFimes = new ScheduledCommand() { public void execute() { presenter.generateFiMES(templateModel); } }; - Command generateDOCX = new Command() { + ScheduledCommand generateDOCX = new ScheduledCommand() { public void execute() { presenter.generateManifestation(templateModel, ExportManifestationType.DOCX); } }; - Command generatePDF = new Command() { + 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); } }; - Command generateHTML = new Command() { + ScheduledCommand generateHTML = new ScheduledCommand() { public void execute() { presenter.generateManifestation(templateModel, ExportManifestationType.HTML); } }; - Command generatedXML = new Command() { + ScheduledCommand generatedXML = new ScheduledCommand() { public void execute() { presenter.generateManifestation(templateModel, ExportManifestationType.XML); } }; - Command generateEncryptedModel = new Command() { + ScheduledCommand generateEncryptedModel = new ScheduledCommand() { @Override public void execute() { GWT.runAsync(WorkspaceLightTreeLoadPopup.class, new RunAsyncCallback() { public void onSuccess() { - WorkspaceLightTreeLoadPopup wpTreepopup = new WorkspaceLightTreeLoadPopup("Select the Report (or Template) to encrypt ", true, true); + WorkspaceLightTreeLoadPopup wpTreepopup = new WorkspaceLightTreeLoadPopup( "Select the Report (or Template) to encrypt ", true, true); wpTreepopup.setShowableTypes(ItemType.REPORT_TEMPLATE, ItemType.REPORT); wpTreepopup.setSelectableTypes(ItemType.REPORT_TEMPLATE, ItemType.REPORT); @@ -607,7 +608,6 @@ public class Headerbar extends Composite{ } }); - wpTreepopup.center(); wpTreepopup.show(); } @@ -620,7 +620,7 @@ public class Headerbar extends Composite{ }; - Command discardSectionCom = new Command() { + ScheduledCommand discardSectionCom = new ScheduledCommand() { public void execute() { presenter.discardCurrentSection(); } 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 a302ced..753bb07 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 @@ -15,12 +15,12 @@ import org.gcube.portlets.user.reportgenerator.client.ReportConstants; import org.gcube.portlets.user.reportgenerator.client.ReportGenerator; import org.gcube.portlets.user.reportgenerator.client.ReportService; import org.gcube.portlets.user.reportgenerator.client.ReportServiceAsync; +import org.gcube.portlets.user.reportgenerator.client.ReportStructurePanel; import org.gcube.portlets.user.reportgenerator.client.TitleBar; import org.gcube.portlets.user.reportgenerator.client.ToolboxPanel; import org.gcube.portlets.user.reportgenerator.client.WorkspacePanel; import org.gcube.portlets.user.reportgenerator.client.dialog.AddBiblioEntryDialog; import org.gcube.portlets.user.reportgenerator.client.dialog.DeleteCitationsDialog; -import org.gcube.portlets.user.reportgenerator.client.dialog.ReportStructureDialog; import org.gcube.portlets.user.reportgenerator.client.dialog.WaitingOperationDialog; import org.gcube.portlets.user.reportgenerator.client.events.AddBiblioEvent; import org.gcube.portlets.user.reportgenerator.client.events.AddBiblioEventHandler; @@ -68,7 +68,6 @@ import org.gcube.portlets.widgets.userselection.client.events.UsersFetchedEvent; import org.gcube.portlets.widgets.userselection.shared.ItemSelectableBean; import com.extjs.gxt.ui.client.widget.MessageBox; -import com.extjs.gxt.ui.client.widget.layout.FitLayout; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.RunAsyncCallback; import com.google.gwt.event.shared.HandlerManager; @@ -885,6 +884,9 @@ public class Presenter { } if (currPage > 1) titleBar.getSectionSwitchPanel().showPrevButton(); + + //show the structure + showReportStructure(); } /** @@ -1203,29 +1205,8 @@ public class Presenter { public void showReportStructure() { - GWT.runAsync(ReportStructureDialog.class, new RunAsyncCallback() { - @Override - public void onSuccess() { - ReportStructureDialog panel = new ReportStructureDialog(eventBus, model.getSerializableModel(), ToolboxPanel.TOOLBOX_WIDTH+"px", ToolboxPanel.TOOLBOX_HEIGHT+"px"); - final com.extjs.gxt.ui.client.widget.Window window = new com.extjs.gxt.ui.client.widget.Window(); - window.setTitle("Report Structure"); - window.setClosable(true); - window.setResizable(false); - window.setWidth(ToolboxPanel.TOOLBOX_WIDTH); - window.setHeight(ToolboxPanel.TOOLBOX_HEIGHT); - window.setPlain(true); - window.setLayout(new FitLayout()); - window.add(panel); - panel.getElement().getStyle().setBackgroundColor("#FFF"); - window.setPosition(0, getToolBoxPanel().getAbsoluteTop()); - window.show(); - } - @Override - public void onFailure(Throwable reason) { - } - }); - - } + toolBoxPanel.showStructure(new ReportStructurePanel(eventBus, model.getSerializableModel(), ToolboxPanel.TOOLBOX_WIDTH+"px", ToolboxPanel.TOOLBOX_HEIGHT+"px")); + } public HorizontalPanel getExportsPanel() { return exportsPanel; 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 a33a87d..e765dd0 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 @@ -118,7 +118,7 @@ public class ReportGenerator implements EntryPoint { cellPanel.add(toolBoxPanel); cellPanel.add(bottomScrollerPanel); - cellPanel.setCellWidth(toolBoxPanel, "230"); + cellPanel.setCellWidth(toolBoxPanel, "10px"); mainLayout.add(cellPanel); diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/dialog/ReportStructureDialog.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportStructurePanel.java similarity index 67% rename from src/main/java/org/gcube/portlets/user/reportgenerator/client/dialog/ReportStructureDialog.java rename to src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportStructurePanel.java index 206000c..b6b49fa 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/dialog/ReportStructureDialog.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ReportStructurePanel.java @@ -1,19 +1,26 @@ -package org.gcube.portlets.user.reportgenerator.client.dialog; +package org.gcube.portlets.user.reportgenerator.client; import java.util.HashMap; import java.util.List; import java.util.Vector; +import org.gcube.application.reporting.component.ReportSequence; +import org.gcube.portlets.d4sreporting.common.shared.AttributeArea; import org.gcube.portlets.d4sreporting.common.shared.BasicComponent; -import org.gcube.portlets.d4sreporting.common.shared.Model; import org.gcube.portlets.d4sreporting.common.shared.BasicSection; +import org.gcube.portlets.d4sreporting.common.shared.ComponentType; +import org.gcube.portlets.d4sreporting.common.shared.Model; +import org.gcube.portlets.d4sreporting.common.shared.RepeatableSequence; +import org.gcube.portlets.d4sreporting.common.shared.ReportReferences; import org.gcube.portlets.user.reportgenerator.client.events.ItemSelectionEvent; import org.gcube.portlets.user.reportgenerator.client.resources.FimesReportTreeStructureResources; +import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.logical.shared.SelectionEvent; import com.google.gwt.event.logical.shared.SelectionHandler; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.resources.client.ImageResource; +import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; @@ -23,55 +30,77 @@ import com.google.gwt.user.client.ui.TreeItem; import com.google.gwt.user.client.ui.Widget; -public class ReportStructureDialog extends ScrollPanel{ +public class ReportStructurePanel extends ScrollPanel{ - public ReportStructureDialog(final HandlerManager eventBus, final Model report, - final String height, final String width) { + Tree t; + TreeItem root ; + public ReportStructurePanel(final HandlerManager eventBus, final Model report, final String width, final String height) { - this.setWidth(width); - this.setHeight(height); + setWidth(width); + setHeight(height); - Tree t = new Tree(); + + t = new Tree(); t.setAnimationEnabled(true); - t.addItem(loadReportRootTree(report)); + root = loadReportRootTree(report); + t.addItem(root); t.addSelectionHandler(new SelectionHandler() { @SuppressWarnings("unchecked") public void onSelection(SelectionEvent event) { - // TODO Auto-generated method stub TreeItem item = event.getSelectedItem(); HashMap map = (HashMap)item.getUserObject(); eventBus.fireEvent(new ItemSelectionEvent(map)); } }); - + this.add(t); + root.setState(true); + getElement().getStyle().setPaddingLeft(10, Unit.PX); + getElement().getStyle().setPaddingTop(10, Unit.PX); + + expandtree(); + } + + private void expandtree() { + Timer t = new Timer() { + + @Override + public void run() { + for (int i = 0; i < root.getChildCount(); i++) { + root.getChild(i).setState(true); + } + } + }; + t.schedule(500); } private TreeItem loadReportRootTree(final Model report) { // Add root node ImageResource image = FimesReportTreeStructureResources.INSTANCE.root(); - HorizontalPanel node = createNodeWidget(image, report.getTemplateName(),"gwt-label-rootTree"); + HorizontalPanel node = createNodeWidget(image, "Structure View","gwt-label-rootTree"); TreeItem root = new TreeItem(node); + + root.setStyleName("treeContainer"); + Vector sections = report.getSections(); for(int i = 1; i <= sections.size(); i++) { BasicSection s = sections.get(i - 1); // Add section item image = FimesReportTreeStructureResources.INSTANCE.section(); - node = createNodeWidget(image, "Section" + i,"gwt-label-sectionTree"); + node = createNodeWidget(image, "Section " + i,"gwt-label-sectionTree"); TreeItem sectionItem = addChildItemToParentItem(root, "Section", Integer.toString(i -1), node); - addItemsComponent(sectionItem, s); + sectionItem.setState(true); + addItemsComponent(sectionItem, s.getComponents()); - } - + } return root; } - private void addItemsComponent(final TreeItem sectionItem,final BasicSection sectionModel) { + private void addItemsComponent(final TreeItem sectionItem,final List components ) { - List components = sectionModel.getComponents(); for(int i = 0; i < components.size(); i++) { BasicComponent c = components.get(i); @@ -104,7 +133,7 @@ public class ReportStructureDialog extends ScrollPanel{ } case INSTRUCTION: { ImageResource image = FimesReportTreeStructureResources.INSTANCE.instructions(); - node = createNodeWidget(image, "Instruction","gwt-label-componentTree"); + node = createNodeWidget(image, "Instructions","gwt-label-componentTree"); break; } case COMMENT: { @@ -127,10 +156,32 @@ public class ReportStructureDialog extends ScrollPanel{ node = createNodeWidget(image, "Table","gwt-label-componentTree"); break; } - case ATTRIBUTE_MULTI: { - // TODO - ImageResource image = FimesReportTreeStructureResources.INSTANCE.comments(); - node = createNodeWidget(image, "Attribute","gwt-label-componentTree"); + case ATTRIBUTE_MULTI: { + AttributeArea ar = (AttributeArea) c.getPossibleContent(); + ImageResource image = FimesReportTreeStructureResources.INSTANCE.checkbox(); + node = createNodeWidget(image, ar.getAttrName(),"gwt-label-componentTree"); + break; + } + case ATTRIBUTE_UNIQUE: { + AttributeArea ar = (AttributeArea) c.getPossibleContent(); + ImageResource image = FimesReportTreeStructureResources.INSTANCE.radio(); + node = createNodeWidget(image, ar.getAttrName(),"gwt-label-componentTree"); + break; + } + case BODY_TABLE_IMAGE: { + RepeatableSequence rs = (RepeatableSequence) c.getPossibleContent(); + addItemsComponent(sectionItem, rs.getGroupedComponents()); + break; + } + case REPEAT_SEQUENCE: { + RepeatableSequence rs = (RepeatableSequence) c.getPossibleContent(); + addItemsComponent(sectionItem, rs.getGroupedComponents()); + break; + } + case REPORT_REFERENCE: { + ReportReferences rf = (ReportReferences) c.getPossibleContent(); + ImageResource image = FimesReportTreeStructureResources.INSTANCE.reference(); + node = createNodeWidget(image, rf.getRefType(),"gwt-label-componentTree"); break; } case TOC: @@ -147,9 +198,10 @@ public class ReportStructureDialog extends ScrollPanel{ break; } - if (node != null) + if (node != null && c.getType() != ComponentType.REPEAT_SEQUENCE) { addChildItemToParentItem(sectionItem, "Component", Integer.toString(i), node); + } } } @@ -177,8 +229,7 @@ public class ReportStructureDialog extends ScrollPanel{ private HorizontalPanel createNodeWidget(ImageResource imageResource, String title, String cssStyle) { HorizontalPanel node = new HorizontalPanel(); - - node.setSpacing(0); + Image image = new Image(imageResource); image.setPixelSize(image.getWidth() + 5, image.getHeight()); node.add(image); @@ -188,7 +239,6 @@ public class ReportStructureDialog extends ScrollPanel{ shortTitle = shortTitle.substring(0,25) + "..."; Label text = new Label(shortTitle); - text.setStyleName(cssStyle); node.add(text); return node; } 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 c2f1fa7..eed06e7 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 @@ -3,8 +3,6 @@ package org.gcube.portlets.user.reportgenerator.client; import org.gcube.portlets.user.workspace.client.AppControllerExplorer; import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent; import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.DownloadType; -import org.gcube.portlets.user.workspace.client.event.FileUploadEvent; -import org.gcube.portlets.user.workspace.client.event.FileUploadEvent.UploadType; import org.gcube.portlets.user.workspace.client.view.tree.AsyncTreePanel; import com.google.gwt.core.client.GWT; @@ -28,12 +26,18 @@ public class ToolboxPanel extends SimplePanel { public static final int TOOLBOX_HEIGHT= 800; public ToolboxPanel(AppControllerExplorer appController) { -// this.appController = appController; + this.appController = appController; // AsyncTreePanel tp = appController.getTree(TOOLBOX_WIDTH, TOOLBOX_HEIGHT); // this.tp = tp; // add(tp); // this.appController.hideSharingFacilities(); //sharing disabled we have problems from Reports } + + public void showStructure(ReportStructurePanel panel) { + clear(); + setWidth("240px"); + add(panel); + } public void showExportedVersion(String id, String fileName) { GWT.log("showExportedVersion"); @@ -43,13 +47,13 @@ public class ToolboxPanel extends SimplePanel { * refresh the root */ public void refreshRoot() { - appController.refreshRoot(); + //appController.refreshRoot(); } /** * show upload file popup */ public void showUploadFile() { - AppControllerExplorer.getEventBus().fireEvent(new FileUploadEvent(tp.getRootItem(), UploadType.FILE)); + //AppControllerExplorer.getEventBus().fireEvent(new FileUploadEvent(tp.getRootItem(), UploadType.FILE)); } /** * lalala diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/model/TemplateComponent.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/model/TemplateComponent.java index 4b28e6d..75db161 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/model/TemplateComponent.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/model/TemplateComponent.java @@ -195,6 +195,7 @@ public class TemplateComponent { else { HeadingTextArea bToAdd = new HeadingTextArea(sc.getType(), presenter, sc.getX(), sc.getY(), width, 25, getUserComments() != null, showClose); bToAdd.setText((String) sc.getPossibleContent()); + bToAdd.setMetadata(sc.getMetadata()); this.content = bToAdd; } break; @@ -213,6 +214,7 @@ public class TemplateComponent { int changedWidth = width -5; //because of the inner padding BasicTextArea bToAdd = new BasicTextArea(sc.getType(), presenter, sc.getX(), sc.getY(), changedWidth, 25, getUserComments() != null, showClose); bToAdd.setText((String) sc.getPossibleContent()); + bToAdd.setMetadata(sc.getMetadata()); this.content = bToAdd; } break; @@ -373,7 +375,6 @@ public class TemplateComponent { this.content = tti; break; case REPORT_REFERENCE: - //Log.debug("FOUND Master SEQUENCE trying getGroup"); GWT.log("FOUND Master SEQUENCE trying getGroup"); ReportReferences ref = (ReportReferences) sc.getPossibleContent(); @@ -414,6 +415,7 @@ public class TemplateComponent { public BasicComponent getSerializable() { Serializable content = ""; String id = ""; + List metas = null; switch (this.getType()) { case DYNA_IMAGE: ClientImage da = (ClientImage) this.content; @@ -422,7 +424,7 @@ public class TemplateComponent { idInBasket = id; if (((String) content).compareTo("") == 0) content = DEFAULT_IMAGE_PATH; - metadata = da.getMetadata(); + metas = da.getMetadata(); width = da.getImageWidth(); height = da.getImageHeight(); break; @@ -443,15 +445,19 @@ public class TemplateComponent { if (this.isLocked()) { content = ((HTML) this.content).getText(); } - else + else { content = ((HeadingTextArea) this.content).getText(); + metas = ((HeadingTextArea) this.content).getMetadata(); + } break; case BODY_NOT_FORMATTED: if (this.isLocked()) { content = ((HTML) this.content).getText(); } - else + else { content = ((BasicTextArea) this.content).getText(); + metas = ((BasicTextArea) this.content).getMetadata(); + } break; case TIME_SERIES: GWT.log("Found Time Series", null); @@ -494,7 +500,7 @@ public class TemplateComponent { break; } - return new BasicComponent(x, y, width, height, templatePage, type, idInBasket, "param empty", content, this.doubleColLayout, isLocked(), metadata); + return new BasicComponent(x, y, width, height, templatePage, type, idInBasket, "param empty", content, this.doubleColLayout, isLocked(), metas); } /** diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/FimesReportTreeStructureResources.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/FimesReportTreeStructureResources.java index 64f7a2e..d696185 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/FimesReportTreeStructureResources.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/FimesReportTreeStructureResources.java @@ -6,40 +6,55 @@ import com.google.gwt.resources.client.ImageResource; import com.google.gwt.resources.client.ClientBundle.Source; public interface FimesReportTreeStructureResources extends ClientBundle { -public static final FimesReportTreeStructureResources INSTANCE = GWT.create(FimesReportTreeStructureResources.class); - + public static final FimesReportTreeStructureResources INSTANCE = GWT.create(FimesReportTreeStructureResources.class); + @Source("report.png") ImageResource root(); @Source("page.png") ImageResource section(); - @Source("text_heading_1.png") + @Source("heading_1.png") ImageResource heading1(); - - @Source("text_heading_2.png") + + @Source("heading_2.png") ImageResource heading2(); - - @Source("text_heading_3.png") + + @Source("heading_3.png") ImageResource heading3(); - - @Source("text_heading_4.png") + + @Source("heading_4.png") ImageResource heading4(); - + + @Source("heading_5.png") + ImageResource heading5(); + @Source("text_dropcaps.png") ImageResource text(); - + @Source("table.png") ImageResource table(); - + @Source("image.png") ImageResource image(); - - @Source("information.png") + + @Source("instruction.png") ImageResource instructions(); - + @Source("comments.png") ImageResource comments(); + @Source("sequence.png") + ImageResource sequence(); + + @Source("checkbox.png") + ImageResource checkbox(); + + @Source("radio.png") + ImageResource radio(); + + @Source("reference.png") + ImageResource reference(); + } diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/checkbox.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/checkbox.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca5395d729e99774a5765f2151859f38ffaef10 GIT binary patch literal 243 zcmVDM!q zR!{(_2c>u=YbkqDg<>8j&-;x4Xrhm!g{@y0u+qV!lJ7njSBboKX7qz zDb;8+h0o8wieIbw2!c8u9v;yjgrq%G*an1yKDym5dc7W8$1;;XLKqI_34q3cl~79t8L{95J(&dyxA? z3D5JyvsUj1SnD8(6T~ksxET$F(y#>wW8VI!U|TPFk(j-?w35YJ5#z~xT?(7+4)z^KX0uI34h0$;_gG)Q ztH+$5%TX$obd^S9gUMvV>w|-|ejDHS+1-5xpuLtfDHwuck;SDY0P&hjIf`PQ?(9%5 zmzhqdsUBqabGm|U8yv^Mb6xH~cqm?T%Q9kG9}EV(dHar9wL%8+u0ovJ&DDBRzja4a z^{Z=j)lYs*lCNQytfktEm#>m2))xI9EEF(67={doLjduTtG+Nl$L8iEe9z_D)hl$n zT{5ify&rFFb9_8zG#UY@ACJduZ9hTi_xl_jedOY$%j`dI{<^}9=n6SbA=UU3a@ybf y|Nmb|_k5pT%7rM3_!n&3MrI9g9#~{HzW)SX@1UXabP~n@0000dOf#7%yMDK13(4<)E=OcA@N*@{RO>PosTmI(<#iR-%eA6V)S zP^xM3Q5C`@i%w>odl_aHF4X$K;e8Kx&fy-;9R`EJk6y1Abi3Waah$&i^{uRtwMcVO zWNpg#eI%d193wP=0Kzkb5FkAYR2H52VO+a<1zD>RQ804YmWgQ^7)C*Hy z%rG}Gj6B&)I&Ky>*xP$eqj6V-Z5Ly|zwdBx@SgScMws8jae8F4IU=!D_$4YgX0qoYq`GU=p25F}ID#UiD089=FBD&l!Q+uM)8hjY)P zUcZ5+>A&AV*9G}}9-~m;$_bGaNspyKWD9R$ef1MN~ytnd|HXm#S_cxkBl&UwO5g~x-bjo-<22eVi&5(3D9i_|VlGD>Mnjl7t_RaGb zFIg;H=JPp#Qg^Z7)$T5b9}l^8`wo-Igqv$?#3Up9nX|L+vG=@HJVJ^DqK(9e*a*ty zOUdI&X5jz-1=n>y^!xq#YPI5D&~+VID}d`jiHq^`7YWdr*CgQ0ApigX07*qoM6N<$ Eg3Jx`T>t<8 literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/heading_4.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/heading_4.png new file mode 100644 index 0000000000000000000000000000000000000000..b14e4d006de65a11b3b8330d7963b7160221f4f7 GIT binary patch literal 499 zcmVm zN^dkNw6fXUnCy1WfhDmisPPAX&exoo9p)_B?e_0xvl%oRji6qyKS#WldZ-uV%nS7@ z-}gaW-~5D-0s?@pK?w5LXN7?BI$T>_0rjddZzWbN*Rd9qd32~K)2h4Ar(U8?QyJ)VI!GoL@bSZY#3`>evw>13dUrkC-QMD`S|Q6ZaewdP z>gqf8_CMoSuaAC@^9*P(Le@75!DfDoT(%pV1@`@5LcZ`$ugkOVI8GqL_dYs4!Eoro zbzKl-J#WZ)_&z`H@yRI$16OPC_zRvw&jRZoc%&63@G1X8N-luX03K=T6#(97r7<6W{sLbBqsbQrx%mJ9002ovPDHLkV1fi8M`WcGN1(W6?Qd)h;n@B{kDT?4@TgZ+4gXoh#P~Tf040(zp zDCA0$oa3xbrg^ZS)&;}bYwxoTd+)=b+wJ~nx7)heZ0bg%@mC+u(nBv8+!XX~D5XGr z?e$@p1`GgE4TiypF=?#{r8Vx}xea>FIO(_v1ilB)bK$ym%v&=QQzK^~AC#b!6iLo|D!yhavnnq1@p@7}(_>!Ug>)57}?A8`e~E1{(Aimp6*OetI}RU|)|&Z1EklHWUc zs`G`S#I06K#~sM?g<*)nU_eQxmb{&~g=)2mZ{c_Jdp(RsqxA^!`@TA?V=@_II2=+6 zkH=#i){jJAoPUX4AWZ|xBVme|mWaqy4$_pJm?y9KM{-*hp?1+Ey3e-CEDooTa!B;e(Q>TSF?bj>5At13y1p zriN3w3x~5SfZj{@J4M{kp{?=M_Lh2bV+5LH)Q)5W!-ePA$RgE1@5f1cyHki0Y}JyVEYZF(LD$xXlt$7A5CgE@ zpV-&l%vf;=5kZ2-2gi@Y6J&=cuwt>!vJ^#(&n|LcZyUzi6Duj$$hJ1s*HD-#;k-w@ zpdrwAuoDG_N2bvb07G$Zk*?Hc)JLtW4yqOnic_$zO7NZ#l>Fm){;fE?b$IbOaX2fe z0la4g0Dfw2xk7Wi7NapVD8YMPCZu?A1QCK*67dgsvRKBLFtrM>?$%&_lD1882mzdO zWPdw5KWw6IT`m1b_8=lS5jt8D3=RDa=&jWzR-)S@56WMslZ~mKu1)-wpXB>rNBQ>N zU#K`#1B&v|_AQK;7I~B}OdGiUT9LX>f0xm6<;LeP!=vFjPsUQF*wCJ*dO)4YBypgdiuF!=i@6Zyi7F|q#K zz?tlSZULa@t1D?$e;f@b36&N!V2mjOHw|*728BT3xB-Hrti*M5GCmjJ3S$sR!WFPM6a?s@L}#+w!$5-AmsBcrewFx5 zd&U^t;fwaK1>ZE!^B^J`K!I!IN+|*14j8WM+Kl69&fpAZnPJuzIN`GrW_DgX2!a3? zv9sb@Ii-f;fFnRoN)U&KLMKRGh@?AUjP6A002ovPDHLkV1kGFco_fy literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/radio.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/radio.png new file mode 100644 index 0000000000000000000000000000000000000000..f83a25496e5d552dae1316a09a0073748a20a538 GIT binary patch literal 478 zcmV<40U`d0P)N3 zt)N433KV<+(Jsyod4WuYjE;E)XJ4U1iIWdd2!%k#B%%(2w4y0Q^P}lGsRRe_l%W?c zIrsa%^X1-i?q$+6B}E2H3XZ}C{OO|K@Be{3FTv*t=FO4%f@vp7GQowe>*ozXKsb(j z7DchsZnwLYN~MbUa=COyqtTn^dB%Rf|DYZrj^hVNe(CjkuaMjT=n5ysh#`j>>Jh>) zY_wXfF3YlI$8m^hni($3GLa;yjGS%Tp8$Dh4R*WTtsn@GQ52E!cuaiX&+yG=Lli|J z$f1V1gCGbPtOJhKYDL!TbzU3Tdaj|?0Lbt8eD0yR*=*)G#)u(@8tM+V+pRSm4&OCR zyRX;lrAIpW3gE9s;YLNaCjdGv~MyP3=GS%3~cFX4s-ez z;7=Fu5lf{~6*_ST@%54N4~N4HiaUdN1~~!EfIB8#Qf_X9O@W;FtiiuLre6UD0D@`0 U?wQ+*<^TWy07*qoM6N<$f-v#eV*mgE literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/reference.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/reference.png new file mode 100644 index 0000000000000000000000000000000000000000..7857536022e4e80477be9f4ddc8630904b4b6b07 GIT binary patch literal 355 zcmV-p0i6DcP)G~8>CIG z`xQ52$(mFA;A3`YXTEPTF^Fg&c`A7(xkkSS>fa#X7e#UBx-J2RffNIGZ7j=@JkRrS z`)Zno>bl0GLen&RbB^PX-F7-Zny~Z3;)?P-Z#(ljiXuMS?Z?@ZP+Wo_=$nQG6o>tb zTY8zsaPK%TV;sj2>#3`3ps>K#aQ3ez-I#Dx&6 zCjf`X36+mG7+E)sDqvX_3+$czu*25j7|poT!S;rB z2bkl!sw&;GxLLPA^hjJnW?gbm@}B+%U-Fgyi*MzYMQFV7!36*S002ovPDHLkV1kOE Bo=gA$ literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/sequence.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/sequence.png new file mode 100644 index 0000000000000000000000000000000000000000..3a57e6774f96c0dc2d50543cfe61134df5b0f120 GIT binary patch literal 301 zcmV+|0n+}7P)QEHL z<_?hKJdWd<&{#u{!Y{_`6_1Kn`V67sjlRV{`*}Hn|8h{W00000NkvXXu0mjfv!Z<1 literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_1.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_1.png deleted file mode 100644 index 9c122e91e358860733eaf08fd543e5fc585d4cfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$x=IP=XqH%ujg^j!|20W|*-XbO@ zAtBSd^khRzd{=pNv@vN)9uZDqGTXuVPf6#I=?;x2B`Y;1YQMI>>GxvE??vtn{c>{A z7MYxUVrui2JTF|YR&ldntL8M3{q7no52$4`vIX;r@S8@YTFOM5*~nV4Gk-UYI5L$} zDw(h9UDksmVjphbEsSQ?UdGUxU4Htk{EZoY&3@-Y5*_;Wwk`ZAkg@!FaC~ii{N>;; VD%(>GD}XL$@O1TaS?83{1OVXtVO9VD diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_2.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_2.png deleted file mode 100644 index fbd87657fbe001c0a78fb095284fffc32e739497..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$ROXGNhtQ`{C(%$wdeB3 zGTnLdz~IMJtNg?T>Z(s;oVU0)KW5x*9xvq)rPF;` zY|Fc4&#rLa>Txf#@y+aKf+ac0%`STzAI(*qdYo^XFH557y+_x*JpKO5^1S9?c^6}{ zP=+&OVHtDUrGNmdKI;Vst0KHFj AM*si- diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_3.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_3.png deleted file mode 100644 index c7836cf09e4565cc76c13bd14c13971c9e093c40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPr2P)wEzGB diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_4.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/resources/text_heading_4.png deleted file mode 100644 index 4e929eaf583f10cf50eb1666ff6530b9d4cc7915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-&H?&;zfqH%ujg^j$;1_G=B-XbO( zon2btF4r#xDw?mmvtwaL3R_~+Yz66*rrQmiHySwec#9a-mn?F*9`VcnzTNDrbNY9( zxOA;CUb9S|sk-b7=Pc<<>lMA8+|AaBj(NoLhh2`-;+F zenR#-z6;(Syt?;Ub#DVE_OC diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/BasicTextArea.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/BasicTextArea.java index 031ff2a..1a2bcf4 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/BasicTextArea.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/BasicTextArea.java @@ -1,6 +1,9 @@ package org.gcube.portlets.user.reportgenerator.client.targets; +import java.util.List; + import org.gcube.portlets.d4sreporting.common.shared.ComponentType; +import org.gcube.portlets.d4sreporting.common.shared.Metadata; import org.gcube.portlets.user.reportgenerator.client.UUID; import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter; @@ -8,8 +11,6 @@ import com.google.gwt.event.dom.client.FocusEvent; import com.google.gwt.event.dom.client.FocusHandler; import com.google.gwt.event.dom.client.KeyUpEvent; import com.google.gwt.event.dom.client.KeyUpHandler; -import com.google.gwt.event.dom.client.MouseDownEvent; -import com.google.gwt.event.dom.client.MouseDownHandler; import com.google.gwt.event.dom.client.MouseOutEvent; import com.google.gwt.event.dom.client.MouseOutHandler; import com.google.gwt.user.client.ui.RichTextArea; @@ -23,7 +24,9 @@ import com.google.gwt.user.client.ui.Widget; */ public class BasicTextArea extends TextArea { private String myId; - + //the properties associated + private List metas; + public BasicTextArea(ComponentType type, final Presenter presenter, int left, int top, final int width, final int height, boolean hasComments, boolean showClose) { myId = UUID.uuid(16); @@ -73,6 +76,18 @@ public class BasicTextArea extends TextArea { public RichTextArea getRichTextArea() { return null; } + + + + public List getMetadata() { + return metas; + } + + + public void setMetadata(List metas) { + this.metas = metas; + } + /** * This method actually makes resizable the textArea diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/HeadingTextArea.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/HeadingTextArea.java index bbfd02b..f3469b5 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/HeadingTextArea.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/HeadingTextArea.java @@ -1,6 +1,9 @@ package org.gcube.portlets.user.reportgenerator.client.targets; +import java.util.List; + import org.gcube.portlets.d4sreporting.common.shared.ComponentType; +import org.gcube.portlets.d4sreporting.common.shared.Metadata; import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter; import com.google.gwt.event.dom.client.MouseOutEvent; @@ -19,7 +22,7 @@ public class HeadingTextArea extends ReportTextArea { private TextArea textArea = new TextArea(); private VerticalPanel myPanel; private Presenter presenter; - + private List metas; int currHeight = 0; @@ -85,5 +88,13 @@ public class HeadingTextArea extends ReportTextArea { textArea.setText(text); } + public List getMetadata() { + return metas; + } + + + public void setMetadata(List metas) { + this.metas = metas; + } } 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 23b2910..09b73ae 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 @@ -31,11 +31,17 @@ import org.apache.commons.io.IOUtils; import org.gcube.application.framework.accesslogger.library.impl.AccessLogger; import org.gcube.application.framework.core.session.ASLSession; import org.gcube.application.framework.core.session.SessionManager; -import org.gcube.application.reporting.ReportSequence; import org.gcube.application.reporting.ReportsModeler; +import org.gcube.application.reporting.component.Heading; +import org.gcube.application.reporting.component.Instruction; +import org.gcube.application.reporting.component.ReportSequence; +import org.gcube.application.reporting.component.TextInput; +import org.gcube.application.reporting.component.Title; +import org.gcube.application.reporting.reference.Column; import org.gcube.application.reporting.reference.DBTableRow; import org.gcube.application.reporting.reference.ReferenceReport; import org.gcube.application.reporting.reference.ReferenceReportType; +import org.gcube.application.rsg.service.dto.NameValue; import org.gcube.application.rsg.service.dto.ReportEntry; import org.gcube.application.rsg.service.dto.ReportType; import org.gcube.applicationsupportlayer.social.ApplicationNotificationsManager; @@ -67,7 +73,6 @@ import org.gcube.portlets.d4sreporting.common.server.ServiceUtil; import org.gcube.portlets.d4sreporting.common.shared.BasicComponent; import org.gcube.portlets.d4sreporting.common.shared.BasicSection; 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.d4sreporting.common.shared.RepTimeSeries; import org.gcube.portlets.d4sreporting.common.shared.RepeatableSequence; @@ -1468,7 +1473,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe type.setTypeIdentifier("Vme"); for (ReportEntry re : getFakeReports(type)) { - toReturn.add(new ItemSelectableBean(""+re.getId(), re.getName(), "", VMETypeIdentifier.Vme.toString())); + toReturn.add(new ItemSelectableBean(""+re.getId(), re.getNameValueList().get(0).getValue(), "", VMETypeIdentifier.Vme.toString())); } return toReturn; @@ -1487,7 +1492,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe type.setTypeIdentifier(refType.toString()); for (ReportEntry re : getFakeReports(type)) { - toReturn.add(new ItemSelectableBean(""+re.getId(), re.getName(), "", refType.toString())); + toReturn.add(new ItemSelectableBean(""+re.getId(), re.getNameValueList().get(0).getValue(), "", refType.toString())); } return toReturn; } @@ -1501,7 +1506,11 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe for (int i = 0; i < n; i++) { re = new ReportEntry(); re.setId(i); - re.setName( "VME Name " + i); + List namesValues = new ArrayList(); + NameValue name = new NameValue(); + name.setName( "VME Name " + i); + namesValues.add(name); + re.setNameValueList(namesValues); toReturn.add(re); } } else { @@ -1509,7 +1518,11 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe for (int i = 0; i < n; i++) { re = new ReportEntry(); re.setId(i); - re.setName( type.getTypeIdentifier() + "-" + i); + List namesValues = new ArrayList(); + NameValue name = new NameValue(); + name.setName(type.getTypeIdentifier() + "-" + i); + namesValues.add(name); + re.setNameValueList(namesValues); toReturn.add(re); } } @@ -1527,14 +1540,13 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe new Date(), getASLSession().getUsername() ); - rm.addInstruction(null); - rm.addTitle(name, false); - rm.addHeading(1, "VME Name (Non Editable) "); - rm.addTextInput("Corner Rise Seamounts"); - rm.addHeading(2, "This is a Heading of Level 2 that is editable", false); - rm.addTextInput("Corner Rise Seamounts2"); - rm.addHeading(3, "This is a Heading of Level 3 that is editable", false); - rm.addTextInput(); + rm.add(new Instruction(null)); + rm.add(new Title(name, false)); + rm.add(new Heading(1, "VME Name (Non Editable) ")); + rm.add(new TextInput("Corner Rise Seamounts")); + rm.add(new Heading(2, "This is a Heading of Level 2 that is editable")); + rm.add(new TextInput("Corner Rise Seamounts again")); + rm.add(new TextInput()); rm.nextSection(); rm = addSection2(rm); try { @@ -1559,20 +1571,19 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe //construct the options (the references) ArrayList dBTableRows = new ArrayList(); - ArrayList md = new ArrayList(); + ArrayList md = new ArrayList(); Random generator = new Random(); int year = generator.nextInt(15) + 2000; //construct the references - md.add(new Metadata("Meeting Date", ""+year)); - md.add(new Metadata("Report Summary", "Aenean vulputate ac dui eu interdum. Nullam tincidunt hendrerit sollicitudin.")); - md.add(new Metadata("Committee", "Lorem ipsum dolor sit amet, consectetur adipiscing elit")); - md.add(new Metadata("URL", "http://archive.nafo.int/open/fc/2012/fcdoc12-01.pdf")); - md.add(new Metadata("Citation", "(Rossi et Al) adipiscing elit oekfha lfkahjf lakjfha lkfahjf alkjdfh ")); - md.add(new Metadata("Type", "The type")); + md.add(new Column("Meeting Date", ""+year)); + md.add(new Column("Report Summary", "Aenean vulputate ac dui eu interdum. Nullam tincidunt hendrerit sollicitudin.")); + md.add(new Column("Committee", "Lorem ipsum dolor sit amet, consectetur adipiscing elit")); + md.add(new Column("URL", "http://archive.nafo.int/open/fc/2012/fcdoc12-01.pdf")); + md.add(new Column("Citation", "(Rossi et Al) adipiscing elit oekfha lfkahjf lakjfha lkfahjf alkjdfh ")); + md.add(new Column("Type", "The type")); dBTableRows.add(new DBTableRow("primaryKey", md)); - - rm.addReference(new ReferenceReport(ReferenceReportType.InformationSource, dBTableRows)); + rm.add(new ReferenceReport(ReferenceReportType.InformationSource, dBTableRows)); try { return rm.getReportInstance(); } catch (Exception e) { @@ -1582,31 +1593,29 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe } private ReportsModeler addSection2(ReportsModeler rm) { - rm.addHeading(1, "Specific Measure"); - ReportSequence seq = new ReportSequence(); - seq.addHeading(2, "year"); - seq.addTextInput(); - seq.addHeading(2, "Validity Period - Start"); - seq.addTextInput(); - seq.addHeading(2, "Validity Period - End"); - seq.addTextInput(); - + rm.add(new Heading(1, "Specific Measure")); + ReportSequence seq = new ReportSequence(UUID.randomUUID().toString()); + seq.add(new Heading(2, "Year")); + seq.add(new TextInput()); + seq.add(new Heading(2, "Validity Period - Start")); + seq.add(new TextInput()); + seq.add(new Heading(2, "Validity Period - End")); + seq.add(new TextInput()); //construct the options (the references) ArrayList dBTableRows = new ArrayList(); - ArrayList md = new ArrayList(); + ArrayList md = new ArrayList(); //construct the references - md.add(new Metadata("Meeting Date", "2009")); - md.add(new Metadata("Report Summary", "Aenean vulputate ac dui eu interdum. Nullam tincidunt hendrerit sollicitudin.")); - md.add(new Metadata("Committee", "Lorem ipsum dolor sit amet, consectetur adipiscing elit")); - md.add(new Metadata("URL", "http://archive.nafo.int/open/fc/2012/fcdoc12-01.pdf")); - md.add(new Metadata("Citation", "(Rossi et Al) adipiscing elit oekfha lfkahjf lakjfha lkfahjf alkjdfh ")); - md.add(new Metadata("Type", "The type")); + md.add(new Column("Meeting Date", "2009")); + md.add(new Column("Report Summary", "Aenean vulputate ac dui eu interdum. Nullam tincidunt hendrerit sollicitudin.")); + md.add(new Column("Committee", "Lorem ipsum dolor sit amet, consectetur adipiscing elit")); + md.add(new Column("URL", "http://archive.nafo.int/open/fc/2012/fcdoc12-01.pdf")); + md.add(new Column("Citation", "(Rossi et Al) adipiscing elit oekfha lfkahjf lakjfha lkfahjf alkjdfh ")); + md.add(new Column("Type", "The type")); dBTableRows.add(new DBTableRow("primaryKey", md)); - seq.addReference(new ReferenceReport(ReferenceReportType.InformationSource, dBTableRows)); - rm.addSequence("a key", seq); - + seq.add(new ReferenceReport(ReferenceReportType.InformationSource, dBTableRows)); + rm.add(seq); return rm; } 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 99663ec..827c2c1 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 @@ -4,7 +4,7 @@ - +