Author: michiel
Date: 2010-04-13 12:31:27 +0200 (Tue, 13 Apr 2010)
New Revision: 41871
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java
mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectBuilder.java
mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/FieldDefs.java
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/OAlias.java
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/RelDef.java
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeDef.java
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeRel.java
Log:
a bit of cleaning
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java
===================================================================
---
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java
2010-04-13 10:12:34 UTC (rev 41870)
+++
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -10,16 +10,9 @@
package org.mmbase.module.core;
import java.util.*;
-import java.util.Map.Entry;
import org.mmbase.module.corebuilders.*;
-import org.mmbase.cache.MultilevelCache;
-import org.mmbase.core.CoreField;
-import org.mmbase.bridge.BridgeException;
import org.mmbase.bridge.Field;
-import org.mmbase.core.util.Fields;
-import org.mmbase.util.functions.*;
-import org.mmbase.datatypes.*;
import org.mmbase.storage.search.*;
import org.mmbase.storage.search.implementation.*;
import org.mmbase.storage.search.legacy.ConstraintParser;
@@ -41,10 +34,12 @@
private CoreClusterQueries() {
}
+ @Override
public QueryContext getQueryContext() {
return CoreQueryContext.INSTANCE;
}
+ @Override
protected int getNumberForAlias(String alias) {
int nodeNumber = MMBase.getMMBase().getOAlias().getNumber(alias);
if (nodeNumber < 0) {
@@ -55,6 +50,7 @@
// Add constraints.
// QueryConverter supports the old formats for backward compatibility.
+ @Override
protected void setConstraint(BasicSearchQuery query, String where) {
QueryConvertor.setConstraint(query, where);
}
@@ -62,10 +58,12 @@
return ConstraintParser.getField(getQueryContext(), fieldName,
query.getSteps());
}
+ @Override
protected boolean isRelation(String builder) {
return MMBase.getMMBase().getBuilder(builder) instanceof InsRel;
}
+ @Override
protected String getBuilder(int nodeNumber) {
MMObjectNode node =
MMBase.getMMBase().getBuilder("object").getNode(nodeNumber);
if (node == null) {
@@ -74,6 +72,7 @@
return node.parent.getTableName();
}
+ @Override
protected String getParentBuilder(String buil) {
MMObjectBuilder builder = MMBase.getMMBase().getBuilder(buil);
MMObjectBuilder parent = builder.getParentBuilder();
@@ -85,10 +84,12 @@
return builder.getField(fieldName);
}
+ @Override
public FieldDefs getNodeField(String fieldName) {
return new FieldDefs(fieldName, Field.TYPE_NODE, -1,
Field.STATE_VIRTUAL, org.mmbase.datatypes.DataTypes.getDataType("node"));
}
+ @Override
public String getTrueTableName(String table) {
String tab = getTableName(table);
int rnumber = MMBase.getMMBase().getRelDef().getNumberByName(tab);
@@ -99,10 +100,12 @@
}
}
+ @Override
protected boolean optimizeRelationStep(RelationStep relationStep, int
sourceType, int destType, int role, int searchDir) {
return
MMBase.getMMBase().getTypeRel().optimizeRelationStep((BasicRelationStep)
relationStep, sourceType, destType, role, searchDir);
}
// just changing scope for test-cases
+ @Override
protected String getUniqueTableAlias(String tableAlias, Set<String>
tableAliases, Collection<String> originalAliases) {
return super.getUniqueTableAlias(tableAlias, tableAliases,
originalAliases);
}
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java
===================================================================
---
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java
2010-04-13 10:12:34 UTC (rev 41870)
+++
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -25,14 +25,17 @@
public static final QueryContext INSTANCE = new CoreQueryContext();
+ @Override
public ClusterQueries getClusterQueries () {
return CoreClusterQueries.INSTANCE;
}
+ @Override
public String getStorageIdentifier(String s) {
StorageManagerFactory<?> factory =
MMBase.getMMBase().getStorageManagerFactory();
return (String) factory.getStorageIdentifier(s);
}
+ @Override
public Field getField(String builder, String fieldName) {
return MMBase.getMMBase().getBuilder(builder).getField(fieldName);
}
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectBuilder.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectBuilder.java
2010-04-13 10:12:34 UTC (rev 41870)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectBuilder.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -265,6 +265,7 @@
{
setDescription("This function wraps a field, word-by-word. You
can use this, e.g. in <pre>-tags. This functionality should be available as an
'escaper', and this version should now be considered an example.");
}
+ @Override
public String getFunctionValue(Node node, Parameters parameters) {
String val =
node.getStringValue(parameters.getString(Parameter.FIELD));
Number wrappos = (Number) parameters.get("length");
@@ -1806,6 +1807,7 @@
* @inheritDoc
* @since MMBase-1.8
*/
+ @Override
protected Function newFunctionInstance(String name, Parameter[]
parameters, ReturnType returnType) {
return new MMObjectNodeFunction<Object>(name, parameters, returnType) {
@Override public Object getFunctionValue(Node node, Parameters
parameters) {
@@ -2854,6 +2856,7 @@
*
* @since MMBase-1.6.2
*/
+ @Override
public final boolean equals(Object o) {
if (o == this) return true;
if (o == null) return false;
@@ -2867,6 +2870,7 @@
/**
* @see java.lang.Object#hashCode()
*/
+ @Override
public int hashCode() {
return tableName == null ? 0 : tableName.hashCode();
}
@@ -2924,6 +2928,7 @@
* this method covers for both node and relation events.
* @since MMBase-1.8
*/
+ @Override
public void notify(NodeEvent event) {
if (log.isDebugEnabled()) {
log.debug("" + this + " received node event " + event);
@@ -2935,6 +2940,7 @@
/**
* @since MMBase-1.8
*/
+ @Override
public void notify(RelationEvent event) {
if (log.isDebugEnabled()) {
log.debug("" + this + " received relation event " + event);
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java
2010-04-13 10:12:34 UTC (rev 41870)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -15,8 +15,6 @@
import org.mmbase.cache.*;
import org.mmbase.bridge.Field;
import org.mmbase.bridge.Node;
-import org.mmbase.core.CoreField;
-import org.mmbase.storage.*;
import org.mmbase.module.corebuilders.InsRel;
import org.mmbase.module.builders.DayMarkers;
import org.mmbase.security.*;
@@ -482,6 +480,7 @@
* For data exchange use toXML() and getDTD().
* @return the contents of the node as a string.
*/
+ @Override
public String toString() {
if (parent != null) {
return parent.toString(this);
@@ -1725,7 +1724,7 @@
public Vector<MMObjectNode> getRelatedNodes(String type, String role, int
search_type) {
Vector<MMObjectNode> result = null;
- MMObjectBuilder builder = parent.mmb.getBuilder(type);
+ MMObjectBuilder bul = parent.mmb.getBuilder(type);
// example: we want a thisnode.relatedNodes(mediaparts) where
mediaparts are of type
// audioparts and videoparts. This method will return the real nodes
(thus of type audio/videoparts)
@@ -1735,7 +1734,7 @@
// (this will return virtual audio- and/or videoparts ordered on
their *real* parent)
// - construct a list of nodes for each parentbuilder seperately
// - ask the parentbuilder for each list of virtual nodes to get a
list of the real nodes
- if( builder != null ) {
+ if( bul != null ) {
ClusterBuilder clusterBuilder = parent.mmb.getClusterBuilder();
@@ -1891,10 +1890,12 @@
return result;
}
+ @Override
public int getByteSize() {
return getByteSize(new SizeOf());
}
+ @Override
public int getByteSize(SizeOf sizeof) {
return sizeof.sizeof(values) +
sizeof.sizeof(oldValues) +
@@ -1907,6 +1908,7 @@
/**
* @since MMBase-1.6.2
*/
+ @Override
public int hashCode() {
if (parent != null) {
return parent.hashCode(this);
@@ -1918,6 +1920,7 @@
/**
* @since MMBase-1.6.2
*/
+ @Override
public boolean equals(Object o) {
if (o instanceof MMObjectNode) {
MMObjectNode n = (MMObjectNode) o;
@@ -2008,6 +2011,7 @@
return getNumber() - n.getNumber();
}
+ @Override
public MMObjectNode clone() {
try {
MMObjectNode clone = (MMObjectNode) super.clone();
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/FieldDefs.java
===================================================================
---
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/FieldDefs.java
2010-04-13 10:12:34 UTC (rev 41870)
+++
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/FieldDefs.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -133,38 +133,47 @@
public LocaleToStringMap(Map<Locale,String> m) {
map = m;
}
+ @Override
public Set<Entry<String,String>> entrySet() {
- return new AbstractSet<Entry<String,String>>() {
- public Iterator<Entry<String,String>> iterator() {
- return new Iterator<Entry<String,String>>() {
- private final Iterator<Entry<Locale,String>> i
= map.entrySet().iterator();
- public boolean hasNext() {
- return i.hasNext();
+ return new AbstractSet<Entry<String, String>>() {
+ @Override
+ public Iterator<Entry<String, String>> iterator() {
+ return new Iterator<Entry<String, String>>() {
+ private final Iterator<Entry<Locale, String>> i =
map.entrySet().iterator();
+ @Override
+ public boolean hasNext() {
+ return i.hasNext();
+ }
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException("");
+ }
+ @Override
+ public Entry<String, String> next() {
+ final Entry<Locale, String> entry = i.next();
+ return new Map.Entry<String, String>() {
+ @Override
+ public String getKey() {
+ return entry.getKey().getLanguage();
}
- public void remove() {
- throw new
UnsupportedOperationException("");
+ @Override
+ public String getValue() {
+ return entry.getValue();
}
- public Entry<String,String> next() {
- final Entry<Locale,String> entry =
i.next();
- return new Map.Entry<String,String>() {
- public String getKey() {
- return
entry.getKey().getLanguage();
- }
- public String getValue() {
- return entry.getValue();
- }
- public String setValue(String o) {
- return entry.setValue(o);
- }
- };
-
+ @Override
+ public String setValue(String o) {
+ return entry.setValue(o);
}
};
- }
- public int size() {
- return map.size();
- }
- };
+
+ }
+ };
+ }
+ @Override
+ public int size() {
+ return map.size();
+ }
+ };
}
}
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/OAlias.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/OAlias.java
2010-04-13 10:12:34 UTC (rev 41870)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/OAlias.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -39,7 +39,9 @@
// alias -> node-number (Integer)
private Cache<String,Integer> numberCache = new Cache<String,Integer>(128)
{
+ @Override
public String getName() { return "AliasCache"; }
+ @Override
public String getDescription() { return "Cache for node aliases"; }
};
@@ -49,6 +51,7 @@
numberCache.putCache();
}
+ @Override
public boolean init() {
boolean res = super.init();
if (res) checkAddTmpField("_destination");
@@ -189,6 +192,7 @@
* Remove a node from the cloud and update the cache
* @param node The node to remove.
*/
+ @Override
public void removeNode(MMObjectNode node) {
String name = node.getStringValue("name");
super.removeNode(node);
@@ -201,6 +205,7 @@
* cache.
* @since MMBase-1.7.1
*/
+ @Override
public boolean nodeRemoteChanged(String machine, String number, String
builder, String ctype) {
if (builder.equals(getTableName())) {
if (ctype.equals("c") || ctype.equals("n")) {
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/RelDef.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/RelDef.java
2010-04-13 10:12:34 UTC (rev 41870)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/RelDef.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -84,6 +84,7 @@
* @return A <code>boolean</code> value, always success
(<code>true</code>), as any exceptions are
* caught and logged.
*/
+ @Override
public boolean init() {
super.init();
usesbuilder = getField("builder") != null;
@@ -159,6 +160,7 @@
* @param node Relation definition to describe
* @return A <code>String</code> of descriptive text
*/
+ @Override
public String getGUIIndicator(MMObjectNode node) {
int dir = node.getIntValue("dir");
if (dir == DIR_UNIDIRECTIONAL) {
@@ -287,6 +289,7 @@
* Tests whether the data in a node is valid (throws an exception if this
is not the case).
* @param node The node whose data to check
*/
+ @Override
public void testValidData(MMObjectNode node) throws InvalidDataException{
int dir=node.getIntValue("dir");
if ((dir!=DIR_UNIDIRECTIONAL) && (dir!=DIR_BIDIRECTIONAL)) {
@@ -310,6 +313,7 @@
* @param node The object to insert. The object need be of the same type
as the current builder.
* @return An <code>int</code> value which is the new object's unique
number, -1 if the insert failed.
*/
+ @Override
public int insert(String owner, MMObjectNode node) {
// check RelDef for duplicates
String sname = node.getStringValue("sname");
@@ -333,6 +337,7 @@
* @param node The node to be committed
* @return a <code>boolean</code> indicating success
*/
+ @Override
public boolean commit(MMObjectNode node) {
boolean success = super.commit(node);
if (success) {
@@ -345,6 +350,7 @@
* Remove a node from the cloud.
* @param node The node to remove.
*/
+ @Override
public void removeNode(MMObjectNode node) {
// check occurrences in TypeRel
// perhaps this can also be done using getAllowedRelations() ?
@@ -388,6 +394,7 @@
* Initializes a relation to be bidirectional, and, if applicable, to use
the 'insrel' builder.
* @param node Node to be initialized
*/
+ @Override
public void setDefaults(MMObjectNode node) {
node.setValue("dir", DIR_BIDIRECTIONAL);
if (usesbuilder) {
@@ -412,6 +419,7 @@
* @return A descriptive text for the field's contents, or null if no
description could be generated
*/
+ @Override
public String getGUIIndicator(String field,MMObjectNode node) {
try {
if (field.equals("dir")) {
@@ -594,6 +602,7 @@
* @since MMBase-1.7.1
*/
+ @Override
public boolean nodeRemoteChanged(String machine, String number, String
builder, String ctype) {
if (builder.equals(getTableName())) {
if (ctype.equals("c") || ctype.equals("n")) {
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeDef.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeDef.java
2010-04-13 10:12:34 UTC (rev 41870)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeDef.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -67,6 +67,7 @@
* Sets the default deploy directory for the builders.
* @return true if init was completed, false if uncompleted.
*/
+ @Override
public boolean init() {
broadCastChanges = false;
boolean result = super.init();
@@ -104,6 +105,7 @@
* @param node The object to insert. The object need be of the same type
as the current builder.
* @return An <code>int</code> value which is the new object's unique
number, -1 if the insert failed.
*/
+ @Override
public int insert(String owner, MMObjectNode node) {
return insert(owner, node, true);
}
@@ -170,6 +172,7 @@
* @return true if commit successful
*/
+ @Override
public boolean commit(MMObjectNode node) {
log.service("Commit of builder-node with name '" +
node.getStringValue("name") + "' ( #" + node.getNumber() + ")");
try {
@@ -217,6 +220,7 @@
* @param node The node to remove.
* @throws RuntimeException When the operation could not be performed
*/
+ @Override
public void removeNode(MMObjectNode node) {
log.info("Remove of builder-node with name '" +
node.getStringValue("name") + "' ( #" + node.getNumber() + ")");
// only delete when builder is completely empty...
@@ -351,6 +355,7 @@
* @param field the fieldname that is requested
* @return the result of the 'function', or null if no valid functions
could be determined.
*/
+ @Override
public Object getValue(MMObjectNode node, String field) {
if (log.isDebugEnabled()) {
log.debug("node:" + node.getNumber() + " field: " + field);
@@ -410,6 +415,7 @@
* @return <code>true</code> When an update is required(when changed),
* <code>false</code> if original value was set back into the field.
*/
+ @Override
public boolean setValue(MMObjectNode node, String fieldName, Object
originalValue) {
Object newValue = node.retrieveValue(fieldName);
if (fieldName.equals("name")) {
@@ -439,6 +445,7 @@
/**
* @javadoc
*/
+ @Override
public boolean fieldLocalChanged(String number, String builder, String
field, String value) {
if (field.equals("state")) {
if (value.equals("4")) {
@@ -494,7 +501,7 @@
// first get all the info we need from the builder allready running
MMObjectBuilder oldbul = mmb.getBuilder(objectname);
String classname = oldbul.getClass().getName();
- String description = oldbul.getDescription();
+ String desc = oldbul.getDescription();
try {
Class newclass = Class.forName("org.mmbase.module.builders." +
classname);
@@ -505,7 +512,7 @@
bul.setMMBase(mmb);
bul.setTableName(objectname);
- bul.setDescription(description);
+ bul.setDescription(desc);
bul.init();
mmb.addBuilder(objectname, bul);
} catch (Exception e) {
@@ -521,6 +528,7 @@
* @param node The node to display
* @return the display of the node as a <code>String</code>
*/
+ @Override
public String getGUIIndicator(MMObjectNode node) {
return getSingularName(node.getStringValue("name"), null);
}
@@ -530,6 +538,7 @@
* The GUIIndicator can depend on the locale. Override this function
* @since MMBase-1.6
*/
+ @Override
protected String getLocaleGUIIndicator(Locale locale, String field,
MMObjectNode node) {
if (field == null || "".equals(field)) {
return getLocaleGUIIndicator(locale, node);
@@ -542,6 +551,7 @@
return null;
}
+ @Override
protected String getLocaleGUIIndicator(Locale locale, MMObjectNode node) {
String rtn = getSingularName(node.getStringValue("name"),
locale.getLanguage());
if (rtn == null) return node.getStringValue("name");
@@ -573,6 +583,7 @@
/**
* @javadoc
*/
+ @Override
public Vector<String> getList(PageInfo sp,StringTagger tagger,
StringTokenizer tok) {
if (tok.hasMoreTokens()) {
String cmd = tok.nextToken();
@@ -583,6 +594,7 @@
return null;
}
+ @Override
protected Object executeFunction(MMObjectNode node, String function,
List<?> args) {
log.debug("executefunction of typedef");
if (function.equals("info")) {
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeRel.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeRel.java
2010-04-13 10:12:34 UTC (rev 41870)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/corebuilders/TypeRel.java
2010-04-13 10:31:27 UTC (rev 41871)
@@ -81,6 +81,7 @@
public InverseTypeRelSet inverseTypeRelNodes; // for searching sources
+ @Override
public boolean init() {
if (oType != -1) return true;
super.init();
@@ -243,6 +244,7 @@
* @return An <code>int</code> value which is the new object's unique
number, -1 if the insert
* failed.
*/
+ @Override
public int insert(String owner, MMObjectNode node) {
int snumber = node.getIntValue("snumber");
int dnumber = node.getIntValue("dnumber");
@@ -260,6 +262,7 @@
* Remove a node from the cloud.
* @param node The node to remove.
*/
+ @Override
public void removeNode(MMObjectNode node) {
super.removeNode(node);
}
@@ -374,6 +377,7 @@
* @param node Node from which to retrieve the data
* @return A <code>String</code> describing the content of the node
*/
+ @Override
public String getGUIIndicator(MMObjectNode node) {
try {
String source =
mmb.getTypeDef().getValue(node.getIntValue("snumber"));
@@ -394,6 +398,7 @@
* @param node Node from which to retrieve the data
* @return A <code>String</code> describing the content of the field
*/
+ @Override
public String getGUIIndicator(String field, MMObjectNode node) {
try {
if (field.equals("snumber")) {
@@ -414,6 +419,7 @@
* be retrieved through tagger).
* @javadoc parameters
*/
+ @Override
public Vector<String> getList(PageInfo sp, StringTagger tagger,
StringTokenizer tok) {
if (tok.hasMoreTokens()) {
String cmd = tok.nextToken(); //Retrieving command.
@@ -521,6 +527,7 @@
* (non-Javadoc)
* @see
org.mmbase.module.core.MMObjectBuilder#notify(org.mmbase.core.event.NodeEvent)
*/
+ @Override
public void notify(NodeEvent event) {
if (log.isDebugEnabled()) {
log.debug("Changed " + event.getMachine() + " " +
event.getNodeNumber() + " "
@@ -616,6 +623,7 @@
* are the same, and the rnumber fields are the same, or one of these is
'-1' (don't care).
* @since MMBase-1.6.2
*/
+ @Override
public boolean equals(MMObjectNode o1, MMObjectNode o2) {
if (o2.getBuilder() instanceof TypeRel) {
int r1 = o1.getIntValue("rnumber");
@@ -630,6 +638,7 @@
* Implements for MMObjectNode
* @since MMBase-1.6.2
*/
+ @Override
public int hashCode(MMObjectNode o) {
int result = 0;
result = HashCodeUtil.hashCode(result, o.getIntValue("snumber"));
@@ -638,6 +647,7 @@
return result;
}
+ @Override
public String toString(MMObjectNode n) {
try {
int snumber = n.getIntValue("snumber");
@@ -707,6 +717,7 @@
protected TypeRelSet() {
super(new Comparator<MMObjectNode>() {
// sorted by source, destination, role
+ @Override
public int compare(MMObjectNode n1, MMObjectNode n2) {
{
int i1 = n1.getIntValue("snumber");
@@ -730,6 +741,7 @@
}
// make sure only MMObjectNode's are added
+ @Override
public boolean add(MMObjectNode node) {
return super.add(node);
}
@@ -785,6 +797,7 @@
protected InverseTypeRelSet() {
super(new Comparator<MMObjectNode>() {
// sorted by destination, source, role
+ @Override
public int compare(MMObjectNode n1, MMObjectNode n2) {
int i1 = n1.getIntValue("dnumber");
int i2 = n2.getIntValue("dnumber");
@@ -803,6 +816,7 @@
}
// make sure only MMObjectNode's are added
+ @Override
public boolean add(MMObjectNode object) {
return super.add(object);
}
@@ -874,6 +888,7 @@
values = Collections.unmodifiableMap(values); // make sure it is
not changed any more!
}
+ @Override
public String toString() {
return "V:" + getValue("snumber") + "->" + getValue("dnumber") +
"(" + getValue("rnumber") + ")";
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs