package org.opennaas.extensions.network.capability.basic.shell; import org.apache.felix.gogo.commands.Argument; import org.apache.felix.gogo.commands.Command; import org.opennaas.core.resources.IResource; import org.opennaas.core.resources.shell.GenericKarafCommand; import org.opennaas.extensions.network.model.NetworkModel; import org.opennaas.extensions.network.model.NetworkModelHelper; import org.opennaas.extensions.network.model.topology.NetworkElement; @Command(scope = "net", name = "listResources", description = "List resource of the network") public class ListResourcesCommand extends GenericKarafCommand { @Argument(index = 0, name = "resourceType:resourceName", description = "The network where to add a resource", required = true, multiValued = false) private String networkId; @Override protected Object doExecute() throws Exception { printInitCommand("list resources in network"); // load network IResource network; try { network = getResourceFromFriendlyName(networkId); } catch (Exception e) { printError("Failed to get required resources: " + e.getLocalizedMessage()); printEndCommand(); return null; } // get and print network elements NetworkModel networkModel = (NetworkModel) network.getModel(); for (NetworkElement netElem : NetworkModelHelper.getNetworkElementsExceptTransportElements(networkModel)) { printNetworkElement(netElem); } printEndCommand(); return null; } private void printNetworkElement(NetworkElement netElem) { printSymbol(netElem.getName() + "\n"); } }