From 2f2173b7a81c627fbef9ea48546d2e2a3fc011ee Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Fri, 12 Dec 2014 10:29:52 +0000 Subject: [PATCH] added ClientScopeHandler to help prevent the back button cache problem in Chrome and Firefox git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/news-feed@102006 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 4 ++-- .settings/com.google.gdt.eclipse.core.prefs | 2 +- .settings/org.eclipse.wst.common.component | 3 +++ pom.xml | 3 ++- .../user/newsfeed/client/NewsFeed.java | 24 +++++++++++++++---- src/main/webapp/WEB-INF/web.xml | 10 ++++++++ 6 files changed, 37 insertions(+), 9 deletions(-) diff --git a/.classpath b/.classpath index 1cac943..b00cae2 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -31,5 +31,5 @@ - + diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs index cbfcfb5..bf02f90 100644 --- a/.settings/com.google.gdt.eclipse.core.prefs +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -1,5 +1,5 @@ eclipse.preferences.version=1 jarsExcludedFromWebInfLib= -lastWarOutDir=/Users/massi/Documents/workspace/news-feed/target/news-feed-1.8.1-SNAPSHOT +lastWarOutDir=/Users/massi/Documents/workspace/news-feed/target/news-feed-1.8.2-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 2e0d87a..089ace4 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -7,6 +7,9 @@ uses + + uses + diff --git a/pom.xml b/pom.xml index 38ba2d1..8e2047a 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.gcube.portlets.user news-feed war - 1.8.1-SNAPSHOT + 1.8.2-SNAPSHOT gCube News Feed Portlet @@ -107,6 +107,7 @@ org.gcube.portlets.user gcube-widgets + compile org.gcube.portal diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java index 386e8ee..114b9a7 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java @@ -7,8 +7,8 @@ import net.eliasbalasis.tibcopagebus4gwt.client.PageBusListener; import org.gcube.portal.databook.shared.ClientFeed; import org.gcube.portal.databook.shared.ClientFeed.ClientFeedJsonizer; +import org.gcube.portlets.user.gcubewidgets.client.ClientScopeHelper; import org.gcube.portlets.user.newsfeed.client.panels.NewsFeedPanel; -import org.gcube.portlets.widgets.sessionchecker.client.CheckSession; import org.jsonmaker.gwt.client.Jsonizer; import com.google.gwt.core.client.EntryPoint; @@ -16,6 +16,8 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.event.logical.shared.ResizeEvent; import com.google.gwt.event.logical.shared.ResizeHandler; import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.Window.Location; +import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.RootPanel; /** @@ -26,10 +28,22 @@ public class NewsFeed implements EntryPoint { private final String UNIQUE_DIV = "newsfeedDIV"; final PageBusAdapter pageBusAdapter = new PageBusAdapter(); NewsFeedPanel mainPanel; - /** - * This is the entry point method. - */ - public void onModuleLoad() { + + + public void onModuleLoad() { + ClientScopeHelper.getService().setScope(Location.getHref(), new AsyncCallback() { + @Override + public void onSuccess(Boolean result) { + init(); + } + @Override + public void onFailure(Throwable caught) { + } + }); + } + + public void init() { + mainPanel = new NewsFeedPanel(); resize(); RootPanel.get(UNIQUE_DIV).add(mainPanel); diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index be77104..83f64e4 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -14,7 +14,17 @@ newsServlet /newsfeed/newsServlet + + + scopeService + org.gcube.portlets.user.gcubewidgets.server.ScopeServiceImpl + + + scopeService + /newsfeed/scopeService + + mailWisdgetServlet org.gcube.portlets.widgets.wsmail.server.WsMailServiceImpl