Project

General

Profile

Actions

Incident #3136

closed

From Tabular data lab I move to another VRE, then using the browser "Back" button returns an error

Added by Anton Ellenbroek over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Category:
Data Management
Target version:
Start date:
Apr 05, 2016
Due date:
% Done:

100%

Estimated time:
Infrastructure:
Production

Description

If I am in FAO Tuna Atlas, and use "Go To" to go to another VRE, the use of the back button of the browser results in an error message such as

"Error retrieving TabularResources: no endpoints found for org.gcube.resources.discovery.client.queries.impl.XQuery@f6068ae9=declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry'; for $resource in collection('/db/Profiles/RunningInstance')//Document/Data/ic:Profile/Resource, $entry in $resource/Profile/AccessPoint/RunningInstanceInterfaces/Endpoint where ($resource/Profile/ServiceClass/text() eq 'DataAnalysis') and ($resource/Profile/ServiceName/text() eq 'TabularData') and ($resource/Profile/DeploymentData/Status/text() eq 'ready') and (contains($entry/string(),'tabular-data-manager/tabularresourcemanager')) return $entry/text()
OK"

OR

"Error retrieving TabularResources: com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 400: Bad Request"

Can these errors be prevented?

Actions #1

Updated by Pasquale Pagano over 9 years ago

  • Tracker changed from Support to Incident
  • Category set to Data Management
  • Assignee set to Lucio Lelii
Actions #2

Updated by Lucio Lelii over 9 years ago

  • Assignee changed from Lucio Lelii to Giancarlo Panichi

this is not possible service side, I will assign this ticket to giancarlo that is the responsible for the portlet. But in my opinion it is not feasible also portlet side. The back button should be disabled directly from the portal. @massimiliano.assante@isti.cnr.it What do you think ?

Actions #3

Updated by Massimiliano Assante over 9 years ago

This problem is clear, and is due to the fact that upon back button the server method (in the portlet java) which is supposed to set te Context (scope) is not called.
To overcome this limitation @g.panichi@isti.cnr.it can use the ClientScopeHelper class as follows:

public void onModuleLoad() {

ClientScopeHelper.getService().setScope(Location.getHref(), new AsyncCallback() {
@Override
public void onSuccess(Boolean result) {
doWhateverYouWereDoing
}

@Override
public void onFailure(Throwable caught) {

}
});

The class is in

<groupId>org.gcube.portlets.user</groupId>
<artifactId>gcube-widgets</artifactId>

don't forget to put in your taxman portlet web.xml (clearly replace /$YOUR_SERVLET_URL_PATTERN)

    <servlet>
        <servlet-name>scopeService</servlet-name>
        <servlet-class>org.gcube.portlets.user.gcubewidgets.server.ScopeServiceImpl</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>scopeService</servlet-name>
        <url-pattern>/$YOUR_SERVLET_URL_PATTERN/scopeService</url-pattern>
    </servlet-mapping>

Actions #5

Updated by Giancarlo Panichi over 9 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

The problem is solved, the fix will be released in gCube3.11.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 8.91 MB)