Skip to content
Snippets Groups Projects

issues that were discovered during biohackathon 2019 in Paris

Merged Piotr Gawron requested to merge wikipathways-issues into master
3 files
+ 70
6
Compare changes
  • Side-by-side
  • Inline
Files
3
package lcsb.mapviewer.wikipathway.model;
import java.awt.*;
import java.awt.Color;
import java.awt.geom.Point2D;
import java.io.Serializable;
import java.util.*;
import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -365,15 +364,26 @@ public class Edge implements Serializable {
*/
public void extend(Edge edge2) {
// check if extension make sense (they should point to the same identifier)
if (!getEnd().equals(edge2.getStart())) {
if (!Objects.equals(getEnd(), edge2.getStart())) {
throw new InvalidArgumentException(" Cannot merge - anchor points doesn't match: " + getEnd()
+ "," + edge2.getStart());
}
if (line.getEndPoint().distance(edge2.getLine().getBeginPoint()) > EPSILON) {
int mergePoint = line.getPoints().size() - 1;
while (mergePoint >= 0) {
if (line.getPoints().get(mergePoint).distance(edge2.getLine().getBeginPoint()) < EPSILON) {
break;
}
mergePoint--;
}
if (mergePoint < 0) {
throw new InvalidArgumentException(" Cannot merge - edges are far from each other: "
+ line.getEndPoint() + ","
+ edge2.getLine().getBeginPoint());
+ line + ","
+ edge2.getLine());
}
while (mergePoint < line.getPoints().size() - 1) {
line.getPoints().remove(line.getPoints().size() - 1);
}
// graphId should be the same
Loading