@@ -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