Update of /var/cvs/src/org/mmbase/util
In directory james.mmbase.org:/tmp/cvs-serv5901
Modified Files:
ApplicationContextReader.java CVSReader.java
ChainedIterator.java DateFormats.java DynamicDate.java
ExtendedProperties.java HashCodeUtil.java LinkMap.java
LocalizedString.java QueryConvertor.java ResourceWatcher.java
StringTagger.java Strip.java ThreadPools.java
WrappedLocalizedString.java WriterOutputStream.java
Removed Files:
DateSupport_default.properties
Log Message:
various code conventionial changes
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util
Index: ApplicationContextReader.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/ApplicationContextReader.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- ApplicationContextReader.java 4 Aug 2008 08:40:24 -0000 1.6
+++ ApplicationContextReader.java 23 Aug 2008 18:56:31 -0000 1.7
@@ -21,7 +21,7 @@
*
* @author Nico Klasens
* @since MMBase 1.8.1
- * @version $Id: ApplicationContextReader.java,v 1.6 2008/08/04 08:40:24
michiel Exp $
+ * @version $Id: ApplicationContextReader.java,v 1.7 2008/08/23 18:56:31
michiel Exp $
*/
public class ApplicationContextReader {
@@ -37,7 +37,7 @@
* @since MMBase-1.8.7
*/
public static Map<String, String> getCachedProperties(String path) {
- Map<String, String> m =cache.get(path);
+ Map<String, String> m = cache.get(path);
if (m == null) {
try {
m = getProperties(path);
Index: CVSReader.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/CVSReader.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- CVSReader.java 7 Aug 2008 18:49:11 -0000 1.15
+++ CVSReader.java 23 Aug 2008 18:56:31 -0000 1.16
@@ -25,7 +25,7 @@
* @deprecated not used. maybe move to 'tools' application
* @author Daniel Ockeloen
* @author Pierre van Rooden (javadocs)
- * @version $Id: CVSReader.java,v 1.15 2008/08/07 18:49:11 michiel Exp $
+ * @version $Id: CVSReader.java,v 1.16 2008/08/23 18:56:31 michiel Exp $
* @deprecated Not used, no good interface (see MMB-526), wrong name, not
worth the hassle to fix this, there
* must be better CSV readers out there.
*/
@@ -123,14 +123,14 @@
* postition in the header
*/
Hashtable<String, Integer> decodeHeader(String line) {
- int i=0;
- Hashtable<String, Integer> results=new Hashtable<String, Integer>();
+ int i = 0;
+ Hashtable<String, Integer> results = new Hashtable<String, Integer>();
// XXX parsing on /n/r is not needed as a line cannot exist of
multiple lines...
- StringTokenizer tok=new StringTokenizer(line,",\n\r");
+ StringTokenizer tok = new StringTokenizer(line, ",\n\r");
while (tok.hasMoreTokens()) {
- String part=tok.nextToken();
- part = Strip.DoubleQuote(part,Strip.BOTH);
- results.put(part,i++);
+ String part = tok.nextToken();
+ part = Strip.doubleQuote(part, Strip.BOTH);
+ results.put(part, i++);
}
return results;
}
@@ -143,11 +143,11 @@
public String loadFile(String filename) {
try {
File sfile = new File(filename);
- FileInputStream scan =new FileInputStream(sfile);
+ FileInputStream scan = new FileInputStream(sfile);
int filesize = (int)sfile.length();
- byte[] buffer=new byte[filesize];
- int len=scan.read(buffer,0,filesize);
- if (len!=-1) {
+ byte[] buffer = new byte[filesize];
+ int len = scan.read(buffer, 0, filesize);
+ if (len != -1) {
// XXX: ideally, we should use the preferred encoding,
// but this class cannot access MMBase
return new String(buffer);
Index: ChainedIterator.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/ChainedIterator.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ChainedIterator.java 26 Jun 2008 11:26:34 -0000 1.5
+++ ChainedIterator.java 23 Aug 2008 18:56:31 -0000 1.6
@@ -17,13 +17,13 @@
*
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: ChainedIterator.java,v 1.5 2008/06/26 11:26:34 michiel Exp $
+ * @version $Id: ChainedIterator.java,v 1.6 2008/08/23 18:56:31 michiel Exp $
*/
public class ChainedIterator<E> implements Iterator<E> {
- List<Iterator<E>> iterators = new ArrayList<Iterator<E>>();
- Iterator<Iterator<E>> iteratorIterator = null;
- Iterator<E> iterator = null;
+ private final List<Iterator<E>> iterators = new ArrayList<Iterator<E>>();
+ private Iterator<Iterator<E>> iteratorIterator = null;
+ private Iterator<E> iterator = null;
public ChainedIterator(Iterator<E>... is) {
for (Iterator<E> i : is) {
iterators.add(i);
Index: DateFormats.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/DateFormats.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- DateFormats.java 7 Jul 2008 08:50:14 -0000 1.6
+++ DateFormats.java 23 Aug 2008 18:56:31 -0000 1.7
@@ -20,7 +20,7 @@
*
* @author Michiel Meeuwissen
* @since MMBase-1.7.1
- * @version $Id: DateFormats.java,v 1.6 2008/07/07 08:50:14 nklasens Exp $
+ * @version $Id: DateFormats.java,v 1.7 2008/08/23 18:56:31 michiel Exp $
*/
public class DateFormats {
Index: DynamicDate.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/DynamicDate.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- DynamicDate.java 13 Aug 2008 08:07:16 -0000 1.18
+++ DynamicDate.java 23 Aug 2008 18:56:31 -0000 1.19
@@ -16,8 +16,8 @@
* set-methods throw exceptions. There is no public constructor, but a public
static [EMAIL PROTECTED] #getInstance}.
*
* Sadly, the Date object of Sun is implemented using private static methods
which use private
- * fields, of the Date object so not everything could be overridden perfectly.
So, if e.g. a dynamic
- * date could be an argument of a 'after' or 'before' method, it is better to
wrap it with [EMAIL PROTECTED]
+ * fields of the Date object, so not everything could be overridden perfectly.
So, if e.g. a dynamic
+ * date could be an argument of an 'after' or 'before' method, it is better to
wrap it with [EMAIL PROTECTED]
* DynamicDate#eval} first.
*
* @author Michiel Meeuwissen
@@ -51,6 +51,11 @@
}
/**
+ * This call [EMAIL PROTECTED] #getInstance}, then [EMAIL PROTECTED]
#eval} and catches the parse-exception (in which
+ * case it will return -1).
+ * This boils down to that this is a utility method to get a new Date
object by String in just
+ * one call.
+ *
* @since MMBase-1.8.7
*/
public static Date eval(final String format) {
@@ -87,7 +92,9 @@
}
/**
- * This produces a normal Date object, and is called everytime when that
is needed. Users can call it too, if they want to fixated
+ * This produces a normal Date object, and is called everytime when that
is needed. Users can
+ * call it too, if they want to fixate that Date. You can also use [EMAIL
PROTECTED] #eval(Date)}, which
+ * will work on a normal Date object too.
*/
protected Date evalDate() {
DateParser parser = new DateParser(new java.io.StringReader(date));
@@ -192,6 +199,10 @@
return date + ": " + evalDate().toString();
}
+ /**
+ * Returns an arrays of example Strings that can be parsed by DynamicDate.
Most features are
+ * tested here.
+ */
public static String[] getDemo() {
return new String[] {
"0", "10000", "-10000", "+1000", // just numbers a bit after 1970,
a bit before
Index: ExtendedProperties.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/ExtendedProperties.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- ExtendedProperties.java 2 Aug 2008 15:32:55 -0000 1.12
+++ ExtendedProperties.java 23 Aug 2008 18:56:31 -0000 1.13
@@ -9,22 +9,8 @@
*/
package org.mmbase.util;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.RandomAccessFile;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Properties;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
+import java.io.*;
+import java.util.*;
import org.mmbase.util.logging.Logger;
import org.mmbase.util.logging.Logging;
@@ -32,7 +18,7 @@
* This is a flexible Properties version, it can handle saving of Properties
with
* the comments that will stay in your file.
* @author Jan van Oosterom
- * @version $Id: ExtendedProperties.java,v 1.12 2008/08/02 15:32:55 michiel
Exp $
+ * @version $Id: ExtendedProperties.java,v 1.13 2008/08/23 18:56:31 michiel
Exp $
*/
public class ExtendedProperties extends Properties {
private static final Logger log =
Logging.getLoggerInstance(ExtendedProperties.class);
Index: HashCodeUtil.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/HashCodeUtil.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- HashCodeUtil.java 10 Feb 2007 16:22:36 -0000 1.3
+++ HashCodeUtil.java 23 Aug 2008 18:56:31 -0000 1.4
@@ -29,7 +29,7 @@
*
* Requirements: synchronization with Equality
* <code>If x.equals(y), then x.hashCode() == y.hashCode()</code>
- * That is, if two objects are equal, then their hash values are equal. Not
that the reverse is not true;
+ * That is, if two objects are equal, then their hash values are equal. Note
that the reverse is not true;
* two objects may have the same hash value but not be equal!
*
* Basic design goals:
Index: LinkMap.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/LinkMap.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- LinkMap.java 5 Dec 2007 20:40:01 -0000 1.3
+++ LinkMap.java 23 Aug 2008 18:56:31 -0000 1.4
@@ -37,7 +37,7 @@
</pre>
*
* @author Michiel Meeuwissen
- * @version $Id: LinkMap.java,v 1.3 2007/12/05 20:40:01 michiel Exp $
+ * @version $Id: LinkMap.java,v 1.4 2008/08/23 18:56:31 michiel Exp $
* @since MMBase-1.9
*/
public class LinkMap<K, V> extends AbstractMap<K,V> {
@@ -59,7 +59,7 @@
*/
BOTH,
/**
- * Changes are reflected in the first map, but before that, the
<em>old</em> value is copied to the second map (unless a mapping is alreayd in
that map).
+ * Changes are reflected in the first map, but before that, the
<em>old</em> value is copied to the second map (unless a mapping is already in
that map).
* This effectively creates a unmodifiable map, but the wrapped map is
modified anyways.
*/
CONSERVE,
Index: LocalizedString.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/LocalizedString.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- LocalizedString.java 11 Jul 2008 14:47:58 -0000 1.32
+++ LocalizedString.java 23 Aug 2008 18:56:31 -0000 1.33
@@ -32,7 +32,7 @@
*</p>
*
* @author Michiel Meeuwissen
- * @version $Id: LocalizedString.java,v 1.32 2008/07/11 14:47:58 michiel Exp $
+ * @version $Id: LocalizedString.java,v 1.33 2008/08/23 18:56:31 michiel Exp $
* @since MMBase-1.8
*/
public class LocalizedString implements java.io.Serializable, Cloneable {
@@ -269,7 +269,7 @@
* @param locale The locale to be degraded
* @param originalLocale The original locale (used to find back the
original variant after
* dropping the country)
- * @return A degraded Locale of <code>null</code> if the locale could not
be degraded any further.
+ * @return A degraded Locale or <code>null</code> if the locale could not
be degraded any further.
*
* @since MMBase-1.8.5
*/
Index: QueryConvertor.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/QueryConvertor.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- QueryConvertor.java 25 Feb 2007 18:12:16 -0000 1.32
+++ QueryConvertor.java 23 Aug 2008 18:56:31 -0000 1.33
@@ -41,7 +41,7 @@
* @move org.mmbase.storage.search.util
* @author Daniel Ockeloen
* @author Pierre van Rooden (javadocs)
- * @version $Id: QueryConvertor.java,v 1.32 2007/02/25 18:12:16 nklasens Exp $
+ * @version $Id: QueryConvertor.java,v 1.33 2008/08/23 18:56:31 michiel Exp $
*/
public class QueryConvertor {
@@ -542,9 +542,9 @@
value = value.toLowerCase();
if (value.startsWith("'")) {
if (value.indexOf('?') >= 0 || value.indexOf('*') >= 0)
- return new DBWildcardStringValue(Strip.Chars(value,"'
",Strip.BOTH));
+ return new DBWildcardStringValue(Strip.chars(value, "' ",
Strip.BOTH));
else
- return new DBStringValue(Strip.Chars(value,"' ",Strip.BOTH));
+ return new DBStringValue(Strip.chars(value, "' ", Strip.BOTH));
}
else
return new DBNumberValue(value);
Index: ResourceWatcher.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/ResourceWatcher.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- ResourceWatcher.java 11 Jul 2008 14:56:42 -0000 1.20
+++ ResourceWatcher.java 23 Aug 2008 18:56:31 -0000 1.21
@@ -26,7 +26,7 @@
*
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: ResourceWatcher.java,v 1.20 2008/07/11 14:56:42 michiel Exp $
+ * @version $Id: ResourceWatcher.java,v 1.21 2008/08/23 18:56:31 michiel Exp $
* @see org.mmbase.util.FileWatcher
* @see org.mmbase.util.ResourceLoader
*/
@@ -69,14 +69,14 @@
/**
* All resources watched by this ResourceWatcher. A Set of Strings. Often,
a ResourceWatcher would watch only one resource.
*/
- protected SortedSet<String> resources = new TreeSet<String>();
+ protected final SortedSet<String> resources = new TreeSet<String>();
/**
* When a resource is loaded from a Node, we must know which Nodes
correspond to which
* resource. You could ask the node itself, but if the node happens to be
deleted, then you
* can't know that any more. Used in [EMAIL PROTECTED] #notify(NodeEvent)}
*/
- protected Map<Integer, String> nodeNumberToResourceName = new
HashMap<Integer, String>();
+ protected final Map<Integer, String> nodeNumberToResourceName = new
HashMap<Integer, String>();
/**
* Whether this ResourceWatcher has been started (see [EMAIL PROTECTED]
#start})
@@ -86,12 +86,12 @@
/**
* Wrapped FileWatcher for watching the file-resources. ResourceName ->
FileWatcher.
*/
- protected Map<String, FileWatcher> fileWatchers = new HashMap<String,
FileWatcher>();
+ protected final Map<String, FileWatcher> fileWatchers = new
HashMap<String, FileWatcher>();
/**
* The resource-loader associated with this ResourceWatcher.
*/
- protected ResourceLoader resourceLoader;
+ protected final ResourceLoader resourceLoader;
/**
Index: StringTagger.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/StringTagger.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- StringTagger.java 30 Jan 2005 16:46:35 -0000 1.17
+++ StringTagger.java 23 Aug 2008 18:56:31 -0000 1.18
@@ -21,7 +21,7 @@
* @code-conventions Some methods (Values, Value etc) have wrong names (and
are duplicating Map methods btw)
* @author Daniel Ockeloen
* @author Pierre van Rooden
- * @version $Id: StringTagger.java,v 1.17 2005/01/30 16:46:35 nico Exp $
+ * @version $Id: StringTagger.java,v 1.18 2008/08/23 18:56:31 michiel Exp $
*/
public class StringTagger implements Map {
@@ -423,7 +423,7 @@
if (tmp!=null && tmp.size()>0) {
val=(String) tmp.elementAt(0);
if (val != null) {
- val = Strip.DoubleQuote(val,Strip.BOTH); // added stripping
daniel
+ val = Strip.doubleQuote(val,Strip.BOTH); // added stripping
daniel
return val;
} else {
return null;
Index: Strip.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/Strip.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- Strip.java 30 Sep 2004 14:07:13 -0000 1.7
+++ Strip.java 23 Aug 2008 18:56:31 -0000 1.8
@@ -22,32 +22,31 @@
* </PRE>
*
* @author Rico Jansen
- * @version $Id: Strip.java,v 1.7 2004/09/30 14:07:13 pierre Exp $
+ * @version $Id: Strip.java,v 1.8 2008/08/23 18:56:31 michiel Exp $
*/
public class Strip {
- // logger
- private static Logger log =
Logging.getLoggerInstance(Strip.class.getName());
+ private static final Logger log = Logging.getLoggerInstance(Strip.class);
/**
* Strip nothing, a rather ineffecient form of a copy
*/
- public static final int NOTHING=0;
+ public static final int NOTHING = 0;
/**
* Strip leading, only characters at begin of string are checked
*/
- public static final int LEADING=1;
+ public static final int LEADING = 1;
/**
* Strip trailing, only characters at end of string are checked
*/
- public static final int TRAILING=2;
+ public static final int TRAILING = 2;
/**
* Strip both, characters at begin and end of string are checked
*/
- public static final int BOTH=3;
+ public static final int BOTH = 3;
/**
* Strip double quotes from beginning, end or both, only once.
@@ -56,8 +55,8 @@
* or [EMAIL PROTECTED] #BOTH}
* @return the stripped String
*/
- public static String DoubleQuote(String str,int where) {
- return Char(str,'"',where);
+ public static String doubleQuote(String str,int where) {
+ return character(str, '"', where);
}
/**
@@ -67,8 +66,8 @@
* or [EMAIL PROTECTED] #BOTH}
* @return the stripped String
*/
- public static String SingleQuote(String str,int where) {
- return Char(str,'\'',where);
+ public static String singleQuote(String str,int where) {
+ return character(str, '\'', where);
}
/**
@@ -79,8 +78,8 @@
* or [EMAIL PROTECTED] #BOTH}
* @return the stripped String
*/
- public static String Whitespace(String str,int where) {
- return Chars(str," \t\n\r",where);
+ public static String whitespace(String str, int where) {
+ return chars(str, " \t\n\r", where);
}
/**
@@ -91,26 +90,26 @@
* or [EMAIL PROTECTED] #BOTH}
* @return the stripped String
*/
- public static String Char(String str,char chr,int where) {
- if (str!=null && str.length()>0) {
- int lead=0;
- int trail=str.length()-1;
+ public static String character(String str, char chr, int where) {
+ if (str != null && str.length() > 0) {
+ int lead = 0;
+ int trail = str.length() - 1;
switch(where) {
case LEADING:
- if (str.charAt(lead)==chr) lead++;
+ if (str.charAt(lead) == chr) lead++;
break;
case TRAILING:
- if (str.charAt(trail)==chr) trail--;
+ if (str.charAt(trail) == chr) trail--;
break;
case BOTH:
- if (str.charAt(lead)==chr) lead++;
- if (str.charAt(trail)==chr) trail--;
+ if (str.charAt(lead) == chr) lead++;
+ if (str.charAt(trail) == chr) trail--;
break;
default:
break;
}
- str=str.substring(lead,trail+1);
+ str = str.substring(lead, trail + 1);
}
return str;
}
@@ -124,14 +123,14 @@
* or [EMAIL PROTECTED] #BOTH}
* @return the stripped String
*/
- public static String Chars(String str,String chars,int where) {
+ public static String chars(String str, String chars, int where) {
- if (str!=null && str.length()>0) {
- int lead=0;
- int trail=str.length()-1;
+ if (str != null && str.length() > 0) {
+ int lead = 0;
+ int trail = str.length() - 1;
- if (trail<1) {
- where=LEADING;
+ if (trail < 1) {
+ where = LEADING;
} else {
switch(where) {
case LEADING:
@@ -148,10 +147,10 @@
break;
}
}
- if (lead<=trail) {
- str=str.substring(lead,trail+1);
+ if (lead <= trail) {
+ str = str.substring(lead, trail + 1);
} else {
- str="";
+ str = "";
}
}
return str;
@@ -161,8 +160,8 @@
* Test the class
*/
public static void main(String args[]) {
- log.info("Double "+Strip.DoubleQuote("\"double\"",Strip.BOTH));
- log.info("Single "+Strip.SingleQuote("'single'",Strip.BOTH));
- log.info("White |"+Strip.Whitespace(" white
\n",Strip.BOTH)+"|");
+ log.info("Double " + Strip.doubleQuote("\"double\"", Strip.BOTH));
+ log.info("Single " + Strip.singleQuote("'single'", Strip.BOTH));
+ log.info("White |" + Strip.whitespace(" white \n",
Strip.BOTH) + "|");
}
}
Index: ThreadPools.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/ThreadPools.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- ThreadPools.java 7 Aug 2008 18:53:34 -0000 1.17
+++ ThreadPools.java 23 Aug 2008 18:56:31 -0000 1.18
@@ -12,12 +12,13 @@
import java.util.concurrent.*;
import org.mmbase.util.logging.*;
import org.mmbase.util.xml.UtilReader;
+
/**
* Generic MMBase Thread Pools
*
* @since MMBase 1.8
* @author Michiel Meeuwissen
- * @version $Id: ThreadPools.java,v 1.17 2008/08/07 18:53:34 michiel Exp $
+ * @version $Id: ThreadPools.java,v 1.18 2008/08/23 18:56:31 michiel Exp $
*/
public abstract class ThreadPools {
private static final Logger log =
Logging.getLoggerInstance(ThreadPools.class);
Index: WrappedLocalizedString.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/WrappedLocalizedString.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- WrappedLocalizedString.java 11 Nov 2006 12:56:39 -0000 1.1
+++ WrappedLocalizedString.java 23 Aug 2008 18:56:31 -0000 1.2
@@ -16,7 +16,7 @@
* Extends and wraps LocalizedString.
*
* @author Michiel Meeuwissen
- * @version $Id: WrappedLocalizedString.java,v 1.1 2006/11/11 12:56:39 michiel
Exp $
+ * @version $Id: WrappedLocalizedString.java,v 1.2 2008/08/23 18:56:31 michiel
Exp $
* @since MMBase-1.9
*/
public class WrappedLocalizedString extends LocalizedString {
Index: WriterOutputStream.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/WriterOutputStream.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs