/**
* The contents of this file are subject to the OpenMRS Public License
* Version 1.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://license.openmrs.org
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* Copyright (C) OpenMRS, LLC. All Rights Reserved.
*/
package org.openmrs.module;
import java.util.HashMap;
import java.util.Map;
/**
* Constants used by the module system in openmrs
*/
public class ModuleConstants {
/**
* A map from "moduleid" to "required version" for all core modules that are required by
* openmrs. A module with at least the given version is required to start before openmrs will
* fully start.
*/
public static final Map<String, String> CORE_MODULES = new HashMap<String, String>();
static {
CORE_MODULES.put("logic", "0.4");
}
/**
* Used to determine if the {@link #CORE_MODULES} list should be used or not. For unit
* testing this is set to true to allow for faster runs with less dependencies.
*/
public static final String IGNORE_CORE_MODULES_PROPERTY = "module.ignore_core_status";
/**
* Name of the file in the module repository to ping to question for updates to a module
*/
public static final String UPDATE_FILE_NAME = "update.rdf";
/**
* Name of the global property that will tell the system where to look for modules to load. Can
* be either relative or absolute
*/
public static final String REPOSITORY_FOLDER_PROPERTY = "module_repository_folder";
/**
* Default name of the folder that holds the currently loaded modules for the system
*
* @see #REPOSITORY_FOLDER_PROPERTY
*/
public static final String REPOSITORY_FOLDER_PROPERTY_DEFAULT = "modules";
/**
* Setting either of these properties to false will block web administration of modules
*
* @see #RUNTIMEPROPERTY_ALLOW_ADMIN
*/
public static final String RUNTIMEPROPERTY_ALLOW_UPLOAD = "module.allow_upload";
/**
* Setting either of these properties to "false" will block web administration of modules
*
* @see #RUNTIMEPROPERTY_ALLOW_UPLOAD
*/
public static final String RUNTIMEPROPERTY_ALLOW_ADMIN = "module.allow_web_admin";
/**
* Intended to be used by the testing framework in order to set a list of specific files that
* need to be loaded by the Context. Should be space separated. Should be either absolute file
* paths or classpath loadable file paths.
*/
public static final String RUNTIMEPROPERTY_MODULE_LIST_TO_LOAD = "module.list_to_load";
}