[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.
|