[jetrix-cvs] SF.net SVN: jetrix:[831] jetrix/trunk/src/java/net/jetrix
Brought to you by:
smanux
From: <sm...@us...> - 2010-03-06 21:42:24
|
Revision: 831 http://jetrix.svn.sourceforge.net/jetrix/?rev=831&view=rev Author: smanux Date: 2010-03-06 21:42:15 +0000 (Sat, 06 Mar 2010) Log Message: ----------- Removed the empty filter sections in the channel configurations Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/Channel.java jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java Modified: jetrix/trunk/src/java/net/jetrix/Channel.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/Channel.java 2010-02-28 23:54:45 UTC (rev 830) +++ jetrix/trunk/src/java/net/jetrix/Channel.java 2010-03-06 21:42:15 UTC (rev 831) @@ -165,6 +165,22 @@ } /** + * Returns the filters applied to this channel not defined at the server level. + */ + public Collection<MessageFilter> getLocalFilters() + { + Collection<MessageFilter> localFilters = new ArrayList<MessageFilter>(); + for (MessageFilter filter : filters) + { + if (!filter.getConfig().isGlobal()) + { + localFilters.add(filter); + } + } + return localFilters; + } + + /** * Main loop. The channel listens for incomming messages until the server * or the channel closes. Every message is first passed through the * registered filters and then handled by the channel. Modified: jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java 2010-02-28 23:54:45 UTC (rev 830) +++ jetrix/trunk/src/java/net/jetrix/config/ServerConfig.java 2010-03-06 21:42:15 UTC (rev 831) @@ -380,26 +380,11 @@ out.println(); // global filters - Iterator<FilterConfig> filters = getGlobalFilters(); out.println(" <!-- Global filters -->"); out.println(" <default-filters>"); - while (filters.hasNext()) + for (FilterConfig filter : globalFilters) { - FilterConfig filter = filters.next(); - Properties props = filter.getProperties(); - if (props == null || props.isEmpty()) - { - out.println(" <filter name=\"" + filter.getName() + "\"/>"); - } - else - { - out.println(" <filter name=\"" + filter.getName() + "\">"); - for (Object name : props.keySet()) - { - out.println(" <param name=\"" + name + "\" value=\"" + props.get(name) + "\"/>"); - } - out.println(" </filter>"); - } + saveFilter(filter, out, " "); } out.println(" </default-filters>"); out.println(); @@ -621,70 +606,72 @@ out.println(" </special-occurancy>"); } - // sudden death settings - - - + // todo sudden death settings + out.println(" </settings>"); } - - // filters - Iterator<MessageFilter> it = channel.getFilters(); - if (it.hasNext()) + + // local filters + Collection<MessageFilter> filters = channel.getLocalFilters(); + if (!filters.isEmpty()) { - out.println(" <filters>"); // do not display if the channel has only global filters - while (it.hasNext()) + out.println(" <filters>"); + for (MessageFilter filter : filters) { - MessageFilter filter = it.next(); - if (!filter.getConfig().isGlobal()) - { - Properties props = filter.getConfig().getProperties(); - if (props == null || props.isEmpty()) - { - if (filter.getConfig().getName() != null) - { - out.println(" <filter name=\"" + filter.getConfig().getName() + "\"/>"); - } - else - { - out.println(" <filter class=\"" + filter.getConfig().getClassname() + "\"/>"); - } - } - else - { - if (filter.getConfig().getName() != null) - { - out.println(" <filter name=\"" + filter.getConfig().getName() + "\">"); - } - else - { - out.println(" <filter class=\"" + filter.getConfig().getClassname() + "\">"); - } - - for (Object name : props.keySet()) - { - out.println(" <param name=\"" + name + "\" value=\"" + props.get(name) + "\"/>"); - } - out.println(" </filter>"); - } - } + saveFilter(filter.getConfig(), out, " "); } out.println(" </filters>"); } - + out.println(" </channel>"); out.println(); } } - + out.println(" </channels>"); out.println(); out.println("</tetrinet-channels>"); - + out.close(); } /** + * Write the configuration of the specified filter. + */ + private void saveFilter(FilterConfig filter, PrintWriter out, String indent) + { + Properties props = filter.getProperties(); + if (props == null || props.isEmpty()) + { + if (filter.getName() != null) + { + out.println(indent + "<filter name=\"" + filter.getName() + "\"/>"); + } + else + { + out.println(indent + "<filter class=\"" + filter.getClassname() + "\"/>"); + } + } + else + { + if (filter.getName() != null) + { + out.println(indent + "<filter name=\"" + filter.getName() + "\">"); + } + else + { + out.println(indent + "<filter class=\"" + filter.getClassname() + "\">"); + } + + for (Object name : props.keySet()) + { + out.println(indent + " <param name=\"" + name + "\" value=\"" + props.get(name) + "\"/>"); + } + out.println(indent + "</filter>"); + } + } + + /** * Locate the specified resource by searching in the classpath and in * the current directory. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |