From 086ae4757724e38cc9bcba8fa15ca9190da5936f Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Wed, 4 Feb 2015 11:18:24 +0000 Subject: [PATCH] Updated PeriodDataType git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@111649 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../gwtservice/client/rpc/TDGWTService.java | 15 ++++++ .../client/rpc/TDGWTServiceAsync.java | 1 + .../gwtservice/server/TDGWTServiceImpl.java | 49 +++++++++++++++++++ .../monitor/OperationMonitorCreator.java | 10 ++-- 4 files changed, 69 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java index 2fda468..1b3fc85 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java @@ -132,9 +132,24 @@ public interface TDGWTService extends RemoteService { //PeriodDataType + /** + * Get list of PeriodDataType + * + * @return + * @throws TDGWTServiceException + */ public ArrayList getPeriodDataTypes() throws TDGWTServiceException; + /** + * Retrieves the hierarchical relationship for the specific period data type + * + * @param periodDataType + * @return + * @throws TDGWTServiceException + */ + public ArrayList getHierarchicalRelationshipForPeriodDataTypes(PeriodDataType periodDataType) + throws TDGWTServiceException; // TabularResource /** diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java index 55421ac..47bfd3b 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java @@ -100,6 +100,7 @@ public interface TDGWTServiceAsync { //PeriodDataType void getPeriodDataTypes(AsyncCallback> callback); + void getHierarchicalRelationshipForPeriodDataTypes(PeriodDataType periodDataType, AsyncCallback> callback); // TabularResource void getCurrentTRId(AsyncCallback callback); diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java index bee4864..d4c541e 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java @@ -337,6 +337,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements timeF.getExample(), timeF.getRegExpr()); timeDataFormats.add(timeDataFormat); } + PeriodDataType periodDataType = new PeriodDataType( period.name(), period.getName(), timeDataFormats); periodDataTypes.add(periodDataType); @@ -356,6 +357,54 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements + e.getLocalizedMessage()); } } + + + /** + * + * {@inheritDoc} + */ + @Override + public ArrayList getHierarchicalRelationshipForPeriodDataTypes(PeriodDataType periodDataType) + throws TDGWTServiceException { + try { + HttpSession session = this.getThreadLocalRequest().getSession(); + SessionUtil.getAslSession(session); + + ArrayList hierarchicalPeriodDataTypes = new ArrayList(); + + PeriodType periodType= PeriodTypeMap.map(periodDataType); + + List hierarchicalList=PeriodType.getHierarchicalRelation().get(periodType); + + + for (PeriodType period : hierarchicalList) { + ArrayList timeDataFormats = new ArrayList(); + List listTimeFormat = period.getAcceptedFormats(); + for (TimeFormat timeF : listTimeFormat) { + TimeDataFormat timeDataFormat = new TimeDataFormat( + timeF.getExample(), timeF.getRegExpr()); + timeDataFormats.add(timeDataFormat); + } + PeriodDataType periodDT = new PeriodDataType( + period.name(), period.getName(), timeDataFormats); + hierarchicalPeriodDataTypes.add(periodDT); + } + + return hierarchicalPeriodDataTypes; + + } catch (TDGWTServiceException e) { + throw e; + } catch (SecurityException e) { + e.printStackTrace(); + throw new TDGWTServiceException(SECURITY_EXCEPTION_RIGHTS); + } catch (Throwable e) { + logger.error("getPeriodDataTypes(): " + e.getLocalizedMessage(), e); + throw new TDGWTServiceException("Error retrieving hierarchical list of period types: " + + e.getLocalizedMessage()); + } + } + + /** * diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/monitor/OperationMonitorCreator.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/monitor/OperationMonitorCreator.java index 6b7e851..8a58a9d 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/monitor/OperationMonitorCreator.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/monitor/OperationMonitorCreator.java @@ -309,7 +309,6 @@ public class OperationMonitorCreator { operationMonitor.setTrId(trId); tabResource = SessionUtil.getCSVImportTabResource(session); - logger.debug("CurrentTabResource :" + tabResource); if (tabResource != null) { tabResource.setTrId(trId); SessionUtil.setTabResource(session, tabResource); @@ -318,6 +317,7 @@ public class OperationMonitorCreator { tabResource.setTrId(trId); SessionUtil.setTabResource(session, tabResource); } + logger.debug("CurrentTabResource set:" + tabResource); SessionUtil.setTRId(session, trId); SessionUtil.addToCurrentTabularResourcesOpen(session, tabResource); break; @@ -328,7 +328,6 @@ public class OperationMonitorCreator { operationMonitor.setTrId(trId); tabResource = SessionUtil.getSDMXImportTabResource(session); - logger.debug("CurrentTabResource :" + tabResource); if (tabResource != null) { tabResource.setTrId(trId); SessionUtil.setTabResource(session, tabResource); @@ -337,6 +336,7 @@ public class OperationMonitorCreator { tabResource.setTrId(trId); SessionUtil.setTabResource(session, tabResource); } + logger.debug("CurrentTabResource set:" + tabResource); SessionUtil.setTRId(session, trId); SessionUtil.addToCurrentTabularResourcesOpen(session, tabResource); break; @@ -347,13 +347,10 @@ public class OperationMonitorCreator { operationMonitor.setTrId(trId); break; default: - trId = new TRId(); - trId.setId(taskWrapper.getTrId().getId()); + trId = new TRId(taskWrapper.getTrId().getId()); trId = retrieveTabularResourceBasicData(trId); - operationMonitor.setTrId(trId); tabResource = SessionUtil.getTabResource(session); - logger.debug("CurrentTabResource :" + tabResource); if (tabResource != null) { tabResource.setTrId(trId); SessionUtil.setTabResource(session, tabResource); @@ -362,6 +359,7 @@ public class OperationMonitorCreator { tabResource.setTrId(trId); SessionUtil.setTabResource(session, tabResource); } + logger.debug("CurrentTabResource set:" + tabResource); SessionUtil.setTRId(session, trId); break;