@Override
	public void updateContext() {

		if( this.changeStateInstruction == ChangeStateInstruction.DELETE ) {

			// Find the path of the instances to remove
			Set<String> pathOfInstancesToRemove = new HashSet<> ();
			if( this.instancePath != null ) {
				pathOfInstancesToRemove.add( this.instancePath );

			} else for( Map.Entry<String,String> entry : this.context.instancePathToComponentName.entrySet()) {
				if( this.componentName.equals( entry.getValue()))
					pathOfInstancesToRemove.add( entry.getKey());
			}

			// Now, delete the instances that need to eb erased
			List<String> keys = new ArrayList<>( this.context.instancePathToComponentName.keySet());
			for( String path : keys ) {
				for( String pathToRemove : pathOfInstancesToRemove ) {

					if( path.equals( pathToRemove )
							|| path.startsWith( pathToRemove + "/" ))
						this.context.instancePathToComponentName.remove( path );
				}
			}
		}
	}
@ Override public void updateContext ( ) { if ( this . changeStateInstruction == ChangeStateInstruction . DELETE ) { Set < String > pathOfInstancesToRemove = new HashSet < > ( ) ; if ( this . instancePath != null ) { pathOfInstancesToRemove . add ( this . instancePath ) ; } else for ( Map . Entry < String , String > entry : this . context . instancePathToComponentName . entrySet ( ) ) { if ( this . componentName . equals ( entry . getValue ( ) ) ) pathOfInstancesToRemove . add ( entry . getKey ( ) ) ; } List < String > keys = new ArrayList < > ( this . context . instancePathToComponentName . keySet ( ) ) ; for ( String path : keys ) { for ( String pathToRemove : pathOfInstancesToRemove ) { if ( path . equals ( pathToRemove ) || path . startsWith ( pathToRemove + "/" ) ) this . context . instancePathToComponentName . remove ( path ) ; } } } }
/*
(non-Javadoc)
@see net.roboconf.core.commands.AbstractCommandInstruction#updateContext()