/**
* This Source Code Form is subject to the terms of the Mozilla Public License,
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
* obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under
* the terms of the Healthcare Disclaimer located at http://openmrs.org/license.
*
* Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS
* graphic logo is a trademark of OpenMRS Inc.
*/
package org.openmrs.web.filter.initialization;
import java.util.ArrayList;
import java.util.List;
import org.openmrs.util.OpenmrsConstants;
import org.openmrs.web.WebConstants;
/**
* The {@link InitializationFilter} uses this model object to hold all properties that are edited by
* the user in the wizard. All attributes on this model object are added to all templates rendered
* by the {@link InitializationFilter}.
*/
public class InitializationWizardModel {
// automatically given to the .vm files and used there
public static final String headerTemplate = "org/openmrs/web/filter/initialization/header.vm";
// automatically given to the .vm files and used there
public static final String footerTemplate = "org/openmrs/web/filter/initialization/footer.vm";
// Values for installMethod field.
public static final String INSTALL_METHOD_SIMPLE = "simple";
public static final String INSTALL_METHOD_ADVANCED = "advanced";
public static final String INSTALL_METHOD_TESTING = "testing";
public static final String INSTALL_METHOD_AUTO = "auto";
// Default OpenMRS admin password set by the simple installation.
public static final String ADMIN_DEFAULT_PASSWORD = "Admin123";
public static final String OPENMRS_VERSION = OpenmrsConstants.OPENMRS_VERSION_SHORT;
/**
* Default database name to use unless user specifies another in the wizard or they are creating
* a test installation
*/
public static final String DEFAULT_DATABASE_NAME = WebConstants.WEBAPP_NAME;
/**
* Records completed tasks and are displayed at the top of the page upon error
*/
public List<String> workLog = new ArrayList<String>();
/**
* Whether the runtime properties file could possible be created. (only read by the velocity
* scripts)
*/
public boolean canCreate = true;
/**
* Error message from not being able to create the runtime properties file (only read by the
* velocity scripts)
*/
public String cannotCreateErrorMessage = "";
/**
* Whether the runtime file can be edited (only read by the velocity scripts)
*/
public boolean canWrite = true;
/**
* The location of the runtime properties file (only read by the velocity scripts)
*/
public String runtimePropertiesPath = "";
public String installMethod = INSTALL_METHOD_SIMPLE;
/**
* True/false marker for the question "Do you currently have an OpenMRS database installed"
*/
public Boolean hasCurrentOpenmrsDatabase = true;
/**
* True/false marker for the
* question"Do you currently have a database user other than root that has read/write access"
*/
public Boolean hasCurrentDatabaseUser = true;
/**
* Filled out by the user on the databasesetup.vm page
*/
public String databaseName = DEFAULT_DATABASE_NAME;
/**
* Filled out by user on the databasesetup.vm page Looks like:
*/
public String databaseConnection = "jdbc:mysql://localhost:3306/@DBNAME@?autoReconnect=true&sessionVariables=default_storage_engine=InnoDB&useUnicode=true&characterEncoding=UTF-8";
/**
* Optional Database Driver string filled in on databasesetup.vm
*/
public String databaseDriver = "";
/**
* MySQL root account password used for simple installation. Filled in simplesetup.vm.
*/
public String databaseRootPassword = "";
/**
* Filled in on databasesetup.vm
*/
public String createDatabaseUsername = "root";
/**
* Filled in on databasesetup.vm
*/
public String createDatabasePassword = "";
/**
* DB user that can create an openmrs db user Filled in on databasetablesanduser.vm
*/
public String createUserUsername = "root";
/**
* DB user that can create an openmrs db user Filled in on databasetablesanduser.vm
*/
public String createUserPassword = "";
/**
* The username of a user that exists that can read/write to openmrs. Entered on
* databasetablesanduser page
*/
public String currentDatabaseUsername = "";
/**
* The password of a user that exists that can read/write to openmrs. Entered on
* databasetablesanduser page
*/
public String currentDatabasePassword = "";
/**
* Asked for on the databasetablesanduser.vm page to know if their existing database has the
* tables or not
*/
public Boolean createTables = Boolean.FALSE;
/**
* if the user asked us to create the user for openmrs
*/
public Boolean createDatabaseUser = Boolean.FALSE;
/**
* Enables importing test data from the remote server
*/
public Boolean importTestData = Boolean.FALSE;
/**
* Does the user want to add the demo data to the database?
*/
public Boolean addDemoData = Boolean.FALSE;
/**
* Asked for on the otherproperties.vm page to know if the allow_web_admin runtime property is
* true/false
*/
public Boolean moduleWebAdmin = Boolean.TRUE;
/**
* Asked for on otherproperties.vm page to know if the runtime property for auto updating their
* db is true/false
*/
public Boolean autoUpdateDatabase = Boolean.FALSE;
/**
* Password for the admin user if the database was created now
*/
public String adminUserPassword = ADMIN_DEFAULT_PASSWORD;
/**
* Implementation name.
*/
public String implementationIdName = "";
/**
* Implementation ID.
*/
public String implementationId = "";
/**
* Pass phrase used to validate who uses your implementation ID.
*/
public String implementationIdPassPhrase = "";
/**
* Text describing the implementation.
*/
public String implementationIdDescription = "";
public String setupPageUrl = WebConstants.SETUP_PAGE_URL;
/**
* The tasks to be executed that the user selected from the wizard's prompts
*/
public List<WizardTask> tasksToExecute;
public String localeToSave = "";
/**
* The url to the remote system
*/
public String remoteUrl = "";
/**
* The username to use to authenticate to the remote system
*/
public String remoteUsername = "";
/**
* The password to use to authenticate to the remote system
*/
public String remotePassword = "";
/**
* The current step. e.g Step 1 of ...
*/
public Integer currentStepNumber = 1;
/**
* The total number of steps. e.g Step ... of 5
*/
public Integer numberOfSteps = 1;
}