From ffd2f76554dacf913a4c62787fea99d946d84727 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 5 Jul 2011 12:24:00 +0000
Subject: [PATCH] [LMS-2301] add IDataSourceQueryService to the reporting
 plugin framework

SVN: 21981
---
 .../server/plugins/jython/PluginScriptRunnerFactory.java | 9 +++++++++
 .../cisd/openbis/dss/generic/shared/ServiceProvider.java | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java
index 0a87becfa77..36489f3953d 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java
@@ -32,6 +32,7 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.api.IDataSet;
 import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.api.IMailService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.DataSetProcessingContext;
 import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider;
+import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSourceQueryService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
 import ch.systemsx.cisd.openbis.generic.shared.managed_property.api.ISimpleTableModelBuilderAdaptor;
 
@@ -45,6 +46,8 @@ class PluginScriptRunnerFactory implements IPluginScriptRunnerFactory
 
     private final static String SEARCH_SERVICE_VARIABLE_NAME = "searchService";
 
+    private final static String DATA_SOURCE_QUERY_SERVICE_VARIABLE_NAME = "queryService";
+
     private final static String MAIL_SERVICE_VARIABLE_NAME = "mailService";
 
     private final String scriptPath;
@@ -139,6 +142,7 @@ class PluginScriptRunnerFactory implements IPluginScriptRunnerFactory
         final Evaluator evaluator = new Evaluator("", null, scriptString, false);
         evaluator.set(SEARCH_SERVICE_VARIABLE_NAME, createSearchService());
         evaluator.set(MAIL_SERVICE_VARIABLE_NAME, createMailService(context));
+        evaluator.set(DATA_SOURCE_QUERY_SERVICE_VARIABLE_NAME, createDataSourceQueryService());
         return evaluator;
     }
 
@@ -147,6 +151,11 @@ class PluginScriptRunnerFactory implements IPluginScriptRunnerFactory
         return ServiceProvider.getSearchService();
     }
 
+    private static IDataSourceQueryService createDataSourceQueryService()
+    {
+        return ServiceProvider.getDataSourceQueryService();
+    }
+
     private static IMailService createMailService(DataSetProcessingContext context)
     {
         return new MailService(context.getMailClient(), context.getUserEmailOrNull());
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java
index fbe06c54e8b..462e48b6309 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java
@@ -26,6 +26,8 @@ import com.marathon.util.spring.StreamSupportingHttpInvokerServiceExporter;
 
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
+import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSourceQueryService;
+import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSourceQueryService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
 
 /**
@@ -104,6 +106,11 @@ public class ServiceProvider
         return ((ISearchService) getApplicationContext().getBean("search-service"));
     }
 
+    public static IDataSourceQueryService getDataSourceQueryService()
+    {
+        return new DataSourceQueryService();
+    }
+
     public static IDataSetPathInfoProvider getDataSetPathInfoProvider()
     {
         return ((IDataSetPathInfoProvider) getApplicationContext().getBean(
-- 
GitLab