Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014 Open Networking Laboratory
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.onosproject.cli.net;
 
 
 import static org.onosproject.net.DeviceId.deviceId;

Lists all infrastructure links.
 
 @Command(scope = "onos", name = "links",
          description = "Lists all infrastructure links")
 public class LinksListCommand extends AbstractShellCommand {
 
     private static final String FMT = "src=%s/%s, dst=%s/%s, type=%s, state=%s%s";
     private static final String COMPACT = "%s/%s-%s/%s";
 
     @Argument(index = 0, name = "uri", description = "Device ID",
               required = false, multiValued = false)
     String uri = null;
 
     @Override
     protected void execute() {
         LinkService service = get(LinkService.class);
         Iterable<Linklinks =  != null ?
                 service.getDeviceLinks(deviceId()) : service.getLinks();
         if (outputJson()) {
             print("%s"json(links));
         } else {
             for (Link link : links) {
                 print(linkString(link));
             }
         }
     }

    
Produces a JSON array containing the specified links.

Parameters:
links collection of links
Returns:
JSON array
 
     public static JsonNode json(Iterable<Linklinks) {
         ObjectMapper mapper = new ObjectMapper();
         ArrayNode result = mapper.createArrayNode();
         for (Link link : links) {
             result.add(json(mapperlink));
         }
         return result;
     }

    
Produces a JSON object for the specified link.

Parameters:
mapper object mapper
link link to encode
Returns:
JSON object
 
     public static ObjectNode json(ObjectMapper mapperLink link) {
         ObjectNode result = mapper.createObjectNode();
         result.set("src"json(mapperlink.src()));
         result.set("dst"json(mapperlink.dst()));
         result.put("type"link.type().toString());
         result.put("state"link.state().toString());
         result.set("annotations"annotations(mapperlink.annotations()));
         return result;
     }

    
Produces a JSON object for the specified host ID.

Parameters:
mapper object mapper
hostId host ID to encode
Returns:
JSON object
 
     public static ObjectNode json(ObjectMapper mapperHostId hostId) {
        return mapper.createObjectNode()
                .put("mac"hostId.mac().toString())
                .put("vlanId"hostId.vlanId().toString());
    }

    
Produces a JSON object for the specified connect point.

Parameters:
mapper object mapper
connectPoint connection point to encode
Returns:
JSON object
    public static ObjectNode json(ObjectMapper mapperConnectPoint connectPoint) {
        return mapper.createObjectNode()
                .put("device"connectPoint.deviceId().toString())
                .put("port"connectPoint.port().toString());
    }

    
Returns a formatted string representing the given link.

Parameters:
link infrastructure link
Returns:
formatted link string
    public static String linkString(Link link) {
        return String.format(link.src().deviceId(), link.src().port(),
                             link.dst().deviceId(), link.dst().port(),
                             link.type(), link.state(),
                             annotations(link.annotations()));
    }

    
Returns a compact string representing the given link.

Parameters:
link infrastructure link
Returns:
formatted link string
    public static String compactLinkString(Link link) {
        return String.format(link.src().deviceId(), link.src().port(),
                             link.dst().deviceId(), link.dst().port());
    }
New to GrepCode? Check out our FAQ X