Proper recovery of informations

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@84121 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2013-10-24 16:39:47 +00:00
parent fca3c40ac4
commit 7c566446d5
3 changed files with 45 additions and 17 deletions

View File

@ -37,7 +37,7 @@ import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("TDGWTService") @RemoteServiceRelativePath("TDGWTService")
public interface TDGWTService extends RemoteService { public interface TDGWTService extends RemoteService {
public TabResource getTabResource() throws TDGWTServiceException; public TabResource getTabResourceInformation() throws TDGWTServiceException;
public void setTabResource(TabResource tr) throws TDGWTServiceException; public void setTabResource(TabResource tr) throws TDGWTServiceException;

View File

@ -37,7 +37,7 @@ public interface TDGWTServiceAsync {
void createTabularResource(TabResource tabResource,AsyncCallback<TabResource> callback); void createTabularResource(TabResource tabResource,AsyncCallback<TabResource> callback);
void getTabResource(AsyncCallback<TabResource> callback); void getTabResourceInformation(AsyncCallback<TabResource> callback);
void setTabResource(TabResource tabResource, AsyncCallback<Void> callback); void setTabResource(TabResource tabResource, AsyncCallback<Void> callback);

View File

@ -6,6 +6,7 @@ package org.gcube.portlets.user.td.gwtservice.server;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -76,7 +77,10 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
protected TabularDataService service; protected TabularDataService service;
protected HttpSession session; protected HttpSession session;
protected ASLSession aslSession; protected ASLSession aslSession;
public void setTabResource(TabResource tabResource) public void setTabResource(TabResource tabResource)
throws TDGWTServiceException { throws TDGWTServiceException {
try { try {
@ -86,15 +90,8 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
throw new TDGWTServiceException( throw new TDGWTServiceException(
"Error setting TabResource: null"); "Error setting TabResource: null");
} }
if (tabResource.getTrId() == null) {
logger.error("Error setting TabResource trId is null");
throw new TDGWTServiceException(
"Error setting TabResource trId is null");
}
SessionUtil.setTabResource(session, tabResource); SessionUtil.setTabResource(session, tabResource);
SessionUtil.setTRId(session, tabResource.getTrId());
return; return;
} catch (Exception e) { } catch (Exception e) {
@ -111,10 +108,20 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
/** /**
* *
*/ */
public TabResource getTabResource() throws TDGWTServiceException { public TabResource getTabResourceInformation() throws TDGWTServiceException {
try { try {
session = this.getThreadLocalRequest().getSession(); session = this.getThreadLocalRequest().getSession();
return SessionUtil.getTabResource(session); aslSession = SessionUtil.getAslSession(session);
TabResource currentTR=SessionUtil.getTabResource(session);
if(currentTR==null){
logger.error(
"CURRENT_TABULAR_RESOURCE is null");
throw new TDGWTServiceException(
"CURRENT_TABULAR_RESOURCE is null");
}
return currentTR;
} catch (Exception e) { } catch (Exception e) {
logger.error( logger.error(
@ -187,9 +194,29 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
} }
} }
protected void syncTRMetaData(TabularResource tr,TabResource tabResource){
Date date=Calendar.getInstance().getTime();
tabResource.setDate(sdf.format(date));
tr.setMetadata(new NameMetadata(tabResource.getName()));
tr.setMetadata(new DescriptionMetadata(tabResource.getDescription()));
tr.setMetadata(new CreationDateMetadata(date));
tr.setMetadata(new AgencyMetadata(tabResource.getAgency()));
tr.setMetadata(new RightsMetadata(tabResource.getRight()));
TRId trId = new TRId(String.valueOf(tr.getId().getValue()));
tabResource.setTrId(trId);
}
protected void retriveTRMetadataFromService(TabularResource tr)
throws TDGWTServiceException {
retriveTRMetadataFromService(tr, 0);
}
protected TabResource retriveTRMetadataFromService(TabularResource tr, int i) protected TabResource retriveTRMetadataFromService(TabularResource tr, int i)
throws TDGWTServiceException { throws TDGWTServiceException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
NameMetadata nameMeta; NameMetadata nameMeta;
RightsMetadata rightsMeta; RightsMetadata rightsMeta;
CreationDateMetadata creationDateMeta; CreationDateMetadata creationDateMeta;
@ -431,10 +458,9 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
.getTabResource(); .getTabResource();
TabularResource serviceTR = trService.createTabularResource(); TabularResource serviceTR = trService.createTabularResource();
// Table table=trService.getLastTable(serviceTRId);
syncTRMetaData(serviceTR,importSDMXTabResource);
TRId trId = new TRId(String.valueOf(serviceTR.getId().getValue()));
importSDMXTabResource.setTrId(trId);
SessionUtil SessionUtil
.setSDMXImportTabResource(session, importSDMXTabResource); .setSDMXImportTabResource(session, importSDMXTabResource);
@ -520,6 +546,8 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
sdmxImportTabResource.setTrId(trId); sdmxImportTabResource.setTrId(trId);
SessionUtil.setSDMXImportTabResource( SessionUtil.setSDMXImportTabResource(
session, sdmxImportTabResource); session, sdmxImportTabResource);
SessionUtil
.setTabResource(session, sdmxImportTabResource);
SessionUtil.setTRId(session, trId); SessionUtil.setTRId(session, trId);