/** * Copyright 2014 Comcast Cable Communications Management, LLC * * This file is part of CATS. * * CATS is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CATS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with CATS. If not, see <http://www.gnu.org/licenses/>. */ package com.comcast.cats.service; import java.util.Date; import java.util.List; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.QueryParam; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import com.comcast.cats.reboot.MonitorTarget; import com.comcast.cats.reboot.RebootHostStatus; import com.comcast.cats.reboot.RebootInfo; public interface RebootDetection { @GET @Path( value = "/version" ) public String version(); @POST @Path( value = "/add" ) public void add( @QueryParam( "ip" ) String ip, @QueryParam( "ecm" ) String ecmMacAddress, @QueryParam( "status" ) RebootHostStatus status ); @POST @Path( value = "/update" ) public void update( @QueryParam( "ip" ) String ip, @QueryParam( "ecm" ) String ecmMacAddress, @QueryParam( "status" ) RebootHostStatus status ); @DELETE @Path( value = "/delete" ) public void delete(); @GET @Path( value = "/current" ) @Produces( { "application/xml", "application/json" } ) public MonitorTarget current(); @GET @Path( value = "/count" ) public Integer count(); @GET @Path( value = "/listAll" ) @Produces( { "application/xml", "application/json" } ) public List< RebootInfo > listAll(); @GET @Path( value = "/list" ) @Produces( { "application/xml", "application/json" } ) public List< RebootInfo > list( @QueryParam( "offset" ) Integer offset, @QueryParam( "max" ) Integer max, @QueryParam( "startDt" ) Date start, @QueryParam( "endDt" ) Date end ); }