package org.opennaas.client.rest;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.JAXBException;
import org.apache.log4j.Logger;
import org.opennaas.extensions.vcpe.model.Router;
import org.opennaas.extensions.vcpe.model.VCPENetworkElement;
import org.opennaas.extensions.vcpe.model.VCPENetworkModel;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientHandlerException;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.WebResource;
public class VCPENetworkManagerTest {
private static final Logger LOGGER = Logger.getLogger(VCPENetworkManagerTest.class);
public static void main(String[] args) throws FileNotFoundException, JAXBException {
create();
getVCPENetworkById();
getAllVCPENetworks();
}
/**
*
*/
private static void getAllVCPENetworks() {
List<VCPENetworkModel> response = null;
String url = "http://localhost:8888/opennaas/vcpenetwork/getAllVCPENetworks";
try {
Client client = Client.create();
WebResource webResource = client.resource(url);
response = webResource.type(MediaType.APPLICATION_XML).get(new GenericType<List<VCPENetworkModel>>() {
});
LOGGER.info("List of VCPENetwork recovered with: " + response.size() + " items");
} catch (ClientHandlerException e) {
LOGGER.error(e.getMessage());
}
}
/**
*
*/
private static void getVCPENetworkById() {
ClientResponse response = null;
String url = "http://localhost:8888/opennaas/vcpenetwork/getVCPENetworkById/e6a1f44a-4bd5-40bf-8189-d795de03e4f4";
try {
Client client = Client.create();
WebResource webResource = client.resource(url);
response = webResource.accept(MediaType.APPLICATION_XML).get(ClientResponse.class);
LOGGER.info("Response: " + response);
VCPENetworkModel model = response.getEntity(VCPENetworkModel.class);
model.hashCode();
} catch (Exception e) {
LOGGER.error(e.getMessage());
}
}
/**
*
*/
private static void create() {
ClientResponse response = null;
String url = "http://localhost:8888/opennaas/vcpenetwork/create";
try {
Client client = Client.create();
WebResource webResource = client.resource(url);
response = webResource.type(MediaType.APPLICATION_XML)
.accept(MediaType.APPLICATION_XML).post(ClientResponse.class, getRequest());
LOGGER.info("Response: " + response);
} catch (Exception e) {
LOGGER.error(e.getMessage());
}
}
/**
* @return
*/
private static VCPENetworkModel getRequest() {
VCPENetworkModel request = new VCPENetworkModel();
request.setVcpeNetworkId("name");
List<VCPENetworkElement> elements = new ArrayList<VCPENetworkElement>();
request.setElements(elements);
elements.add(new Router());
elements.add(new Router());
return request;
}
}