You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2012/03/08 00:08:13 UTC
svn commit: r1298196 - in
/commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph:
model/ spanning/
Author: simonetripodi
Date: Wed Mar 7 23:08:13 2012
New Revision: 1298196
URL: http://svn.apache.org/viewvc?rev=1298196&view=rev
Log:
plugged the edge mapper inside the weighted spanning tree
Modified:
commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/model/MutableSpanningTree.java
commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeAlgorithmSelector.java
commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeSourceSelector.java
commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/ShortestEdges.java
Modified: commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/model/MutableSpanningTree.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/model/MutableSpanningTree.java?rev=1298196&r1=1298195&r2=1298196&view=diff
==============================================================================
--- commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/model/MutableSpanningTree.java (original)
+++ commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/model/MutableSpanningTree.java Wed Mar 7 23:08:13 2012
@@ -19,6 +19,7 @@ package org.apache.commons.graph.model;
* under the License.
*/
+import org.apache.commons.graph.Mapper;
import org.apache.commons.graph.SpanningTree;
import org.apache.commons.graph.weight.Monoid;
@@ -38,12 +39,17 @@ public final class MutableSpanningTree<V
private static final long serialVersionUID = -4371938772248573879L;
- private Monoid<W> weightOperations;
+ private final Monoid<W> weightOperations;
+
+ private final Mapper<WE, W> weightedEdges;
private W weight;
- public MutableSpanningTree(Monoid<W> weightOperations) {
+ public MutableSpanningTree( Monoid<W> weightOperations, Mapper<WE, W> weightedEdges )
+ {
this.weightOperations = weightOperations;
+ this.weightedEdges = weightedEdges;
+
this.weight = weightOperations.zero();
}
@@ -62,7 +68,7 @@ public final class MutableSpanningTree<V
protected void decorateAddEdge( V head, WE e, V tail )
{
super.decorateAddEdge( head, e, tail );
- // TODO weight = weightOperations.append( weight, e.getWeight() );
+ weight = weightOperations.append( weight, weightedEdges.map( e ) );
}
/**
@@ -71,7 +77,7 @@ public final class MutableSpanningTree<V
@Override
protected void decorateRemoveEdge( WE e )
{
- // TODO weight = weightOperations.append( weight, weightOperations.inverse( e.getWeight() ) );
+ weight = weightOperations.append( weight, weightOperations.inverse( weightedEdges.map( e ) ) );
}
}
Modified: commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeAlgorithmSelector.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeAlgorithmSelector.java?rev=1298196&r1=1298195&r2=1298196&view=diff
==============================================================================
--- commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeAlgorithmSelector.java (original)
+++ commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeAlgorithmSelector.java Wed Mar 7 23:08:13 2012
@@ -91,7 +91,7 @@ final class DefaultSpanningTreeAlgorithm
checkNotNull( weightOperations, "The Boruvka algorithm cannot be calculated with null weight operations" );
- final MutableSpanningTree<V, WE, W> spanningTree = new MutableSpanningTree<V, WE, W>( weightOperations );
+ final MutableSpanningTree<V, WE, W> spanningTree = new MutableSpanningTree<V, WE, W>( weightOperations, weightedEdges );
final Set<SuperVertex<V, W, WE, G>> components = new HashSet<SuperVertex<V, W, WE, G>>( graph.getOrder() );
@@ -182,7 +182,7 @@ final class DefaultSpanningTreeAlgorithm
final DisjointSet<V> disjointSet = new DisjointSet<V>();
- final MutableSpanningTree<V, WE, W> spanningTree = new MutableSpanningTree<V, WE, W>( weightOperations );
+ final MutableSpanningTree<V, WE, W> spanningTree = new MutableSpanningTree<V, WE, W>( weightOperations, weightedEdges );
// fill the spanning tree with vertices.
for ( V v : graph.getVertices() )
Modified: commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeSourceSelector.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeSourceSelector.java?rev=1298196&r1=1298195&r2=1298196&view=diff
==============================================================================
--- commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeSourceSelector.java (original)
+++ commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/DefaultSpanningTreeSourceSelector.java Wed Mar 7 23:08:13 2012
@@ -121,7 +121,7 @@ final class DefaultSpanningTreeSourceSel
}
}
- final MutableSpanningTree<V, WE, W> res = new MutableSpanningTree<V, WE, W>( weightOperations );
+ final MutableSpanningTree<V, WE, W> res = new MutableSpanningTree<V, WE, W>( weightOperations, weightedEdges );
for ( V v : graph.getVertices() )
{
res.addVertex( v );
Modified: commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/ShortestEdges.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/ShortestEdges.java?rev=1298196&r1=1298195&r2=1298196&view=diff
==============================================================================
--- commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/ShortestEdges.java (original)
+++ commons/sandbox/graph/branches/drop-marker-interfaces-feature/src/main/java/org/apache/commons/graph/spanning/ShortestEdges.java Wed Mar 7 23:08:13 2012
@@ -79,7 +79,7 @@ final class ShortestEdges<V, WE, W>
*/
public SpanningTree<V, WE, W> createSpanningTree()
{
- MutableSpanningTree<V, WE, W> spanningTree = new MutableSpanningTree<V, WE, W>( weightOperations );
+ MutableSpanningTree<V, WE, W> spanningTree = new MutableSpanningTree<V, WE, W>( weightOperations, weightedEdges );
for ( WE edge : this.predecessors.values() )
{