[jetrix-cvs] SF.net SVN: jetrix:[865] jetrix/trunk/src
Brought to you by:
smanux
From: <sm...@us...> - 2010-08-23 14:40:41
|
Revision: 865 http://jetrix.svn.sourceforge.net/jetrix/?rev=865&view=rev Author: smanux Date: 2010-08-23 14:40:34 +0000 (Mon, 23 Aug 2010) Log Message: ----------- Extended server properties Modified Paths: -------------- jetrix/trunk/src/etc/conf/server.xml jetrix/trunk/src/etc/tetrinet-server.dtd jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java jetrix/trunk/src/java/net/jetrix/config/ServerRuleSet.java Modified: jetrix/trunk/src/etc/conf/server.xml =================================================================== --- jetrix/trunk/src/etc/conf/server.xml 2010-08-23 08:27:28 UTC (rev 864) +++ jetrix/trunk/src/etc/conf/server.xml 2010-08-23 14:40:34 UTC (rev 865) @@ -127,4 +127,9 @@ <!-- Mail server parameters --> <mailserver host="localhost" port="25" auth="false" username="" password="" debug="false"/> + <!-- Extended properties --> + <properties> + <property name="speedcheck.enable" value="false"/> + </properties> + </tetrinet-server> Modified: jetrix/trunk/src/etc/tetrinet-server.dtd =================================================================== --- jetrix/trunk/src/etc/tetrinet-server.dtd 2010-08-23 08:27:28 UTC (rev 864) +++ jetrix/trunk/src/etc/tetrinet-server.dtd 2010-08-23 14:40:34 UTC (rev 865) @@ -24,7 +24,7 @@ <!ELEMENT tetrinet-server (name?, language?, timeout?, max-channels?, max-players?, max-connections?, op-password, admin-password, access-log, error-log, channels?, listeners, services?, commands, ban?, datasources?, - mailserver?)> + mailserver?, properties?)> <!ATTLIST tetrinet-server host CDATA #IMPLIED> <!ELEMENT name (#PCDATA)> @@ -88,3 +88,8 @@ <!ATTLIST mailserver username CDATA #IMPLIED> <!ATTLIST mailserver password CDATA #IMPLIED> <!ATTLIST mailserver debug CDATA #IMPLIED> + +<!ELEMENT properties (property*)> +<!ELEMENT property EMPTY> +<!ATTLIST property name CDATA #REQUIRED> +<!ATTLIST property value CDATA #REQUIRED> Modified: jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java 2010-08-23 08:27:28 UTC (rev 864) +++ jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java 2010-08-23 14:40:34 UTC (rev 865) @@ -81,6 +81,9 @@ /** Mail session configuration */ private MailSessionConfig mailSessionConfig; + /** Extended properties */ + private Properties properties = new Properties(); + private URL serverConfigURL; private URL channelsConfigURL; @@ -340,6 +343,17 @@ out.println(); } + if (properties != null && !properties.isEmpty()) + { + out.println(" <!-- Extended properties -->"); + out.println(" <properties>"); + for (String key : properties.stringPropertyNames()) + { + out.println(" <property name=\"" + key + "\" value=\"" + properties.getProperty(key) + "\">"); + } + out.println(" </properties>"); + out.println(); + } out.println("</tetrinet-server>"); @@ -1016,4 +1030,21 @@ { this.mailSessionConfig = mailSessionConfig; } + + /** + * @since 0.3 + */ + public String getProperty(String key) + { + return properties != null ? properties.getProperty(key) : null; + } + + /** + * @since 0.3 + */ + public void setProperty(String key, String value) + { + System.out.println("setting " + key + " to " + value); + properties.setProperty(key, value); + } } Modified: jetrix/trunk/src/java/net/jetrix/config/ServerRuleSet.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/config/ServerRuleSet.java 2010-08-23 08:27:28 UTC (rev 864) +++ jetrix/trunk/src/java/net/jetrix/config/ServerRuleSet.java 2010-08-23 14:40:34 UTC (rev 865) @@ -49,20 +49,20 @@ digester.addCallParam("tetrinet-server/error-log", 0, "path"); digester.addCallMethod("tetrinet-server/channels", "setChannelsFile", 1); digester.addCallParam("tetrinet-server/channels", 0, "path"); - + // command definitions digester.addObjectCreate("*/command", null, "class"); digester.addSetNext("*/command", "addCommand", "net.jetrix.commands.Command"); digester.addCallMethod("*/command", "setAccessLevel", 1, new Class[] {Integer.TYPE}); digester.addCallParam("*/command", 0, "access-level"); - + // listeners digester.addObjectCreate("*/listener", null, "class"); digester.addSetProperties("*/listener"); digester.addCallMethod("*/listener", "setAutoStart", 1, new Class[] {Boolean.TYPE}); digester.addCallParam("*/listener", 0, "auto-start"); digester.addSetNext("*/listener", "addListener", "net.jetrix.Listener"); - + // services digester.addObjectCreate("*/service", null, "class"); digester.addSetProperties("*/service"); @@ -70,10 +70,10 @@ digester.addCallParam("*/service", 0, "auto-start"); digester.addSetProperty("*/service/param", "name", "value"); digester.addSetNext("*/service", "addService", "net.jetrix.Service"); - + // banlist digester.addCallMethod("tetrinet-server/ban/host", "addBannedHost", 0); - + // datasource digester.addObjectCreate("*/datasource", "net.jetrix.config.DataSourceConfig"); digester.addSetNext("*/datasource", "addDataSource", "net.jetrix.config.DataSourceConfig"); @@ -85,7 +85,7 @@ digester.addCallMethod("*/datasource/password", "setPassword", 0); digester.addCallMethod("*/datasource/min-idle", "setMinIdle", 0); digester.addCallMethod("*/datasource/max-active", "setMaxActive", 0); - + // mail session digester.addObjectCreate("*/mailserver", "net.jetrix.config.MailSessionConfig"); digester.addSetNext("*/mailserver", "setMailSessionConfig", "net.jetrix.config.MailSessionConfig"); @@ -101,5 +101,10 @@ digester.addCallParam("*/mailserver", 0, "password"); digester.addCallMethod("*/mailserver", "setDebug", 1, new Class[] {Boolean.TYPE}); digester.addCallParam("*/mailserver", 0, "debug"); + + // extended properties + digester.addCallMethod("*/properties/property", "setProperty", 2); + digester.addCallParam("*/properties/property", 0, "name"); + digester.addCallParam("*/properties/property", 1, "value"); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |