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
@POST
@Produces(MediaType.APPLICATION_JSON)
public Response create(String request) {ObjectMapper mapper = new
ObjectMapper();
JsonNode root = parse(mapper, request, "Switch data");
JsonNode node = root.path("item");
String name = exists(node, "name") ? node.path("name").asText() :
null;
SwitchService service = get(SwitchService.class);
Switchdevice = service.create(name);
return response(device, mapper).build();
}
@DELETE
@Path("{uid}")
@Produces(MediaType.APPLICATION_JSON)
public Response delete(@PathParam("uid") long uid) {
Id<Switch, UUID> deviceId = Id.valueOf(UUID.fromString(uid));
SwitchService service = get(SwitchService.class);
Switch device = service.get(deviceId);
if (device == null) {
throw new NotFoundException(
"device with id '" + id + "' not found");
}
service.delete(deviceId);
return Response.ok().build();
}
private ResponseBuilder response(Switch s, ObjectMapper mapper) {
ObjectNode r = mapper.createObjectNode();
r.put("item", json(s, mapper());
return ok(r.toString());
}
static JsonNode json(Switch s, ObjectMapper mapper) {
ObjectNode node = mapper.createObjectNode();
node.put("uid", s.getId().getValue().toString());
node.put("name", s.name());
211