Search in sources :

Example 1 with Port

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);
}
Also used : Message(org.apache.camel.Message) Port(org.openstack4j.model.network.Port)

Example 2 with Port

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;
}
Also used : PortBuilder(org.openstack4j.model.network.builder.PortBuilder) Port(org.openstack4j.model.network.Port) Map(java.util.Map)

Example 3 with 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);
}
Also used : Port(org.openstack4j.model.network.Port)

Example 4 with Port

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);
}
Also used : Message(org.apache.camel.Message) Port(org.openstack4j.model.network.Port)

Example 5 with Port

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());
}
Also used : Port(org.openstack4j.model.network.Port) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.junit.Test)

Aggregations

Port (org.openstack4j.model.network.Port)10 Message (org.apache.camel.Message)2 AbstractTest (org.openstack4j.api.AbstractTest)2 Test (org.testng.annotations.Test)2 CloudResource (com.sequenceiq.cloudbreak.cloud.model.CloudResource)1 OpenStackResourceException (com.sequenceiq.cloudbreak.cloud.openstack.nativ.OpenStackResourceException)1 ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 PortProducer (org.apache.camel.component.openstack.neutron.producer.PortProducer)1 Before (org.junit.Before)1 Test (org.junit.Test)1 Matchers.anyString (org.mockito.Matchers.anyString)1 OS4JException (org.openstack4j.api.exceptions.OS4JException)1 PortBuilder (org.openstack4j.model.network.builder.PortBuilder)1 NeutronPort (org.openstack4j.openstack.networking.domain.NeutronPort)1