Skip to content

Commit 1754e1b

Browse files
committed
Fixing #39
1 parent ae52b0b commit 1754e1b

File tree

1 file changed

+33
-29
lines changed

1 file changed

+33
-29
lines changed

src/cube-core/src/main/java/fr/liglab/adele/cube/agent/defaults/ResolverImpl.java

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -150,37 +150,41 @@ boolean validateVariable(Variable v) {
150150
Object uuid =v.getValue();
151151
if (uuid != null) {
152152
String agenturi = getCubeAgent().getRuntimeModelController().getAgentOfElement(uuid.toString());
153-
if (getCubeAgent().getUri().equalsIgnoreCase(agenturi)) {
154-
ManagedElement me = agent.getRuntimeModelController().getLocalElement(uuid.toString());
155-
if (me != null) {
156-
if (me.getState() == ManagedElement.UNCHECKED) {
157-
((AbstractManagedElement)me).validate();
158-
((AbstractManagedElement)me).setInResolution(false);
159-
} else if (me.getState() == ManagedElement.UNMANAGED) {
160-
agent.getRuntimeModel().add(me);
161-
((AbstractManagedElement)me).setInResolution(false);
153+
if (agenturi == null || agenturi.trim().length() == 0) {
154+
System.out.println("[WARNING] trying to validate instance '"+uuid+"' but Resolver cannot find its corresponding agent!");
155+
} else {
156+
if (getCubeAgent().getUri().equalsIgnoreCase(agenturi)) {
157+
ManagedElement me = agent.getRuntimeModelController().getLocalElement(uuid.toString());
158+
if (me != null) {
159+
if (me.getState() == ManagedElement.UNCHECKED) {
160+
((AbstractManagedElement)me).validate();
161+
((AbstractManagedElement)me).setInResolution(false);
162+
} else if (me.getState() == ManagedElement.UNMANAGED) {
163+
agent.getRuntimeModel().add(me);
164+
((AbstractManagedElement)me).setInResolution(false);
165+
}
166+
changed = true;
162167
}
163-
changed = true;
164168
}
165-
}
166-
else {
167-
//info("... remote createValue");
168-
169-
CMessage msg = new CMessage();
170-
msg.setTo(agenturi);
171-
msg.setFrom(agent.getUri());
172-
msg.setReplyTo(agent.getUri());
173-
msg.setObject("resolution");
174-
msg.setBody("validateVariable");
175-
msg.setAttachement(v);
176-
try {
177-
//System.out.println("sending..." + msg.toString());
178-
//System.out.println(v.getTextualDescription());
179-
send(msg);
180-
} catch (TimeOutException e) {
181-
e.printStackTrace();
182-
} catch (Exception e) {
183-
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
169+
else {
170+
//info("... remote createValue");
171+
172+
CMessage msg = new CMessage();
173+
msg.setTo(agenturi);
174+
msg.setFrom(agent.getUri());
175+
msg.setReplyTo(agent.getUri());
176+
msg.setObject("resolution");
177+
msg.setBody("validateVariable");
178+
msg.setAttachement(v);
179+
try {
180+
//System.out.println("sending..." + msg.toString());
181+
//System.out.println(v.getTextualDescription());
182+
send(msg);
183+
} catch (TimeOutException e) {
184+
e.printStackTrace();
185+
} catch (Exception e) {
186+
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
187+
}
184188
}
185189
}
186190
}

0 commit comments

Comments
 (0)