| /* |
| * Copyright 2017-present Open Networking Foundation |
| * |
| * 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.simplefabric; |
| |
| import org.onosproject.rest.AbstractWebResource; |
| |
| import java.io.ByteArrayOutputStream; |
| import javax.ws.rs.GET; |
| import javax.ws.rs.PUT; |
| import javax.ws.rs.Path; |
| import javax.ws.rs.core.Response; |
| |
| /** |
| * Manage SIMPLE_FABRIC Status. |
| */ |
| @Path("") |
| public class SimpleFabricWebResource extends AbstractWebResource { |
| |
| /** |
| * SIMPLE_FABRIC Show Status; dummy for now. |
| * |
| * @return 200 OK |
| */ |
| @GET |
| @Path("status") |
| public Response queryStatus() { |
| return Response.ok("ok").build(); |
| } |
| |
| /** |
| * SIMPLE_FABRIC Show Configurations. |
| * |
| * @return 200 OK |
| */ |
| @GET |
| @Path("show") |
| public Response queryShow() { |
| ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
| get(SimpleFabricService.class).dumpToStream("show", outputStream); |
| return Response.ok(outputStream.toString()).build(); |
| } |
| |
| /** |
| * SIMPLE_FABRIC Intents Infos. |
| * |
| * @return 200 OK |
| */ |
| @GET |
| @Path("intents") |
| public Response queryIntents() { |
| ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
| get(SimpleFabricService.class).dumpToStream("intents", outputStream); |
| return Response.ok(outputStream.toString()).build(); |
| } |
| |
| /** |
| * SIMPLE_FABRIC Reactive Intents Infos. |
| * |
| * @return 200 OK |
| */ |
| @GET |
| @Path("reactive-intents") |
| public Response queryReactiveIntents() { |
| ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
| get(SimpleFabricService.class).dumpToStream("reactive-intents", outputStream); |
| return Response.ok(outputStream.toString()).build(); |
| } |
| |
| /** |
| * Trigger SimpleFabric Service Refresh. |
| * |
| * @return 204 No Content |
| */ |
| @PUT |
| @Path("refresh") |
| public Response triggerRefresh() { |
| get(SimpleFabricService.class).triggerRefresh(); |
| return Response.status(204).build(); |
| } |
| |
| /** |
| * Trigger SimpleFabric Service Flush Reactive Intents. |
| * |
| * @return 204 No Content |
| */ |
| @PUT |
| @Path("flush") |
| public Response triggerFlush() { |
| get(SimpleFabricService.class).triggerFlush(); |
| return Response.status(204).build(); |
| } |
| |
| } |
| |