diff --git a/datastore_server/dist/etc/service.properties b/datastore_server/dist/etc/service.properties index 492eb3353d0e07a0010f47cd05792e48dccb9ddd..8b6923932796afa24fa8cd4d4d33fd477f297c51 100644 --- a/datastore_server/dist/etc/service.properties +++ b/datastore_server/dist/etc/service.properties @@ -21,6 +21,9 @@ use-nio-selector-socket = false # Session timeout in minutes session-timeout = 720 +# The root directory for session workspace directories +session-workspace-root-dir = data/sessionWorkspace + # # Data set authorization cache # diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/IPluginTaskInfoProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/IPluginTaskInfoProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..de73f4669403a1d45537ca661bf5bc3caf2708a1 --- /dev/null +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/IPluginTaskInfoProvider.java @@ -0,0 +1,51 @@ +/* + * Copyright 2012 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks; + +import java.io.File; + +import ch.systemsx.cisd.openbis.generic.shared.dto.DatastoreServiceDescriptions; + +/** + * Info provider for plugin tasks. + * + * @author Bernd Rinn + */ +public interface IPluginTaskInfoProvider +{ + + /** + * Returns the root directory of the data store. + */ + public File getStoreRoot(); + + /** + * Returns the root directory of session workspaces. + */ + public File getSessionWorkspaceRootDir(); + + public PluginTaskProvider<IReportingPluginTask> getReportingPluginsProvider(); + + public PluginTaskProvider<IProcessingPluginTask> getProcessingPluginsProvider(); + + public ArchiverPluginFactory getArchiverPluginFactory(); + + public void logConfigurations(); + + public DatastoreServiceDescriptions getPluginTaskDescriptions(); + +} \ No newline at end of file diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskInfoProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskInfoProvider.java index ca03d064ae3471e0065dc7857054ef3622318632..88292cceb2b267ec23e9fbbf5f986aeb1682cf91 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskInfoProvider.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskInfoProvider.java @@ -33,13 +33,13 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DatastoreServiceDescriptions; * * @author Tomasz Pylak */ -public class PluginTaskInfoProvider +public class PluginTaskInfoProvider implements IPluginTaskInfoProvider { public static final String STOREROOT_DIR_KEY = "storeroot-dir"; private static final String SESSION_WORKSPACE_ROOT_DIR_KEY = "session-workspace-root-dir"; - private static final String SESSION_WORKSPACE_ROOT_DIR_DEFAULT = "sessionWorkspace"; + private static final String SESSION_WORKSPACE_ROOT_DIR_DEFAULT = "data/sessionWorkspace"; /** name of archiver properties section */ @Private @@ -56,7 +56,7 @@ public class PluginTaskInfoProvider private final File sessionWorkspaceRootDir; /** for external injections */ - public static PluginTaskInfoProvider create() + public static IPluginTaskInfoProvider create() { IServletPropertiesManager servletPropertiesManager = DataStoreServer.getConfigParameters(); Properties properties = DssPropertyParametersUtil.loadServiceProperties(); @@ -95,6 +95,7 @@ public class PluginTaskInfoProvider /** * Returns the root directory of the data store. */ + @Override public final File getStoreRoot() { return storeRoot; @@ -103,21 +104,25 @@ public class PluginTaskInfoProvider /** * Returns the root directory of session workspaces. */ + @Override public File getSessionWorkspaceRootDir() { return sessionWorkspaceRootDir; } + @Override public PluginTaskProvider<IReportingPluginTask> getReportingPluginsProvider() { return reportingPlugins; } + @Override public PluginTaskProvider<IProcessingPluginTask> getProcessingPluginsProvider() { return processingPlugins; } + @Override public ArchiverPluginFactory getArchiverPluginFactory() { return archiverTaskFactory; @@ -129,6 +134,7 @@ public class PluginTaskInfoProvider reportingPlugins.check(false); } + @Override public void logConfigurations() { processingPlugins.logConfigurations(); @@ -194,6 +200,7 @@ public class PluginTaskInfoProvider sectionName, false); } + @Override public DatastoreServiceDescriptions getPluginTaskDescriptions() { return new DatastoreServiceDescriptions(reportingPlugins.getPluginDescriptions(),