From fc110628dca8b10010f79158349cd95d7a6b4b85 Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Tue, 13 Nov 2012 12:50:19 +0000
Subject: [PATCH] SP-330 BIS-229 add more methods from IQueryApiService to RPC
 service

SVN: 27590
---
 .../server/api/v1/DssServiceRpcGeneric.java   | 25 +++++++++++++++++++
 .../api/v1/DssServiceRpcGenericLogger.java    | 24 ++++++++++++++++++
 .../shared/api/v1/IDssServiceRpcGeneric.java  | 22 ++++++++++++++++
 .../client/api/v1/impl/DssComponentTest.java  | 20 +++++++++++++++
 4 files changed, 91 insertions(+)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java
index af300592ae2..cac4803c6e8 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java
@@ -24,6 +24,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.io.FilenameUtils;
@@ -54,7 +55,9 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.HierarchicalFileInfoDs
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.NewDataSetDTO;
 import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DatasetLocationUtil;
 import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.IQueryApiServer;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.AggregationServiceDescription;
 import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryTableModel;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.ReportDescription;
 
 /**
  * Implementation of the generic RPC interface.
@@ -408,4 +411,26 @@ public class DssServiceRpcGeneric extends AbstractDssServiceRpc<IDssServiceRpcGe
                         aggregationServiceName, parameters);
         return result;
     }
+
+    @Override
+    public QueryTableModel createReportFromDataSets(String sessionToken, String dataStoreCode,
+            String serviceKey, List<String> dataSetCodes)
+    {
+        QueryTableModel result =
+                queryApiServer.createReportFromDataSets(sessionToken, dataStoreCode, serviceKey,
+                        dataSetCodes);
+        return result;
+    }
+
+    @Override
+    public List<AggregationServiceDescription> listAggregationServices(String sessionToken)
+    {
+        return queryApiServer.listAggregationServices(sessionToken);
+    }
+
+    @Override
+    public List<ReportDescription> listTableReportDescriptions(String sessionToken)
+    {
+        return queryApiServer.listTableReportDescriptions(sessionToken);
+    }
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGenericLogger.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGenericLogger.java
index fb6841f76ff..dacfd88801c 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGenericLogger.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGenericLogger.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.dss.generic.server.api.v1;
 
 import java.io.File;
 import java.io.InputStream;
+import java.util.List;
 import java.util.Map;
 
 import ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked;
@@ -28,7 +29,9 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.DataSetFileDTO;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.FileInfoDssDTO;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.NewDataSetDTO;
 import ch.systemsx.cisd.openbis.generic.shared.AbstractServerLogger;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.AggregationServiceDescription;
 import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryTableModel;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.ReportDescription;
 
 /**
  * @author Franz-Josef Elmer
@@ -182,4 +185,25 @@ public class DssServiceRpcGenericLogger extends AbstractServerLogger implements
         return null;
     }
 
+    @Override
+    public QueryTableModel createReportFromDataSets(String sessionToken, String dataStoreCode,
+            String serviceKey, List<String> dataSetCodes)
+    {
+        logAccess(sessionToken, "create_report_from_data_sets", "SERVICE_KEY(%s)", serviceKey);
+        return null;
+    }
+
+    @Override
+    public List<AggregationServiceDescription> listAggregationServices(String sessionToken)
+    {
+        logAccess(sessionToken, "list-aggregation-services");
+        return null;
+    }
+
+    @Override
+    public List<ReportDescription> listTableReportDescriptions(String sessionToken)
+    {
+        logAccess(sessionToken, "list-table-report-descriptions");
+        return null;
+    }
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/IDssServiceRpcGeneric.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/IDssServiceRpcGeneric.java
index 50bb0940b51..9857d69c78e 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/IDssServiceRpcGeneric.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/IDssServiceRpcGeneric.java
@@ -17,6 +17,7 @@
 package ch.systemsx.cisd.openbis.dss.generic.shared.api.v1;
 
 import java.io.InputStream;
+import java.util.List;
 import java.util.Map;
 
 import ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked;
@@ -27,7 +28,9 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.authorization.Da
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.authorization.DataSetFileDTOPredicate;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.authorization.NewDataSetPredicate;
 import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.IQueryApiServer;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.AggregationServiceDescription;
 import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryTableModel;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.ReportDescription;
 
 /**
  * Generic functionality for interacting with the DSS.
@@ -226,6 +229,12 @@ public interface IDssServiceRpcGeneric extends IRpcService
     public String getValidationScript(String sessionToken, String dataSetTypeOrNull)
             throws IOExceptionUnchecked, IllegalArgumentException;
 
+    /**
+     * Returns metadata for all aggregation services. See
+     * {@link IQueryApiServer#listAggregationServices(String)}
+     */
+    public List<AggregationServiceDescription> listAggregationServices(String sessionToken);
+
     /**
      * Create the report from the specified aggregation service. See
      * {@link IQueryApiServer#createReportFromAggregationService(String, String, String, Map)}
@@ -233,4 +242,17 @@ public interface IDssServiceRpcGeneric extends IRpcService
     public QueryTableModel createReportFromAggregationService(String sessionToken,
             String aggregationServiceName, Map<String, Object> parameters);
 
+    /**
+     * Returns meta data for all reporting plugins which deliver a table. See
+     * {@link IQueryApiServer#listTableReportDescriptions(String)}
+     */
+    public List<ReportDescription> listTableReportDescriptions(String sessionToken);
+
+    /**
+     * Creates for the specified data sets a report. See
+     * {@link IQueryApiServer#createReportFromDataSets(String, String, String, List)}
+     */
+    public QueryTableModel createReportFromDataSets(String sessionToken, String dataStoreCode,
+            String serviceKey, List<String> dataSetCodes);
+
 }
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/DssComponentTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/DssComponentTest.java
index 15a0c5164d7..dcc5ad79e3c 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/DssComponentTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/DssComponentTest.java
@@ -75,7 +75,9 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.validation.ValidationS
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationService;
 import ch.systemsx.cisd.openbis.generic.shared.basic.GenericSharedConstants;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SessionContextDTO;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.AggregationServiceDescription;
 import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryTableModel;
+import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.ReportDescription;
 
 /**
  * A test of the DSS component and {@link IDssServiceRpcGeneric}.
@@ -693,6 +695,24 @@ public class DssComponentTest extends AbstractFileSystemTestCase
             return null;
         }
 
+        @Override
+        public QueryTableModel createReportFromDataSets(String sessionToken, String dataStoreCode,
+                String serviceKey, List<String> dataSetCodes)
+        {
+            return null;
+        }
+
+        @Override
+        public List<AggregationServiceDescription> listAggregationServices(String sessionToken)
+        {
+            return null;
+        }
+
+        @Override
+        public List<ReportDescription> listTableReportDescriptions(String sessionToken)
+        {
+            return null;
+        }
     }
 
     private class MockDssServiceRpcV1_1 extends MockDssServiceRpcV1_0
-- 
GitLab