From 254ee6f47eebfc00462c10756a92066e82cc1a96 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 21 Jun 2011 15:46:02 +0200 Subject: Initial commit --- source/com/c2kernel/lifecycle/NextDef.java | 94 ++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100755 source/com/c2kernel/lifecycle/NextDef.java (limited to 'source/com/c2kernel/lifecycle/NextDef.java') diff --git a/source/com/c2kernel/lifecycle/NextDef.java b/source/com/c2kernel/lifecycle/NextDef.java new file mode 100755 index 0000000..6bddabf --- /dev/null +++ b/source/com/c2kernel/lifecycle/NextDef.java @@ -0,0 +1,94 @@ +package com.c2kernel.lifecycle; +import com.c2kernel.graph.model.GraphPoint; +import com.c2kernel.graph.model.GraphableEdge; +import com.c2kernel.lifecycle.instance.Next; +/** + * @version $Revision: 1.32 $ $Date: 2006/03/03 13:52:21 $ + * @author $Author: abranson $ + */ +public class NextDef extends GraphableEdge +{ + /** + * @see java.lang.Object#Object() + */ + public NextDef() + { + } + /** + * Method verify. + * + * @return boolean + */ + public boolean verify() + { + return true; + } + /** + * Method NextDef. + * + * @param pre + * @param nex + */ + /** create and initialize a link between an Activities */ + public NextDef(WfVertexDef pre, WfVertexDef nex) + { + setParent(pre.getParent()); + if (pre instanceof OrSplitDef || pre instanceof XOrSplitDef) + { + int num = pre.getOutGraphables().length; + try + { + num = Integer.parseInt((String) pre.getProperties().get("LastNum")); + } + catch (Exception e) + { + } + getProperties().put("Alias", String.valueOf(num)); + pre.getProperties().put("LastNum", String.valueOf(num + 1)); + } + } + public boolean containsPoint(GraphPoint p) + { + GraphPoint originPoint = getOriginPoint(); + GraphPoint terminusPoint = getTerminusPoint(); + GraphPoint midPoint = new GraphPoint(); + if (("Broken +".equals(getProperties().get("Type")))) + { + midPoint.x = (originPoint.x + terminusPoint.x) / 2; + midPoint.y = (originPoint.y + terminusPoint.y) / 2; + } + else if (("Broken -".equals(getProperties().get("Type")))) + { + boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60); + midPoint.x = arrowOnY ? terminusPoint.x : (originPoint.x + terminusPoint.x) / 2; + midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : originPoint.y; + } + else if (("Broken |".equals(getProperties().get("Type")))) + { + boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60); + midPoint.x = arrowOnY ? originPoint.x : (originPoint.x + terminusPoint.x) / 2; + midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : terminusPoint.y; + } + else + { + midPoint.x = originPoint.x + (terminusPoint.x - originPoint.x) / 2; + midPoint.y = originPoint.y + (terminusPoint.y - originPoint.y) / 2; + } + int minX = midPoint.x - 10; + int minY = midPoint.y - 10; + int maxX = midPoint.x + 10; + int maxY = midPoint.y + 10; + return (p.x >= minX) && (p.x <= maxX) && (p.y >= minY) && (p.y <= maxY); + } + + public Next instantiate() { + Next next = new Next(); + next.setID(getID()); + next.setOriginVertexId(getOriginVertexId()); + next.setTerminusVertexId(getTerminusVertexId()); + next.setProperties(getProperties()); + next.setOriginPoint(getOriginPoint()); + next.setTerminusPoint(getTerminusPoint()); + return next; + } +} -- cgit v1.2.3