Rob van Maris wrote:
MMObjectBuilder:
     public static List getNodes(NodeSearchQuery query) throws
SearchQueryException;
     public static int count(NodeSearchQuery query) throws
SearchQueryException;

ClusterBuilder:
     public static List getClusterNodes(SearchQuery query) throws
SearchQueryException;
I am personally not in favor of static methods.
I see no reason to make it a staic method.
A reason I can see to NOT make it static is that you cannot override the methods if you make them static.

Before you Do replace all kinfs of methods, I do hope the storage classes will get their implementation for these methods.
I added a few dummy methods (throw UnsupportedOperationExceptions), because CVS was horribly broken, but they need a proper implementation (I'm willing to assist but I am currently caught up in the release).

Btw what would be useful would be a

public SearchQuery getSearchQuery();

method, which returns a simple query that searches for nodes in the current builder. That query can then be extended with constraints.

Btw I am interested in your ideas on how to solve bug #4157.
Current ideas I have is either:
- rerun the query on the derived buidlers
- not reload the nodes in readsearchResults, but recats the builder (easy to do) and mark them 'partially loaded'. When you request new data from a node that is partially loaded, the node loads itself anew (and fully), but only when needed.

Both solutions seem relatively easy to implement but will require vigorous testing.
It's a tricky problem, and I'd like to know if this is a release showstopper.

--
Pierre van Rooden
Mediapark, C 107 tel. +31 (0)35 6772815
"Never summon anything bigger than your head."


Reply via email to