package org.project.neutrino.nfvo.core.interfaces;

import org.project.neutrino.nfvo.catalogue.nfvo.Network;

import java.util.List;


/**
 * Created by mpa on 30/04/15.
 */

public interface NetworkManagement {
    
	/**
     * This operation allows adding new VNF software 
     * images to the image repository.
     */
    Network add(Network network);

    /**
	 * This operation allows deleting in the VNF software 
	 * images from the image repository.
     * @param id
     */
    void delete(String id);
    
    /**
	 * This operation allows updating the VNF software 
	 * images in the image repository.
     * @param new_network
     * @param id
     */
    Network update(Network new_network, String id);
    
    /**
	 * This operation allows querying the information of 
	 * the VNF software images in the image repository.
	 */
    List<Network> query();
    
    /**
     * This operation allows querying the information of 
     * the VNF software image in the image repository.
     */
    Network query(String id);
}

@@ -101,16 +101,142 @@
 Network;
+%0Aimport org.project.neutrino.nfvo.catalogue.nfvo.VimInstance;%0Aimport org.project.neutrino.nfvo.common.exceptions.VimException;
 %0A%0Aimport
@@ -444,198 +444,373 @@
    *
-/%0A    Network add(Network network);%0A%0A    /**%0A%09 * This operation allows deleting in the VNF software %0A%09 * images from the image repository.%0A     * @param id%0A     */%0A    void delete(String id)
+ @param vimInstance%0A     * @param network%0A     */%0A    Network add(VimInstance vimInstance, Network network) throws VimException;%0A%0A    /**%0A%09 * This operation allows deleting in the VNF software %0A%09 * images from the image repository.%0A     * @param vimInstance%0A     * @param network%0A     */%0A    void delete(VimInstance vimInstance, Network network) throws VimException
 ;%0A  
@@ -923,27 +923,27 @@
  @param 
-new_network
+vimInstance
 %0A     * 
@@ -949,18 +949,27 @@
  @param 
-id
+new_network
 %0A     */
@@ -992,39 +992,73 @@
 ate(
-Network new_network, String id)
+VimInstance vimInstance, Network new_network) throws VimException
 ;%0A  
@@ -1330,24 +1330,41 @@
 repository.%0A
+     * @param id%0A
      */%0A    

update interfaces