// Path: server/src/main/java/io/pne/veth/server/handlers/IJsonHandler.java
// public interface IJsonHandler<I,O> {
// 
//     O handle(I aRequest);
// 
//     Class<I> getRequestClass();
// }
// 
// Path: server/src/main/java/io/pne/veth/server/handlers/dao/IEndpointDao.java
// public interface IEndpointDao {
// 
//     void addEndpoint(TEndpoint aEndpoint);
// 
//     TEndpoint findEndPoint(String aEndpointId);
// 
//     void removeEndpoint(String aEndpointId);
// }
// 
// Path: server/src/main/java/io/pne/veth/server/handlers/service/INetworkService.java
// public interface INetworkService {
// 
//     String getNetworkGateway(String aNetwork, String aEndpointId);
// }


import io.pne.veth.server.handlers.IJsonHandler;
import io.pne.veth.server.handlers.dao.IEndpointDao;
import io.pne.veth.server.handlers.model.*;
import io.pne.veth.server.handlers.service.INetworkService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
package io.pne.veth.server.handlers.location.networkdriver;


public class JoinHandler implements IJsonHandler<JoinRequest, JoinResponse> {

    private static final Logger LOG = LoggerFactory.getLogger(JoinHandler.class);

// Path: server/src/main/java/io/pne/veth/server/handlers/IJsonHandler.java
// public interface IJsonHandler<I,O> {
// 
//     O handle(I aRequest);
// 
//     Class<I> getRequestClass();
// }
// 
// Path: server/src/main/java/io/pne/veth/server/handlers/dao/IEndpointDao.java
// public interface IEndpointDao {
// 
//     void addEndpoint(TEndpoint aEndpoint);
// 
//     TEndpoint findEndPoint(String aEndpointId);
// 
//     void removeEndpoint(String aEndpointId);
// }
// 
// Path: server/src/main/java/io/pne/veth/server/handlers/service/INetworkService.java
// public interface INetworkService {
// 
//     String getNetworkGateway(String aNetwork, String aEndpointId);
// }


// Path: server/src/main/java/io/pne/veth/server/handlers/location/networkdriver/JoinHandler.java
import io.pne.veth.server.handlers.IJsonHandler;
import io.pne.veth.server.handlers.dao.IEndpointDao;
import io.pne.veth.server.handlers.model.*;
import io.pne.veth.server.handlers.service.INetworkService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

package io.pne.veth.server.handlers.location.networkdriver;


public class JoinHandler implements IJsonHandler<JoinRequest, JoinResponse> {

    private static final Logger LOG = LoggerFactory.getLogger(JoinHandler.class);

    final IEndpointDao endpointDao;