From bb437b4d8dfc86fb5ee8096d0a1c3b1df78dcb0b Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 16 Sep 2013 09:43:07 +0000 Subject: [PATCH] Tabular Data Portlet updated to contain Import SDMX git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-portlet@81526 82a268e6-3cf1-43bd-a215-b396298e98cf --- .gwt/.gwt-log | 1956 +++++++++++++++++ .../com.google.appengine.eclipse.core.prefs | 3 +- .settings/org.eclipse.m2e.wtp.prefs | 4 + .settings/org.eclipse.wst.common.component | 12 +- pom.xml | 64 +- .../user/td/client/TabularDataController.java | 324 ++- .../user/td/client/TabularDataPortlet.java | 66 +- .../user/td/client/event/ImportTableType.java | 6 +- .../event/OpenTabularResourceEvent.java | 42 + .../client/event/OpenTabularResourceType.java | 12 + .../client/resource/TabularDataResources.java | 122 +- .../user/td/client/ribbon/ChartsToolBar.java | 176 ++ .../user/td/client/ribbon/FileToolBar.java | 228 ++ .../td/client/ribbon/FormulasToolBar.java | 223 ++ .../user/td/client/ribbon/ReviewToolBar.java | 159 ++ .../td/client/ribbon/TabularDataRibbon.java | 65 + .../td/server/TabularDataServiceImpl.java | 3 +- .../user/td/TabularDataPortlet.gwt.xml | 7 +- .../user/td/client/resource/RStudio.png | Bin 0 -> 1726 bytes .../user/td/client/resource/RStudio_32.png | Bin 0 -> 2611 bytes .../td/client/resource/arrow-undo-all.png | Bin 0 -> 1235 bytes .../td/client/resource/arrow-undo-all_32.png | Bin 0 -> 1504 bytes .../user/td/client/resource/arrow-undo.png | Bin 0 -> 927 bytes .../user/td/client/resource/arrow-undo_32.png | Bin 0 -> 1100 bytes .../user/td/client/resource/chart-bar.png | Bin 0 -> 470 bytes .../user/td/client/resource/chart-bar_32.png | Bin 0 -> 937 bytes .../user/td/client/resource/chart-bulls.png | Bin 0 -> 612 bytes .../td/client/resource/chart-bulls_32.png | Bin 0 -> 1177 bytes .../user/td/client/resource/chart-curve.png | Bin 0 -> 792 bytes .../td/client/resource/chart-curve_32.png | Bin 0 -> 1925 bytes .../user/td/client/resource/chart-pie.png | Bin 0 -> 1032 bytes .../user/td/client/resource/chart-pie_32.png | Bin 0 -> 2651 bytes .../user/td/client/resource/chart.png | Bin 659 -> 0 bytes .../user/td/client/resource/chart_bar.png | Bin 1049 -> 0 bytes .../td/client/resource/chart_bullseye.png | Bin 736 -> 0 bytes .../user/td/client/resource/chart_pie.png | Bin 821 -> 0 bytes .../user/td/client/resource/close-red.png | Bin 0 -> 1208 bytes .../user/td/client/resource/computation.png | Bin 14455 -> 0 bytes .../portlets/user/td/client/resource/csv.png | Bin 1320 -> 906 bytes .../user/td/client/resource/csv_32.png | Bin 0 -> 1136 bytes .../portlets/user/td/client/resource/disk.png | Bin 0 -> 482 bytes .../user/td/client/resource/disk_32.png | Bin 0 -> 886 bytes .../user/td/client/resource/excel.png | Bin 1305 -> 0 bytes .../td/client/resource/find-previous_32.png | Bin 0 -> 1318 bytes .../user/td/client/resource/find_32.png | Bin 0 -> 1083 bytes .../user/td/client/resource/fint-next_32.png | Bin 0 -> 1329 bytes .../portlets/user/td/client/resource/gis.png | Bin 0 -> 1619 bytes .../user/td/client/resource/gis_32.png | Bin 0 -> 2384 bytes .../user/td/client/resource/history.png | Bin 0 -> 1730 bytes .../user/td/client/resource/history_32.png | Bin 0 -> 2536 bytes .../portlets/user/td/client/resource/json.png | Bin 0 -> 864 bytes .../user/td/client/resource/json_32.png | Bin 0 -> 1117 bytes .../td/client/resource/page-white-add_32.png | Bin 0 -> 921 bytes .../user/td/client/resource/properties.png | Bin 0 -> 1522 bytes .../user/td/client/resource/properties_32.png | Bin 0 -> 2030 bytes .../user/td/client/resource/rstudio.png | Bin 1503 -> 0 bytes .../user/td/client/resource/rules.png | Bin 470 -> 1390 bytes .../user/td/client/resource/rules_32.png | Bin 0 -> 1766 bytes .../portlets/user/td/client/resource/sdmx.png | Bin 818 -> 1364 bytes .../user/td/client/resource/sdmx_32.png | Bin 0 -> 1938 bytes .../portlets/user/td/client/resource/sm.png | Bin 920 -> 0 bytes .../user/td/client/resource/statistical.png | Bin 0 -> 4004 bytes .../td/client/resource/statistical_32.png | Bin 0 -> 4649 bytes .../user/td/client/resource/sum_32.png | Bin 0 -> 837 bytes .../td/client/resource/table-aggregate.png | Bin 0 -> 1377 bytes .../td/client/resource/table-aggregate_32.png | Bin 0 -> 1644 bytes .../td/client/resource/table-denormalize.png | Bin 0 -> 888 bytes .../client/resource/table-denormalize_32.png | Bin 0 -> 1549 bytes .../user/td/client/resource/table-filter.png | Bin 0 -> 894 bytes .../td/client/resource/table-filter_32.png | Bin 0 -> 1674 bytes .../user/td/client/resource/table-group.png | Bin 0 -> 891 bytes .../td/client/resource/table-group_32.png | Bin 0 -> 1647 bytes .../user/td/client/resource/table-union.png | Bin 0 -> 1333 bytes .../td/client/resource/table-union_32.png | Bin 0 -> 1415 bytes .../td/client/resource/table-validate.png | Bin 0 -> 1411 bytes .../td/client/resource/table-validate_32.png | Bin 0 -> 1707 bytes .../user/td/client/resource/table_32.png | Bin 0 -> 788 bytes .../user/td/client/resource/validation.png | Bin 1461 -> 0 bytes src/main/webapp/TabularDataPortlet.css | 4 + src/main/webapp/TabularDataPortlet.html | 2 +- src/main/webapp/WEB-INF/web.xml | 27 +- tabulardataportlet.launch | 31 - 82 files changed, 3290 insertions(+), 246 deletions(-) create mode 100644 .settings/org.eclipse.m2e.wtp.prefs create mode 100644 src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceEvent.java create mode 100644 src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceType.java create mode 100644 src/main/java/org/gcube/portlets/user/td/client/ribbon/ChartsToolBar.java create mode 100644 src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java create mode 100644 src/main/java/org/gcube/portlets/user/td/client/ribbon/FormulasToolBar.java create mode 100644 src/main/java/org/gcube/portlets/user/td/client/ribbon/ReviewToolBar.java create mode 100644 src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/RStudio.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/RStudio_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo-all.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo-all_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bar.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bar_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bulls.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bulls_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-curve.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-curve_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-pie.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart-pie_32.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart_bar.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart_bullseye.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/chart_pie.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/close-red.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/computation.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/csv_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/disk.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/disk_32.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/excel.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/find-previous_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/find_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/fint-next_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/gis.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/gis_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/history.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/history_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/json.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/json_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/page-white-add_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/properties.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/properties_32.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/rstudio.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/rules_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/sdmx_32.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/sm.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/statistical.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/statistical_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/sum_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-aggregate.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-aggregate_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-denormalize.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-denormalize_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-filter.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-filter_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-group.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-group_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-union.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-union_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-validate.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-validate_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table_32.png delete mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/validation.png delete mode 100644 tabulardataportlet.launch diff --git a/.gwt/.gwt-log b/.gwt/.gwt-log index b798976..3f58216 100644 --- a/.gwt/.gwt-log +++ b/.gwt/.gwt-log @@ -3250,3 +3250,1959 @@ Translatable source found in... Found 2254 cached units. Used 2254 / 2254 units from cache. Removing invalidated units Finding entry point classes +Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/User.gwt.xml +Loading inherited module 'com.google.gwt.animation.Animation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/animation/Animation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/Core.gwt.xml + Loading inherited module 'com.google.gwt.dev.jjs.intrinsic.Intrinsic' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/dev/jjs/intrinsic/Intrinsic.gwt.xml + Loading inherited module 'com.google.gwt.lang.LongLib' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/lang/LongLib.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/Emulation.gwt.xml + Loading inherited module 'com.google.gwt.logging.LogImpl' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/logging/LogImpl.gwt.xml + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/xhr/XMLHttpRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CompilerParameters' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CompilerParameters.gwt.xml + Loading inherited module 'com.google.gwt.core.EmulateJsStack' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/EmulateJsStack.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.AsyncFragmentLoader' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/AsyncFragmentLoader.gwt.xml + Loading inherited module 'com.google.gwt.core.XSLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/XSLinker.gwt.xml + Loading inherited module 'com.google.gwt.core.CrossSiteIframeLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml + Loading inherited module 'com.google.gwt.user.UserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/UserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.EmulationWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/EmulationWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module 'com.google.gwt.emul.Emulation' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CoreWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CoreWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.canvas.Canvas' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/Canvas.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.canvas.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.editor.Editor' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/editor/Editor.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/validation/Validation.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/regexp/RegExp.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'javax.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/javax/validation/Validation.gwt.xml +Loading inherited module 'com.google.gwt.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/EventBase.gwt.xml + Loading inherited module 'com.google.web.bindery.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/web/bindery/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DomEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DomEvent.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DragEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DragEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.TouchEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/TouchEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.logical.LogicalEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/logical/LogicalEvent.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.geolocation.Geolocation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/geolocation/Geolocation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.i18n.I18N' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/i18n/I18N.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safehtml/SafeHtml.gwt.xml + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.layout.Layout' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/layout/Layout.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.animation.Animation' + Module 'com.google.gwt.animation.Animation' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.media.Media' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/Media.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.media.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/dom/DOM.gwt.xml +Loading inherited module 'com.google.gwt.resources.Resources' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/resources/Resources.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.http.HTTP' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/http/HTTP.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.jsonp.Jsonp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/jsonp/Jsonp.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.safecss.SafeCss' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safecss/SafeCss.gwt.xml +Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.storage.Storage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/storage/Storage.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.text.Text' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/text/Text.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.touch.Touch' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/touch/Touch.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.uibinder.UiBinder' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/uibinder/UiBinder.gwt.xml + Loading inherited module 'com.google.gwt.resources.Resources' + Module 'com.google.gwt.resources.Resources' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.AsyncProxy' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/AsyncProxy.gwt.xml +Loading inherited module 'com.google.gwt.user.CaptionPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/CaptionPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.cellview.CellView' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/cellview/CellView.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.Cell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/Cell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.TextButtonCell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/TextButtonCell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.editor.Editor' + Module 'com.google.gwt.editor.Editor' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.view.View' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/view/View.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ClippedImage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ClippedImage.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.datepicker.DatePicker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/datepicker/DatePicker.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentMode' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentMode.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentRoot' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentRoot.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.FileUpload' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/FileUpload.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Focus' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Focus.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Form' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Form.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.History' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/History.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.HTTPRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/HTTPRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Hyperlink' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Hyperlink.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ImageBundle' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ImageBundle.gwt.xml + Loading inherited module 'com.google.gwt.user.ClippedImage' + Module 'com.google.gwt.user.ClippedImage' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Popup' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Popup.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RemoteService' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RemoteService.gwt.xml + Loading inherited module 'com.google.gwt.http.HTTP' + Module 'com.google.gwt.http.HTTP' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ResizeLayoutPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ResizeLayoutPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RichText' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RichText.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Scroll' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Scroll.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.SplitPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/SplitPanel.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.TextBox' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/TextBox.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Tree' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Tree.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Window' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Window.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.widget.Widget' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/widget/Widget.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Public resources found in... +Translatable source found in... +Found 0 cached units. Used 0 / 2254 units from cache. +Removing invalidated units +Finding entry point classes +Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/User.gwt.xml +Loading inherited module 'com.google.gwt.animation.Animation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/animation/Animation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/Core.gwt.xml + Loading inherited module 'com.google.gwt.dev.jjs.intrinsic.Intrinsic' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/dev/jjs/intrinsic/Intrinsic.gwt.xml + Loading inherited module 'com.google.gwt.lang.LongLib' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/lang/LongLib.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/Emulation.gwt.xml + Loading inherited module 'com.google.gwt.logging.LogImpl' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/logging/LogImpl.gwt.xml + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/xhr/XMLHttpRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CompilerParameters' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CompilerParameters.gwt.xml + Loading inherited module 'com.google.gwt.core.EmulateJsStack' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/EmulateJsStack.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.AsyncFragmentLoader' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/AsyncFragmentLoader.gwt.xml + Loading inherited module 'com.google.gwt.core.XSLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/XSLinker.gwt.xml + Loading inherited module 'com.google.gwt.core.CrossSiteIframeLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml + Loading inherited module 'com.google.gwt.user.UserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/UserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.EmulationWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/EmulationWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module 'com.google.gwt.emul.Emulation' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CoreWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CoreWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.canvas.Canvas' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/Canvas.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.canvas.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.editor.Editor' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/editor/Editor.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/validation/Validation.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/regexp/RegExp.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'javax.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/javax/validation/Validation.gwt.xml +Loading inherited module 'com.google.gwt.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/EventBase.gwt.xml + Loading inherited module 'com.google.web.bindery.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/web/bindery/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DomEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DomEvent.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DragEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DragEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.TouchEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/TouchEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.logical.LogicalEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/logical/LogicalEvent.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.geolocation.Geolocation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/geolocation/Geolocation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.i18n.I18N' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/i18n/I18N.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safehtml/SafeHtml.gwt.xml + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.layout.Layout' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/layout/Layout.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.animation.Animation' + Module 'com.google.gwt.animation.Animation' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.media.Media' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/Media.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.media.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/dom/DOM.gwt.xml +Loading inherited module 'com.google.gwt.resources.Resources' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/resources/Resources.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.http.HTTP' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/http/HTTP.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.jsonp.Jsonp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/jsonp/Jsonp.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.safecss.SafeCss' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safecss/SafeCss.gwt.xml +Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.storage.Storage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/storage/Storage.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.text.Text' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/text/Text.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.touch.Touch' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/touch/Touch.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.uibinder.UiBinder' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/uibinder/UiBinder.gwt.xml + Loading inherited module 'com.google.gwt.resources.Resources' + Module 'com.google.gwt.resources.Resources' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.AsyncProxy' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/AsyncProxy.gwt.xml +Loading inherited module 'com.google.gwt.user.CaptionPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/CaptionPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.cellview.CellView' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/cellview/CellView.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.Cell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/Cell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.TextButtonCell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/TextButtonCell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.editor.Editor' + Module 'com.google.gwt.editor.Editor' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.view.View' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/view/View.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ClippedImage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ClippedImage.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.datepicker.DatePicker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/datepicker/DatePicker.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentMode' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentMode.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentRoot' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentRoot.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.FileUpload' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/FileUpload.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Focus' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Focus.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Form' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Form.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.History' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/History.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.HTTPRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/HTTPRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Hyperlink' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Hyperlink.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ImageBundle' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ImageBundle.gwt.xml + Loading inherited module 'com.google.gwt.user.ClippedImage' + Module 'com.google.gwt.user.ClippedImage' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Popup' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Popup.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RemoteService' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RemoteService.gwt.xml + Loading inherited module 'com.google.gwt.http.HTTP' + Module 'com.google.gwt.http.HTTP' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ResizeLayoutPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ResizeLayoutPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RichText' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RichText.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Scroll' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Scroll.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.SplitPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/SplitPanel.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.TextBox' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/TextBox.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Tree' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Tree.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Window' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Window.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.widget.Widget' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/widget/Widget.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Public resources found in... +Translatable source found in... +Found 2254 cached units. Used 2254 / 2254 units from cache. +Removing invalidated units +Finding entry point classes +Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/User.gwt.xml +Loading inherited module 'com.google.gwt.animation.Animation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/animation/Animation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/Core.gwt.xml + Loading inherited module 'com.google.gwt.dev.jjs.intrinsic.Intrinsic' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/dev/jjs/intrinsic/Intrinsic.gwt.xml + Loading inherited module 'com.google.gwt.lang.LongLib' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/lang/LongLib.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/Emulation.gwt.xml + Loading inherited module 'com.google.gwt.logging.LogImpl' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/logging/LogImpl.gwt.xml + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/xhr/XMLHttpRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CompilerParameters' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CompilerParameters.gwt.xml + Loading inherited module 'com.google.gwt.core.EmulateJsStack' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/EmulateJsStack.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.AsyncFragmentLoader' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/AsyncFragmentLoader.gwt.xml + Loading inherited module 'com.google.gwt.core.XSLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/XSLinker.gwt.xml + Loading inherited module 'com.google.gwt.core.CrossSiteIframeLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml + Loading inherited module 'com.google.gwt.user.UserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/UserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.EmulationWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/EmulationWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module 'com.google.gwt.emul.Emulation' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CoreWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CoreWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.canvas.Canvas' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/Canvas.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.canvas.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.editor.Editor' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/editor/Editor.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/validation/Validation.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/regexp/RegExp.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'javax.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/javax/validation/Validation.gwt.xml +Loading inherited module 'com.google.gwt.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/EventBase.gwt.xml + Loading inherited module 'com.google.web.bindery.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/web/bindery/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DomEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DomEvent.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DragEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DragEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.TouchEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/TouchEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.logical.LogicalEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/logical/LogicalEvent.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.geolocation.Geolocation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/geolocation/Geolocation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.i18n.I18N' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/i18n/I18N.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safehtml/SafeHtml.gwt.xml + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.layout.Layout' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/layout/Layout.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.animation.Animation' + Module 'com.google.gwt.animation.Animation' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.media.Media' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/Media.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.media.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/dom/DOM.gwt.xml +Loading inherited module 'com.google.gwt.resources.Resources' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/resources/Resources.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.http.HTTP' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/http/HTTP.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.jsonp.Jsonp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/jsonp/Jsonp.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.safecss.SafeCss' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safecss/SafeCss.gwt.xml +Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.storage.Storage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/storage/Storage.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.text.Text' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/text/Text.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.touch.Touch' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/touch/Touch.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.uibinder.UiBinder' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/uibinder/UiBinder.gwt.xml + Loading inherited module 'com.google.gwt.resources.Resources' + Module 'com.google.gwt.resources.Resources' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.AsyncProxy' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/AsyncProxy.gwt.xml +Loading inherited module 'com.google.gwt.user.CaptionPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/CaptionPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.cellview.CellView' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/cellview/CellView.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.Cell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/Cell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.TextButtonCell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/TextButtonCell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.editor.Editor' + Module 'com.google.gwt.editor.Editor' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.view.View' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/view/View.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ClippedImage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ClippedImage.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.datepicker.DatePicker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/datepicker/DatePicker.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentMode' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentMode.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentRoot' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentRoot.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.FileUpload' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/FileUpload.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Focus' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Focus.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Form' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Form.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.History' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/History.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.HTTPRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/HTTPRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Hyperlink' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Hyperlink.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ImageBundle' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ImageBundle.gwt.xml + Loading inherited module 'com.google.gwt.user.ClippedImage' + Module 'com.google.gwt.user.ClippedImage' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Popup' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Popup.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RemoteService' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RemoteService.gwt.xml + Loading inherited module 'com.google.gwt.http.HTTP' + Module 'com.google.gwt.http.HTTP' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ResizeLayoutPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ResizeLayoutPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RichText' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RichText.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Scroll' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Scroll.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.SplitPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/SplitPanel.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.TextBox' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/TextBox.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Tree' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Tree.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Window' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Window.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.widget.Widget' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/widget/Widget.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Public resources found in... +Translatable source found in... +Found 2254 cached units. Used 2254 / 2254 units from cache. +Removing invalidated units +Finding entry point classes +Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/User.gwt.xml +Loading inherited module 'com.google.gwt.animation.Animation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/animation/Animation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/Core.gwt.xml + Loading inherited module 'com.google.gwt.dev.jjs.intrinsic.Intrinsic' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/dev/jjs/intrinsic/Intrinsic.gwt.xml + Loading inherited module 'com.google.gwt.lang.LongLib' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/lang/LongLib.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/Emulation.gwt.xml + Loading inherited module 'com.google.gwt.logging.LogImpl' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/logging/LogImpl.gwt.xml + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/xhr/XMLHttpRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CompilerParameters' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CompilerParameters.gwt.xml + Loading inherited module 'com.google.gwt.core.EmulateJsStack' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/EmulateJsStack.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.AsyncFragmentLoader' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/AsyncFragmentLoader.gwt.xml + Loading inherited module 'com.google.gwt.core.XSLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/XSLinker.gwt.xml + Loading inherited module 'com.google.gwt.core.CrossSiteIframeLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml + Loading inherited module 'com.google.gwt.user.UserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/UserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.EmulationWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/EmulationWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module 'com.google.gwt.emul.Emulation' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CoreWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CoreWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.canvas.Canvas' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/Canvas.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.canvas.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.editor.Editor' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/editor/Editor.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/validation/Validation.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/regexp/RegExp.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'javax.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/javax/validation/Validation.gwt.xml +Loading inherited module 'com.google.gwt.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/EventBase.gwt.xml + Loading inherited module 'com.google.web.bindery.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/web/bindery/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DomEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DomEvent.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DragEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DragEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.TouchEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/TouchEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.logical.LogicalEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/logical/LogicalEvent.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.geolocation.Geolocation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/geolocation/Geolocation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.i18n.I18N' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/i18n/I18N.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safehtml/SafeHtml.gwt.xml + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.layout.Layout' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/layout/Layout.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.animation.Animation' + Module 'com.google.gwt.animation.Animation' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.media.Media' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/Media.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.media.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/dom/DOM.gwt.xml +Loading inherited module 'com.google.gwt.resources.Resources' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/resources/Resources.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.http.HTTP' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/http/HTTP.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.jsonp.Jsonp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/jsonp/Jsonp.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.safecss.SafeCss' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safecss/SafeCss.gwt.xml +Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.storage.Storage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/storage/Storage.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.text.Text' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/text/Text.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.touch.Touch' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/touch/Touch.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.uibinder.UiBinder' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/uibinder/UiBinder.gwt.xml + Loading inherited module 'com.google.gwt.resources.Resources' + Module 'com.google.gwt.resources.Resources' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.AsyncProxy' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/AsyncProxy.gwt.xml +Loading inherited module 'com.google.gwt.user.CaptionPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/CaptionPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.cellview.CellView' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/cellview/CellView.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.Cell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/Cell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.TextButtonCell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/TextButtonCell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.editor.Editor' + Module 'com.google.gwt.editor.Editor' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.view.View' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/view/View.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ClippedImage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ClippedImage.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.datepicker.DatePicker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/datepicker/DatePicker.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentMode' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentMode.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentRoot' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentRoot.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.FileUpload' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/FileUpload.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Focus' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Focus.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Form' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Form.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.History' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/History.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.HTTPRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/HTTPRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Hyperlink' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Hyperlink.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ImageBundle' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ImageBundle.gwt.xml + Loading inherited module 'com.google.gwt.user.ClippedImage' + Module 'com.google.gwt.user.ClippedImage' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Popup' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Popup.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RemoteService' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RemoteService.gwt.xml + Loading inherited module 'com.google.gwt.http.HTTP' + Module 'com.google.gwt.http.HTTP' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ResizeLayoutPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ResizeLayoutPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RichText' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RichText.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Scroll' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Scroll.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.SplitPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/SplitPanel.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.TextBox' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/TextBox.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Tree' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Tree.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Window' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Window.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.widget.Widget' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/widget/Widget.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Public resources found in... +Translatable source found in... +Found 0 cached units. Used 0 / 2254 units from cache. +Removing invalidated units +Finding entry point classes +Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/User.gwt.xml +Loading inherited module 'com.google.gwt.animation.Animation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/animation/Animation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/Core.gwt.xml + Loading inherited module 'com.google.gwt.dev.jjs.intrinsic.Intrinsic' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/dev/jjs/intrinsic/Intrinsic.gwt.xml + Loading inherited module 'com.google.gwt.lang.LongLib' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/lang/LongLib.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/Emulation.gwt.xml + Loading inherited module 'com.google.gwt.logging.LogImpl' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/logging/LogImpl.gwt.xml + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/xhr/XMLHttpRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CompilerParameters' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CompilerParameters.gwt.xml + Loading inherited module 'com.google.gwt.core.EmulateJsStack' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/EmulateJsStack.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.AsyncFragmentLoader' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/AsyncFragmentLoader.gwt.xml + Loading inherited module 'com.google.gwt.core.XSLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/XSLinker.gwt.xml + Loading inherited module 'com.google.gwt.core.CrossSiteIframeLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml + Loading inherited module 'com.google.gwt.user.UserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/UserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.EmulationWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/EmulationWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module 'com.google.gwt.emul.Emulation' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CoreWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CoreWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.canvas.Canvas' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/Canvas.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.canvas.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.editor.Editor' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/editor/Editor.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/validation/Validation.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/regexp/RegExp.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'javax.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/javax/validation/Validation.gwt.xml +Loading inherited module 'com.google.gwt.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/EventBase.gwt.xml + Loading inherited module 'com.google.web.bindery.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/web/bindery/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DomEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DomEvent.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DragEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DragEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.TouchEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/TouchEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.logical.LogicalEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/logical/LogicalEvent.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.geolocation.Geolocation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/geolocation/Geolocation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.i18n.I18N' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/i18n/I18N.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safehtml/SafeHtml.gwt.xml + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.layout.Layout' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/layout/Layout.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.animation.Animation' + Module 'com.google.gwt.animation.Animation' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.media.Media' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/Media.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.media.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/dom/DOM.gwt.xml +Loading inherited module 'com.google.gwt.resources.Resources' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/resources/Resources.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.http.HTTP' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/http/HTTP.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.jsonp.Jsonp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/jsonp/Jsonp.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.safecss.SafeCss' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safecss/SafeCss.gwt.xml +Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.storage.Storage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/storage/Storage.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.text.Text' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/text/Text.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.touch.Touch' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/touch/Touch.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.uibinder.UiBinder' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/uibinder/UiBinder.gwt.xml + Loading inherited module 'com.google.gwt.resources.Resources' + Module 'com.google.gwt.resources.Resources' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.AsyncProxy' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/AsyncProxy.gwt.xml +Loading inherited module 'com.google.gwt.user.CaptionPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/CaptionPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.cellview.CellView' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/cellview/CellView.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.Cell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/Cell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.TextButtonCell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/TextButtonCell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.editor.Editor' + Module 'com.google.gwt.editor.Editor' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.view.View' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/view/View.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ClippedImage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ClippedImage.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.datepicker.DatePicker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/datepicker/DatePicker.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentMode' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentMode.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentRoot' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentRoot.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.FileUpload' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/FileUpload.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Focus' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Focus.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Form' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Form.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.History' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/History.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.HTTPRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/HTTPRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Hyperlink' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Hyperlink.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ImageBundle' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ImageBundle.gwt.xml + Loading inherited module 'com.google.gwt.user.ClippedImage' + Module 'com.google.gwt.user.ClippedImage' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Popup' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Popup.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RemoteService' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RemoteService.gwt.xml + Loading inherited module 'com.google.gwt.http.HTTP' + Module 'com.google.gwt.http.HTTP' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ResizeLayoutPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ResizeLayoutPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RichText' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RichText.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Scroll' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Scroll.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.SplitPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/SplitPanel.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.TextBox' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/TextBox.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Tree' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Tree.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Window' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Window.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.widget.Widget' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/widget/Widget.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Public resources found in... +Translatable source found in... +Found 2254 cached units. Used 2254 / 2254 units from cache. +Removing invalidated units +Finding entry point classes +Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/User.gwt.xml +Loading inherited module 'com.google.gwt.animation.Animation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/animation/Animation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/Core.gwt.xml + Loading inherited module 'com.google.gwt.dev.jjs.intrinsic.Intrinsic' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/dev/jjs/intrinsic/Intrinsic.gwt.xml + Loading inherited module 'com.google.gwt.lang.LongLib' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-dev.jar!/com/google/gwt/lang/LongLib.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/Emulation.gwt.xml + Loading inherited module 'com.google.gwt.logging.LogImpl' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/logging/LogImpl.gwt.xml + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/xhr/XMLHttpRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CompilerParameters' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CompilerParameters.gwt.xml + Loading inherited module 'com.google.gwt.core.EmulateJsStack' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/EmulateJsStack.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.AsyncFragmentLoader' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/AsyncFragmentLoader.gwt.xml + Loading inherited module 'com.google.gwt.core.XSLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/XSLinker.gwt.xml + Loading inherited module 'com.google.gwt.core.CrossSiteIframeLinker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CrossSiteIframeLinker.gwt.xml + Loading inherited module 'com.google.gwt.user.UserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/UserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.EmulationWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/emul/EmulationWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.emul.Emulation' + Module 'com.google.gwt.emul.Emulation' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.CoreWithUserAgent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/CoreWithUserAgent.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.canvas.Canvas' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/Canvas.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.canvas.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/canvas/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.editor.Editor' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/editor/Editor.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/validation/Validation.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/regexp/RegExp.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'javax.validation.Validation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/javax/validation/Validation.gwt.xml +Loading inherited module 'com.google.gwt.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/EventBase.gwt.xml + Loading inherited module 'com.google.web.bindery.event.Event' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/web/bindery/event/Event.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DomEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DomEvent.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.DragEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/DragEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.dom.TouchEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/dom/TouchEvent.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.event.logical.LogicalEvent' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/event/logical/LogicalEvent.gwt.xml + Loading inherited module 'com.google.gwt.event.EventBase' + Module 'com.google.gwt.event.EventBase' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.geolocation.Geolocation' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/geolocation/Geolocation.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.i18n.I18N' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/i18n/I18N.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safehtml/SafeHtml.gwt.xml + Loading inherited module 'com.google.gwt.regexp.RegExp' + Module 'com.google.gwt.regexp.RegExp' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.layout.Layout' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/layout/Layout.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.animation.Animation' + Module 'com.google.gwt.animation.Animation' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.media.Media' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/Media.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.media.dom.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/media/dom/DOM.gwt.xml +Loading inherited module 'com.google.gwt.resources.Resources' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/resources/Resources.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.http.HTTP' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/http/HTTP.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.jsonp.Jsonp' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/jsonp/Jsonp.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.safecss.SafeCss' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/safecss/SafeCss.gwt.xml +Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.storage.Storage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/storage/Storage.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.text.Text' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/text/Text.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.touch.Touch' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/touch/Touch.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.uibinder.UiBinder' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/uibinder/UiBinder.gwt.xml + Loading inherited module 'com.google.gwt.resources.Resources' + Module 'com.google.gwt.resources.Resources' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.AsyncProxy' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/AsyncProxy.gwt.xml +Loading inherited module 'com.google.gwt.user.CaptionPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/CaptionPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.cellview.CellView' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/cellview/CellView.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.Cell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/Cell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.cell.TextButtonCell' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/cell/TextButtonCell.gwt.xml + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.safehtml.SafeHtml' + Module 'com.google.gwt.safehtml.SafeHtml' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.text.Text' + Module 'com.google.gwt.text.Text' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.editor.Editor' + Module 'com.google.gwt.editor.Editor' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.view.View' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/view/View.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ClippedImage' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ClippedImage.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.datepicker.DatePicker' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/datepicker/DatePicker.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentMode' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentMode.gwt.xml +Loading inherited module 'com.google.gwt.user.DocumentRoot' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DocumentRoot.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.DOM' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/DOM.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.dom.DOM' + Module 'com.google.gwt.dom.DOM' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.FileUpload' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/FileUpload.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Focus' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Focus.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Form' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Form.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.History' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/History.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.HTTPRequest' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/HTTPRequest.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.xhr.XMLHttpRequest' + Module 'com.google.gwt.xhr.XMLHttpRequest' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Hyperlink' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Hyperlink.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ImageBundle' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ImageBundle.gwt.xml + Loading inherited module 'com.google.gwt.user.ClippedImage' + Module 'com.google.gwt.user.ClippedImage' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Popup' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Popup.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RemoteService' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RemoteService.gwt.xml + Loading inherited module 'com.google.gwt.http.HTTP' + Module 'com.google.gwt.http.HTTP' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.ResizeLayoutPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/ResizeLayoutPanel.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.RichText' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/RichText.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Scroll' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Scroll.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.SplitPanel' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/SplitPanel.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.TextBox' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/TextBox.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Tree' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Tree.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.user.Window' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/user/Window.gwt.xml + Loading inherited module 'com.google.gwt.core.Core' + Module 'com.google.gwt.core.Core' has already been loaded and will be skipped + Loading inherited module 'com.google.gwt.user.UserAgent' + Module 'com.google.gwt.user.UserAgent' has already been loaded and will be skipped +Loading inherited module 'com.google.gwt.widget.Widget' + Module location: jar:file:/home/giancarlo/gwt-2.4.0/gwt-user.jar!/com/google/gwt/widget/Widget.gwt.xml + Loading inherited module 'com.google.gwt.user.User' + Module 'com.google.gwt.user.User' has already been loaded and will be skipped +Public resources found in... +Translatable source found in... +Found 2254 cached units. Used 2254 / 2254 units from cache. +Removing invalidated units +Finding entry point classes diff --git a/.settings/com.google.appengine.eclipse.core.prefs b/.settings/com.google.appengine.eclipse.core.prefs index a60576c..5260f5f 100644 --- a/.settings/com.google.appengine.eclipse.core.prefs +++ b/.settings/com.google.appengine.eclipse.core.prefs @@ -1,3 +1,4 @@ -#Thu Jun 16 10:18:26 CEST 2011 eclipse.preferences.version=1 filesCopiedToWebInfLib= +googleCloudSqlEnabled=false +localDevMySqlEnabled=true diff --git a/.settings/org.eclipse.m2e.wtp.prefs b/.settings/org.eclipse.m2e.wtp.prefs new file mode 100644 index 0000000..e17fe07 --- /dev/null +++ b/.settings/org.eclipse.m2e.wtp.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.m2e.wtp.ear.applicationXmlInBuilDir=false +org.eclipse.m2e.wtp.enabledProjectSpecificPrefs=true +org.eclipse.m2e.wtp.war.archiverFilesInBuilDir=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 5df24e8..6276a39 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,11 +1,19 @@ - - + + uses + + + uses + + + uses + + uses diff --git a/pom.xml b/pom.xml index 79a9972..5cd936a 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,6 @@ 4.0.0 org.gcube.portlets.user tabular-data-portlet - war 1.0.0-SNAPSHOT Tabular data portlet @@ -28,6 +27,7 @@ ${env.GLOBUS_LOCATION} UTF-8 + UTF-8 @@ -47,12 +47,12 @@ com.sencha.gxt gxt + 3.0.1 org.gcube.applicationsupportlayer aslsocial - [0.1.0-SNAPSHOT, 1.0.0-SNAPSHOT) provided @@ -87,6 +87,7 @@ org.gcube.applicationsupportlayer aslcore + [3.0.0-SNAPSHOT,4.0.0-SNAPSHOT) org.slf4j @@ -95,21 +96,17 @@ - - - - - + + org.gcube.portlets.user + workspace-light-tree + 2.10.0-SNAPSHOT + org.gcube.portlets.user workspace-tree-widget - - - - - + @@ -155,47 +152,41 @@ org.gcube.portlets.user td-csv-importer-widget - [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT] + [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) org.gcube.portlets.user td-csv-importer-widget - [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT] + [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) sources org.gcube.portlets.user - sdmx-import-wizard - [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) - - - - org.slf4j - log4j-over-slf4j - - + SDMXImportWizardTD + 1.0.0-SNAPSHOT + + org.gcube.portlets.user - sdmx-import-wizard - [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) - sources - - - org.slf4j - log4j-over-slf4j - - + TDOpen + 1.0.0-SNAPSHOT - + + + org.gcube.data.analysis.tabulardata + service-client-mock + [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + + + ${webappDirectory}/WEB-INF/classes - @@ -233,13 +224,12 @@ org.gcube.distribution maven-portal-bom - 1.0.0-SNAPSHOT + 1.2.0-SNAPSHOT pom import - - + war diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java index a7ceeb3..e5fe060 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java @@ -3,34 +3,41 @@ */ package org.gcube.portlets.user.td.client; -import java.util.List; - -import org.gcube.portlets.user.sdmximportwizard.client.SDMXImportWizardWindow; -import org.gcube.portlets.user.sdmximportwizard.client.SDMXWizardSelectionEvent; -import org.gcube.portlets.user.sdmximportwizard.client.SDMXWizardSelectionEvent.WizardSelectionHandler; -import org.gcube.portlets.user.sdmximportwizard.shared.Dataset; import org.gcube.portlets.user.td.ciw.client.CSVImporterWidget; import org.gcube.portlets.user.td.client.event.ImportTableEvent; import org.gcube.portlets.user.td.client.event.ImportTableType; +import org.gcube.portlets.user.td.client.event.OpenTabularResourceEvent; +import org.gcube.portlets.user.td.client.event.OpenTabularResourceType; import org.gcube.portlets.user.td.importer.client.TabularDataImporterListener; +import org.gcube.portlets.user.td.open.client.TDOpen; +import org.gcube.portlets.user.sdmximportwizardtd.client.SDMXImportWizardTD; +import org.gcube.portlets.user.sdmximportwizardtd.client.general.WizardListener; + import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.RunAsyncCallback; +import com.google.gwt.event.logical.shared.CloseEvent; +import com.google.gwt.event.logical.shared.CloseHandler; +import com.google.gwt.event.logical.shared.HasCloseHandlers; +import com.google.gwt.event.logical.shared.HasOpenHandlers; +import com.google.gwt.event.logical.shared.OpenEvent; +import com.google.gwt.event.logical.shared.OpenHandler; +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.event.shared.HandlerRegistration; import com.google.web.bindery.event.shared.EventBus; import com.google.web.bindery.event.shared.SimpleEventBus; import com.sencha.gxt.widget.core.client.info.Info; - /** * @author "Federico De Faveri defaveri@isti.cnr.it" - * + * */ -public class TabularDataController { - - protected EventBus eventBus; - - public TabularDataController() - { +public class TabularDataController { +//implements HasCloseHandlers, HasOpenHandlers { + + protected SimpleEventBus eventBus; + + public TabularDataController() { eventBus = new SimpleEventBus(); bindToEvents(); } @@ -42,106 +49,245 @@ public class TabularDataController { return eventBus; } - protected void bindToEvents() - { - eventBus.addHandler(ImportTableEvent.TYPE, new ImportTableEvent.ImportTableHandler() { - - @Override - public void onImportTable(ImportTableEvent event) { - doImportTable(event.getImportType()); - } - }); + protected void bindToEvents() { + eventBus.addHandler(ImportTableEvent.TYPE, + new ImportTableEvent.ImportTableHandler() { + + @Override + public void onImportTable(ImportTableEvent event) { + doImportTable(event.getImportType()); + } + }); + eventBus.addHandler(OpenTabularResourceEvent.TYPE, + new OpenTabularResourceEvent.OpenTabularResourceHandler() { + + @Override + public void onOpenTabularResource(OpenTabularResourceEvent event) { + doOpenTabularResource(event.getOpenType()); + } + }); } - - public void doImportTable(ImportTableType importType) - { - Log.trace("doImportTable importType: "+importType); - Info.display("ImportTableEvent", "importType: "+importType); - switch (importType) { - case SDMX: openSDMXDatasetImportWizard(); break; - case CSV: openCSVImportWizard(); break; + + public void doImportTable(ImportTableType importType) { + Log.trace("doImportTable importType: " + importType); + Info.display("ImportTableEvent", "importType: " + importType); + try { + switch (importType) { + case SDMX: + openSDMXImportWizard(); + break; + case CSV: + openCSVImportWizard(); + break; + case JSON: + openCSVImportWizard(); + break; default: break; + } + } catch (Exception e) { + Log.error("doImportTable Error : " + e.getLocalizedMessage()+ " \n "+e.getCause()); + } + } + + public void doOpenTabularResource(OpenTabularResourceType openType) { + Log.trace("doOpenTabularResource openType: " + openType); + Info.display("OpenTabularResourceEvent", "openType: " + openType); + try { + switch (openType) { + case TABLE: + openTabularResources(); + break; + default: + break; + } + } catch (Exception e) { + Log.error("doOpenTable Error : " + e.getLocalizedMessage()+ " \n "+e.getCause()); } } - protected void openSDMXDatasetImportWizard() - { + protected void openSDMXImportWizard() { + GWT.runAsync(new RunAsyncCallback() { - + @Override public void onSuccess() { - SDMXImportWizardWindow importWizard = SDMXImportWizardWindow.getDatasetWizard(); - - importWizard.addWizardSelectionHandler(new WizardSelectionHandler() { + SDMXImportWizardTD importWizard= new SDMXImportWizardTD("SDMX Import"); - @Override - public void onSelected(SDMXWizardSelectionEvent event) { - doSDMXDatasetImport(event.getSelected()); - } + importWizard.addListener(new WizardListener(){ - @Override - public void onClosed(SDMXWizardSelectionEvent event) { - - } - }); - - importWizard.show(); - } - - @Override - public void onFailure(Throwable reason) { - asyncCodeLoadingFailed(reason); - } - }); - } - - protected void doSDMXDatasetImport(List datasets) - { - - } - - protected void openCSVImportWizard() - { - /*GWT.runAsync(new RunAsyncCallback() { - - @Override - public void onSuccess() {*/ - CSVImporterWidget csvImporterWidget = new CSVImporterWidget(); - csvImporterWidget.show(new TabularDataImporterListener() { - - @Override - public void failed(Throwable throwable, String reason, String details) { - // TODO Auto-generated method stub - - } - @Override public void completed() { - // TODO Auto-generated method stub + //TableId importWizard.getTable(index); + } - + @Override public void aborted() { // TODO Auto-generated method stub } - }); - /*} - + @Override + public void failed(Throwable throwable, String reason, + String details) { + // TODO Auto-generated method stub + + } + + }); + /* + importWizard.addWizardSelectionHandler(new WizardSelectionHandler() { + + @Override + public void onSelected( + SDMXWizardSelectionEvent event) { + doSDMXDatasetImport(event.getSelected()); + } + + @Override + public void onClosed( + SDMXWizardSelectionEvent event) { + + } + });*/ + + importWizard.show(); + } + @Override public void onFailure(Throwable reason) { asyncCodeLoadingFailed(reason); } - });*/ - } - - protected void asyncCodeLoadingFailed(Throwable reason) - { - Log.error("Async code loading failed", reason); - Info.display("Async code loading failed", "Please retry to lunch the operation"); + }); + } + protected void openTabularResources() { + + GWT.runAsync(new RunAsyncCallback() { + + @Override + public void onSuccess() { + TDOpen tdOpen= new TDOpen("Tabular Resources Open"); + + tdOpen.addListener(new org.gcube.portlets.user.td.open.client.general.WizardListener(){ + + @Override + public void completed() { + // TODO Auto-generated method stub + + } + + @Override + public void aborted() { + // TODO Auto-generated method stub + + } + + @Override + public void failed(Throwable throwable, String reason, + String details) { + // TODO Auto-generated method stub + + } + + }); + + tdOpen.show(); + } + + @Override + public void onFailure(Throwable reason) { + asyncCodeLoadingFailed(reason); + } + }); + + } + + + /* + protected void doSDMXDatasetImport(List datasets) { + Log.info("doSDMXDatasetImport: " + datasets.size()); + for (Dataset d : datasets) { + Log.info("Dataset: " + d.getId() + d.getName() + d.getAgencyId()); + } + + } + */ + + protected void openCSVImportWizard() { + /* + * GWT.runAsync(new RunAsyncCallback() { + * + * @Override public void onSuccess() { + */ + CSVImporterWidget csvImporterWidget = new CSVImporterWidget(); + csvImporterWidget.show(new TabularDataImporterListener() { + + @Override + public void failed(Throwable throwable, String reason, + String details) { + // TODO Auto-generated method stub + + } + + @Override + public void completed() { + // TODO Auto-generated method stub + + } + + @Override + public void aborted() { + // TODO Auto-generated method stub + + } + }); + + /* + * } + * + * @Override public void onFailure(Throwable reason) { + * asyncCodeLoadingFailed(reason); } }); + */ + } + + protected void asyncCodeLoadingFailed(Throwable reason) { + Log.error("Async code loading failed", reason); + Info.display("Async code loading failed", + "Please retry to lunch the operation"); + } + + + /** + * {@inheritDoc} + + @Override + public HandlerRegistration addCloseHandler(CloseHandler handler) { + //return eventBus.addHandler(CloseEvent.getType(), handler); + } + + /** + * {@inheritDoc} + + @Override + public HandlerRegistration addOpenHandler(OpenHandler handler) { + //return eventBus.addHandler(OpenEvent.getType(), handler); + } +*/ + + /** + * {@inheritDoc} + + @Override + public void fireEvent(GwtEvent event) { + eventBus.fireEvent(event); + } + + */ + + + } diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java index cb39995..0355940 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java @@ -1,39 +1,29 @@ package org.gcube.portlets.user.td.client; +import org.gcube.portlets.user.td.client.ribbon.TabularDataRibbon; import org.gcube.portlets.user.td.client.rpc.TabularDataService; import org.gcube.portlets.user.td.client.rpc.TabularDataServiceAsync; -import org.gcube.portlets.user.td.client.toolbar.TabularDataTooBar; + import org.gcube.portlets.user.tdw.client.TabularData; import org.gcube.portlets.user.tdw.client.TabularDataGridPanel; import org.gcube.portlets.user.tdw.client.event.FailureEvent; import org.gcube.portlets.user.tdw.client.event.FailureEventHandler; -import org.gcube.portlets.user.workspace.client.AppControllerExplorer; -import org.gcube.portlets.user.workspace.client.view.ExplorerPanel; -import org.gcube.portlets.user.workspace.client.view.tree.AsyncTreePanel; +import org.gcube.portlets.user.tdw.shared.model.TableId; import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; -import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.RootPanel; -import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.google.web.bindery.event.shared.EventBus; import com.sencha.gxt.core.client.util.Margins; -import com.sencha.gxt.widget.core.client.ContentPanel; -import com.sencha.gxt.widget.core.client.TabPanel; -import com.sencha.gxt.widget.core.client.TabPanel.TabPanelAppearance; -import com.sencha.gxt.widget.core.client.button.TextButton; import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer; import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData; import com.sencha.gxt.widget.core.client.container.MarginData; -import com.sencha.gxt.widget.core.client.container.NorthSouthContainer; import com.sencha.gxt.widget.core.client.container.SimpleContainer; import com.sencha.gxt.widget.core.client.container.Viewport; -import com.sencha.gxt.widget.core.client.event.SelectEvent; -import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.info.Info; /** @@ -87,7 +77,9 @@ public class TabularDataPortlet implements EntryPoint { final BorderLayoutContainer mainPanelLayout = new BorderLayoutContainer(); mainPanelLayout.setBorders(true); - TabularDataTooBar tabularDataTooBar = new TabularDataTooBar(eventBus); + + //Ribbon Menu + TabularDataRibbon tabularDataTooBar = new TabularDataRibbon(eventBus); Widget toolBarPanel = tabularDataTooBar.getContainer(); BorderLayoutData toolBarData = new BorderLayoutData(122); @@ -97,27 +89,8 @@ public class TabularDataPortlet implements EntryPoint { mainPanelLayout.setNorthWidget(toolBarPanel, toolBarData); - ContentPanel workspaceTreePanel = new ContentPanel(); - workspaceTreePanel.setHeaderVisible(false); - - AppControllerExplorer workspaceTree = new AppControllerExplorer(); - ExplorerPanel explorerPanel = workspaceTree.getPanel(); - AsyncTreePanel asyncTreePanel = explorerPanel.getAsycTreePanel(); - asyncTreePanel.setSizeTreePanel(TOOLBOX_WIDTH, TOOLBOX_HEIGHT); - asyncTreePanel.setHeaderTreeVisible(false); - - workspaceTreePanel.add(asyncTreePanel); - workspaceTreePanel.setHeaderVisible(true); - workspaceTreePanel.setHeadingText("Workspace Tree"); - - BorderLayoutData workspaceTreeData = new BorderLayoutData(TOOLBOX_WIDTH); - workspaceTreeData.setCollapsible(true); - workspaceTreeData.setSplit(true); - workspaceTreeData.setCollapseMini(true); - workspaceTreeData.setMargins(new Margins(0, 5, 0, 5)); - - mainPanelLayout.setWestWidget(workspaceTreePanel, workspaceTreeData); + //Grid final TabularData tabularData = new TabularData("SimpleJDBCDataSourceFactory"); tabularData.addFailureHandler(new FailureEventHandler() { @@ -127,30 +100,17 @@ public class TabularDataPortlet implements EntryPoint { } }); - + final TabularDataGridPanel grid = tabularData.getGridPanel(); - MarginData gridData = new MarginData(); + mainPanelLayout.setCenterWidget(grid, gridData); - - + + //TableId tableopening=new TableId("SimpleJDBCDataSourceFactory","1"); + //tabularData.openTable(tableopening); + //Main SimpleContainer mainPanel = new SimpleContainer(); mainPanel.add(mainPanelLayout); - - - - /*VerticalPanel mainPanel = new VerticalPanel(); - - TextButton button = new TextButton("Test"); - button.addSelectHandler(new SelectHandler() { - - @Override - public void onSelect(SelectEvent event) { - Info.display("Button event", "Button pressed"); - } - }); - mainPanel.add(button);*/ - bind(mainPanel); } diff --git a/src/main/java/org/gcube/portlets/user/td/client/event/ImportTableType.java b/src/main/java/org/gcube/portlets/user/td/client/event/ImportTableType.java index 88b1107..bfec556 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/event/ImportTableType.java +++ b/src/main/java/org/gcube/portlets/user/td/client/event/ImportTableType.java @@ -8,9 +8,7 @@ package org.gcube.portlets.user.td.client.event; * */ public enum ImportTableType { - - NONE, CSV, - SDMX; - + SDMX, + JSON; } diff --git a/src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceEvent.java b/src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceEvent.java new file mode 100644 index 0000000..26497c2 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceEvent.java @@ -0,0 +1,42 @@ +package org.gcube.portlets.user.td.client.event; + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.event.shared.EventHandler; + +import com.google.gwt.event.shared.HasHandlers; + +public class OpenTabularResourceEvent extends GwtEvent { + + public static Type TYPE = new Type(); + private OpenTabularResourceType openType; + + public interface OpenTabularResourceHandler extends EventHandler { + void onOpenTabularResource(OpenTabularResourceEvent event); + } + + public OpenTabularResourceEvent(OpenTabularResourceType openType) { + this.openType = openType; + } + + public OpenTabularResourceType getOpenType() { + return openType; + } + + @Override + protected void dispatch(OpenTabularResourceHandler handler) { + handler.onOpenTabularResource(this); + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + public static Type getType() { + return TYPE; + } + + public static void fire(HasHandlers source, OpenTabularResourceType openType) { + source.fireEvent(new OpenTabularResourceEvent(openType)); + } +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceType.java b/src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceType.java new file mode 100644 index 0000000..0fb2eb8 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/event/OpenTabularResourceType.java @@ -0,0 +1,12 @@ +/** + * + */ +package org.gcube.portlets.user.td.client.event; + +/** + * @author "Federico De Faveri defaveri@isti.cnr.it" + * + */ +public enum OpenTabularResourceType { + TABLE; +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java index 46c93ff..b070b5a 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java +++ b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java @@ -15,45 +15,133 @@ public interface TabularDataResources extends ClientBundle { public static final TabularDataResources INSTANCE = GWT.create(TabularDataResources.class); - @Source("table_import.png") - ImageResource importTD(); - @Source("table_export.png") - ImageResource exportTD(); + + + @Source("page-white-add_32.png") + ImageResource open32(); + + @Source("disk.png") + ImageResource save(); + + @Source("disk_32.png") + ImageResource save32(); + + @Source("close-red.png") + ImageResource close(); + + @Source("properties.png") + ImageResource properties(); + @Source("sdmx.png") ImageResource sdmx(); + @Source("sdmx_32.png") + ImageResource sdmx32(); + + @Source("gis.png") + ImageResource gis(); + + @Source("gis_32.png") + ImageResource gis32(); + + @Source("csv.png") ImageResource csv(); - @Source("excel.png") - ImageResource excel(); + @Source("json.png") + ImageResource json(); - @Source("chart_bar.png") + + @Source("chart-bar.png") ImageResource chart(); - @Source("chart_bullseye.png") - ImageResource chartBullsEye(); + @Source("chart-bar_32.png") + ImageResource chartBar32(); - @Source("chart_curve.png") + @Source("chart-bulls.png") + ImageResource chartBulls(); + + @Source("chart-bulls_32.png") + ImageResource chartBulls32(); + + @Source("chart-curve.png") ImageResource chartCurve(); - @Source("chart_pie.png") + @Source("chart-curve_32.png") + ImageResource chartCurve32(); + + + @Source("chart-pie.png") ImageResource chartPie(); - @Source("chart.png") - ImageResource chartBar(); + @Source("chart-pie_32.png") + ImageResource chartPie32(); - @Source("rstudio.png") + + @Source("RStudio.png") ImageResource rstudio(); - @Source("sm.png") - ImageResource sm(); + @Source("RStudio_32.png") + ImageResource rstudio32(); - @Source("validation.png") + @Source("statistical.png") + ImageResource statistical(); + + @Source("statistical_32.png") + ImageResource statistical32(); + + @Source("table-validate_32.png") + ImageResource validation32(); + + + @Source("table-validate.png") ImageResource validation(); + @Source("rules.png") ImageResource rules(); + + @Source("rules_32.png") + ImageResource rules32(); + + + @Source("table-filter_32.png") + ImageResource filter32(); + + @Source("table-union_32.png") + ImageResource union32(); + + + + @Source("table-denormalize_32.png") + ImageResource denormalize32(); + + @Source("table-group_32.png") + ImageResource group32(); + + @Source("table-aggregate.png") + ImageResource aggregate(); + + @Source("table-aggregate_32.png") + ImageResource aggregate32(); + + + @Source("history_32.png") + ImageResource history32(); + + @Source("arrow-undo_32.png") + ImageResource discard32(); + + @Source("arrow-undo.png") + ImageResource discard(); + + @Source("arrow-undo-all_32.png") + ImageResource discardAll32(); + + @Source("arrow-undo-all.png") + ImageResource discardAll(); + + } diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/ChartsToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/ChartsToolBar.java new file mode 100644 index 0000000..f37025c --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/ChartsToolBar.java @@ -0,0 +1,176 @@ +/** + * + */ +package org.gcube.portlets.user.td.client.ribbon; + +import org.gcube.portlets.user.td.client.resource.TabularDataResources; + +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.NodeList; +import com.google.gwt.user.client.ui.FlexTable; +import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonArrowAlign; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale; +import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign; +import com.sencha.gxt.core.client.dom.XElement; +import com.sencha.gxt.widget.core.client.button.ButtonGroup; +import com.sencha.gxt.widget.core.client.button.TextButton; +import com.sencha.gxt.widget.core.client.event.SelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; +import com.sencha.gxt.widget.core.client.toolbar.ToolBar; + +/** + * @author "Federico De Faveri defaveri@isti.cnr.it" + * + */ +public class ChartsToolBar { + + protected EventBus eventBus; + protected ToolBar toolBar; + + protected TextButton pieButton; + protected TextButton barButton; + protected TextButton curveButton; + protected TextButton bullsButton; + + protected TextButton gisButton; + + + + public ChartsToolBar(EventBus eventBus) + { + this.eventBus = eventBus; + toolBar = new ToolBar(); + build(); + } + + public ToolBar getToolBar() + { + return toolBar; + } + + protected void build() + { + toolBar.setHeight("94px"); + + ButtonGroup basicGroup = new ButtonGroup(); + basicGroup.setHeight("78px"); + basicGroup.setStyleName("margin:2px"); + basicGroup.setHeadingText("Basic"); + toolBar.add(basicGroup); + + FlexTable basicLayout = new FlexTable(); + basicGroup.add(basicLayout); + + pieButton = new TextButton("Pie", TabularDataResources.INSTANCE.chartPie32()); + pieButton.setScale(ButtonScale.LARGE); + pieButton.setIconAlign(IconAlign.TOP); + pieButton.setToolTip("Pie"); + pieButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + pieButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 0, pieButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + + + barButton = new TextButton("Bar", TabularDataResources.INSTANCE.chartBar32()); + barButton.setScale(ButtonScale.LARGE); + barButton.setIconAlign(IconAlign.TOP); + barButton.setToolTip("Bar"); + barButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + barButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 1, barButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); + + + curveButton = new TextButton("Curve", TabularDataResources.INSTANCE.chartCurve32()); + curveButton.setScale(ButtonScale.LARGE); + curveButton.setIconAlign(IconAlign.TOP); + curveButton.setToolTip("Curve"); + curveButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + curveButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 2, curveButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); + + bullsButton = new TextButton("Bulls", TabularDataResources.INSTANCE.chartBulls32()); + bullsButton.setScale(ButtonScale.LARGE); + bullsButton.setIconAlign(IconAlign.TOP); + bullsButton.setToolTip("Bulls"); + bullsButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + bullsButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 3, bullsButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 3, 2); + + + cleanCells(basicLayout.getElement()); + + + //GIS + ButtonGroup gisGroup = new ButtonGroup(); + gisGroup.setHeight("78px"); + gisGroup.setStyleName("margin:2px"); + gisGroup.setHeadingText("GIS"); + toolBar.add(gisGroup); + + FlexTable gisLayout = new FlexTable(); + gisGroup.add(gisLayout); + + gisButton = new TextButton("GIS", TabularDataResources.INSTANCE.gis32()); + gisButton.setScale(ButtonScale.LARGE); + gisButton.setIconAlign(IconAlign.TOP); + gisButton.setToolTip("GIS"); + gisButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + gisButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + gisLayout.setWidget(0, 0, gisButton); + gisLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + + cleanCells(gisLayout.getElement()); + + } + + protected void cleanCells(Element elem) { + NodeList tds = elem. cast().select("td"); + for (int i = 0; i < tds.getLength(); i++) { + Element td = tds.getItem(i); + + if (!td.hasChildNodes() && td.getClassName().equals("")) { + td.removeFromParent(); + } + } + } + +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java new file mode 100644 index 0000000..b7f95f7 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java @@ -0,0 +1,228 @@ +/** + * + */ +package org.gcube.portlets.user.td.client.ribbon; + +import org.gcube.portlets.user.td.client.event.ImportTableEvent; +import org.gcube.portlets.user.td.client.event.ImportTableType; +import org.gcube.portlets.user.td.client.event.OpenTabularResourceEvent; +import org.gcube.portlets.user.td.client.event.OpenTabularResourceType; +import org.gcube.portlets.user.td.client.resource.TabularDataResources; + +import com.sencha.gxt.widget.core.client.toolbar.ToolBar; +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.NodeList; +import com.google.gwt.user.client.ui.FlexTable; +import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonArrowAlign; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale; +import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign; +import com.sencha.gxt.core.client.dom.XElement; +import com.sencha.gxt.widget.core.client.button.ButtonGroup; +import com.sencha.gxt.widget.core.client.button.TextButton; +import com.sencha.gxt.widget.core.client.event.SelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; + + +/** + * + * @author "Giancarlo Panichi" + * g.panichi@isti.cnr.it + * + */ +public class FileToolBar { + + protected EventBus eventBus; + protected ToolBar toolBar; + + protected TextButton openButton; + protected TextButton saveButton; + protected TextButton closeButton; + protected TextButton propertiesButton; + + + protected TextButton importCSVButton; + protected TextButton importJSONButton; + protected TextButton importSDMXButton; + + protected TextButton exportSDMXButton; + protected TextButton exportCSVButton; + protected TextButton exportJSONButton; + + public FileToolBar(EventBus eventBus) + { + this.eventBus = eventBus; + toolBar = new ToolBar(); + build(); + } + + public ToolBar getToolBar() + { + return toolBar; + } + + protected void build() + { + toolBar.setHeight("94px"); + + //File + ButtonGroup dataGroup = new ButtonGroup(); + dataGroup.setHeight("78px"); + dataGroup.setStyleName("margin:2px"); + dataGroup.setHeadingText("File"); + toolBar.add(dataGroup); + + FlexTable dataLayout = new FlexTable(); + dataGroup.add(dataLayout); + + openButton = new TextButton("Open", TabularDataResources.INSTANCE.open32()); + openButton.setScale(ButtonScale.LARGE); + openButton.setIconAlign(IconAlign.TOP); + openButton.setToolTip("Open table"); + openButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + openButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + eventBus.fireEvent(new OpenTabularResourceEvent(OpenTabularResourceType.TABLE)); + } + }); + + dataLayout.setWidget(0, 0, openButton); + dataLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + + saveButton = new TextButton("Save", TabularDataResources.INSTANCE.save32()); + saveButton.setScale(ButtonScale.LARGE); + saveButton.setIconAlign(IconAlign.TOP); + saveButton.setToolTip("Save table"); + saveButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + saveButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.SDMX)); + } + }); + + dataLayout.setWidget(0, 1, saveButton); + dataLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); + + + + closeButton = new TextButton("Close", TabularDataResources.INSTANCE.close()); + closeButton.setToolTip("Close table"); + dataLayout.setWidget(0, 2, closeButton); + closeButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.CSV)); + } + }); + + propertiesButton = new TextButton("Properties", TabularDataResources.INSTANCE.properties()); + propertiesButton.setToolTip("Properties"); + dataLayout.setWidget(1, 2, propertiesButton); + propertiesButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + cleanCells(dataLayout.getElement()); + + + + //Import + ButtonGroup importGroup = new ButtonGroup(); + importGroup.setHeight("78px"); + importGroup.setStyleName("margin:2px"); + importGroup.setHeadingText("Import"); + toolBar.add(importGroup); + + FlexTable importLayout = new FlexTable(); + importGroup.add(importLayout); + + importSDMXButton = new TextButton("SDMX", TabularDataResources.INSTANCE.sdmx32()); + importSDMXButton.setScale(ButtonScale.LARGE); + importSDMXButton.setIconAlign(IconAlign.TOP); + importSDMXButton.setToolTip("Import a new table from SDMX"); + importSDMXButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + importSDMXButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + eventBus.fireEvent(new ImportTableEvent(ImportTableType.SDMX)); + } + }); + + importLayout.setWidget(0, 0, importSDMXButton); + importLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + + importCSVButton = new TextButton("CSV", TabularDataResources.INSTANCE.csv()); + importCSVButton.setToolTip("Import a new table from CSV"); + importLayout.setWidget(0, 2, importCSVButton); + importCSVButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + eventBus.fireEvent(new ImportTableEvent(ImportTableType.CSV)); + } + }); + + importJSONButton = new TextButton("JSON", TabularDataResources.INSTANCE.json()); + importJSONButton.setToolTip("Import a new table from JSON"); + importLayout.setWidget(1, 2, importJSONButton); + importJSONButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + cleanCells(importLayout.getElement()); + + + //Export + ButtonGroup exportGroup = new ButtonGroup(); + exportGroup.setHeight("78px"); + exportGroup.setStyleName("margin:2px"); + exportGroup.setHeadingText("Export"); + toolBar.add(exportGroup); + + FlexTable exportLayout = new FlexTable(); + exportGroup.add(exportLayout); + + exportSDMXButton = new TextButton("SDMX", TabularDataResources.INSTANCE.sdmx32()); + exportSDMXButton.setScale(ButtonScale.LARGE); + exportSDMXButton.setIconAlign(IconAlign.TOP); + exportSDMXButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + + exportLayout.setWidget(0, 0, exportSDMXButton); + exportLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + + exportCSVButton = new TextButton("CSV", TabularDataResources.INSTANCE.csv()); + exportLayout.setWidget(0, 2, exportCSVButton); + + exportJSONButton = new TextButton("JSON", TabularDataResources.INSTANCE.json()); + exportLayout.setWidget(1, 2, exportJSONButton); + + cleanCells(exportLayout.getElement()); + + } + + protected void cleanCells(Element elem) { + NodeList tds = elem. cast().select("td"); + for (int i = 0; i < tds.getLength(); i++) { + Element td = tds.getItem(i); + + if (!td.hasChildNodes() && td.getClassName().equals("")) { + td.removeFromParent(); + } + } + } + +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/FormulasToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FormulasToolBar.java new file mode 100644 index 0000000..a49e157 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FormulasToolBar.java @@ -0,0 +1,223 @@ +/** + * + */ +package org.gcube.portlets.user.td.client.ribbon; + +import org.gcube.portlets.user.td.client.resource.TabularDataResources; + +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.NodeList; +import com.google.gwt.user.client.ui.FlexTable; +import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonArrowAlign; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale; +import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign; +import com.sencha.gxt.core.client.dom.XElement; +import com.sencha.gxt.widget.core.client.button.ButtonGroup; +import com.sencha.gxt.widget.core.client.button.TextButton; +import com.sencha.gxt.widget.core.client.event.SelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; +import com.sencha.gxt.widget.core.client.toolbar.ToolBar; + +/** + * @author "Federico De Faveri defaveri@isti.cnr.it" + * + */ +public class FormulasToolBar { + + protected EventBus eventBus; + protected ToolBar toolBar; + + //Basic + protected TextButton filterButton; + protected TextButton unionButton; + protected TextButton denormalizeButton; + protected TextButton groupButton; + protected TextButton aggregateButton; + + //History + protected TextButton historyButton; + protected TextButton discardButton; + protected TextButton discardAllButton; + + public FormulasToolBar(EventBus eventBus) + { + this.eventBus = eventBus; + toolBar = new ToolBar(); + build(); + } + + public ToolBar getToolBar() + { + return toolBar; + } + + protected void build() + { + toolBar.setHeight("94px"); + + //Basic + ButtonGroup basicGroup = new ButtonGroup(); + basicGroup.setHeight("78px"); + basicGroup.setStyleName("margin:2px"); + basicGroup.setHeadingText("Basic"); + toolBar.add(basicGroup); + + FlexTable basicLayout = new FlexTable(); + basicGroup.add(basicLayout); + + filterButton = new TextButton("Filter", TabularDataResources.INSTANCE.filter32()); + filterButton.setScale(ButtonScale.LARGE); + filterButton.setIconAlign(IconAlign.TOP); + filterButton.setToolTip("Filter the open TS"); + filterButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + filterButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 0, filterButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + cleanCells(basicLayout.getElement()); + + unionButton = new TextButton("Union", TabularDataResources.INSTANCE.union32()); + unionButton.setScale(ButtonScale.LARGE); + unionButton.setIconAlign(IconAlign.TOP); + unionButton.setToolTip("Union the open TS with another one "); + unionButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + unionButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 1, unionButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); + cleanCells(basicLayout.getElement()); + + denormalizeButton = new TextButton("Denormalize", TabularDataResources.INSTANCE.denormalize32()); + denormalizeButton.setScale(ButtonScale.LARGE); + denormalizeButton.setIconAlign(IconAlign.TOP); + denormalizeButton.setToolTip("Denormalize the open TS"); + denormalizeButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + denormalizeButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 2, denormalizeButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); + cleanCells(basicLayout.getElement()); + + + groupButton = new TextButton("Group", TabularDataResources.INSTANCE.group32()); + groupButton.setScale(ButtonScale.LARGE); + groupButton.setIconAlign(IconAlign.TOP); + groupButton.setToolTip("Group the open TS"); + groupButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + groupButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 3, groupButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 3, 2); + cleanCells(basicLayout.getElement()); + + aggregateButton = new TextButton("Aggregate", TabularDataResources.INSTANCE.aggregate32()); + aggregateButton.setScale(ButtonScale.LARGE); + aggregateButton.setIconAlign(IconAlign.TOP); + aggregateButton.setToolTip("Aggregate the open TS"); + aggregateButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + aggregateButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + basicLayout.setWidget(0, 4, aggregateButton); + basicLayout.getFlexCellFormatter().setRowSpan(0, 4, 2); + cleanCells(basicLayout.getElement()); + + + //History + ButtonGroup historyGroup = new ButtonGroup(); + historyGroup.setHeight("78px"); + historyGroup.setStyleName("margin:2px"); + historyGroup.setHeadingText("History"); + toolBar.add(historyGroup); + + FlexTable historyLayout = new FlexTable(); + historyGroup.add(historyLayout); + + historyButton = new TextButton("History", TabularDataResources.INSTANCE.history32()); + historyButton.setScale(ButtonScale.LARGE); + historyButton.setIconAlign(IconAlign.TOP); + historyButton.setToolTip("Show the current Time Series history"); + historyButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + historyButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + historyLayout.setWidget(0, 0, historyButton); + historyLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + cleanCells(historyLayout.getElement()); + + + + discardButton = new TextButton("Discard", TabularDataResources.INSTANCE.discard()); + discardButton.setToolTip("Discard the last operation"); + historyLayout.setWidget(0, 1, discardButton); + discardButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.CSV)); + } + }); + + discardAllButton = new TextButton("Discard All", TabularDataResources.INSTANCE.discardAll()); + discardAllButton.setToolTip("Discard all applied operations"); + historyLayout.setWidget(1, 1, discardAllButton); + discardAllButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + //eventBus.fireEvent(new ImportTableEvent(ImportTableType.JSON)); + } + }); + + cleanCells(historyLayout.getElement()); + + + } + + protected void cleanCells(Element elem) { + NodeList tds = elem. cast().select("td"); + for (int i = 0; i < tds.getLength(); i++) { + Element td = tds.getItem(i); + + if (!td.hasChildNodes() && td.getClassName().equals("")) { + td.removeFromParent(); + } + } + } + +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/ReviewToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/ReviewToolBar.java new file mode 100644 index 0000000..310b43d --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/ReviewToolBar.java @@ -0,0 +1,159 @@ +/** + * + */ +package org.gcube.portlets.user.td.client.ribbon; + +import org.gcube.portlets.user.td.client.resource.TabularDataResources; + +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.NodeList; +import com.google.gwt.user.client.ui.FlexTable; +import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonArrowAlign; +import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale; +import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign; +import com.sencha.gxt.core.client.dom.XElement; +import com.sencha.gxt.widget.core.client.button.ButtonGroup; +import com.sencha.gxt.widget.core.client.button.TextButton; +import com.sencha.gxt.widget.core.client.event.SelectEvent; +import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; +import com.sencha.gxt.widget.core.client.toolbar.ToolBar; + +/** + * @author "Federico De Faveri defaveri@isti.cnr.it" + * + */ +public class ReviewToolBar { + + protected EventBus eventBus; + protected ToolBar toolBar; + + protected TextButton btn; + protected TextButton validationButton; + protected TextButton rulesButton; + protected TextButton statisticalButton; + protected TextButton rstudioButton; + + public ReviewToolBar(EventBus eventBus) { + this.eventBus = eventBus; + toolBar = new ToolBar(); + build(); + } + + public ToolBar getToolBar() { + return toolBar; + } + + protected void build() { + toolBar.setHeight("94px"); + + // Validation + ButtonGroup validationGroup = new ButtonGroup(); + validationGroup.setHeight("78px"); + validationGroup.setStyleName("margin:2px"); + validationGroup.setHeadingText("Validation"); + toolBar.add(validationGroup); + + FlexTable validationLayout = new FlexTable(); + validationGroup.add(validationLayout); + + rulesButton = new TextButton("Rules", + TabularDataResources.INSTANCE.rules32()); + rulesButton.setScale(ButtonScale.LARGE); + rulesButton.setIconAlign(IconAlign.TOP); + rulesButton.setToolTip("Rules"); + rulesButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + rulesButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + // eventBus.fireEvent(new + // ImportTableEvent(ImportTableType.JSON)); + } + }); + + validationLayout.setWidget(0, 1, rulesButton); + validationLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); + + validationButton = new TextButton("Validate", + TabularDataResources.INSTANCE.validation32()); + validationButton.setScale(ButtonScale.LARGE); + validationButton.setIconAlign(IconAlign.TOP); + validationButton.setToolTip("Validate"); + validationButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + validationButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + // eventBus.fireEvent(new + // ImportTableEvent(ImportTableType.JSON)); + } + }); + + validationLayout.setWidget(0, 2, validationButton); + validationLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); + + cleanCells(validationLayout.getElement()); + + ButtonGroup externalToolGroup = new ButtonGroup(); + externalToolGroup.setHeight("78px"); + externalToolGroup.setStyleName("margin:2px"); + externalToolGroup.setHeadingText("External Tools"); + toolBar.add(externalToolGroup); + + FlexTable externalToolLayout = new FlexTable(); + externalToolGroup.add(externalToolLayout); + + rstudioButton = new TextButton("R Studio", + TabularDataResources.INSTANCE.rstudio32()); + rstudioButton.setScale(ButtonScale.LARGE); + rstudioButton.setIconAlign(IconAlign.TOP); + rstudioButton.setToolTip("R Studio"); + rstudioButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + rstudioButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + // eventBus.fireEvent(new + // ImportTableEvent(ImportTableType.JSON)); + } + }); + + externalToolLayout.setWidget(0, 1, rstudioButton); + externalToolLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); + + statisticalButton = new TextButton("Statistical", + TabularDataResources.INSTANCE.statistical32()); + statisticalButton.setScale(ButtonScale.LARGE); + statisticalButton.setIconAlign(IconAlign.TOP); + statisticalButton.setToolTip("Statistical"); + statisticalButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + statisticalButton.addSelectHandler(new SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + // eventBus.fireEvent(new + // ImportTableEvent(ImportTableType.JSON)); + } + }); + + externalToolLayout.setWidget(0, 2, statisticalButton); + externalToolLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); + + cleanCells(externalToolLayout.getElement()); + + + } + + protected void cleanCells(Element elem) { + NodeList tds = elem. cast().select("td"); + for (int i = 0; i < tds.getLength(); i++) { + Element td = tds.getItem(i); + + if (!td.hasChildNodes() && td.getClassName().equals("")) { + td.removeFromParent(); + } + } + } + +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java new file mode 100644 index 0000000..ccdce29 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java @@ -0,0 +1,65 @@ +/** + * + */ +package org.gcube.portlets.user.td.client.ribbon; + +import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.widget.core.client.TabPanel; +import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; +import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; + +/** + * @author "Federico De Faveri defaveri@isti.cnr.it" + * + */ +public class TabularDataRibbon { + + protected TabPanel ribbon; + protected FileToolBar fileToolBar; + protected ReviewToolBar reviewToolBar; + protected FormulasToolBar formulasToolBar; + protected ChartsToolBar chartsToolBar; + + public TabularDataRibbon(EventBus eventBus) + { + ribbon = new TabPanel(); + ribbon.setId("Ribbon"); + ribbon.setStyleName("ribbon"); + fileToolBar = new FileToolBar(eventBus); + VerticalLayoutContainer con = new VerticalLayoutContainer(); + con.setHeight("94px"); + con.add(fileToolBar.getToolBar(), new VerticalLayoutData(1, -1)); + ribbon.add(con, "File"); + + reviewToolBar = new ReviewToolBar(eventBus); + con = new VerticalLayoutContainer(); + con.setHeight("94px"); + con.add(reviewToolBar.getToolBar(), new VerticalLayoutData(1, -1)); + ribbon.add(con, "Review"); + + formulasToolBar = new FormulasToolBar(eventBus); + con = new VerticalLayoutContainer(); + con.setHeight("94px"); + con.add(formulasToolBar.getToolBar(), new VerticalLayoutData(1, -1)); + ribbon.add(con, "Formulas"); + + + chartsToolBar = new ChartsToolBar(eventBus); + con = new VerticalLayoutContainer(); + con.setHeight("94px"); + con.add(chartsToolBar.getToolBar(), new VerticalLayoutData(1, -1)); + ribbon.add(con, "Charts"); + + + + } + + /** + * @return the container + */ + public TabPanel getContainer() { + return ribbon; + } + + +} diff --git a/src/main/java/org/gcube/portlets/user/td/server/TabularDataServiceImpl.java b/src/main/java/org/gcube/portlets/user/td/server/TabularDataServiceImpl.java index 95016dd..f45c73e 100644 --- a/src/main/java/org/gcube/portlets/user/td/server/TabularDataServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/td/server/TabularDataServiceImpl.java @@ -7,7 +7,6 @@ import org.gcube.application.framework.core.session.ASLSession; import org.gcube.application.framework.core.session.SessionManager; import org.gcube.common.scope.api.ScopeProvider; import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper; -import org.gcube.portlets.user.sdmximportwizard.server.SessionUtil; import org.gcube.portlets.user.td.ciw.server.CSVTDImporter; import org.gcube.portlets.user.td.client.rpc.TabularDataService; import org.gcube.portlets.user.td.importer.server.TabularDataImporterManager; @@ -21,7 +20,7 @@ import org.slf4j.*; @SuppressWarnings("serial") public class TabularDataServiceImpl extends RemoteServiceServlet implements TabularDataService { - protected static Logger logger = LoggerFactory.getLogger(SessionUtil.class); + protected static Logger logger = LoggerFactory.getLogger(TabularDataServiceImpl.class); /** * {@inheritDoc} */ diff --git a/src/main/resources/org/gcube/portlets/user/td/TabularDataPortlet.gwt.xml b/src/main/resources/org/gcube/portlets/user/td/TabularDataPortlet.gwt.xml index 0e96285..cb8db74 100644 --- a/src/main/resources/org/gcube/portlets/user/td/TabularDataPortlet.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/td/TabularDataPortlet.gwt.xml @@ -6,11 +6,12 @@ - - + - + + - + diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/RStudio.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/RStudio.png new file mode 100644 index 0000000000000000000000000000000000000000..03d56e89a100c2b843babb4dca89ba5fbf98c633 GIT binary patch literal 1726 zcmV;v20{6WP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z4JrwiSdPd500uruL_t(Y$90u!j8#_^$A4=-&bepq9cCD2#^Eu@!$Myeq|sWzv4|+p zK&16cjfu3zimh5}qki&{*p!sUq_MFW(bQI3Q`4l_hH0?0O`$Cis|mJ1X+oiZ!$YRS z%rN(!dmelF;lh-dx|5Zao&48-?X~uL2$!9B`5@%be02@*8=<#j&Z^Zj7xeU3mpUga zDph~25lHLBfuOuJGE{%<#Nz&rGUSOA=X(0ThBlqZvq>1v_3koj&xJV~Ic?ZiL9JF)8Jco?mJhxddg4J7gukI1_sG? zwW5%CV36j;OEfU}wJa_Ecq4!g=h#WJ)IG|_P?*cdh%U~ z68H6N*P6#$eA{t(5nA~l7~BxxQSYr@F|&=mhemN$up+J313?v4!59cZCo?cSn$gwn zX-k|I@L2S@=i9SaR{uI9X#w1_?H?1&>teLq1GlZ~m)IN4iXcaa#&OP&mw_a*cn|eP zVBXAjR4?UNvcZ+C`s!)`Hvm=>0hs^G)u<6?i zX=EkSrbP5jO8_`=rp}*UIKg|TGOTr!L8ZupW?2wW5a|)Z5BTJ>cZvV(_PK~06d@Kw zvb^NFg&ll!MjIssr_K!V+aG_1Hx3Q)*WD*D)^f$Hb~bIifvwLSVcVV&YL%GNXH)jP zIfAud#Hgy4z*R;>77A2Q(4a)#aB!&3(f2bl>p7j(7)zDm3nk;OgS^(qtH+ex2ZmYt z@opyalvCpc|N3{Gq-HO#1qWQ^KtGKNfQW&(=1FRvq0uI;=BZnciclCs=3$M+$6KmFeE&`w;;42+an(_&dBh66{oSm)Wf^-$g|5yjw_G=!ks>3hdE&(3D-K_=_}Jniqt085 zm6Jw9c3NjJ&R`>h^)2nA7C32dIqAB=Nn)%wIB&2{ zu-?3AjFUa$1nZ276|8Fkj2GfanAPE^M23zwNB`8;hmIyyUOqm;y#sTY-j);lfb}g~ zYX#$4;$!ZsY1onu~9)%btF?_ zqOMNF)u^9ua(?JPWW%FOG$0Q(O(&4XXp{O_PCA}#Id$axU4}QmqH5$}fnilu0!mN` zs)}(?oklcm2EKbHwsShzDn%9uDnzvo%+x+y`!q$YXb2iwvwT>EhuQaKHQnoXGV;ud zgCUeZDN7`jN?8OAg-V$#WuX+gkT;cPJ9;7S+MOKn$C0SaM)mx;E@r=f3PGdZ$IZ==`O7gTMZrQbERk&WX-b38|72YG(7m${Y&=$-=z;Q|IWSi&Z)5HM~k`U-Z!kT z+POY53#~V+jFr!eHT|tsug5j$E2<3U&GK-bmPhyBx1?DAkAioe`X>iAe`=ERzX6=w U!TMge8~^|S07*qoM6N<$g2^F7cmMzZ literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/RStudio_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/RStudio_32.png new file mode 100644 index 0000000000000000000000000000000000000000..ad024931dc31d15c09772383f766baa108424449 GIT binary patch literal 2611 zcmV-33e5G1P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z4JkC`9g!LU012~6L_t(o!;P0~j9t}r$A4?@eIEDTc`-A7j1%x+12vcyti+)WF(wYd zP)r+DX(CloNxu|{N-0t$Q_(c7T2LZd)ToM5rHZ1e52+tW6s0f*84{B~XzEZP1p-be z#^Crd_KaudzRuZ?)emQkO$iBGT3R|fd$09h|F!mG3BO>pKl%v${kxlwk$+j&xoBkL zuWp~-Hr=+@+tKWb(T>|>L|7Sw!*Rv`&$3TXyzunt|DJzl;nh9iwi6GE(BAzB{YQ4c zqYrtfAH}YHRNuat)+fF*I(Y2(zg~62`tA39=8CoL5ocS4A+r_{1wa)-O!S6{6jHqB z9}k^;^nt_A7TYF2RXuj|Lh+G@sUExO=lU^kbG&mOt5%C*=iFV@;qLOCcVGEi`@eGS zj5uR@gTTU)=fvWW;|tZBa%#yl7)Ay@nScJm`)2O{`)h8NUOb)cn7fOl?Z)=pyJMi( zxo^F~6ZPxe&7c3vt99FD<1BZB7-=9YfSy~d|8IR#=(MaZoT>T!&-|C<8(N1&^oHv3 zTV8ob2F{|(ch3Eas=gAcu<5o>U&;rzjLYjM2C^~;EcF9RD}m*ez;ZXR)LWIVXQ_Km zuk->xo3CW7<7DrhmlNx>QB|HPcFtYi_}KUJ87Ou>IIU_9i%7?ba?kBsG$a*kXQ z12_HMn<*%E?kj*HsH%#Hz=#!o`-T}ndF@!AyKlRM_pT{8c6z`_%dug)#msaYfTeE5 z{(~pj_k$DoU@4pxd{A<$`vkoej9-<6GG>JH?-V=>Rba!#Z%`x-s^C>ivWSpZn^w96A=sT~6?dQRTrW zPLgNh8p2iAHH>Po)=$RqF;HwHuoaW zAFX)pjOCj@IKj1dd;=d6e{joYy8S-=kVpo8a(qCtg1)7SMFqBHWE-4_%%ZyHEWooM z%9i8UlE)tHvvH447Xl2%^M3{ z_I!Rn8!w#2xEx`bqLySq1R}i*1Rox^AVuU=mxZIHEwn1L5qAm1dB+ z7;7kU$2a%xr1pt*6Kz1*bhrFe)1n!f9C_-{q<)6;ff0{WOl9z_ObmZ-Z0TGzJ>SAuaVH;1L z3jB1w%e|l2jyhptywwzOX~_$R%Pm>%$a2AD7MB^Uvsh;lkwt^*3&sl83C0P=fyoUf z7i?}Cw7JEWhP*I{69g#6+LROHOl?@p-u;IdZ{^(ou`RrC`~-Q~6tZ2lVX|}DIIs@2 z4#e`30Xbl;L5!gRVz9Om<5p3xGE=l2#s~{-5v`Sm}&S#%LPS=#gp=bWcG5+Isw{f~xQAhanzrBDD zIfFh7dx5GKs0Kl+ZlLOi#o)u$HoW>qx4dk}M_gtvvAH43t+?DYJD@aVg+q+;o-v`2 zz>&pe4lj0DtZG(#;D?JV*mjG|6`UC+e)Q@wMg@*8uJHXsCyC^wU8QOv{dwqT|Thj&fv`iH;>vlTsg>CCauTFEjFyj0>hFuz3ex zL*1=eIC+MplMB?n8fOZkw(vv4upg*oxZ%&Mp=NuelOj9svX$+a_#uYE5QYiAgrT#vX8F$yUtQH8SIVPbk6V{2w`?Quk0 zbM>gIDxe64KVO>L-Q|)8ng_}Fp8aI4teqF~e9_5fi?)-Z?X>7P$vYWE%Tjb4dCQTv zEqQ6lN{7n~Vgyws)`_|b)PvYaKTr((=1Y-_*k>bseQ1M)6ftKMd4^sOK2)tNS}@JxtVtpuURYhmm>^ z#QSt#igD}9U%ck&%m3uyFYgUs`SNcxo$y6=9;dHopJ>002ovPDHLkV1gy33FQC) literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo-all.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo-all.png new file mode 100644 index 0000000000000000000000000000000000000000..5f4f45dcc49461f599ca5115377ac6d848c9a72c GIT binary patch literal 1235 zcmV;^1T6cBP)Px#24YJ`L;(H(n*eyB-}_tu000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q@ z4?7lFxZAA&00dJ>L_t(Y$Guivh*V`5e%>=@c2;*40^Pvc@GniOi!Nd%x=DzlE~Le3 zH}Gez1ZPumy%D9Y_CmWc%UUB7vw~H^tmua@u%L?+p`bu2_pf%fA6wm>*_qjyIq&my zamLlvEjENc`1sEG&iS7A_j%3%{*UqfEA5r_+5dE|ziq?RU;g3ccDo)YdpE70bU(c0 z`JJ0O^y9AQR9j9!Fd!;J0zd+cAQB)TMgRqgkULE3QshTWrDFhczixa6x9oXs+`t5{ z2Vd+^RT!Zvh#-%FVgn9QFcP9y3L8#sIM8dViGu;Nl{c!a_G+hfWCWb#Y6)VF;+4tN&<9%0pt!Sh$jg; zVWjA?8&U-sWf6tYsJiMx@W*HpoKx2Yp!u%-M-TwOV8^z&Aas;UKqi;KNG^#?K7o-! zh)gcTa4y7fK7mX=#Be^eOg_Nia5eHpgOLJh)59`S7D0@bUQ^_Oj%`-ozC%-K$?o*p zhs}aja({@<+WMLtLPRhU=W|J9ivd9HT-5dcwn_xsQQy8pgB{ziAW`e2;63Rlv2gE! zPZxCVe;n@1jr8*b0um%qS6xu#1i<1oZ8|wyTQT>g&TFGsw+8TX9i%fQYUYxe8I&U- zi3q2MY7iQqUwrtZ7lO$E0idrfeQ#e|de3Cw0Kn2%rMrm04E z_LsJFvxKif4qXj=W=#_SV9~+D5O{~XYU-*B@Q87jk%AaA|7sr0+ue!2wsdpBgSYEz zv-m5YDqd~i)`N%9-O|(q*$UDh0F|h=avTYX-*cgbh#)F8UW5KEt(d#36TO>T8vvY` zQIyaIscL1u$gIAJr>J+s zI?R7{AG+7CZ2)=VrkYU%lm;>>^GaG&QBYM>HclM@@jXgg;T*dC<1aF&9=Q*9fAHl$ zGq-2m%I4E8t4i6{Ms>F|ZJp{T^JL?)N%toZt>@`gSg`NiLsdbv`dl^zI;;N;^ryxL x$FCcX9-o>gXVyLuud5zg`t!<1JFfSSPx#24YJ`L;(H(n*eyB-}_tu000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q@ z4?6=iWj{s$00m%4L_t(o!|j*NZyje9#(!t75lf8a)~#DbAt&6$~3?>Xl=AI};1|MkCg{q=?CG9>7`|6>rP#}Fj~ zcaSK&X4SJk_1x`kSl*(`Avl2K_JeR8$ ziJtCTJg{SdTBOo08=`srnI|5Y7(N!88bB&e4wG5NS9?U}L}pVXdHQA-(>LpMkV-U)y|pl% zkwEEC_j2~&weNp7)*x`>CqIn7=YQtAX*}0Y4*e;JPD@9yoH<2b_pKsNWWr{8u1+h* zNU?wXl~^|fccpyfDIOZT0KmkFCx@}mTcU6KEjns>QO-`}3EsWgMIa80UyAiZa2Hpl z9AMzw%P)rXMp#U43u-I!piY%b-lPoI^z@PHzGbv*bs*F6(Kg^tGTNzK)*E)hRmy)b zLf4HU8l%45e`c&}%aF(z6@{XrY9ihF23tU&F*-v3&&OEYeW7W&{;6VOQF#Sb;#ck@ET%cG5U~vKe+ypiT8n41TXIUwiV=VcSP+m1QSFfK6+evb%cY5KN7Z z(0^u(snaK$x#<1Mz4QEQVRHZmF8-E@l0x7>8$Onkms+DG!SzXDWMps#X$`k=wIE_NDr5c5Ppz@1BK1 zdBKE556GdF2ez-yM(dq}mtJ!lfyU?v?%YYVW}3)7z1{O!hDx?GneUJcE+?K9+(0TI zmI~QzRxB8G*}>#Y-8E8#{HsHkuMDnA!u~U3#L~=kO7!;bn9pi1=(vhs!EA*$6$;g~ zq})iwq=X9PVF(xPcUi%^H#@13!WM@vUm3i5^pUkmSU^>*pn!H|AE#;{<-ihEa@obi zR3TC|9hp{w#_V=?kVnYQ9DQ#ceK-!i`np#oVdL~ku4{pPsy8k7>@Gu44HiLxNTGnz z%ObHzrQu~b!sh*jZ7k)%Qch`bqUP9r@b_1m8&1Vjr%tf<>^UY!o@(ZK^gej+Y)Qvv zdbW$(d9*#NYS~s9Dz)K9rYIK$@>NNHK79Gg;9K8%I1XR_gEt+^C!ZUp>!4Wto0?cX zeLEJi8lpMhrKM$O)#$ZqIFSj2w89u0Cm)!twch#0r9Za*e)JK(`s(Xj>!Op-94{#L z>0`~ehmQI7sc*Y6^ysIa5#IjJH}CGp1Yq*S6VxRZrKXd6K-vD6fA^XFHEli>1N+YX znnj6$m&SJm`Vi@J`yJen4F_HtXX5x{+>@HSu>bja8So#InubYKm64JF00008lhV31hTv zxFqb{u@lcf`vTfqJ3zyM<(c%*rWw35^15~hLI?-LAdLs4S9^)&GEu}6{s5XnO{nwx z%O8|T#xXrJ4LR!h@x<5_0H~|ZAd|m`d&>)z4gI&l6=#v~S$-UBJBXIZ9!NraYdh}D z%_8TldT?X5Y{;&H3Yx9d;F0CO^FLiZxA=D58B}~msAwC(G>-bx*ow_#btBqS9 z!-t30E*%~H8U8}AF=lQudE1*X2u+R6pphjMx`C=D|JV5D-LWN!Ba4|O2wrc3!5~Ni zMtipu7`V`9zxKr|gSA9lw_;z4S*W0Y7ctEqkKLeI-l!AbWaqNV2q2{Pch_k`K#AIx!L_l29QjcEwW2LyN2qdC%yI={c{QSpfcR&se5qmw1BwGn(Ps}NWOR$2-%IX#8(@o^aP z^BZSx9WMzKGk5?QtLmlNK12x1%UO&k{=(h4yC8Y74{ixd(mcdu>^a?T;R? z5A5|yG&?`*-3Rh)#2ZJzxDN8GtH>;6khz}$4Kt)U{m0oqKLfU~>%Q~7wqu-_{giEo zLlOLX^A~J#0U5eXQHaxZN5sNczn`0^ec=E=@6gM(q*&z1h@D!TKQsEl*oh5ib(^tn z(Y}4}O472dp7cUGNmm=a^LPR!5ku2MF!{Iw4*_N*(c>LNcnAOh002ovPDHLkV1lST Bxgh`m literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/arrow-undo_32.png new file mode 100644 index 0000000000000000000000000000000000000000..9295f4203c11cdd60cd82c6cab3d3e6fe1d021c1 GIT binary patch literal 1100 zcmV-S1he~zP)bC@{8!0;7fk+u{! zsXhIo#c`$ooA-TB-k#snr~i)v|Hpqll=KI$et&`#0ZE7u6hcJeD+wBVVd75m9EQl8 zPX11E(4t!|etF{JpG6DkxpbTxfFp}&jUu1x7CG%YIee#J0j~_dL=oaZ!;>Hhf;m>0 z&YEb5t;P_DtiZoKkNG7(bP-S_1mXo(_pmFQ05$!A@eT6BGgnnnQC3<8TXij39j$n5 z&*QLdtpSAjS?_YUkx<&|W0fW(ipKNOR2P@$rHixsuiHZ;`O+YsqP@q7B#}B^s=tBlC zqY5?}U7vJSN;KL*>hF+v*t*4veQo=oKutO^<{pFB?}do;Tt0pEq^+gFdcJ63zu_BU*nqHoXq%By$v2#azq0?Cmd@WMaDMDDw z%1!WCG-_0nw;%xqTto_nKQr*ecAe~}5OubClLJdD%SQQ58}~CBQ98WQ=D_TonRUS( z?{;hzHFkLQFBzcFZY{5Xz20u>iax(Dz8Co>uYgpzqqYg2+a7eCJ;eOYDGKWG=2T&= zz$0yYp{Pm{9*%_Ji}wJ{0=RMtNQb8;PQK2lDi%~$SW#!IgT3Bvf)m8}?7xSHBVkOq-SGOopip$->%a6*e3kx_ zTa1m{_1nmv=XNUhf{X1CL3QP}g5ZW=UDptbgmHJ_E~aOuG47r~AQ%9J0qT5yY+(F+ zwuH}^hFxb5J1NrZsBc13Lo-NX=%?@Uj^Z36T!Zjau4&HeX|`u|z=&T5XGV4(X;u~k zi|r&)U9}CKTb@GTVG+(kc#R@wEI{|Q4{m(n9bE|Jf@gKWh|Uk&og{mk?9K4poW`X$ zuiUr)4ylo|6@Pnb#7Uifo}1H&Qrn!!I}3*1xaZzc1$=|3 z5ep-N<^{yc&RPVqS@zD}ne+e0;%?Smas!G3ry0(C^UZ$-{&P*nHlM!uo~4Lo7nFrq zmY{Uv{qt+*`e$Q+h~&fV>1)rM&o7y#1kQDUq){Z=oPvibNap0*TaLdRA(>W#De{IvgH>~C8=y!m)6F}& zdBGuCi@_kbGVsPf&@crh(Trsl^TJ|YkWAEAg_y}~Z;wmMp6vUf+3@i84&6d@T@aDj z=Kl5lbq1{klY`yEOc`WSA|(!X9<25Ml(@2cjG71;g-~d8wEwhz0~Ykf9#sQ78UO$Q M07*qoM6N<$f*RD=KmY&$ literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bar_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bar_32.png new file mode 100644 index 0000000000000000000000000000000000000000..ac136ba07ad259a6e8ed18a44415c32969b6c5b1 GIT binary patch literal 937 zcmV;a16KTrP)-Kx8>^LdKK8(sKf`Eawi1EX1E! zL?nE|lL!z2k|p>6azaZ)peG~y_GY?@V7g~|_iSk|AhJgq?d;xayQjLUrVn`6$8PJ3 z-~RZQN)c*dnnFqU`S)L*eY)w})7At?Kor;~()#p%>)3BkpndrM-CL+tsMQguLahyn zQi$v4e}mi{{~QE-X96Tat1DyeNNpXP5s7Q%iR}W0@biH zgREU)2Gt5w1OHi;Aj3}^i8Zclj*m%w$L)c%L?95+f&*G1;6dd`ogu@04gv|g-=2eq zBQzhudB(-(mjGhN!+bIVW`Zz+pC>~Kat29)67gWpEV7%>n-CZzRQG~25OCtfAX^e< z2-*u-hJ%Dbz$Qa1IPm29vCIstgqgvNpb=J=>&}6weMUgmb$8+eTqEG$=%-=?A;;QQ zYqD`b6n0|^OAio+%_gneiUYCpNc8ICuV7YDX{c5m1w*L?W`>{sxP}=qb^S-61iy?C z{lo{>Mg-^bvQ){wDUfuO1`>OP3L=9HKg|`A&w{sDahIX1#ozz+#m_jro^g0}z~R-5 z`=2~;5*uj5G&CQZP4IUFMlc{-F$W3=1;BfQHp{V~%mrnxD069><3ORwkVA$G_!*@c zZC5@GxsoB%kt`CFaGcAS$J&t$B2MEJ3CA1ohYB*g6$vE{^nM_fieCS6EMv~azvU_+ zlMKTLGWSGwo^YWSszV=>2>~-=pRE`Y zF0QUHnE};L!%{j2#%sdE%Mbj2LFuULV9gI|tqUnm%2upAos_`o z&U*KY4t;M_Ith~(Bu^j-QoRJbXZL;(+#sCB7)?sM7lrRXeCRbNXu$z`8PL~JmXGdT zJKTh#XY3Mml~9cXQRm?YNfn6$VMGg43c^K0)f=nifO);Tz90Vqbd#mcMY`8w00000 LNkvXXu0mjfk%Fiy literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bulls.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/chart-bulls.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ad7526912b5e6ec9d116e151c484a04f747bbb GIT binary patch literal 612 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 LNkvXXu0mjfhlQZC literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/chart-pie.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/chart-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..78d27524f0e304b7405c1cbfbb05db085e9a0026 GIT binary patch literal 1032 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 JPDHLkV1oK69U%Y! literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/chart.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/chart.png deleted file mode 100644 index d3cb71d5c5d119203052f71ad708b394cc5c17ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659 zcmV;E0&M+>P)p$Sag?n*P5JUuV<-#Jkb|bj;Ul4RJ?rd}sbW;)OqDj-HdD3Ja_vN{F z+BE5|4jk@b=6v7zoqOk6uO6)31F($$ds?nkYGvcYm-j-lGbtV0!^XqAk6kI1)oyM> zh3T;atJb!y#_nPF3IQbp+-7+;`8*LTguAvc}^1Z#3K%@pv zP_7^*f_`HQcV4WUPEYwZK8mX;0pnCGQZpuSzEFU#2}o;3=(JnloPk5(@M{C%w=MA3 z*G@!SOmj|oZ+{=I>!l-ba>yli9o;8F$Da05AvlFqA0|!Hi#lJppG#+!JgRzo^UMY z^H^9o+Jl5~Pw%QG(4A8P0X_+*$0%kDG{KNgWK0BF>yE}@uC%md4E~UTa$UHk06dIf z+cwSWBOFa&S(eGiqX@cQkD#^I&1L6#-nUlu(N+55((#Yf%&nlccyvj<7LaL9f3hn> tXGgEYSpBtV%}@js?isH#rx^SbU;xYCjXDRR{YwA<002ovPDHLkV1h2AD`)@! diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/chart_bar.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/chart_bar.png deleted file mode 100644 index a66163a4381f1330ea1c0a01f37073b85cf53076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1049 zcmV+!1m^pRP)?9f9=W?@Hkof`zWHVmw!X}plSf`^>lVp%Z$JfLwOT&??&CSWEw=R082~JZ z^JAATZn|mZ$LvhiWhQ1^vjIR!gJZv{WE|E?!1rR?dhGw20mm6o z>|Cj42IQV?ifFz7&w#e491Vv$G*Aj$wn-;POGbO4ZlNe7!Rb*%&u0AvnST_72V0XS?AYSR?i z9E4x3iDpV0K-C2%0H_0X6L;Kvkgzl-%_4zQrL7ZyJhqs3H>M7@Sc;=cReTh=%{bpC z&OosBXF$@dy8(DxS&(uVp=#-T{r}WwfMON*JgB!~1AxUpzTT}fkST3?5^VLPfDI zLX!Zdk*UxHx&uIO21*X(n{XhX6rdLXVbBTi8HfRRaH1id08pab0O=iy+DD#=jkV1` zP+G;@pJpd0UdC#v;-Mmk5uT#9R_7@IalEj`b%R#ggoKo?@d;udc)iuS_rQ=z3-Y8N z4|n?`S`#8OU?G8#+0|&@^v1PYxlF-=2ZD3hj!q7|#)6d#t)B^<=LLSn@L?n=a!_^* zNbU2S5L5|?RRZ@PKFY+)kgr309S|_EGfPC}D_^S^oDRz(?C2Wv^$Y&@`YXTyvmIbY TYF0c_00000NkvXXu0mjfiDAtd diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/chart_bullseye.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/chart_bullseye.png deleted file mode 100644 index 789151df77065c76a7b99cbb21f8c00e189650cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 736 zcmV<60w4W}P)LNF=p zY!Z^)%iitn?#%cm$wh^WjSt?wnKy4|zW05P_1vA%e#T`J4=*50J77{GTlJ9}oTcc& zQWF0%9*Y!SjCLbQ*^`yN(5GTM zm@Ay^p=H+Oaw8wWwW_ye5KWPH3QHzvs)hIoES9PFn4sJHcc3(M2x2c5(h<;Bm?IQE zQZh1^{M8ocO2a11*B-otLl5lPmw_Y}147_8yI66WF*AI0eH{rKwJ<12;;kNqAz8>6 zI|C1A#^>?nUMswegT%6n#6vz}Y^uyz=S<-U+J@)x{r0J?wvLU>f?XOI*Opf7o7)Cy zS@4_|e7xC;Af47mA!Cfr4OiI=U|L=mNNtkH2mvQ0%)nSWL8cZ!kc=x~_&Fo^Ne{f_ zYK@vw5H0jDtwG8_ZQQ^)CBC}thMY-qosPrzr=QH@gu=zckviTHB|Ua5vHL(4nxs{h zC@PCE3yMN)aKP4w4P7P>#LjeB!7{K=H7}6&jlILO{&P@Gg18aH{_i0ZW}~Pqu6Unp zC!32Z<>{2wgd2sYh%Fn8pt}Att_;1#c>j5LNTzoI9jkzeV3&zRg3c!HUq48DGe}$^G6crKq7E)+0gbf&KKi!$#F{=ZIx%bXF-#OoR?;-fd21*Lrh^n4*t1;)(f?BlaAA_JNF_uC5 z{EZ_`+hYyG0I@fNrTeQjMG5RKuRw;c2yV#*GMa-Y#}8sP9KrDP0^Uqa!@;pNv)5~S zZ2%^je2NefD7ttF8M%9)^t}Xh1BfeN3>D9U>&V@?3s)+O!4d?rS_9Q~VGBTuE1kaj zGZ0ookY9I!S)2nlH>?0z)$wypMaTFW<~JEM9xj5SYJn{PlXK3YQn+*#+Q>(69xpi2 z3&dgoA&@l#l9Rwoy>EIQ5sgDxel{{&dfF@iL(>~F3w&UvzCsWs2(ACkAN3BWm3PT)Ohz?uw}PlY9`u2BGvE=1Zc2a)5z5#4Gzt{QOj z4l_=$0N(o+;Ga7QJ&&rI+lb1stsf>6sv+9WUPe

D zWX#3GGtZ`Knp9ke`m{nkJm7O6FPDMn zriw$O6!B;lGB-1fjmS;u@~<5^4>Tgpnv=3MPl~qW>mt z(UVCt`M+u0X4%wJ?Kw%B`HGh9wzrS-Zvh4Xdx;sWEV~if00000NkvXXu0mjf{f%lN diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/close-red.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/close-red.png new file mode 100644 index 0000000000000000000000000000000000000000..13126705a94470417e6a50325ebf4d7a238446c1 GIT binary patch literal 1208 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 R^U3T6q{S7)YDJ8K{|Ea7xq1Kq diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/csv.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/csv.png index 6f878dd07da9e2781d4dd98ed72984b5ef7d8406..041c5c771a0d97513fd869cc5819caf834952e76 100644 GIT binary patch literal 906 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 HN@xNAd^{ox diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/find-previous_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/find-previous_32.png new file mode 100644 index 0000000000000000000000000000000000000000..e51ebae2c3c44dcafda7754f05efb4f21511054e GIT binary patch literal 1318 zcmV+>1=;$EP)OEenr%GRBpRFDK!p;S!Fzgou(W$=2&7d2 zQSjd0`_Z?2IgAZpjrnH)UVe3;zp`@?frtY&R3rw7b{>8gSYu#~!NyH5_TLOZs`_Qi zwq2c~d`HQ3Bp0ZA-;# zb1JZ9+pbPW|BI5(l3Y-o^GqfKQH7{LRcmUXlJklJ^X4_z)P*%>fwgA6x#14=_O85p zCO}-No43BXHwuoXWD*@69mr<0P*pf*aqQ$-q*F~ur<#yTC85eF9Z_LMz-v~of^!b# zpo~99&*S)SM=>>V3C0Al#_koxO41PgO*adFNGFl{mnC#qsHcNWc~iy$JnboN&`=Wt>4 z97siOehWs1&!V+sF|4(CbnTN!dIuL3tLQWUkc71c*334j_!Lwet|H+?>lsY74bRw( zi;d{g_!!2=$Kq;_rLU5|dR}xQ=2oD!B?FSUID7`>&Its$2~dfv6BlDRl33W%43aoq z8o~J37?$00A2P`-e*S)clt#v8Rjumsz6U@OhXxPU2XHRjo#~u}Su%w}TM?xTC5Use z`H&%qDsklSkBM-e_0x9+tL~2JvDNp_0)S0>Hf(ncgBS8e&@1RY*7iOQdJpdj!h@b+->``}Xex zN&H?q312KC-<|^iT%MZ3A0xxKaiffK5MXL@vc|$=fK7WgY^QRdtF3^pd;#=~7q9eV z2=75ufAg^ljhc$oPXUFAuy}kZr}yxv6Lw8xXgm;7jk=|p2A1M(j5{%;g;)(+CM-y9`U zhB#%1KoZWmn!n))X0S5PIydOa{u;n)XRNj5!C3@zwa0d@8hCieipJ&rZ?@HMJT&m1 c0^AbqFQnK$LRzG$TL1t607*qoM6N<$f_Z#m%m4rY literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/find_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/find_32.png new file mode 100644 index 0000000000000000000000000000000000000000..c48977d3b2892e10aedc13d84704adb3647c8e20 GIT binary patch literal 1083 zcmV-B1jPG^P)iK~z|U?UqewTvZgu|1+77BsS_K6Klmn5(c3Q)1r%(8Yn8Z=&njZ zT)1>0=pqFvRzb825sCc{&)0SFKJwmt zzJ)t;;lUf`o_l`hod5g32W+qZ`zj3D@XCpIyqUtxV5(44m>NF$@Vx>6oc{PTPc8rv zfm{Gb4(uF0c=yeLX9GZS(1vcw%{2MHTXIK1p4@o>!sLxc12fYzA&{m3qU5u)4`bin zy>JwOocnJ8UOxWTTwJ+`K!jl$b|e9aDi8k`kaHmCaO}mG=JEiP(m&=;p4u&H@2lBi zGaFOor0v2CVS$-JQyqxg9s`ndAaYQLk$hk2hchqh2`Pte154Hm&N`3Xj+h?NW z7%CPqIXQ`HwF*@QGvU&eWt2-pD3^v%Dixt>(KsSuM!=69JOE}!D`?@*)$6$Y<3()z zwGQV3kfSp{FJ3&>bp&d5Bu+j(Jq0rlW`+nuL{OX9iAuSIN~MHysR&VpiNaLEdsV1v z(g}Ev+C&}u9^H?#Uw;862O@X4rv}VyhpFO$UH8L#Br_Ej2n%ZUov2nys8-4-mxmxC zFcGK9bXX6Tm0vZqP!G-1m$ho_F14Jzx9v%q~i9{DyG&*`0hAU-Mt7TLo0FAEr zUQ{4_CleQ1zs@9i(05jvp>K`yu)OL*G+R8HSo!kW?!l5Ug zLeVq0ElxxL6hY)buG65BryzE?q=l(AZdJpH5v{M?!rI!cMD2s(q9>vQAbASrUwgxE zS*|7OPTOzn0cM6@uKt9T-1SW) z8~5o)r=cke?*I_yt{d7HF~O(yg>jvgwJ#QiX&->4rC(71FgAW4{L~cc6Ey(9-y0kF z{n`pPH(O{00dB5d&%6t6-dKePuyplG-?)w2w=)*r0ieP_VemJEh(J;YiOS%w8X)wH zej^C0$^oE~5tEAKNFT-Z)j-aJLd#8QKn3tQ0Av7wiooX@fkJf)R$1Y55a=KP5y__k z&8k^U0LuZO0`0Od$@ut_M|`_+s4Bc!S7%(je5n8c(=!d9HmI}_Y07|NXAD}c9!^Nq zG;ebm*Xyv<#O<1K95FY&*<1#&w=FlZy|!1|`WF%vgReHTbOita002ovPDHLkV1m^b B?|T3M literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/fint-next_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/fint-next_32.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3d16da99ea052751900fe242f7a0764edfb139 GIT binary patch literal 1329 zcmV-112*u)KSCLcfKDSyx35I z-TMwKH)7AS$crM&Z<#R5buj4>cGAR^@3yO7PKk5|2;7A~h`2xJKPjxOY~ zY2>mQWHL=4A_x(f2}BHbhyX`D9upJD+^vfvA}q+ax#Da{pk^`>21Z3k(Wxe{{tRObZjRo72qQng1;f{_ zVqxbJXsz+=b6b(J24+g!osJtw54S;U1+AtVR6>E!;hcmC8EdC8&WI)_#xXH5j+O=O z&?;yccX!bU(kh5=L}LOATe1)l+`4udEaIv=X}=MLn{lE8z^9mhOl78nhoe^%cG+`4?~1%pb!KK)u^BN=1Z_JUi<20>wwsU zuoseKFCt*U+yrJpad81egv#SSwjJ8E|Hz)>12L|1LNW%1%(NU$ZQ5v%iQWVX?|$5c z1?)PzHDU$Dr9~7TDneNLH-ETs|1<@zT)7MnKx^9~*g^pv?RfyeAGdGg`tUW}yH`au z2ykn31k8+1E{`?IEfoP%ry5;Ard*`M6Z^Vc8CxIe4}|o!r>YDFqB>ateI= z;}PeeOj5goae7#=b<KiE>06%PZex>)&4ig@MP_uyixPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L04^f{04^f|c%?sf00007bV*G`2i*q` z5+D(1p&D5L00q-YL_t(Y$E}uajFeXu$A9NO&&)G#J3GtHuyo&8c9*xsLIdT+4S|X^ zZLp|qA~ChL2HW@sO+VBGQ!Q$PQHfPHO{;0tU{#`M`$0jBZD~=&1PZkaq2jW@?sivT zXLp%lX6NO3?(xF_QA&(P&!?OF^8erSKj)rvh5yngI`{B!Xf1qvOjd*fx5Cp-@Z9BgDw$W65$K1F%)(^+e6v)VB-L~~U z+uhztB9U;mZr{bx^F;uv)!;h9>P7O-*B{^9dQ*ZUhkv=|=xfiuK0cM=jiH4M*?@0s zu=Ks$NKRrr@!)*+{Q3;1C#wX3CF2ZpMLL=GE1upY6$N_@m7$&rXpfrW+58{{d3=HL& z_7}Myy!XxZH+oLY+4sI`a)2sqIcRol#l z2VbJG^%QqKa8L$^-+K6_1eMFhmX$3Xv~?NYyRJf=*T|Xvdm*wGHyTG(YkC^NT0p^; zr`Wb>m;*mq&)}PzIP|Nflyj}?`hKvd=UoJ;boY$g+UJv>s!-A_L#N+QEZz#LD2ihY zA_i1z=mL(qEb93j-+l5CdT;F}U+Ce;pX5J6^bm`Yx%u3Wq$pM{ zY22G>t`Rr|vnVrsDZh0j+Z{6MAmj)~>gbv?&cuZYe4D@xxix825yv54n5LNANn`3H zWd_NX_VTB5FY(UheqI^aAy0q$ae3zXeXjwyUdTkOwJz%5L_J^*3uYfBIrA^Hg)edL ztPrYfrtC%ts#U~wabt0Q{=?Pm*(F50X}XrY!uboQa3aD(Yd6rfym>S56#$bjR%Tkq zxYu5t20pp+1x^fK=G<77OskUW`Wo@zEb3cOK^4MvN!(}x3CHk9Gc-9#LKiZ`Mh1Ck zYkz9vmgg1#m~yG?TB`yzxs5Tza*Jt;C&)Coc2~-@|jF6dmO= z+b=OznvWPT7OW~NS0z4su;(`+A0Q6YinMJpn;N1rbs8k7{{Qhh;gWkM~7W&Z9?Sg^#u$D zwMy^ul|28uW0-z2Q>gOsPE%g)2hZJ9f`#X!uR@tjt@{cyi)hEi+JU zs->u6jGzbtG{#+RZ}cP-5**{=7=x;ohQ@fcu_1A2?aJmoOBQronm2#m)W7TDZafl- z1=$=CQ`6EhhR<)D>!<4LCc;i=(u;aS#>g=ZY~Rvl%SNvqeC9v=BuFlo|4zPGeyl#> zRYpce|5h%S_ct`8PQ|0qy))A3tcXPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L04^f{04^f|c%?sf00007bV*G`2i*q` z5+DNXA6th200_`YL_t(o!@ZYzjFsgT#((GimV4(ebB7ri1{fGnW)OuSB8aG9_B?N)2;BYf z3%t3mi=KP|-3N}aRA%A4S?}I>)d?qjB>>AiK0NESN1u6m`Py`5(M2`1hAz8z`n>#3 zJDNx`JlxH7SD(hzro*YO9!5TI_}#rrdHdrYYO2!|iXlN5#g`dDL(Am)zQSF1lrlNF z%^oxb%iehC_iG=z>6Yw3j=I!n9)8lY*%tWqsSd@db-cblq)n?ydI3H8Jm+8YAd<-v zsii*KNpJgSxVgg!Yz!di&ogJ{D%P+4IJsoW<+Fi*92CH3U8QM%-_(Y>NwyXyBL=2; zpU}K#7u6LTar~IYo9|vjSa=UVlR;37F|-zjsvzD6zJA89n(cW!p|Y z`^x|f2_#CiO$^2bY;Iq{xZE9#NIXM#xQ3ORn|a~Qb=22BLQp8+CVae91*#T){b zuxiQp@6w$wqlI>oiPco4PiOSl7nyl-^9BF43Qjy~TuqNVhUIC)nzs)lmEO*%$!+AS zYUuPFHg7ry;|r*ws)z`RMKB;>t2OdI7QjCp^hy(W|8kZ6hFJKVnqz7#-D)N7!ZZs+SDm!twKKxbuOfD}X6qnu1g|;~qY;8egDc`bOHK7CJi*!B0%X^<9*~$N}Se z=pYjchzJ7omNWSN6waFWZO)%Rk+S4y8<@>=&z-_s?{^+{*$ofWeklXhRY#*XVEu<5 zP%I52=Q>2e@rW;gVlY^-AQIEA7EnY5i$xV~zh(|69(N3<41)UM)o{i2cX9D~$FlVC zH_XD*ryc&-V)lH&2j+eEo~qN2-q>}*tWo^@{tOBP{T(=&EH#xmx_S$!jTOIll?!>i zL>j~(C?mZBPu+JDhz?#Gr${vh128bqzbKu~EcrqTZoT@nF)u9}%SUam(AU#T!utR> zU5)nbqTHQFBa0Y=Y8)wm7zb-@EK1;(ADo038N5Kp$)tDJfhlkRvLlcE zS$i>@y?SjU2F3S^1VJ~cTob-=C=b~yi0u0!BC!w!QVs8uta=@{v<)v&#*rdL`vC*d zIx5_WsNKoS8-L~f;*uL*Tk`O8JNDB+S8x9mP#o9AaeYcU8Q*SW!h{W+Fn={#F7fOi zbF_7xL?WGz#b^u~S&S=KRi1skmQS`l%lxA@Gtj+~Lz+72E$-soPh08fy^PvXW08S~ z@uP-635?%Q1D9O;;6HZ^l%}JgqM(ARa_o_B6UbJ!?(U!>m8Z2;s0tU+8P;Hs*59wnZ7J_ z6_xb%m8j?+LwU=37CoJI`-=7F0{0DxFenGEssNU~4P1?j-;ttU0~}vT=6u=)N;C~` z~S6-wOk=z4Cs|HODt^ot|aU>KL6-odWTZM?R24=X=8 zi*$7Yt1&<^aaTMbc0@ol?iZ`uM>B6x2+{x&vkKt&E`>0>$c-YKv#7Ypeh^d?wJ_uG zTHadO!K&?N;3gbY1fwxKMjS#Lpo1Xxp0$GoZB?kP5E^Pz8f)C3s<@tuwWb}M_g$=} zjFF)sW1l(=R+S6SKAN*$Dj=ST8w|1Y34$7fgm&nxRWJe?T0AUQo>|YRx*95yiB3P6 zX!jg{>xdE6uh!O%Ts%~UrE=)2GDHoZX8^eEo_}GZ5aaoS4rviFgh7CDoH%;5APz=^ ztP2ZIZQ`h@^?0uT%Y^SP^Zdky%1mW4<-)t}Ehb52K1&4|+f@~m@Rk*umE z48T~6T1CZ>OS)XXU_4d1ES}?quIqOA32%>xG^@2Q&zLb|>4BGB`G34CW#i_ZSANvo z`k?C?W=@|#%Z^rBcDK_oriNs);w@{VyNxleQ5b9%F@23qO$ENrRVtOPkD|~Pi^cqk z6)WD`)zbQis?Ok>T7^PkY_V88simc*T2&ps;q`A@tNP+qMvOE70000Px#24YJ`L;&9a@&Ny7q#MKl000SaNLh0L082;!082;#3k?_w00007bV*G`2i*q@ z5HT?kCt?8r00u%yL_t(Y$9~x?|jdl>2zACU^@}YXKh6YRGYLB ziij1o5Qz{Q2$i51(@JXSAEl`YBxqXNsI&xsl%TeRD2diY1Z#+-O^Z&)cKSh?>Fvxg z?abVn`*H3$XD@%;X(h3;ll^1wWWVoz*LwF_TlhcY(dYVumYnSi0^1fv=}RKghmZoO zssTBws*lI1n=D7^@!cD)uU`&FF1Pu;Z3C+^zFF^kW=&JxBg|NgpdjK@QH3N`s1QGKGj5av7EGE7dzOjjLAD%7L88ZQu4@U37Z zroGi?x|~oPtCmG%`=PJbqekU)Iagn?FZWQx0Q51XQ6~Q;NgG{OPR$IdyV|j-DRr?au1ZXm!iY zyu3pfTb53QrSYc+QpKm>QJ3Vs?;6P9WLD9xB0Y!1CW6y8i z=J;@(uK9~-&l^24T&_4+vune3`^{s|^#`G6)^`^&`7p3j9H}yL`UoqRe~S5YJ1`2? zD8>lZD4r3l0V9e<5HUQtZUw#Vj`L%qB#QJDGI;~*AKG#xFwJ?p(DTfij@At4CnLQu zI>f3kF6Ml3kZsTZ1eeqZe8Hj^5e#4fBZ2_d!1)pm=aJSc zGConKDeI%EON>*VYRXwkGbvG2y& z|0*&FB1+$)UII5klnU950puyW{3}oXtg9pRN;5IjQzfpNn_=O?`3Qnb;I7px`DkpM z-M`w&$jB%|rw8dObkS32!}mcfIEB;+xop6}cMp<;SJ0XlO68=(^Nh(@&k&~#`(X@b z*1C#PslpF7ZbBUthfY(kOtSa&H<;7gOJ_%cTW(p#ZFejuZ0Vq4EQwm2g0%*LjF+mS zm*z#_hTku~Lo32fH(tm4hyTIk#5hS3Q<Ic@JlcMMlmQx%a-cTy=FH)_V9Ei}j!u!|3QFMpFbK zjvc8Z^6H7}uh!DfWzU%S@DHB*)W5fwPp%f3=gk+oHR+Wet>fgrL{V^sBxd8 z$A+m&JDxhC7}8Yx4ay6pnV9Ch#rOf$YRvhG5-N?5rP`33s*t7zOhA%C>L8iTo2nAU zF&~^R5_|1rd`G#O;#6NSs(NU;k`TvAS4UnYEb!`Y58(TP(g1fl>l7MwEbFSsz zCr5bgckeJ=siAf@*(#0DsGtJQIgTAK^6Nc+#e|*YT00TY;&`nrB0FAv=Ek}OIQYjG zPc2#bSVyhSZS5_Ah8bUKv@>+(EbkvVhQ@XLz~Wht*g2wFjeiZC;hh8jWdC3KiL+M{ zw)IkI@pO2sCTSY~e9tpC?fiJdk$m?x!F^BsVsl$Z*QVaCP(4rNOtGTXa!E8Q5hf$3 zZ4?G|DKQ~+uLtMlbpD(cF`&isHJP3oe|G;%>wjDt9jF6(siPU|hhDZlSi52Gvq84? z+ufaEuCpazVmhW&Nl8+JQ)y&DMMMl*$Rk@oL3I)4Tq#{TrL2@`buf>e1zz zz6YcaY<_!nCX@Y6Cd{pF&U@rSi)Tfx5mALWaT?W~lxr!aazd?Ec{7PBFYevC;?3D= zo_yl30^m!JzMSox`{_l-3zpa*+-Qxt#)!-oHYG{jKvJ*$)FttuiLsM|fBxmewaelB Y2OiWXs@2Pj7ytkO07*qoM6N<$f`@ueA^-pY literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/history_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/history_32.png new file mode 100644 index 0000000000000000000000000000000000000000..0188b217f5f03a1c4787318988e94de11384429b GIT binary patch literal 2536 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/json.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/json.png new file mode 100644 index 0000000000000000000000000000000000000000..34587fc83cad5fcd13a370168e1f0fb23ffd9a0f GIT binary patch literal 864 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/properties.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/properties.png new file mode 100644 index 0000000000000000000000000000000000000000..6e1932f2138e776f05c6af5b0d958ae8891eef7b GIT binary patch literal 1522 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z2{SlbkB>G000nYML_t(Y$BmU+jFr_D$A9bl_PNbDoO8x;?!}pLE(|RSf(kZR8>R(m zYtu#zO-*Z)CPbUGZ@!p57@sgPG;Pusdy7d^L!+Uj#3F{&sE8DX*oau1nR1z7rp&-F zhjaZdd#^qW(y?KtT@QOFd;Rxb_x~1vmb;%w*0Mt#g|wGZRu<0_(n*gvRwAp!jRm># z-i!YP!du}Dy-z20KK}Sm`d7C+Z#>BWD4+@gh%5p{1mE|$TDFW&El|j%80^lGO?muw z_0S(a+_(Fw{>OfIKXKze=d4;AB^SmH|3+4C`{}^$?|pl0`xghO)|~>v2Eqpa;rGg(gaN$qxBzj2e)L(5Qi_T|H)SJt-_(i@smzJ4?|C5QL@ z>_O9%!cQgO)Yv?KdUr-*8#BP-bh#Jli_26BL!O5pie1V{6vQ z#7FOQ>QYg6zxeEvXQyhMn{%3tJ*kF@s>7g4?3B&Jw__@^tY(sAaE#pb8sFcUAW;+$ zLw!C+wVoyw$3&TsII=`G;+|DC?r5%3i6FMhLe&z)LbYMBPB99k5*`QMyTp2Pp1WEj zW~XP^JF$)K3v>K=tiT;jHTH~LrYjSY&E@b#2y93k#6&iv4x$RyI<8eCsfSRlTT~Sz zvS|4SJ9;_#aWe-SF@u}G%ky8Y@zN_t82#}Ksa!zyY69OcK%{7>WJnWcB2to|W(8G< zony8XlS)FR9%G%us6xUBAB@d&X8a0>;A_k)r>A*oWRyc6w=z{qv#vd6xKP3O1m`)d zI$Y?8f`C%lQuM)ExL$5x5{9TA;hZkkz&T~j=koNnHz7bO=`%f7;kg5O9$Ew6T2sTv zGT$)d{VEQK!k8ck2*ZX3wNMfU(1^HpMb#uEZj^D>VnhVv3zKtIPJS{EK<8~)9(|~X zzXh$VZ=2z*i$#u4Civl9b668l4+Fw5qEd?q!$^)V4CoiEb2bVzu9uAZs12%uD#o!m zyRF3(8}7^_0_k*;Owyxw<5&3O#0(e5kMP3I3co**ED6}_w40b~;_HmgO#*E@6+3%^mOHx zoXX7wz^E+p=bG*ueeLNR5J5%RI8bCme||;!_B~;?BFpLxx(GUR@j7pPa2XK#I`e$< zfi{kwp6BlqC46t$3^CB1W8FXpy39vn1hCGrWw?c{>skQ8I!Co`*>P_Nk37(|Vg$}9 z9O#g6T6yrrvyKa8DT2f7HAxlXo}T!QF5~R!)y-TxZWO zU;E4U(y6`szgG6Bp7@Lr0a!J-Gg+?D*H-k}+^6jKe@Z!@DOAILg Y1|Zgkdom$rz5oCK07*qoM6N<$g3mSE;{X5v literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/properties_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/properties_32.png new file mode 100644 index 0000000000000000000000000000000000000000..de71682906a30b0c5a6c1877952454535946e350 GIT binary patch literal 2030 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 Fe*?H$tF-_C diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/rules.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/rules.png index c1e331809fc6ef1c09280e8a4b873dc7fc017812..80dbcf700fa626cabd33e8e9750b9adeddb335b4 100644 GIT binary patch literal 1390 zcmV-!1(EuRP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z4G03JI1yj~00izyL_t(Y$F-Kri(Ew%hrg%6;+oyRlmnM#fK*r_`kl_J~)p7_~>*cXf!%UMRZg})Co8hR1}vsRl%v^oT4Ir zUe*7zKCgnP8kfjyn9IHY#xuJl1ZXrmM^*LhYBLE$6-hVsy&#(Q&Tl4eBUpD$1QAG_ zqmYl>YP}BdZU`Wvqt#{-yz} z)zq7gL_3}%5w3yA6N)ihUTm_`a9Cry2pbF-#U&lYIgGVrvUyaJbj@QKhcH^q_#34p zr4V@~7=`&to2jcU>T8Z{WQZe6ZOx&sjlFu3(qI86%H`Q5#_oKQX1(I!1a=O^j1?oq zd5LcdAgT!dFpZYu#Y1H#rt6%Xta9|hGPo8WePXz-JOUU-wiH>p@&$*Vc&ZCgwbAl$ ztC#r(M4Doz3I^iHGBI6ec6p7ANf@76!~_9V>Ep-ov+Td)PI9>%%VD1Ji;F~23@A|m zBZUYNMXu$*n`cA!+0b%wvPQCSfqt1|X0^Z{6`{CwFUu2CSZfjShZ?_FA&Rr8!VRSi zqlL&Da1%tSL)G(4Z7t#GgJr(^c8d9hEPHp~Nax%*%fEifEw}E+S_?of4te(et=KRI zV5Qdbfm4{SH5%dsj1Lk=mh&?W7MdX<5JeIDZoLgvB}o#Tb69KXB*Kpumx%LySOXSe zxIfw?Q`=S1x;YfGk>%86g?hZ5g?gL$`8nb^##&1lh6F)?s*=lQIR5ol9Q$;dvlpw( zRoh@pHwkXyz@;2upthRu`~zjq&(xX7K1^lt1j|dy7;A7zLJ)?G3=h*kFvLP;8#{|R zewb`>&+bA>@ZVLG$~2{!Y{qharq0|-8`o~J{q{pN8x2&2PP@&y)5mGF3}@%d^yc%7 z4TkjPEpL5xg_j>MBO?EB1CefKj6=)m->T#?mV74Q)Gv!z>pcR7pnQA#{eV6 zh`DNqo;YB~SdOebY`l;v-fS?lyknHtZ-pEq0kc& z28N;jh=pp0LOx_`Ntvq*u+pdmU6NIOu@F`5&suhk#MGK?BCG5i&QfW#SgNJ1y2fCy z;n4#{E=)hhLv4_=2Nq66fg6MdrE^y1j&PDvTC0 zj1?oCicf0lIV$x=4EM$C7|HVSH%s(n1A4Ln1HBQgM0Bt(G`niKyMDUV*ppT?xmxIn z+>vAF0$(gP%3`+{O${lV<_h@?gEK`Q+P{U~T&Q6X7*Ndw#zX;82+(%Hdq`W0`Ebms zs0uidjiR3B7FjRwvhg5Dl7#wNJvlQOKYjDI+`dwOhDswbmls-dQD~>ks~=48<_r7& w^AqKzcP59Tz#JD5NFsja%-gMgp^0{1+BeF*(1`v3p{07*qoM6N<$g6a@~S^xk5 literal 470 zcmV;{0V)28P)42~^9Sh9|6qMgOsovd%xny@die|-9K09?8~|c_5JSm0mEp^mPYhqb zeq;FY;|I`?|3GK6FtD(2GO)4nB8SyMAa;NmV4oTw0;EKUj)D3qAMKG{aB%j9H}+q@ zer5Rl`7>S@u(R`my}-)Kbr9JA2N3c0$!UfscMdaP3j-ceV+J;HD-4&w1M$_v6AXt| z#)6ppkU}1g-``tl@l!pCK~U0$fkV~-VFD;Fja|wKrUPUkAYsX%XjBT;i!CW1!Qui| zpgMLS%>l#;$d(h87eH!oiDSzP(}CC&&DJwO9D>adMqH*73jhKP0K)*7ihG<18UO$Q M07*qoM6N<$f(LQENdN!< diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/rules_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/rules_32.png new file mode 100644 index 0000000000000000000000000000000000000000..60c9febe1188ec2ca1d8ceeaa2f154b8f65ee6ab GIT binary patch literal 1766 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z4F@rvaBR5%00w4BL_t(o!_AjpY#m1x#(!sKcK7*3iAD(VN-0IOLJ_K{P!Lcfnu?^Q{1J$f*iG6b)T9Y< z6Q^-(=lcHHox{WIUhnlEo(SUVUhSRP*_pH7_sw_C!2iSN=_&o6uX*U{DFCGCc=GtQ zz256l?{!F3@m}!?UOlSh?a;4iZ(B=k)qK1U&lmT#J8o9t{_lQa{3QTa1W+vAY3o_l}r`YVvLe`uSsNwz0ZyU8&?J})NFhG(np4*l`4cUs8SH5 zEBo>r#R%=Ti!qY-g%N#`k%Ld1(ZtDcv2Hhj942X{N~`UOZCqL~TzePDCoc7Asjp`Y zLMvSg^Qek1X`ze&K7TT{F+ZF-Ol*>%0YJ;w909Lks-7_#mJDM81Z>szqzRVAlQbEMYNKpt7*439r|naD~o3Mm;z0j8#O8grCznb%AeRQ(`@pu zGuSxI?9{Wwal9NvIgoru6vnhB0$QR#fL7}H{QeODp8DMkBJjBnhxY6h`0cSOTQ+YY z^Fes^+5oe!PjKKf53HhKdS)K$96k?XwFby3D0ae1*rj(uF~Y?+{>kJkuOJc>J}@vq zrP|NJ{M>2{ z2*wB|hf5^?EyIBK^oVd30);J$2^uIk|ISNLtJT@Mb&NF4m_GMBs&MD_9Yj%7GArSu z?;U32rjZ^B&R?1*>XYC%YFINDsQ2B(QqZuhf$)|9V`F2Cj*f;vMaZ%&*FhjbRtg3{ z@=Usdf*u4ir6;Q;vEe5tW-!JvII@k!Mib{8-UsM4r_C7Cy*g`n=GaNzcKa@xZO?{2 zLnl=}u)QBe@R{Q6IvUWf4@j3g0o13|-}ydfZ!B@)!Uf_u#yQvJ-&%`^psLgd2Wii| z%=vTw;JLrv;Ko9RG17Hc&w9I{2bzF?tK)faU*Ph{3p3od<6h?9JkH6vIg%s^1xfzq zBO@a?=jiX>z{p+q@bi;3#^2%i!|6r7`PpqWnoT0Bc`nekG?1fEh_I(%3x7Llhfm)B z2^x#@G@H$wI?u$!1Q#z}q5ayfD+XVg!Er;>;?)@89t;=3o8=zxm5m&Mdx*_wVc@a)wNm!G6abBYiw| z>?#j^d~;VfYt{oOPp@Vp3bYnsk z86JD~P5Ppk)OXg)1ai`eKJH zQ#K98v^$_WSp zW~FMEd`l^jH8?9ApIqRNrx)3`t4>aO>M26T2!?l<+^F&VAvvZJFFU^cv z@wb-)xRykA=-?A)RP%#Lalj}%!g~!y((TJ@N!8$Rd9D|fP4zk_PI*2!UZ+~IIKUZ$ zS5<3}*os4NuEg;M1&07*qo IM6N<$g1#|dga7~l literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/sdmx.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/sdmx.png index b0713c6f74772a6f730c51d1418b632b5f23f493..6c4eed565ad4b0744e809852d40dd9a74fd6201a 100644 GIT binary patch literal 1364 zcmV-a1*`grP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z3J5r5d)`+7000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000E9NklW zc@=)O7i*QQN+!!*+igd2%1dKEQaf*Pb9v6pguGCjXJX<{j1j&+`4_JrzJPIja<0d_ zhtKiu@j7v{u~>S)dFH-a^7>9+#GT)5(>`a3b z^%4)Sg@Ug{sl{GTrwE6tJkS@js=J&02WK&!#aM?*Dd4@I&XdLwsJ1$on4Z(mPtD^= z4C3I5a^_M@)2(vz^&2te6{I%B0j#wY^FCuIFEHHS!$3afniU?2ZQY5)Dp8VfY(6DP z(^i2s)glkAFJW*|AaV@VoX_~#8J-{imF=Y&28$KuY=SESNy(m!A@W@$7gA<{BoxH>T-#S+&#=crvq^7nAF7#Ss;UHC13a>& zkGt09T8?Z|)HoD8kH2Rxk*w-t_mHqUP$U(=!-$9Dz?!nlhWHOghSoAVI=bA8Xm4OX zDDdd*8@YR^LL*X)ooBip^3>=W@{=dIWBYcVzIBj57Dy6HBMs@w3wuWb?%94DD_3?c zy2+h;kTtTPQ0B2)hI!z+Dxs8l@cJIg;dyrK*n#7DtQ#KYx%;-#7g$ERR`A4)-8AZR z^z`;Fn{IB_sfmv+ zW|uW8Ri#iWar+G$5D`4jTRg3dVQqgm1HJd)y6#mRxmC#3jE7rmRhEpTEbA<@79oSz zp5@ls4saI2MKNKbDw4D(p)MPHR~v~-ZF%Wx#ukg>iqQY;`v45bDP46hOx7_4S6Fo+k-*%fF5)Mpgn z6XN>+|NnnL^zZ-gzkmPz`}YG(z4-J!ebwpxw_kqy^`~I{xv58Pzx@0?e%T5Ao*fQT z_Z_|e`sbg&*=x@l_U<(4+d2FA-Polkbi1}&Ox$hOzuR%zzP0Bc#x6N-)VtGm@?PV< zoeNIgfA!@@?9$`Wi;me(-K*HL*`RyJri+i`mmas6uzS&&`yapmidlNxq;FTl_RB!m z_|HBlTDxAdVWUycj!Tc;Zn*f!Y{IUkXCM6e`>%7~b>rThmJ@e-&O9*V@U1BaZ>qL! zk!ske)Ux^5ombA&_JuAydhNx>?)^8cC+*2!dv@Bvn`&)a%_i)&pS;(+e^DhnXaq2$x_N|i+-rRTVh0WwWf%6aFfBU8Pzzwa=ZE34czx@1T+qGw={ksC^9eMEX z%hGcXo_+lO=ik5GH(%U%`SC^6tW}_3Px5wmVd!9$^#F1>3p^r=fi#Hi!Qgf>+YZP$ z;pyTSB5^r6fq~J@;vmCQV@6K59UQ{U#@x!n%-YgZ&L2B)?%>G-2acXSeBcnrv(KMC za&vHTc6W3cZZI_3VDO>K+r!KA^odg^wKbY}f`gt-4-E_rzJB4#r0@%A2^TJ2y?oi+ zz{JSR(A0SP^vwwywrtwAaqH&tf|5Qu(UEZ0CKGi z3>Hpt4@J?Co1c=IR*74~g_Hk5DOd_*LvVgtNqJ&XDnmeGW?qS&pKFLhnX#U!o}q!k Sm!gG0RScf4elF{r5}E*`vwLCy diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/sdmx_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/sdmx_32.png new file mode 100644 index 0000000000000000000000000000000000000000..ce983f98c9bc0e042c54b1947a556e1863da2ed7 GIT binary patch literal 1938 zcmV;D2W|L?P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z3J4;Y87D0O000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000KfKM;RQSY~Wc$79$0;F}!!_ z7SmIcwf7=YRmeOUfPg+@3>pxGTjLpi_Q7?2cV>XTo43)vf1lO{W#HtM+q`pOfZu*J z%FxJYjR_HhF-yzw0D!!0|H|`D5=0 zsYrxt({uc-Z<>*TzB&dP&t4Khpk*bYgu(GFZ=b%xf{Bn92ivh3nkw+?A;qoXVYKgK zFr2tD%E^%;;ZO)sHm=y5y*I7H_Of0B7gWaLn_t`VnAy!5D7QYKYW+JOPp^Ma`g0kX~`V0gPN48 z<_ckGBEv7wUSVEEi4_argzzzVS|flZ&^IwpK@{KVc6qTqN&h_`V;PhvjL}$@1(Z3_ zpTRa3;m8=PSFNt*ggnSVp!wj~ByYd}8S^Gaq%=(_6sK%C__~Dc8*Buz!M7bQ4P}YZ z$_t5kJRRb*8INVk!3R9g1B6s0#M#k%7}31ymsq`~yFm)Orj3Eo$t=fCUnNHr$Inx? z99Bd$YGI0bH$p)vie-yZsl?oT0SPtn*Bdh=wk~IH+dO$}?#%kQ%0{^^zUS5Y$3OZr zh*G>Fqjaq4td*szL@wMMpWxU(dzsY{TwTHv8$%Nz+v4SRhrRJUJIxm~qnXZ^5yt`T zlZ+|;(tnrUY>02R7U_gHR!cd>K(PA*L435h{f8<3DUi8i+p!;l8q~ql;(4Y=OZN# zEsDDaqIMJ4N-<7lz$yFK;mPU&LOA&WmZj8@zdZNI-_9ER;pM1%~GJ=Ie(b%|_OUM>V+R)Jw}0RtieBCPG|01z zscxF8Hd7L|VP87R)eC3%+OAzsHVuQ$v1P-04s2^BoeYyN8Sv*&Mw87IIlR4{^7US} ze)$D9r+YZGbp>&&K;8pa7n#>(nq7EvXFIvcF^(L4v*x_M4L3*->;W|cQS@|macFxh z+uCFJR*G5W@}u27c$p!-zUL)U%Tg%IV(a=eKi;*0E;rAlxU7tZIr^1O&YyXYJ$v>x z^#4bWr%~xBJ9NCa0 zJ3Po+Z~dS_^WfYEW`WkGVTGz+P7q<;GtcnT<|qR<2kF_fr{=sqD$91*vOdkK)EE5w zqyMn~_5BSt_cIVY?Mjo9B{$gsttcUpYGvDwB%x5~!Tm9a#a!k50L-$i>WqJQGy#afroP^nO2EdAsP2&Z#dN7X?tX@rdVjz3hXSrhpiC8=JPgdk zXm4D<&63duOfGffvcag4%mRzwpY(<*Pi%X?ZxLbSUOs_{lFId*vN7hVUC*oVl@W3N Y4=xda%oyUu0RR9107*qoM6N<$f<3yQQvd(} literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/sm.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/sm.png deleted file mode 100644 index 42b98835283c778280130765b12b1269553fad17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 920 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5)VDUk zC&cyt|NsAh=pPXM`}_CbpTGaU{rq$9+2@;&KE8VY{mb{?zyJJw_5Rz*%TKrLzrN+r zy&0QsmrOZbH~Z}L^*48)diL?l&%givJ$U+|aneqQux`)zKG)EhUa?EM7GJEJe=(|N zXK2y7_51Gp`u+FPtru03cE%LUat>{>@tMTHkt?m=np&}~X40XsqSYaV>yBJ_w*SH- zpT>Wx6iYr!2bo;q$LoZ$F&4^5DYF$DNCg`o}M35GZ5@s*$N= zlC5Hrt6~%{We_M@7PFJs^>U{k7Pl&)Y9EaF#diYwfF<<|TAPhU@4bKv;J+ox_k zvu_<==sM#fBt@dB54GQ@g#3| z7lsa2Sq~tGv%n*=n1O*?7=#%aX3dcR3f}Z|aSV~ToSeYG?55_%W|5GTmX^qRk;5>| ztc=f3FK>nozrOtbh6NKgbgYnwaEWmW@``c`^NVu~lUtDx_0qu_G?S? z6EaeAlCskB5;IfJGKp;1xOH=RK}k_rVQKOAgoLDo4_`ig`}p-UKL-yNA15#KDvth+ zp02)+{iS`z-ToddyA(AoRZVqmm5sHn)y0=IE9&oGuwliHC0o|aX>DXp(I|IK4K4M} zjjeS~7LH&oF6MU5mUgaoPY*YbU{FyzcHqpR3zxZ{ZZo=Ijdcx7bPdfz3@oiojjRkUfm|yC10{~`(bP0l+XkK=#!Q^ diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/statistical.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/statistical.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0b30bfb2035039df6dbf8203bce56d4128a794 GIT binary patch literal 4004 zcmV;V4_okwP)Oz@Z0f2-7z;ux~O9+4z06=<WDR*FRcSTFz- zW=q650N5=6FiBTtNC2?60Km==3$g$R3;-}uh=nNt1bYBr$Ri_o0EC$U6h`t_Jn<{8 z5a%iY0C<_QJh>z}MS)ugEpZ1|S1ukX&Pf+56gFW3VVXcL!g-k)GJ!M?;PcD?0HBc- z5#WRK{dmp}uFlRjj{U%*%WZ25jX z{P*?XzTzZ-GF^d31o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcq zjPo+3B8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S z1Au6Q;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG z3;bXU&9EIRU@z1_9W=mEXoiz;4lcq~xDGvV5BgyU zp1~-*fe8db$Osc*A=-!mVv1NJjtCc-h4>-CNCXm#Bp}I%6j35eku^v$Qi@a{RY)E3 zJ#qp$hg?Rwkvqr$GJ^buyhkyVfwECO)C{#lxu`c9ghrwZ&}4KmnvWKso6vH!8a<3Q zq36)6Xb;+tK10Vaz~~qUGsJ8#F2=(`u{bOVlVi)VBCHIn#u~6ztOL7=^<&SmcLWlF zMZgI*1b0FpVIDz9SWH+>*hr`#93(Um+6gxa1B6k+CnA%mOSC4s5&6UzVlpv@SV$}* z))J2sFA#f(L&P^E5{W}HC%KRUNwK6<(h|}}(r!{C=`5+6G)NjFlgZj-YqAG9lq?`C z$c5yc>d>VnA`E_*3F2Qp##d8RZb=H01_mm@+|Cqnc9PsG(F5HIG_C zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{| zep&sA23f;Q!%st`QJ}G3cbou<7-yIK2z4nfCCCtN2-XOGSWo##{8Q{ATurxr~;I`ytDs%xbip}RzP zziy}Qn4Z2~fSycmr`~zJ=lUFdFa1>gZThG6M+{g7vkW8#+YHVaJjFF}Z#*3@$J_By zLtVo_L#1JrVVB{Ak-5=4qt!-@Mh}c>#$4kh<88)m#-k<%CLtzEP3leVno>={htGUuD;o7bD)w_sX$S}eAxwzy?UvgBH(S?;#HZiQMoS*2K2 zT3xe7t(~nU*1N5{rxB;QPLocnp4Ml>u<^FZwyC!nu;thW+pe~4wtZn|Vi#w(#jeBd zlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!hR|78Dq|Iq-afF%KE1Brn_fm;Im z_u$xr8UFki1L{Ox>G0o)(&RAZ;=|I=wN2l97;cLaHH6leTB-XXa*h%dBOEvi`+x zi?=Txl?TadvyiL>SuF~-LZ;|cS}4~l2eM~nS7yJ>iOM;atDY;(?aZ^v+mJV$@1Ote z62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~pu715HdQEGA zUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}Ti zncS4LsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q;9dL%E~B zJh;4Nr^(LEJ3myURP{Rblsw%57T)g973R8o)DE9*xN#~;4_o$q%o z4K@u`jhx2fBXC4{U8Qn{*%*B$Ge=nny$HAYq{=vy|sI0 z_vss+H_qMky?OB#|JK!>IX&II^LlUh#rO5!7TtbwC;iULyV-Xq?ybB}ykGP{?LpZ? z-G|jbTmIbG@7#ZCz;~eY(cDM(28Dyq{*m>M4?_iynUBkc4TkHUI6gT!;y-fz>HMcd z&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M!p0uH$#^p{Ui4P` z?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&GcDTy000SaNLh0L01FcU z01FcV0GgZ_00007bV*G`2i*r24k#)qUORLE00ihsL_t(I%WYL_Y*bYco;mmI-Mg=D zSxVb2l>%)kG?j{^fCYnqL6jiXQ1Ahoh&&>Rnh2u5e4rwT5RJsxsEHwnF+0f3nhG45s<2?oGO)Z9_o zEQvvtLX~1D#*By%(4$fjszd-lR1kp~5RsV?6E7G^D495U9{}R1G!TeNiFza!(m^*& zr%e)rA`k(bb_+8gj>rcfW=X)n42+0KM9eT43uT{MG>=P0ssgb=A~<$eRsnO(5bri>@?@IWiwvidBUm5zgs~FQP*@w0HnCA zrA4Dl3e$}!jY`pmK8%(Q}gpolY{_75oeObV3EpC)mM)mztYy$(bId!qDsHtpYC-%QC=}V zFa5=pv!@qiUTx{?YU}K7)A(*>th4y&%WC?D4$)zcsiWT7Q2i)stei$kA?92oW>+$fX`3 zrAQy;s65kh@WQRLExuLj%W`wFtqxcGmw*r?@W!paU0Z+tXy@tA-&&lVnPSl_PEFXX z7>P1)qVoh1$4t7`aW~Cvb33gce0y};yQ{}!Pe}G7CZ1ILnbTJmlz-J!-#>3!?tK|< z%_=Pt)G)_@!XR8*KMg#wMj0`c@G8RupuC%M~?h)uJ&U4;bTRc*Op{?9VUP< ziKLV_J9|I=u1X+meRWl;qwj&q9-XYpOx^b8oT37cRa5q!YL|+Ds@uI0~^?)$p@v+qx)I4!5^IvQJV8%AtcdH_sjL6lG_i-HbK6#`P7+S8@^ zp+F?XslBmoUgL>P56v9AW%tptN2e^Fn_t)1v-X{X4J|$#>Ir6MmS#eeY4?T&{!qm0 zaWJz*D!aBkx#*Ee*J0pEN#C`^iv`{xkNg7!5d=5Wt8N$o0000< KMNUMnLSTZ_p^vTr literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/statistical_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/statistical_32.png new file mode 100644 index 0000000000000000000000000000000000000000..9a60625c82f7cbc692828eb62dbfa8687b512335 GIT binary patch literal 4649 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 fU>#o%MIAC4VkM00000NkvXXu0mjfIP}m* literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/sum_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/sum_32.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d85ef4fc90cd6bdeef8c643ccedf8fa019693b GIT binary patch literal 837 zcmV-L1G@Z)P)gj1f3xaMA4pN;uwS$A0450|^ zP*jRwhfYrY1B#S_Q z+8AMbzwxob zTI6!MM$5A5QmNGYs|xT`f;{|w|8v{6QwIkJ002$XpeV}3@bK{cs|xU(0RTuQlcKx3 z`;%o^qp~dfgTWx`>guG^)6;vMot+EmbozUx0xHS?0L;zJrI>l;@bD0(X(A8^AQFk( zX6CU=6swzaiEQ55L94qex`6-9Yg%sxLG{)vECEEZuCf|;tSs+LG3lCL{#+kUdTy1HA+!K;9>vmhFcMwxk`tE&s4 zPzdRC8pp@SMMrP3@tjO1uRe}PMn+lyd~R%P47azpd%lb?GZKjehzMI-Tdo|gC6FX( zzPh?PtZ7Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q{ z2{t;wj9r!h00iMlL_t(Y$F-I3i&Rw@$3N%J?@@HCRd-f*X4}akQi}ye#WHtQG!4qc zh!88;L`>)p=v^ee^NkRxm1IyzrI5cW(Go>h#S&LV*B`iRJGz_b%--3Z9p^kxFV5Xr zmmnzU!oBD4oWt|I=llIW=YjwEF#x+xMgVDNVVn@KLYa)n1#ahNE zBX-dD0X_`_h-h75pb~n2`9#F38siyN1wa)P(BTQ7C|aFU-6twKCJ{DkHlGXCB*Q6y zFo24vs3KPN#=TpnZ!m|d28lscsvyI0aSKQQrfQiGpJJxgHYuvcs%RC!3WzAic;@>3 z%bd*pg2AAw2o@1g9961{XfQ`m4K$E4bL*G#RBhHcZQRKmfCi#Th54DqEP7(`e{zgJ zV5#T>r;!K`QRD>07;fDi;C|8K8B=B0U;@7l4?)~K6jUV^hPs-lJ5eA~K#_BTQRvH; zxq5pDzhsF=46%quf63wvCpQocySQJnm;hUWrU@}pH4(%*i;n^jRU}AK9I~uiTu(=r z&xy+g+7{K1qT)iAPy5vZ@3f4L7m7oUZgn;vp-2PHRKY+j;?dFNbNhaoc+|~B!KnL# zzCxKq#N$G@U$rYJkq}H8A3;Qshc$4;GvfPr*yF_I0`aIvBI?oJS-=bEF$SVx7vHt_ zDBC|;MohYXowXs4kQ-w=;-#jbFWN1pyGU&&-t4^9bG$%YF)86@aw_LjA z^TE3xvTX5udV70Wx#AU6mEPW7lF1}D4{W3H>6s5xq(SLBH^ifkmfrhi5>bzf-Hw`$ zE}skCK1Y5%PG8RrGMNmA4EsJzW^A z@OF!%==9Y*Z!MTyr6-@yv+uDa0J&U_g$oz5y5(^I`a7TGRa3E+v5AOjs72GY7^^~EO_Wqk1gnCb#=9^2H^l>Ao>B@_xBOQ+MC&1MzY j^bcD%WwTjLr_=fuUC&N-OBUek00000NkvXXu0mjf(rbN8 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-aggregate_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-aggregate_32.png new file mode 100644 index 0000000000000000000000000000000000000000..fff78da419474fe1ba87bd8b9a2a45dd63b82490 GIT binary patch literal 1644 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-filter.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..641cef86f3e47b0f175071ab2939d1b8cf7bd8e1 GIT binary patch literal 894 zcmV-^1A+XBP)Px#24YJ`L;zC&RRC6Qj~4y_000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q@ z4G9T4L{>)t00RC=L_t(I%WacSXk2v=$3MUK-oE|gzO>ESB)gh4tqDR^NNE&$Fg8`I z4O%evP(*5lc#|GHD0&eQJqVseJqQM+7wtg^LJvaHQs^aUQ`=J;da+4b$sgJzyV>`C zGvi@*Zw?Ie2j&a&{mwXm>ABU!VI}cq-UJcDiz23YuZSpK6;&hih9R!e@b$0XduG#3 z&#fkbvx`e>>5!_L7sHF-wKeRe?Y;%#MQEnt`X4PU)|=^x$YG_WwRGs?$!d@24rb;I zFat9KTCtUZ8CJ@dnf!8|!M%l2B;HI_EtPG)oB!4|d>u7G)KF7Y6>o}}AZElt>^?m5 ziGi7jS>#RdV#Hy|oqP5p0>}SbyKf3&-ia476(Z^EoCy~f*17*6rBaSq+ww#Xf&g|u z60yGR2^~bC7pqLqt}yjd4K<^gDZgI5&)M--t!k+HHla$? zkqR>^S|KTf z{4}>rapW`u*M6t|Fd^;jBN-az&h-U0@2${Vtr^>mPlL|E0Bme!oH<%$t0}xQUSsOS zlN=v^o>HMmS5hVn9C4guaNj^*clQZ>9P22_%W^OslXDukTByiDN0xqhzx z`5Uiw?*SY=y*=Fc`zG51r`D}2X#|;X$!K5?8=f;qYwTpg+b`63YplkpBYnJl`Wy=j z*U9H|EZ<#XVq(Hl1usTqh-;?eiusr~o~xMmnLBy7LYAedIWXhZkqQTQy-6I$xFBTs ziT&)PH=K&PsM+-O{=J38$uH)?nTZ!Vx8c2#N$Y{S^xyc055~Ixy1klyHZ`*`Tul}? zn`zwvy#M{RBo~Gy5wlDM)%H8Lfkc%2KQm*G?a5!*vgGwU!RY*EGp%3x>Xps^0Fe^q U$djZ90RR9107*qoM6N<$f_!72x&QzG literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-filter_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-filter_32.png new file mode 100644 index 0000000000000000000000000000000000000000..3f471bddb8584d8c236c8e82c8747b5dd995c60f GIT binary patch literal 1674 zcmV;526g#~P)Px#24YJ`L;zC&RRC6Qj~4y_000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q@ z4G0_1<`zx>00s(4L_t(o!{wJ-h@Dpz$A9~~o^$5RC7C#x&e%*sf(k<-Vxp9&6=N)E z601m+MuT{PN>L#Xg4iOh_);}}@U^Wrl8I^B67vwDbd;o(2^f$xC^M9hCWFBPD59by zs;H(iN+P0h=x-89&H*1-t3ZFHCi=uf{ifPbuzygst^I5ra}%kAHv6fJabs2@AA084 zi&Gj0W>b1@QvnB)sWy~qO^Ey`bD(Wo4{#f2#xyh5B7>pYDBFEhjbu2GMF4RtBR}GW ze>_X%#g+qrW?P4VsNJeXM(vSS#+sm#l=;EVXHl&=-gHvH*)WBBp|VKi)mJxDMX~n8 zwX27;&RHc~Uxk%q#qm8Qqv@o8Aa+;E^(sHv`}6;)yG_q7Qiuao6v;r~ks+9*w!R1c zu4t-_8=H1T()ku8vWhs5NCQ(x1TbI*4;Eu@B52`&h>LpG2xg5v zo3>Y2d~b&F6Hg=i9w!P7J%yO=LP)WELG}s z#Ro2UZ=auRLm&;y#uF>B@z4-5DT&zzp)lb|iRKt-B~r3vBMyzPF&!@~@ZY~vFfXZetq z=Wkag@iz1l6uZdvbQ5goLu)l^@7-m2agoL43e`%5T0{8Ao?U#or^LIp>X8-%5~U@p z#gW&%dFo=P-YPZCB8B_7c=jZP0|(eOG|1%S6or8S^5GDh2YOkmR++y$OL=yN#ko7& zo}1&)p@W=$=>?{5-q0vlsJ6rbZN>p(iI%y!G41}n=L<*Jz3;1Bx$-vs{rz-z7x9At z-}l`b4=?Zu!vH@B*uDGXEG{iGJ5!?AmEZB&D`%$GkWk6uU#$yYcQ!xuRtaeL^IO|K z#S?FwW_)~{gAX6%+O=yfZf4OHhKBBAU|@i;Q@^LK5og9uTMn-t$)z?@kH(>O;o#KF?E*qu?MxkeIo^rsz z>A#fP`khnDa)KgD#{*UKr)awjx-pu6W6e}w$eCg4nF43)*3tTC! zK)s>t-`RsIOwTT%3ZEOb{Tro)Otp*KOnG2O5d~`X0>$n=8c9Ovc`Pq4^TQuKWBH;s zFJuvDiG+!W=0ne*s}-*A`z;l25CqM`X{mxOBSYV_HDi)M7@~luH41S+Ar24`6@Ro?@Q;_A}$gx}RrkMvVdw4LwASNmS+}+*%&-G;g147Fj43WdHyG07*qoM6N<$f^35_=>Px# literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-group.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-group.png new file mode 100644 index 0000000000000000000000000000000000000000..678bf66ac3dd954650883e7709b56e06b4ece40a GIT binary patch literal 891 zcmV->1BCpEP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q@ z4+1i4KeEOE00R3-L_t(I%WacSXq;sb#((ekec5ieyKS;-+D))p-D)Y4Jy;bZLSveX z2mym2Drkjz5$VxV6})I~=4Snau%JRwaw!(;DX|UILqHAwK}bQ(0#iRm|?kHd1lTnacDT3i^Q9$swL9m{L+W6)0zK<~Q&vwG86C>2->ztYzMa_s)et_D1o&4^Q+Wa~}Z-U9HAWx zuTG9KQSr>pzRr(7EbvJ6K_0mG0AoiEF%X3u-LtmWs}f0%XEP|}2l)K^I)!Y=C*Q7c z>9cnj8>>=ze1@IEexd+e=s5GtG*72?oh8DWvkhQ zD9203yBLTV-V53LCfi<&NY(JF7*Hxie0inL-fYOlYpdjPIaY3NGF;rpg~fHk0K&jA zRUJa4tC1-6T^bGSR>!-SCq}ujxXy`ciK|zY!7Q{oF)tjy2UVq5EK)9)F|+c;)xT#W zLtLDQ+r2BpvyYX``_xSzD{*7>UzV4bsZ=UFQOU5glVT2j{rwO7^yBkxb9+aFUz+bl zaqQa%hqKpb-d_S|CSK@kquCkFm$tX_&z+vVO?kZI(}dQoMlePx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q@ z4*~*B=7MSf00r+!L_t(o!{wJBd!`S&XYW~i6JFA%URl~b=giK`nfcFu#_<3CQ}*SRKc5>kM#hYhE)l^P z!3Y>Jh>)(6eL?bTan>TKyh*;d=aR{t6}a!|$NK*QpsfSe_KK=(oiy5?&}e)_{MRc#0)e;|@Plh^!SdSE3aTU!~G z?j;f}fv2|YJ1LP?ORU|@fiz62+7PNWL+FQ&!Q`1YkScce#M#Tqpr|(H5XBq(`iK?88BqkG?Bn9*F9Gh<5iAXKQO_2j>4sEz+<}VO> z^`i;x7Q<{jo8sMqQ5890Fo{;?>Q$Z?{Pkrmw=cfBKsnNg5sVW8 z4+mhz=K6n7?;^d}4A2Uu#V2#9|DProdLh!mz8a;ql8UO`^bK=KK^pUj7uVHF3QLfUg4t#ricX3A?+p{!vhdHUgG7RW66hG3FXq z3O@h)Cmed|w+!5}ik3(-KR-{oT*mi(=H})If`GA8-HeUB&Dr=He0Rf^i$}oHvhorP z*qrZwe-Z^ea(gq!^?IFc+qSWL_ijc$wE9p!Qv5usMA(b3U?=Xo6Z<6GQx zcx;^Fsuo}{(4mA1Av-Z}a%x30UV zS^Ew?ERF=|zUrIw-MN)3y05+%2n9F()wjM`zznc-kw%KpF)L!Uc(U*GG;VVR(3$Fbp|y;shHvZbWN+ zNiMJ?XW6y@0|rUEp|uqTUXpW*0R;y>oMikTlPp`d43%2^w_eGL^!(6YCl`^EF~XW_ zTARJV>4v#^AkM}p$(Yd1r&W4k`dnrlAP9rvhUA7X<#!R`q7#uj(I^rOJeYF(fe#aO z|9G&6=Q~Qoahxgn-Zc^D8;RQcZ*5{=e0-eMt5+w6w5GGO6M*UIY1^KD=jCU@=A_w( zg@%)?*a&e7($>~iW@cuxDD2(4mv}*&1z5Fe6{k*}Vq#)~&dyFoMn)JJ8L^J60G`NI zftUn@^@cEXb2}pN#aI791n%fh))SL6T)Cu&si`TZr>9xFb}c)1?c$j|ZAglCcaX)u zG8^f%*4br&FBdUkY>c!7op*0CTgmAcimq2z;+8 zukv$d(a&|@Tom|STlSq4N&hjiQL!9hj9^Ii?%MP!|2nac>uG;H*a2f?AS3Xl?ozqUPP|& zJTItLs~5sB^p`GOS{@o2VrpuNg9i^%sZ`YEasaJ$xzT7m*xTFtORaT}QmVxmBTA{b tR;wwkwJ4>`nKNgq^?H2(Xazn2_%AU`;D1tdU#I{8002ovPDHLkV1l-(7T*8> literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-union.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-union.png new file mode 100644 index 0000000000000000000000000000000000000000..3e73f1bc6d367fcfcccd0a009823c191e2727b67 GIT binary patch literal 1333 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 VKi@Q%X9@rS002ovPDHLkV1j{Ci30!t literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validate.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validate.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3131801bdf2b0146541a9d15919289d237627c GIT binary patch literal 1411 zcmV-}1$_F6P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z4HX5)FzDX^00jd{L_t(Y$F-K-i`~9Btefa8!IsUKTM~Ba00FDmNC(7l;K@sg$5w!wV1r^1{ ze^tS%Vy&VgQC&5fvs70>RE-T~+D)eqeYUG#T!3m~5`(E)y8V02+OE}#sRYf%JBdEq2NS&v1+j+37-$dF(CyM|y7EMAn zt=h)cHQVmWH9^G^>SCmk2)9ub35qdH-mFk4TO4B=3>yrQ-qRGu zMT#kkoM04g%-0#aUL#nr_?{uD~2V`MzwmkUJ(x90Ak;@o(^&{&bTx7=C3c59ALkMAMd@eEBHI z8>*4clomn;x8@j`2pAeIGVuJJRGgm(7#=I~=5x*ZvENRRku;8zV7^ddKA-yh$eu%! zOBW5X0ww}Uc@85J0WIqdEU#{Sk3z{qHEaTCY|~g~{AA>i*}@{}BpmtaIN59# z-%sLpwD8T)K~hOLb9tJR7fzA%Q`GAy4+Pc>8Rjm}tH9pw>Bs(74N&aRYfR5}kr2QJRoT9yLIWsfUtY7g6FRa^uRZAG>Ns}Ut z!a`KF-FN6;k)l+o<2lOe9-sMgjg5Vqd7yOzlT+guV`y*B($(3^LamCaqLFVR5 zL?IWYUgIWX_-HC}#V2h09WGcmj=fBT*> zPNrJg^hH~1(if5VW56|`$h2?jhXB}nc;v3aW#GW;s|F74+Vo#@wtjqqe*x3$W1y=Y Rk`4d>002ovPDHLkV1lMPr`P}h literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validate_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validate_32.png new file mode 100644 index 0000000000000000000000000000000000000000..89a0a60d6b80f5813917f0c05dd3a73cc6f5af98 GIT binary patch literal 1707 zcmV;c22}ZpP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q` z4HPpGkxT~w00t{bL_t(o!_AjlY+Pp%$A8~<&hClrIM~^>vnJ%$G!kiA1Xa0+T*^fS zL94U{f@spfLt-i+A+?C7zEBAessw7Dij+7HC26AsQ8h(E0xAWPQv6W4tx()lq9k>L zz22<7zQya^vuB2fbMZO$auWq{w9+}>%zQJmGyj=yKKOrl&Ry33xy>ieT?W9!glB#~ zwOd5bi)cYr5m7`zR8S>ahjc}=YfY_HBY6q;$9zrXstWi25K%AZ6h(sbK;KFS3QJAVZ+*UC8ZCwJ2dcyg(v`G` z5ld*Yj%7?l3ne;o);xCdih8ao# qA;08OKCKPypvBE4BuG;k>V6hQ?!f>hDNI% z>QOb4!a_O%NVGHW;Y{Xfl)uQ?L}&`Su-8qS}mb)6Rh? zhjF;)mgdP@e_5F-N|;Zg_p*^JFLWYWtFRa>MtG0GXxcd-NT`*%-{A4xKX^~eZmcp- zr{|)gNGb%D6u>0T^?#x6RZWyOjUv?!1CeK*YdP`K1Ubiqjl!fFMifkwBDDKX(*jXG zyK5b!`pK#Yq??GU;<<)3Ihz>wauzRVL&avbBQZbYMCw}=ayCaGq5ifJ&{PTx&}a$Y z_*4mipZ%_kF>v_qQri$edoko6+}oZ%{MIPXk35aH=58d|0>I$V;Zz?WN2)tqn_9y+Pk!aj<3~=7B-?)c!kE^Z!lU;MAObJGI!(^CGB3EzxnoV1_VT?glS*q6!@T(I?PmQkVgv)K&*zn)PIX``|i~%0r*FMK* zUJm(R+mq#Ayz*N*Z#d-hc~q5Vv&nRIiSFK!{VV!_q9Vz`g03#Te~5uLw8h2(r~i1G zLSGRP!CK42^>J?2KFzTMZw46ua$~?6%Uk82v!J7l zmY-pJx<~Y8cpxEDss^T|&ZqCe5pSw5H2UdVEIr+gr!xs+iD{*LFiH0xu z0o=7?f~orJ+;Zyh2N;K3QUN;YIofHlV6lYnhxV^WaAY zsW+UIomFRnM#rkIYPZ%H{8p7?zj=y{TQ{MqtnKb%U9p!RzVLlqyDWcU^d;Vz8Ka}K z1AwXO6l=|Tw)fvoAOWcWq#_`KMyFvMN-t-5?oydEm&)W_LwCmjJ^7u?)@q4@?)P=m za06a>`xve(oVj$BbHl%2^X9PIwS1q-{eh0IoQU2F~(qwVSS-MUw;YLb!oL) zOpO1PN5Amh#Eh~$uCpa5QkrQm)ehVflgW1{)UDCtABMZAZQiwyZ{lCk~bz$ts3RHkv;Ilx%YnZ9UMB`J2-Us&VOgm-vAJ+TY*Xx*X;lR002ovPDHLkV1k1( BHtPTY literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table_32.png new file mode 100644 index 0000000000000000000000000000000000000000..2957702dc54331a5dff3f6d164e48439ccbf1075 GIT binary patch literal 788 zcmV+v1MB>WP)u#Dzv(i1)atI@Q(PRXrm!W|M-UYVPT-Tldzvj|R5- zD71L+?CTj8yhn1uF2e<#I?h>+%>T60LEbX&)>g>+Sq~&AT4;Mc{t|-ain$Gmf=9jX#UgY!{GE0lJ$U+j6zK>Up+km0C@DGkD>rB&rTpU9`_u6aVCv_ z=x;O(1>!v5GgXN5BJJ|r7=!~zlCa4Ep!5Jr%l(GtH={xSOI{f^}H2(hc29$^_$pLF-sR{>@+YXPb zCbWj30HSoMEC-xR7gzH6p(ubSFRL67nU8gLf*6p97?E&X@h`Dds?TT~K+S|os$SHc z%ko^D%kp#6Y5eV{@6N#1a%^$ss*X`PAa3Q$v97>la_Qnqzv9v*#d+Q3e)05G8b7jc zM<8MQ6`)!T$5jug4r)+G#K1!L@&$kAvOE{(vi$5+8h^e1%{4IDJP^Xr9U`_YSTjmJ z@DY~J13pLVa5IPYfGj(iDPPZ3)#{C>;#_PO7B{zG)OpoCpuXKd*X(FjsuRkCBA`{d z(tIWgux4b(_w5lUsvjS*EKaSBkD1!K`Y}^{YZ%h+s9KKR$34tkYqDUsUbLtk?-d(SM=#5g^UOT!_LQ12|VDM;P+7o)$-Cb>A z69yj$WX6ys8z1H-`?8U2$cS6A3=yWtpE;438MnE`L`~V^2Z!h;QrlgTA|DnmxqILD z?s=Zy^ZUKO_j;Ozkj2L} z0N5F%{lE=qU(4GwpcI1S4CAR4Yh9J3mkX-t6h<8lh9ouwm71d=+S>#~xB>VX)`Z*} z8AD*kXF?9>T$n3l0|BO@l?OGgRUU6^lh^1&%w=$Cl#~R5K&0Vlu$dLes0mroC8c@l zHHyG15V6UGJT+D8s)lVG4`7`dQ+Y8x2J3M(PG}7V!)vex!!Z=optweb8%RP!Vi>%7 zAyPEn*GRf4$7(ETWkLd?7$Q+L5{alIgqq|1C~hAdU3Txu5uv#psY-p4Yp|~1D`4vnmzckC`+L#dx zuAv3d4W60*Uwy&T5(20j2wa%=O1s#&Yh9>~1EqkgIgl=zZvxUTI_PErtbA~}NQ(1@ zgMbyClnIfbY9Hex4R(XwXtmi(bR{^BQx1#K;IM10TBFXc)l&{zn(Jf*k!HOh&1If( zsSUZLjR&;I@g9zAPB%k!fD<_(z=dF24FMluSRWS=Qu`#iO8Epla}@X-JQsvlN=7p4 zqKCs$Xp0SZXzV2fq0w3>2aa1T))JeJFk+G!tIkRwt3={*eD9e ztyqc0YPH%N4&0!@b$SGqY@n(BSl2J@0`9QUpNS# ziJ|ffC$jtR4u3!X;sCyU9aVt-Sbce-7*-tF{Ag+%!@oKE`}S#8mebOED@)%WD?7Gr z+sD_3>WR$Qd{Mk(d&WYBY&`qtx}hV1KWEQR?TyE-eQ8!+KRqgYp{YF5p`1(l4_C>J zPm~i&h39!b|EGBTgQ5D-$C0I9hDVCcZ6_hmNEQqA-j?z1I{LGhx)YmpnH9@%FFn(m zyxSMQcB!vWeToeK`^QM+{f;BCgyV#x_w#|{xub-C7R#EPDk{&Lc``NOxpMLH;ExX$ z_b%Q;>vtv|KWus)gKi|Phq{}~FP|(V)XwhiIQeaO-srPFR1yf>Mh4Mi8Hg@%}>uJl4F_EV<%3>h70yx jxWA)~+MXL=GqW-1YS-19dDHJcO8rQk_A2VM^>F8Zc7q!C diff --git a/src/main/webapp/TabularDataPortlet.css b/src/main/webapp/TabularDataPortlet.css index ad3335a..54edb79 100644 --- a/src/main/webapp/TabularDataPortlet.css +++ b/src/main/webapp/TabularDataPortlet.css @@ -1 +1,5 @@ /** Add css rules here for your application. */ +.ribbon { + height:127px; +} + diff --git a/src/main/webapp/TabularDataPortlet.html b/src/main/webapp/TabularDataPortlet.html index 6059ed0..732f485 100644 --- a/src/main/webapp/TabularDataPortlet.html +++ b/src/main/webapp/TabularDataPortlet.html @@ -7,8 +7,8 @@ - + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 934d3ec..f0ab032 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -23,11 +23,16 @@ org.gcube.portlets.user.tdw.server.TabularDataServlet + + + TDOpenService + org.gcube.portlets.user.td.open.server.TDOpenServiceImpl + + - SDMXImportWizardServlet - org.gcube.portlets.user.sdmximportwizard.server.SDMXImportWizardServiceImpl - 1 + SDMXImportWizardService + org.gcube.portlets.user.sdmximportwizardtd.server.SDMXImportWizardServiceImpl @@ -103,12 +108,22 @@ /tabulardataportlet/tdwdata - - + - SDMXImportWizardServlet + TDOpenService + /tabulardataportlet/TDOpenService + + + + + + SDMXImportWizardService /tabulardataportlet/SDMXImportWizardService + + + + diff --git a/tabulardataportlet.launch b/tabulardataportlet.launch deleted file mode 100644 index 5954b33..0000000 --- a/tabulardataportlet.launch +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -