Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/config/ConfigurationItem.hbm.xml =================================================================== diff -u -re136309c831c4509819e7651ce2f565747bccb57 -r5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/config/ConfigurationItem.hbm.xml (.../ConfigurationItem.hbm.xml) (revision e136309c831c4509819e7651ce2f565747bccb57) +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/config/ConfigurationItem.hbm.xml (.../ConfigurationItem.hbm.xml) (revision 5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798) @@ -22,19 +22,38 @@ - + + + + + + + + Index: lams_common/db/model/lams_11.clay =================================================================== diff -u -r4d5ec04496724e24659275be31e8398998981ece -r5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798 --- lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 4d5ec04496724e24659275be31e8398998981ece) +++ lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798) @@ -2196,6 +2196,12 @@ + + + + + + @@ -5366,7 +5372,7 @@ General server configuration parameters - + @@ -5382,6 +5388,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5633,7 +5673,7 @@ - + Index: lams_common/db/sql/create_lams_11_tables.sql =================================================================== diff -u -r4d5ec04496724e24659275be31e8398998981ece -r5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798 --- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 4d5ec04496724e24659275be31e8398998981ece) +++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798) @@ -579,7 +579,7 @@ , order_id INT(11) , name VARCHAR(255) NOT NULL , display_name VARCHAR(255) - , type VARCHAR(255) NOT NULL + , type VARCHAR(30) NOT NULL , start_value VARCHAR(255) , end_value VARCHAR(255) , exact_match_value VARCHAR(255) @@ -939,8 +939,14 @@ CREATE TABLE lams_configuration ( config_key VARCHAR(30) NOT NULL , config_value VARCHAR(255) + , description_key VARCHAR(255) + , header_name VARCHAR(50) + , format VARCHAR(30) + , required TINYINT NOT NULL DEFAULT 0 , PRIMARY KEY (config_key) ); + + \ No newline at end of file Index: lams_common/db/sql/updatescripts/alter_21_branching.sql =================================================================== diff -u -r4d5ec04496724e24659275be31e8398998981ece -r5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798 --- lams_common/db/sql/updatescripts/alter_21_branching.sql (.../alter_21_branching.sql) (revision 4d5ec04496724e24659275be31e8398998981ece) +++ lams_common/db/sql/updatescripts/alter_21_branching.sql (.../alter_21_branching.sql) (revision 5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798) @@ -100,4 +100,56 @@ ALTER TABLE lams_system_tool ADD COLUMN admin_url TEXT; -- \ No newline at end of file +ALTER TABLE lams_configuration +ADD COLUMN description_key VARCHAR(255) +, ADD COLUMN header_name VARCHAR(50) +, ADD COLUMN format VARCHAR(30) +, ADD COLUMN required TINYINT NOT NULL DEFAULT 0; + +update lams_configuration set description_key = 'config.server.url', header_name='config.header.system', format='STRING', required=1 +where config_key = 'ServerURL'; + +update lams_configuration set description_key = 'config.server.url.context.path', header_name='config.header.system', format='STRING', required=1 +where config_key = 'ServerURLContextPath'; + +update lams_configuration set description_key = 'config.version', header_name='config.header.system', format='STRING', required=1 +where config_key = 'Version'; + +update lams_configuration set description_key = 'config.temp.dir', header_name='config.header.system', format='STRING', required=1 +where config_key = 'TempDir'; + +update lams_configuration set description_key = 'config.dump.dir', header_name='config.header.system', format='STRING', required=1 +where config_key = 'DumpDir'; + +update lams_configuration set description_key = 'config.ear.dir', header_name='config.header.system', format='STRING', required=1 +where config_key = 'EARDir'; + +update lams_configuration set description_key = 'config.smtp.server', header_name='config.header.system', format='STRING', required=0 +where config_key = 'SMTPServer'; + +update lams_configuration set description_key = 'config.lams.support.email', header_name='config.header.system', format='STRING', required=0 +where config_key = 'LamsSupportEmail'; + +update lams_configuration set description_key = 'config.content.repository.path', header_name='config.header.system', format='STRING', required=1 +where config_key = 'ContentRepositoryPath'; + +update lams_configuration set description_key = 'config.upload.file.max.size', header_name='config.header.system', format='LONG', required=1 +where config_key = 'UploadFileMaxSize'; + +update lams_configuration set description_key = 'config.upload.large.file.max.size', header_name='config.header.system', format='LONG', required=1 +where config_key = 'UploadLargeFileMaxSize'; + +update lams_configuration set description_key = 'config.upload.file.max.memory.size', header_name='config.header.system', format='LONG', required=1 +where config_key = 'UploadFileMaxMemorySize'; + +update lams_configuration set description_key = 'config.executable.extensions', header_name='config.header.system', format='STRING', required=1 +where config_key = 'ExecutableExtensions'; + +update lams_configuration set description_key = 'config.user.inactive.timeout', header_name='config.header.system', format='LONG', required=1 +where config_key = 'UserInactiveTimeout'; + +update lams_configuration set description_key = 'config.use.cache.debug.listener', header_name='config.header.system', format='BOOLEAN', required=1 +where config_key = 'UseCacheDebugListener'; + +update lams_configuration set description_key = 'config.cleanup.preview.older.than.days', header_name='config.header.system', format='LONG', required=1 +where config_key = 'CleanupPreviewOlderThanDays'; Index: lams_common/src/java/org/lamsfoundation/lams/config/ConfigurationItem.java =================================================================== diff -u -re136309c831c4509819e7651ce2f565747bccb57 -r5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798 --- lams_common/src/java/org/lamsfoundation/lams/config/ConfigurationItem.java (.../ConfigurationItem.java) (revision e136309c831c4509819e7651ce2f565747bccb57) +++ lams_common/src/java/org/lamsfoundation/lams/config/ConfigurationItem.java (.../ConfigurationItem.java) (revision 5eaa43d63738b6e4bfa6d42f3c8842cdacb9c798) @@ -32,22 +32,41 @@ */ public class ConfigurationItem implements Serializable { + public static String STRING_FORMAT = "STRING"; + public static String LONG_FORMAT = "LONG"; + public static String BOOLEAN_FORMAT = "BOOLEAN"; + /** identifier field */ private String key; /** persistent field */ private String value; + /** persistent field */ + private String descriptionKey; + + /** persistent field */ + private String headerName; + + /** persistent field */ + private String format; + + /** persistent field - defaults in db to false */ + private Boolean required; + /** default constructor */ public ConfigurationItem() { } /** full constructor */ - public ConfigurationItem(String key, - String value) + public ConfigurationItem(String key, String value, String descriptionKey, String headerName, String format, Boolean required) { this.key = key; this.value = value; + this.descriptionKey = descriptionKey; + this.headerName = headerName; + this.format = format; + this.required = required; } /** @@ -74,4 +93,48 @@ this.value = value; } + /** + * @hibernate.property column="description" length="255" + */ + public String getDescriptionKey() { + return descriptionKey; + } + + public void setDescriptionKey(String descriptionKey) { + this.descriptionKey = descriptionKey; + } + + /** + * @hibernate.property column="header_name" length="255" + */ + public String getHeaderName() { + return headerName; + } + + public void setHeaderName(String headerName) { + this.headerName = headerName; + } + + /** + * @hibernate.property column="format" length="30" + */ + public String getFormat() { + return format; + } + + public void setFormat(String format) { + this.format = format; + } + + /** + * @hibernate.property column="required" not-null="true" + */ + public Boolean isRequired() { + return required; + } + + public void setRequired(Boolean required) { + this.required = required; + } + }