merge MarinaFleet and Marina
[fleet.git] / src / edu / berkeley / fleet / marina / MarinaPath.java
index 0c9ba58..e3d5b63 100644 (file)
@@ -4,10 +4,12 @@ import edu.berkeley.fleet.two.*;
 
 public class MarinaPath extends FleetTwoPath {
 
-    private final MarinaFleet marina;
+    public static final int SIGNAL_BIT_INDEX = 13;
+
+    private final Marina marina;
     final BitVector bv;
 
-    public MarinaPath(MarinaFleet marina, BitVector bv) {
+    public MarinaPath(Marina marina, BitVector bv) {
         this.marina = marina;
         this.bv = bv;
         bv.setImmutable();
@@ -16,12 +18,19 @@ public class MarinaPath extends FleetTwoPath {
     public String toString() { return "MarinaPath("+bv+")"; }
 
     public BitVector getSignal() {
-        throw new RuntimeException("not implemented");
+        BitVector ret = new BitVector(1);
+        ret.set(0, bv.get(SIGNAL_BIT_INDEX));
+        return ret;
     }
     
     public Dock getSource() { return marina.onlyDock; }
     public Destination getDestination() {
-        throw new RuntimeException("not implemented");
+        BitVector bvd = new BitVector(bv.length()-1);
+        int j=0;
+        for(int i=0; i<bv.length(); i++)
+            if (i!=SIGNAL_BIT_INDEX)
+                bvd.set(j++, bv.get(i));
+        return new MarinaDestination(marina, bvd);
     }
     public int getBufferingAmount() { return 1; }
     public int getLatencyMetric() { return 0; }