Reference Guide
Table Of Contents
- 1 Introduction
- 2 Establishing Your Test and Development Environments
- 3 Developing Applications
- Introduction
- Authentication
- REST API
- Audit Logging
- Alert Logging
- Configuration
- High Availability
- OpenFlow
- Metrics Framework
- GUI
- SKI Framework - Overview
- SKI Framework - Navigation Tree
- SKI Framework - Hash Navigation
- SKI Framework - View Life-Cycle
- SKI Framework - Live Reference Application
- UI Extension
- Introduction
- Controller Teaming
- Distributed Coordination Service
- Persistence
- Backup and Restore
- Device Driver Framework
- 4 Application Security
- 5 Including Debian Packages with Applications
- 6 Sample Application
- Application Description
- Creating Application Development Workspace
- Application Generator (Automatic Workspace Creation)
- Creating Eclipse Projects
- Updating Project Dependencies
- Building the Application
- Installing the Application
- Application Code
- 7 Testing Applications
- 8 Built-In Applications
- Appendix A
- Appendix B
- Bibliography
return device;
}
@Override
public ObjectNode encode(Switch device) {
ObjectNode node = mapper.createObjectNode();
node.put(MAC_ADDRESS, device.getMacAddress().toString());
if (device.getId() != null) {
node.put(ID, device.getId().getValue().longValue());
}
if (device.getIpAddress() != null) {
node.put(IP_ADDRESS, device.getIpAddress().toString());
}
if (device.getFriendlyName() != null) {
node.put(FRIENDLY_NAME, device.getFriendlyName());
}
if (device.getActiveState() != null) {
node.put(ACTIVE_STATE, device.getActiveState().name());
}
return node;
}
private static void validateMandatoryFields(ObjectNode node,
String... fields) throws IllegalArgumentException {
if (fields != null) {
for (String field : fields) {
if (node.path(field).isMissingNode()) {
throw new IllegalArgumentException("JSON node '" + node
+ "' is missing field '" + field + "'");
}
}
}
}
}
There are some dependencies to declare in order to implement the codecs. Open the hm-
rs/pom.xml file and add the XML extract from the JSON Module Dependencies listing to the
<dependencies> node; after updating the POM file update the Eclipse project dependencies (see
Updating Project Dependencies on page 146).
185