public static NetworkConfig mergeNetworks ( NetworkConfig base , NetworkConfig merge ) { if ( ! base . getName ( ) . equals ( merge . getName ( ) ) ) { throw new IllegalArgumentException ( "Cannot merge networks of different names." ) ; } for ( ComponentConfig < ? > component : merge . getComponents ( ) ) { if ( ! base . hasComponent ( component . getName ( ) ) ) { base . addComponent ( component ) ; } } for ( ConnectionConfig connection : merge . getConnections ( ) ) { boolean exists = false ; for ( ConnectionConfig existing : base . getConnections ( ) ) { if ( existing . equals ( connection ) ) { exists = true ; break ; } } if ( ! exists ) { base . createConnection ( connection ) ; } } return base ; }
Merges two network configurations into a single configuraiton .