use of org.openstack4j.model.network.Port in project camel by apache.
the class PortProducer method doGet.
private void doGet(Exchange exchange) {
final Message msg = exchange.getIn();
final String id = msg.getHeader(OpenstackConstants.ID, msg.getHeader(NeutronConstants.PORT_ID, String.class), String.class);
ObjectHelper.notEmpty(id, "Port ID");
final Port result = os.networking().port().get(id);
msg.setBody(result);
}
use of org.openstack4j.model.network.Port in project camel by apache.
the class PortProducer method messageToPort.
private Port messageToPort(Message message) {
Port port = message.getBody(Port.class);
if (port == null) {
Map headers = message.getHeaders();
PortBuilder builder = Builders.port();
ObjectHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
builder.name(message.getHeader(OpenstackConstants.NAME, String.class));
if (headers.containsKey(NeutronConstants.TENANT_ID)) {
builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
}
if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
}
if (headers.containsKey(NeutronConstants.DEVICE_ID)) {
builder.deviceId(message.getHeader(NeutronConstants.DEVICE_ID, String.class));
}
if (headers.containsKey(NeutronConstants.MAC_ADDRESS)) {
builder.macAddress(message.getHeader(NeutronConstants.MAC_ADDRESS, String.class));
}
port = builder.build();
}
return port;
}
use of org.openstack4j.model.network.Port in project camel by apache.
the class PortProducer method doCreate.
private void doCreate(Exchange exchange) {
final Port in = messageToPort(exchange.getIn());
final Port out = os.networking().port().create(in);
exchange.getIn().setBody(out);
}
use of org.openstack4j.model.network.Port in project camel by apache.
the class PortProducer method doUpdate.
private void doUpdate(Exchange exchange) {
final Message msg = exchange.getIn();
final Port port = messageToPort(msg);
final Port updatedPort = os.networking().port().update(port);
msg.setBody(updatedPort);
}
use of org.openstack4j.model.network.Port in project camel by apache.
the class PortProducerTest method updateTest.
@Test
public void updateTest() throws Exception {
final String portID = "myID";
msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.UPDATE);
final String newDevId = "dev";
when(testOSport.getDeviceId()).thenReturn(newDevId);
when(testOSport.getId()).thenReturn(portID);
when(portService.update(any(Port.class))).thenReturn(testOSport);
msg.setBody(testOSport);
producer.process(exchange);
ArgumentCaptor<Port> captor = ArgumentCaptor.forClass(Port.class);
verify(portService).update(captor.capture());
assertEqualsPort(testOSport, captor.getValue());
assertNotNull(captor.getValue().getId());
}
Aggregations