From 50f779d09b2db14cfccf31b0dca4436c95e63638 Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr> Date: Thu, 23 Jun 2011 13:07:35 +0000 Subject: [PATCH] AVATAR: Trying to resolve bug on non -identified state selected for reachability / liveness analysis --- src/avatartranslator/AvatarElement.java | 26 ++++++++++++++++++++ src/avatartranslator/AvatarStateMachine.java | 2 +- src/ui/AvatarDesignPanelTranslator.java | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/avatartranslator/AvatarElement.java b/src/avatartranslator/AvatarElement.java index c5244cf421..75f71bde15 100644 --- a/src/avatartranslator/AvatarElement.java +++ b/src/avatartranslator/AvatarElement.java @@ -45,6 +45,8 @@ knowledge of the CeCILL license and that you accept its terms. package avatartranslator; +import java.util.*; + import myutil.*; public class AvatarElement { @@ -53,6 +55,7 @@ public class AvatarElement { protected String name; protected Object referenceObject; + protected Vector<Object> otherReferenceObjects; private int myID; public AvatarElement(String _name, Object _referenceObject) { @@ -61,6 +64,29 @@ public class AvatarElement { referenceObject = _referenceObject; } + public void addReferenceObject(Object _ref) { + if (otherReferenceObjects == null) { + otherReferenceObjects = new Vector<Object>(); + } + otherReferenceObjects.add(_ref); + } + + public boolean hasReferenceObject(Object _ref) { + if (referenceObject == _ref) { + return true; + } + + if (otherReferenceObjects != null) { + for(Object obj: otherReferenceObjects) { + if (obj == _ref) { + return true; + } + } + } + + return false; + } + public String getName() { return name; } diff --git a/src/avatartranslator/AvatarStateMachine.java b/src/avatartranslator/AvatarStateMachine.java index 8bdc036f68..ac7b469f22 100644 --- a/src/avatartranslator/AvatarStateMachine.java +++ b/src/avatartranslator/AvatarStateMachine.java @@ -400,7 +400,7 @@ public class AvatarStateMachine extends AvatarElement { public AvatarStateMachineElement getStateMachineElementFromReferenceObject(Object _o) { for(AvatarStateMachineElement element: elements) { - if(element.getReferenceObject() == _o) { + if(element.hasReferenceObject(_o)) { return element; } } diff --git a/src/ui/AvatarDesignPanelTranslator.java b/src/ui/AvatarDesignPanelTranslator.java index 7c36a46628..df1876d0f8 100644 --- a/src/ui/AvatarDesignPanelTranslator.java +++ b/src/ui/AvatarDesignPanelTranslator.java @@ -827,6 +827,7 @@ public class AvatarDesignPanelTranslator { TraceManager.addDev("Setting as checkable : " + tgc.getValue()); } listE.addCor(astate, tgc); + astate.addReferenceObject(tgc); tgc.setAVATARID(astate.getID()); -- GitLab