// Path: halfpipe-consul/src/main/java/halfpipe/consul/client/AgentClient.java
// public interface AgentClient {
//     @RequestLine("GET /v1/agent/services")
//     Map<String, Service> getServices();
// 
//     @RequestLine("PUT /v1/agent/service/register")
//     void register(Service service);
// 
//     @RequestLine("PUT /v1/agent/service/deregister/{serviceId}")
//     void deregister(@Named("serviceId") String serviceId);
// }
// 
// Path: halfpipe-core/src/main/java/halfpipe/core/ApplicationProperties.java
// @Component
// @ConfigurationProperties("application")
// @Data
// public class ApplicationProperties {
//     private String prefix;
// 
//     @NotNull
//     private String id;
// 
//     private List<String> routes = new ArrayList<>();
// 
//     //TODO: list of embedded wars
//     private EmbeddedWar embeddedWar;
// }


import com.netflix.hystrix.Hystrix;
import halfpipe.consul.client.AgentClient;
import halfpipe.core.ApplicationProperties;
import javax.annotation.PreDestroy;
import javax.inject.Inject;
package halfpipe.consul;



/**
 * User: spencergibb
 * Date: 4/18/14
 * Time: 4:48 PM
 */
public class ShutdownDeregister {
    @Inject
    AgentClient agentClient;

    @Inject
// Path: halfpipe-consul/src/main/java/halfpipe/consul/client/AgentClient.java
// public interface AgentClient {
//     @RequestLine("GET /v1/agent/services")
//     Map<String, Service> getServices();
// 
//     @RequestLine("PUT /v1/agent/service/register")
//     void register(Service service);
// 
//     @RequestLine("PUT /v1/agent/service/deregister/{serviceId}")
//     void deregister(@Named("serviceId") String serviceId);
// }
// 
// Path: halfpipe-core/src/main/java/halfpipe/core/ApplicationProperties.java
// @Component
// @ConfigurationProperties("application")
// @Data
// public class ApplicationProperties {
//     private String prefix;
// 
//     @NotNull
//     private String id;
// 
//     private List<String> routes = new ArrayList<>();
// 
//     //TODO: list of embedded wars
//     private EmbeddedWar embeddedWar;
// }


// Path: halfpipe-consul/src/main/java/halfpipe/consul/ShutdownDeregister.java
import com.netflix.hystrix.Hystrix;
import halfpipe.consul.client.AgentClient;
import halfpipe.core.ApplicationProperties;
import javax.annotation.PreDestroy;
import javax.inject.Inject;

package halfpipe.consul;



/**
 * User: spencergibb
 * Date: 4/18/14
 * Time: 4:48 PM
 */
public class ShutdownDeregister {
    @Inject
    AgentClient agentClient;

    @Inject
    ConsulProperties consulProperties;