You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/12/17 11:53:54 UTC

[15/17] camel git commit: CAMEL-9748: fix CS

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
index 8184355..8320539 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
@@ -16,99 +16,100 @@
  */
 package org.apache.camel.component.openstack.keystone.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.keystone.KeystoneConstants;
 import org.apache.camel.component.openstack.keystone.KeystoneEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
 import org.openstack4j.model.identity.v3.Domain;
 import org.openstack4j.model.identity.v3.builder.DomainBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class DomainProducer extends AbstractKeystoneProducer {
 
-	public DomainProducer(KeystoneEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
-
-	@Override public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case KeystoneConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case KeystoneConstants.GET:
-				doGet(exchange);
-				break;
-			case KeystoneConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case KeystoneConstants.UPDATE:
-				doUpdate(exchange);
-				break;
-			case KeystoneConstants.DELETE:
-				doDelete(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsupported operation " + operation);
-		}
-	}
-
-	private void doCreate(Exchange exchange) {
-		final Domain in = messageToDomain(exchange.getIn());
-		final Domain out = osV3Client.identity().domains().create(in);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGet(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.DOMAIN_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Domain ID");
-		final Domain out = osV3Client.identity().domains().get(id);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGetAll(Exchange exchange) {
-		final List<? extends Domain> out = osV3Client.identity().domains().list();
-		exchange.getIn().setBody(out);
-	}
-
-	private void doUpdate(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final Domain in = messageToDomain(msg);
-		final Domain out = osV3Client.identity().domains().update(in);
-		msg.setBody(out);
-	}
-
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.DOMAIN_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Domain ID");
-		final ActionResponse response = osV3Client.identity().domains().delete(id);
-		checkFailure(response, msg, "Delete domain" + id);
-	}
-
-	private Domain messageToDomain(Message message) {
-		Domain domain = message.getBody(Domain.class);
-		if(domain == null) {
-			Map headers = message.getHeaders();
-			DomainBuilder builder = Builders.domain();
-
-			ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
-			builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
-
-			if (headers.containsKey(KeystoneConstants.DESCRIPTION))
-				builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
-
-			domain = builder.build();
-		}
-
-		return domain;
-	}
+    public DomainProducer(KeystoneEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case KeystoneConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case KeystoneConstants.GET:
+            doGet(exchange);
+            break;
+        case KeystoneConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case KeystoneConstants.UPDATE:
+            doUpdate(exchange);
+            break;
+        case KeystoneConstants.DELETE:
+            doDelete(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
+
+    private void doCreate(Exchange exchange) {
+        final Domain in = messageToDomain(exchange.getIn());
+        final Domain out = osV3Client.identity().domains().create(in);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGet(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.DOMAIN_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Domain ID");
+        final Domain out = osV3Client.identity().domains().get(id);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGetAll(Exchange exchange) {
+        final List<? extends Domain> out = osV3Client.identity().domains().list();
+        exchange.getIn().setBody(out);
+    }
+
+    private void doUpdate(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final Domain in = messageToDomain(msg);
+        final Domain out = osV3Client.identity().domains().update(in);
+        msg.setBody(out);
+    }
+
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.DOMAIN_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Domain ID");
+        final ActionResponse response = osV3Client.identity().domains().delete(id);
+        checkFailure(response, msg, "Delete domain" + id);
+    }
+
+    private Domain messageToDomain(Message message) {
+        Domain domain = message.getBody(Domain.class);
+        if (domain == null) {
+            Map headers = message.getHeaders();
+            DomainBuilder builder = Builders.domain();
+
+            ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
+            builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
+
+            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
+                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
+            }
+
+            domain = builder.build();
+        }
+
+        return domain;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
index 258ebaa..6c25a63 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
@@ -16,142 +16,143 @@
  */
 package org.apache.camel.component.openstack.keystone.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.keystone.KeystoneConstants;
 import org.apache.camel.component.openstack.keystone.KeystoneEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
 import org.openstack4j.model.identity.v3.Group;
 import org.openstack4j.model.identity.v3.builder.GroupBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class GroupProducer extends AbstractKeystoneProducer {
 
-	public GroupProducer(KeystoneEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
-
-	@Override
-	public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case KeystoneConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case KeystoneConstants.GET:
-				doGet(exchange);
-				break;
-			case KeystoneConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case KeystoneConstants.UPDATE:
-				doUpdate(exchange);
-				break;
-			case KeystoneConstants.DELETE:
-				doDelete(exchange);
-				break;
-			case KeystoneConstants.ADD_USER_TO_GROUP:
-				doAddUser(exchange);
-				break;
-			case KeystoneConstants.CHECK_GROUP_USER:
-				doCheckUserGroup(exchange);
-				break;
-			case KeystoneConstants.REMOVE_USER_FROM_GROUP:
-				doRemoveUserFromGroup(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsupported operation " + operation);
-		}
-	}
-
-	private void doCreate(Exchange exchange) {
-		final Group in = messageToGroup(exchange.getIn());
-		final Group out = osV3Client.identity().groups().create(in);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGet(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.GROUP_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Group ID");
-		final Group result = osV3Client.identity().groups().get(id);
-		msg.setBody(result);
-	}
-
-	private void doGetAll(Exchange exchange) {
-		final List<? extends Group> out = osV3Client.identity().groups().list();
-		exchange.getIn().setBody(out);
-	}
-
-	private void doUpdate(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final Group group = messageToGroup(msg);
-		final Group updatedGroup = osV3Client.identity().groups().update(group);
-		msg.setBody(updatedGroup);
-	}
-
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.GROUP_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Group ID");
-		final ActionResponse response = osV3Client.identity().groups().delete(id);
-		checkFailure(response, msg, "Delete group with ID " + id);
-	}
-
-	private void doAddUser(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String userId = msg.getHeader(KeystoneConstants.USER_ID, String.class);
-		final String groupId = msg.getHeader(KeystoneConstants.GROUP_ID, String.class);
-		ObjectHelper.notEmpty(userId, "User ID");
-		ObjectHelper.notEmpty(groupId, "Group ID");
-		final ActionResponse response = osV3Client.identity().groups().addUserToGroup(groupId, userId);
-		checkFailure(response, msg, String.format("Add user %s to group %s", userId, groupId));
-	}
-
-	private void doCheckUserGroup(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String userId = msg.getHeader(KeystoneConstants.USER_ID, String.class);
-		final String groupId = msg.getHeader(KeystoneConstants.GROUP_ID, String.class);
-		ObjectHelper.notEmpty(userId, "User ID");
-		ObjectHelper.notEmpty(groupId, "Group ID");
-		final ActionResponse response = osV3Client.identity().groups().checkGroupUser(groupId, userId);
-		msg.setBody(response.isSuccess());
-	}
-
-	private void doRemoveUserFromGroup(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String userId = msg.getHeader(KeystoneConstants.USER_ID, String.class);
-		final String groupId = msg.getHeader(KeystoneConstants.GROUP_ID, String.class);
-		ObjectHelper.notEmpty(userId, "User ID");
-		ObjectHelper.notEmpty(groupId, "Group ID");
-		final ActionResponse response = osV3Client.identity().groups().removeUserFromGroup(groupId, userId);
-		checkFailure(response, msg, String.format("Delete user %s from group %s", userId, groupId));
-	}
-
-	private Group messageToGroup(Message message) {
-		Group group = message.getBody(Group.class);
-
-		if (group == null) {
-			Map headers = message.getHeaders();
-			GroupBuilder builder = Builders.group();
-
-			ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
-			builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
-
-			if (headers.containsKey(KeystoneConstants.DOMAIN_ID))
-				builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
-
-			if (headers.containsKey(KeystoneConstants.DESCRIPTION))
-				builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
-
-			group = builder.build();
-		}
-		return group;
-	}
+    public GroupProducer(KeystoneEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case KeystoneConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case KeystoneConstants.GET:
+            doGet(exchange);
+            break;
+        case KeystoneConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case KeystoneConstants.UPDATE:
+            doUpdate(exchange);
+            break;
+        case KeystoneConstants.DELETE:
+            doDelete(exchange);
+            break;
+        case KeystoneConstants.ADD_USER_TO_GROUP:
+            doAddUser(exchange);
+            break;
+        case KeystoneConstants.CHECK_GROUP_USER:
+            doCheckUserGroup(exchange);
+            break;
+        case KeystoneConstants.REMOVE_USER_FROM_GROUP:
+            doRemoveUserFromGroup(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
+
+    private void doCreate(Exchange exchange) {
+        final Group in = messageToGroup(exchange.getIn());
+        final Group out = osV3Client.identity().groups().create(in);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGet(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.GROUP_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Group ID");
+        final Group result = osV3Client.identity().groups().get(id);
+        msg.setBody(result);
+    }
+
+    private void doGetAll(Exchange exchange) {
+        final List<? extends Group> out = osV3Client.identity().groups().list();
+        exchange.getIn().setBody(out);
+    }
+
+    private void doUpdate(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final Group group = messageToGroup(msg);
+        final Group updatedGroup = osV3Client.identity().groups().update(group);
+        msg.setBody(updatedGroup);
+    }
+
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.GROUP_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Group ID");
+        final ActionResponse response = osV3Client.identity().groups().delete(id);
+        checkFailure(response, msg, "Delete group with ID " + id);
+    }
+
+    private void doAddUser(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String userId = msg.getHeader(KeystoneConstants.USER_ID, String.class);
+        final String groupId = msg.getHeader(KeystoneConstants.GROUP_ID, String.class);
+        ObjectHelper.notEmpty(userId, "User ID");
+        ObjectHelper.notEmpty(groupId, "Group ID");
+        final ActionResponse response = osV3Client.identity().groups().addUserToGroup(groupId, userId);
+        checkFailure(response, msg, String.format("Add user %s to group %s", userId, groupId));
+    }
+
+    private void doCheckUserGroup(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String userId = msg.getHeader(KeystoneConstants.USER_ID, String.class);
+        final String groupId = msg.getHeader(KeystoneConstants.GROUP_ID, String.class);
+        ObjectHelper.notEmpty(userId, "User ID");
+        ObjectHelper.notEmpty(groupId, "Group ID");
+        final ActionResponse response = osV3Client.identity().groups().checkGroupUser(groupId, userId);
+        msg.setBody(response.isSuccess());
+    }
+
+    private void doRemoveUserFromGroup(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String userId = msg.getHeader(KeystoneConstants.USER_ID, String.class);
+        final String groupId = msg.getHeader(KeystoneConstants.GROUP_ID, String.class);
+        ObjectHelper.notEmpty(userId, "User ID");
+        ObjectHelper.notEmpty(groupId, "Group ID");
+        final ActionResponse response = osV3Client.identity().groups().removeUserFromGroup(groupId, userId);
+        checkFailure(response, msg, String.format("Delete user %s from group %s", userId, groupId));
+    }
+
+    private Group messageToGroup(Message message) {
+        Group group = message.getBody(Group.class);
+
+        if (group == null) {
+            Map headers = message.getHeaders();
+            GroupBuilder builder = Builders.group();
+
+            ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
+            builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
+
+            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
+                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
+            }
+
+            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
+                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
+            }
+
+            group = builder.build();
+        }
+        return group;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
index 6dab2bb..5a439c8 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
@@ -16,106 +16,108 @@
  */
 package org.apache.camel.component.openstack.keystone.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.keystone.KeystoneConstants;
 import org.apache.camel.component.openstack.keystone.KeystoneEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
 import org.openstack4j.model.identity.v3.Project;
 import org.openstack4j.model.identity.v3.builder.ProjectBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class ProjectProducer extends AbstractKeystoneProducer {
 
-	public ProjectProducer(KeystoneEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
-
-	@Override
-	public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case KeystoneConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case KeystoneConstants.GET:
-				doGet(exchange);
-				break;
-			case KeystoneConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case KeystoneConstants.UPDATE:
-				doUpdate(exchange);
-				break;
-			case KeystoneConstants.DELETE:
-				doDelete(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsupported operation " + operation);
-		}
-	}
-
-	private void doCreate(Exchange exchange) {
-		final Project in = messageToProject(exchange.getIn());
-		final Project out = osV3Client.identity().projects().create(in);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGet(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, String.class);
-		ObjectHelper.notEmpty(id, "Project ID");
-		final Project result = osV3Client.identity().projects().get(id);
-		msg.setBody(result);
-	}
-
-	private void doGetAll(Exchange exchange) {
-		final List<? extends Project> out = osV3Client.identity().projects().list();
-		exchange.getIn().setBody(out);
-	}
-
-	private void doUpdate(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final Project in = messageToProject(msg);
-		final Project out = osV3Client.identity().projects().update(in);
-		msg.setBody(out);
-	}
-
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, String.class);
-		ObjectHelper.notEmpty(id, "Project ID");
-		final ActionResponse response = osV3Client.identity().projects().delete(id);
-		checkFailure(response, msg, "Delete project with ID " + id);
-	}
-
-	private Project messageToProject(Message message) {
-		Project project = message.getBody(Project.class);
-
-		if (project == null) {
-			Map headers = message.getHeaders();
-			ProjectBuilder builder = Builders.project();
-
-			ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
-			builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
-
-			if (headers.containsKey(KeystoneConstants.DOMAIN_ID))
-				builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
-
-			if(headers.containsKey(KeystoneConstants.DESCRIPTION))
-				builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
-
-			if(headers.containsKey(KeystoneConstants.PARENT_ID))
-				builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
-
-			project = builder.build();
-		}
-		return project;
-	}
+    public ProjectProducer(KeystoneEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case KeystoneConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case KeystoneConstants.GET:
+            doGet(exchange);
+            break;
+        case KeystoneConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case KeystoneConstants.UPDATE:
+            doUpdate(exchange);
+            break;
+        case KeystoneConstants.DELETE:
+            doDelete(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
+
+    private void doCreate(Exchange exchange) {
+        final Project in = messageToProject(exchange.getIn());
+        final Project out = osV3Client.identity().projects().create(in);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGet(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, String.class);
+        ObjectHelper.notEmpty(id, "Project ID");
+        final Project result = osV3Client.identity().projects().get(id);
+        msg.setBody(result);
+    }
+
+    private void doGetAll(Exchange exchange) {
+        final List<? extends Project> out = osV3Client.identity().projects().list();
+        exchange.getIn().setBody(out);
+    }
+
+    private void doUpdate(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final Project in = messageToProject(msg);
+        final Project out = osV3Client.identity().projects().update(in);
+        msg.setBody(out);
+    }
+
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, String.class);
+        ObjectHelper.notEmpty(id, "Project ID");
+        final ActionResponse response = osV3Client.identity().projects().delete(id);
+        checkFailure(response, msg, "Delete project with ID " + id);
+    }
+
+    private Project messageToProject(Message message) {
+        Project project = message.getBody(Project.class);
+
+        if (project == null) {
+            Map headers = message.getHeaders();
+            ProjectBuilder builder = Builders.project();
+
+            ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
+            builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
+
+            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
+                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
+            }
+
+            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
+                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
+            }
+
+            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
+                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
+            }
+
+            project = builder.build();
+        }
+        return project;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
index b79c03b..0999752 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
@@ -16,95 +16,96 @@
  */
 package org.apache.camel.component.openstack.keystone.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.keystone.KeystoneConstants;
 import org.apache.camel.component.openstack.keystone.KeystoneEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
 import org.openstack4j.model.identity.v3.Region;
 import org.openstack4j.model.identity.v3.builder.RegionBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class RegionProducer extends AbstractKeystoneProducer {
 
-	public RegionProducer(KeystoneEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
+    public RegionProducer(KeystoneEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
 
-	@Override public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case KeystoneConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case KeystoneConstants.GET:
-				doGet(exchange);
-				break;
-			case KeystoneConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case KeystoneConstants.UPDATE:
-				doUpdate(exchange);
-				break;
-			case KeystoneConstants.DELETE:
-				doDelete(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsupported operation " + operation);
-		}
-	}
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case KeystoneConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case KeystoneConstants.GET:
+            doGet(exchange);
+            break;
+        case KeystoneConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case KeystoneConstants.UPDATE:
+            doUpdate(exchange);
+            break;
+        case KeystoneConstants.DELETE:
+            doDelete(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
 
-	private void doCreate(Exchange exchange) {
-		final Region in = messageToRegion(exchange.getIn());
-		final Region out = osV3Client.identity().regions().create(in);
-		exchange.getIn().setBody(out);
-	}
+    private void doCreate(Exchange exchange) {
+        final Region in = messageToRegion(exchange.getIn());
+        final Region out = osV3Client.identity().regions().create(in);
+        exchange.getIn().setBody(out);
+    }
 
-	private void doGet(Exchange exchange) {
-		final String id = exchange.getIn().getHeader(KeystoneConstants.ID, String.class);
-		ObjectHelper.notEmpty(id, "Region ID");
-		final Region out = osV3Client.identity().regions().get(id);
-		exchange.getIn().setBody(out);
-	}
+    private void doGet(Exchange exchange) {
+        final String id = exchange.getIn().getHeader(KeystoneConstants.ID, String.class);
+        ObjectHelper.notEmpty(id, "Region ID");
+        final Region out = osV3Client.identity().regions().get(id);
+        exchange.getIn().setBody(out);
+    }
 
-	private void doGetAll(Exchange exchange) {
-		final List<? extends Region> out = osV3Client.identity().regions().list();
-		exchange.getIn().setBody(out);
-	}
+    private void doGetAll(Exchange exchange) {
+        final List<? extends Region> out = osV3Client.identity().regions().list();
+        exchange.getIn().setBody(out);
+    }
 
-	private void doUpdate(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final Region in = messageToRegion(msg);
-		final Region out = osV3Client.identity().regions().update(in);
-		msg.setBody(out);
-	}
+    private void doUpdate(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final Region in = messageToRegion(msg);
+        final Region out = osV3Client.identity().regions().update(in);
+        msg.setBody(out);
+    }
 
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, String.class);
-		ObjectHelper.notEmpty(id, "Region ID");
-		final ActionResponse response = osV3Client.identity().regions().delete(id);
-		checkFailure(response, msg, "Delete network" + id);
-	}
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, String.class);
+        ObjectHelper.notEmpty(id, "Region ID");
+        final ActionResponse response = osV3Client.identity().regions().delete(id);
+        checkFailure(response, msg, "Delete network" + id);
+    }
 
-	private Region messageToRegion(Message message) {
-		Region region = message.getBody(Region.class);
-		if(region == null) {
-			Map headers = message.getHeaders();
-			RegionBuilder builder = Builders.region();
+    private Region messageToRegion(Message message) {
+        Region region = message.getBody(Region.class);
+        if (region == null) {
+            Map headers = message.getHeaders();
+            RegionBuilder builder = Builders.region();
 
-			if(headers.containsKey(KeystoneConstants.DESCRIPTION))
-			builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
+            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
+                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
+            }
 
-			region = builder.build();
-		}
+            region = builder.build();
+        }
 
-		return region;
-	}
+        return region;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
index 3273fad..7794cd7 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
@@ -16,110 +16,113 @@
  */
 package org.apache.camel.component.openstack.keystone.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.keystone.KeystoneConstants;
 import org.apache.camel.component.openstack.keystone.KeystoneEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
 import org.openstack4j.model.identity.v3.User;
 import org.openstack4j.model.identity.v3.builder.UserBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class UserProducer extends AbstractKeystoneProducer {
 
-	public UserProducer(KeystoneEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
-
-	@Override
-	public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case KeystoneConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case KeystoneConstants.GET:
-				doGet(exchange);
-				break;
-			case KeystoneConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case KeystoneConstants.UPDATE:
-				doUpdate(exchange);
-				break;
-			case KeystoneConstants.DELETE:
-				doDelete(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsupported operation " + operation);
-		}
-	}
-
-	private void doCreate(Exchange exchange) {
-		final User in = messageToUser(exchange.getIn());
-		final User out = osV3Client.identity().users().create(in);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGet(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.USER_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "User ID");
-		final User result = osV3Client.identity().users().get(id);
-		msg.setBody(result);
-	}
-
-	private void doGetAll(Exchange exchange) {
-		final List<? extends User> out = osV3Client.identity().users().list();
-		exchange.getIn().setBody(out);
-	}
-
-	private void doUpdate(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final User in = messageToUser(msg);
-		final User out = osV3Client.identity().users().update(in);
-		msg.setBody(out);
-	}
-
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.USER_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "User ID");
-		final ActionResponse response = osV3Client.identity().users().delete(id);
-		checkFailure(response, msg, "Delete user with ID " + id);
-	}
-
-	private User messageToUser(Message message) {
-		User project = message.getBody(User.class);
-
-		if (project == null) {
-			Map headers = message.getHeaders();
-			UserBuilder builder = Builders.user();
-
-			ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
-			builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
-
-			if (headers.containsKey(KeystoneConstants.DOMAIN_ID))
-				builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
-
-			if(headers.containsKey(KeystoneConstants.DESCRIPTION))
-				builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
-
-			if(headers.containsKey(KeystoneConstants.PASSWORD))
-				builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
-
-			if(headers.containsKey(KeystoneConstants.EMAIL))
-				builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
-
-
-			project = builder.build();
-		}
-		return project;
-	}
+    public UserProducer(KeystoneEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case KeystoneConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case KeystoneConstants.GET:
+            doGet(exchange);
+            break;
+        case KeystoneConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case KeystoneConstants.UPDATE:
+            doUpdate(exchange);
+            break;
+        case KeystoneConstants.DELETE:
+            doDelete(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
+
+    private void doCreate(Exchange exchange) {
+        final User in = messageToUser(exchange.getIn());
+        final User out = osV3Client.identity().users().create(in);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGet(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.USER_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "User ID");
+        final User result = osV3Client.identity().users().get(id);
+        msg.setBody(result);
+    }
+
+    private void doGetAll(Exchange exchange) {
+        final List<? extends User> out = osV3Client.identity().users().list();
+        exchange.getIn().setBody(out);
+    }
+
+    private void doUpdate(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final User in = messageToUser(msg);
+        final User out = osV3Client.identity().users().update(in);
+        msg.setBody(out);
+    }
+
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(KeystoneConstants.ID, msg.getHeader(KeystoneConstants.USER_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "User ID");
+        final ActionResponse response = osV3Client.identity().users().delete(id);
+        checkFailure(response, msg, "Delete user with ID " + id);
+    }
+
+    private User messageToUser(Message message) {
+        User project = message.getBody(User.class);
+
+        if (project == null) {
+            Map headers = message.getHeaders();
+            UserBuilder builder = Builders.user();
+
+            ObjectHelper.notEmpty(message.getHeader(KeystoneConstants.NAME, String.class), "Name");
+            builder.name(message.getHeader(KeystoneConstants.NAME, String.class));
+
+            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
+                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
+            }
+
+            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
+                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
+            }
+
+            if (headers.containsKey(KeystoneConstants.PASSWORD)) {
+                builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
+            }
+
+            if (headers.containsKey(KeystoneConstants.EMAIL)) {
+                builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
+            }
+
+
+            project = builder.build();
+        }
+        return project;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronComponent.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronComponent.java
index e96865f..3981ac5 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronComponent.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronComponent.java
@@ -16,18 +16,19 @@
  */
 package org.apache.camel.component.openstack.neutron;
 
+import java.util.Map;
+
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.DefaultComponent;
 
-import java.util.Map;
-
 public class NeutronComponent extends DefaultComponent {
 
-	@Override protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-		NeutronEndpoint endpoint = new NeutronEndpoint(uri, this);
-		setProperties(endpoint, parameters);
-		endpoint.setHost(remaining);
-		return endpoint;
-	}
+    @Override
+    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
+        NeutronEndpoint endpoint = new NeutronEndpoint(uri, this);
+        setProperties(endpoint, parameters);
+        endpoint.setHost(remaining);
+        return endpoint;
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronConstants.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronConstants.java
index 8989709..da8df7e 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronConstants.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronConstants.java
@@ -18,42 +18,43 @@ package org.apache.camel.component.openstack.neutron;
 
 import org.apache.camel.component.openstack.common.OpenstackConstants;
 
-public final class  NeutronConstants extends OpenstackConstants{
-
-	public static final String NEUTRON_NETWORK_SUBSYSTEM = "networks";
-	public static final String NEUTRON_SUBNETS_SYSTEM = "subnets";
-	public static final String NEUTRON_PORT_SYSTEM = "ports";
-	public static final String NEUTRON_ROUTER_SYSTEM = "routers";
-	public static final String TENANT_ID = "tenantId";
-	public static final String NETWORK_ID = "networkId";
-
-	//network
-	public static final String ADMIN_STATE_UP = "adminStateUp";
-	public static final String NETWORK_TYPE = "networkType";
-	public static final String PHYSICAL_NETWORK = "physicalNetwork";
-	public static final String SEGMENT_ID = "segmentId";
-	public static final String IS_SHARED = "isShared";
-	public static final String IS_ROUTER_EXTERNAL = "isRouterExternal";
-
-	//subnet
-	public static final String ENABLE_DHCP = "enableDHCP";
-	public static final String GATEWAY = "gateway";
-	public static final String IP_VERSION = "ipVersion";
-	public static final String CIDR = "cidr";
-	public static final String SUBNET_POOL = "subnetPools";
-
-	//port
-	public static final String DEVICE_ID = "deviceId";
-	public static final String MAC_ADDRESS = "macAddress";
-
-	//router
-	public static final String ROUTER_ID = "routerId";
-	public static final String SUBNET_ID = "subnetId";
-	public static final String PORT_ID = "portId";
-	public static final String ITERFACE_TYPE = "interfaceType";
-
-	public static final String ATTACH_INTERFACE = "attachInterface";
-	public static final String DETACH_INTERFACE = "detachInterface";
-
+public final class NeutronConstants extends OpenstackConstants {
+
+    public static final String NEUTRON_NETWORK_SUBSYSTEM = "networks";
+    public static final String NEUTRON_SUBNETS_SYSTEM = "subnets";
+    public static final String NEUTRON_PORT_SYSTEM = "ports";
+    public static final String NEUTRON_ROUTER_SYSTEM = "routers";
+    public static final String TENANT_ID = "tenantId";
+    public static final String NETWORK_ID = "networkId";
+
+    //network
+    public static final String ADMIN_STATE_UP = "adminStateUp";
+    public static final String NETWORK_TYPE = "networkType";
+    public static final String PHYSICAL_NETWORK = "physicalNetwork";
+    public static final String SEGMENT_ID = "segmentId";
+    public static final String IS_SHARED = "isShared";
+    public static final String IS_ROUTER_EXTERNAL = "isRouterExternal";
+
+    //subnet
+    public static final String ENABLE_DHCP = "enableDHCP";
+    public static final String GATEWAY = "gateway";
+    public static final String IP_VERSION = "ipVersion";
+    public static final String CIDR = "cidr";
+    public static final String SUBNET_POOL = "subnetPools";
+
+    //port
+    public static final String DEVICE_ID = "deviceId";
+    public static final String MAC_ADDRESS = "macAddress";
+
+    //router
+    public static final String ROUTER_ID = "routerId";
+    public static final String SUBNET_ID = "subnetId";
+    public static final String PORT_ID = "portId";
+    public static final String ITERFACE_TYPE = "interfaceType";
+
+    public static final String ATTACH_INTERFACE = "attachInterface";
+    public static final String DETACH_INTERFACE = "detachInterface";
+
+    private NeutronConstants() { }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
index cb69a6f..962e522 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
@@ -31,160 +31,158 @@ import org.openstack4j.core.transport.Config;
 @UriEndpoint(scheme = "openstack-neutron", title = "OpenStack-Neutron", syntax = "openstack-neutron:host", label = "cloud, virtualization")
 public class NeutronEndpoint extends AbstractOpenstackEndpoint {
 
-	@UriPath
-	@Metadata(required = "true")
-	private String host;
-
-	@UriParam(enums = "networks, subnets, ports, routers")
-	@Metadata(required = "true")
-	String subsystem;
-
-	@UriParam(defaultValue = "default")
-	private String domain = "default";
-
-	@UriParam
-	@Metadata(required = "true")
-	private String project;
-
-	@UriParam
-	private String operation;
-
-	@UriParam
-	@Metadata(required = "true")
-	private String username;
-
-	@UriParam
-	@Metadata(required = "true")
-	private String password;
-
-	@UriParam
-	private Config config;
-
-	@UriParam(defaultValue = v3, enums = "v2, v3")
-	private String apiVersion = v3;
-
-	public NeutronEndpoint(String uri, NeutronComponent component) {
-		super(uri, component);
-	}
-
-	@Override
-	public Producer createProducer() throws Exception {
-		switch (getSubsystem()) {
-			case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
-				return new NetworkProducer(this, createClient());
-			case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
-				return new SubnetProducer(this, createClient());
-			case NeutronConstants.NEUTRON_PORT_SYSTEM:
-				return new PortProducer(this, createClient());
-			case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
-				return new RouterProducer(this, createClient());
-			default:
-				throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
-		}
-	}
-
-	public String getSubsystem() {
-		return subsystem;
-	}
-
-	/**
-	 * OpenStack Neutron subsystem
-	 */
-	public void setSubsystem(String subsystem) {
-		this.subsystem = subsystem;
-	}
-
-	@Override
-	public String getDomain() {
-		return domain;
-	}
-
-	/**
-	 * Authentication domain
-	 */
-	public void setDomain(String domain) {
-		this.domain = domain;
-	}
-
-	@Override
-	public String getProject() {
-		return project;
-	}
-
-	/**
-	 * The project ID
-	 */
-	public void setProject(String project) {
-		this.project = project;
-	}
-
-	@Override
-	public String getOperation() {
-		return operation;
-	}
-
-	/**
-	 * The operation to do
-	 */
-	public void setOperation(String operation) {
-		this.operation = operation;
-	}
-
-	@Override
-	public String getUsername() {
-		return username;
-	}
-
-	/**
-	 * OpenStack username
-	 */
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	@Override
-	public String getPassword() {
-		return password;
-	}
-
-	/**
-	 * OpenStack password
-	 */
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	@Override
-	public String getHost() {
-		return host;
-	}
-
-	/**
-	 * OpenStack host url
-	 */
-	public void setHost(String host) {
-		this.host = host;
-	}
-
-	public Config getConfig() {
-		return config;
-	}
-
-	/**
-	 *OpenStack configuration
-	 */
-	public void setConfig(Config config) {
-		this.config = config;
-	}
-
-	public String getApiVersion() {
-		return apiVersion;
-	}
-
-	/**
-	 * OpenStack API version
-	 */
-	public void setApiVersion(String apiVersion) {
-		this.apiVersion = apiVersion;
-	}
+    @UriParam(enums = "networks, subnets, ports, routers")
+    @Metadata(required = "true")
+    String subsystem;
+    @UriPath
+    @Metadata(required = "true")
+    private String host;
+    @UriParam(defaultValue = "default")
+    private String domain = "default";
+
+    @UriParam
+    @Metadata(required = "true")
+    private String project;
+
+    @UriParam
+    private String operation;
+
+    @UriParam
+    @Metadata(required = "true")
+    private String username;
+
+    @UriParam
+    @Metadata(required = "true")
+    private String password;
+
+    @UriParam
+    private Config config;
+
+    @UriParam(defaultValue = V3, enums = "V2, V3")
+    private String apiVersion = V3;
+
+    public NeutronEndpoint(String uri, NeutronComponent component) {
+        super(uri, component);
+    }
+
+    @Override
+    public Producer createProducer() throws Exception {
+        switch (getSubsystem()) {
+        case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
+            return new NetworkProducer(this, createClient());
+        case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
+            return new SubnetProducer(this, createClient());
+        case NeutronConstants.NEUTRON_PORT_SYSTEM:
+            return new PortProducer(this, createClient());
+        case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
+            return new RouterProducer(this, createClient());
+        default:
+            throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
+        }
+    }
+
+    public String getSubsystem() {
+        return subsystem;
+    }
+
+    /**
+     * OpenStack Neutron subsystem
+     */
+    public void setSubsystem(String subsystem) {
+        this.subsystem = subsystem;
+    }
+
+    @Override
+    public String getDomain() {
+        return domain;
+    }
+
+    /**
+     * Authentication domain
+     */
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    @Override
+    public String getProject() {
+        return project;
+    }
+
+    /**
+     * The project ID
+     */
+    public void setProject(String project) {
+        this.project = project;
+    }
+
+    @Override
+    public String getOperation() {
+        return operation;
+    }
+
+    /**
+     * The operation to do
+     */
+    public void setOperation(String operation) {
+        this.operation = operation;
+    }
+
+    @Override
+    public String getUsername() {
+        return username;
+    }
+
+    /**
+     * OpenStack username
+     */
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    @Override
+    public String getPassword() {
+        return password;
+    }
+
+    /**
+     * OpenStack password
+     */
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    @Override
+    public String getHost() {
+        return host;
+    }
+
+    /**
+     * OpenStack host url
+     */
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public Config getConfig() {
+        return config;
+    }
+
+    /**
+     *OpenStack configuration
+     */
+    public void setConfig(Config config) {
+        this.config = config;
+    }
+
+    public String getApiVersion() {
+        return apiVersion;
+    }
+
+    /**
+     * OpenStack API version
+     */
+    public void setApiVersion(String apiVersion) {
+        this.apiVersion = apiVersion;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/NetworkProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/NetworkProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/NetworkProducer.java
index 6e58c7f..afc014d 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/NetworkProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/NetworkProducer.java
@@ -16,13 +16,15 @@
  */
 package org.apache.camel.component.openstack.neutron.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.common.AbstractOpenstackProducer;
 import org.apache.camel.component.openstack.neutron.NeutronConstants;
 import org.apache.camel.component.openstack.neutron.NeutronEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
@@ -30,95 +32,100 @@ import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.NetworkType;
 import org.openstack4j.model.network.builder.NetworkBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class NetworkProducer extends AbstractOpenstackProducer {
 
-	public NetworkProducer(NeutronEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
-
-	@Override public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case NeutronConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case NeutronConstants.GET:
-				doGet(exchange);
-				break;
-			case NeutronConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case NeutronConstants.DELETE:
-				doDelete(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsupported operation " + operation);
-		}
-	}
-
-	private void doCreate(Exchange exchange) {
-		final Network in = messageToNetwork(exchange.getIn());
-		final Network out = os.networking().network().create(in);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGet(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.NETWORK_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Network ID");
-		final Network out = os.networking().network().get(id);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGetAll(Exchange exchange) {
-		final List<? extends Network> out = os.networking().network().list();
-		exchange.getIn().setBody(out);
-	}
-
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.NETWORK_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Network ID");
-		final ActionResponse response = os.networking().network().delete(id);
-		checkFailure(response, msg, "Delete network" + id);
-	}
-
-	private Network messageToNetwork(Message message) {
-		Network network = message.getBody(Network.class);
-		if(network == null) {
-			Map headers = message.getHeaders();
-			NetworkBuilder builder = Builders.network();
-
-			ObjectHelper.notEmpty(message.getHeader(NeutronConstants.NAME, String.class), "Name");
-			builder.name(message.getHeader(NeutronConstants.NAME, String.class));
-
-			if(headers.containsKey(NeutronConstants.ADMIN_STATE_UP))
-			builder.adminStateUp(message.getHeader(NeutronConstants.ADMIN_STATE_UP, Boolean.class));
-
-			if(headers.containsKey(NeutronConstants.NETWORK_TYPE))
-			builder.networkType(message.getHeader(NeutronConstants.NETWORK_TYPE, NetworkType.class));
-
-			if(headers.containsKey(NeutronConstants.IS_SHARED))
-			builder.isShared(message.getHeader(NeutronConstants.IS_SHARED, Boolean.class));
-
-			if(headers.containsKey(NeutronConstants.IS_ROUTER_EXTERNAL))
-			builder.isRouterExternal(message.getHeader(NeutronConstants.IS_ROUTER_EXTERNAL, Boolean.class));
-
-			if(headers.containsKey(NeutronConstants.TENANT_ID))
-			builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
-
-			if(headers.containsKey(NeutronConstants.PHYSICAL_NETWORK))
-				builder.physicalNetwork(message.getHeader(NeutronConstants.PHYSICAL_NETWORK, String.class));
-
-			if(headers.containsKey(NeutronConstants.SEGMENT_ID))
-				builder.segmentId(message.getHeader(NeutronConstants.SEGMENT_ID, String.class));
-
-			network = builder.build();
-		}
-
-		return network;
-	}
+    public NetworkProducer(NeutronEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case NeutronConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case NeutronConstants.GET:
+            doGet(exchange);
+            break;
+        case NeutronConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case NeutronConstants.DELETE:
+            doDelete(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
+
+    private void doCreate(Exchange exchange) {
+        final Network in = messageToNetwork(exchange.getIn());
+        final Network out = os.networking().network().create(in);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGet(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.NETWORK_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Network ID");
+        final Network out = os.networking().network().get(id);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGetAll(Exchange exchange) {
+        final List<? extends Network> out = os.networking().network().list();
+        exchange.getIn().setBody(out);
+    }
+
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.NETWORK_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Network ID");
+        final ActionResponse response = os.networking().network().delete(id);
+        checkFailure(response, msg, "Delete network" + id);
+    }
+
+    private Network messageToNetwork(Message message) {
+        Network network = message.getBody(Network.class);
+        if (network == null) {
+            Map headers = message.getHeaders();
+            NetworkBuilder builder = Builders.network();
+
+            ObjectHelper.notEmpty(message.getHeader(NeutronConstants.NAME, String.class), "Name");
+            builder.name(message.getHeader(NeutronConstants.NAME, String.class));
+
+            if (headers.containsKey(NeutronConstants.ADMIN_STATE_UP)) {
+                builder.adminStateUp(message.getHeader(NeutronConstants.ADMIN_STATE_UP, Boolean.class));
+            }
+
+            if (headers.containsKey(NeutronConstants.NETWORK_TYPE)) {
+                builder.networkType(message.getHeader(NeutronConstants.NETWORK_TYPE, NetworkType.class));
+            }
+
+            if (headers.containsKey(NeutronConstants.IS_SHARED)) {
+                builder.isShared(message.getHeader(NeutronConstants.IS_SHARED, Boolean.class));
+            }
+
+            if (headers.containsKey(NeutronConstants.IS_ROUTER_EXTERNAL)) {
+                builder.isRouterExternal(message.getHeader(NeutronConstants.IS_ROUTER_EXTERNAL, Boolean.class));
+            }
+
+            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
+                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
+            }
+
+            if (headers.containsKey(NeutronConstants.PHYSICAL_NETWORK)) {
+                builder.physicalNetwork(message.getHeader(NeutronConstants.PHYSICAL_NETWORK, String.class));
+            }
+
+            if (headers.containsKey(NeutronConstants.SEGMENT_ID)) {
+                builder.segmentId(message.getHeader(NeutronConstants.SEGMENT_ID, String.class));
+            }
+
+            network = builder.build();
+        }
+
+        return network;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
index f7ed65d..e3ccf5a 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/PortProducer.java
@@ -16,110 +16,113 @@
  */
 package org.apache.camel.component.openstack.neutron.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.common.AbstractOpenstackProducer;
 import org.apache.camel.component.openstack.neutron.NeutronConstants;
 import org.apache.camel.component.openstack.neutron.NeutronEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
 import org.openstack4j.model.network.Port;
 import org.openstack4j.model.network.builder.PortBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class PortProducer extends AbstractOpenstackProducer {
 
-	public PortProducer(NeutronEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
-
-	@Override
-	public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case NeutronConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case NeutronConstants.GET:
-				doGet(exchange);
-				break;
-			case NeutronConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case NeutronConstants.UPDATE:
-				doUpdate(exchange);
-				break;
-			case NeutronConstants.DELETE:
-				doDelete(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsupported operation " + operation);
-		}
-	}
-
-	private void doCreate(Exchange exchange) {
-		final Port in = messageToPort(exchange.getIn());
-		final Port out = os.networking().port().create(in);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGet(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(NeutronConstants.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);
-	}
-
-	private void doGetAll(Exchange exchange) {
-		final List<? extends Port> out = os.networking().port().list();
-		exchange.getIn().setBody(out);
-	}
-
-	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);
-	}
-
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.PORT_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Port ID");
-		final ActionResponse response = os.networking().port().delete(id);
-		checkFailure(response, msg, "Delete port with ID " + id);
-	}
-
-	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(NeutronConstants.NAME, String.class), "Name");
-			builder.name(message.getHeader(NeutronConstants.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;
-	}
+    public PortProducer(NeutronEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case NeutronConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case NeutronConstants.GET:
+            doGet(exchange);
+            break;
+        case NeutronConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case NeutronConstants.UPDATE:
+            doUpdate(exchange);
+            break;
+        case NeutronConstants.DELETE:
+            doDelete(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation " + operation);
+        }
+    }
+
+    private void doCreate(Exchange exchange) {
+        final Port in = messageToPort(exchange.getIn());
+        final Port out = os.networking().port().create(in);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGet(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(NeutronConstants.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);
+    }
+
+    private void doGetAll(Exchange exchange) {
+        final List<? extends Port> out = os.networking().port().list();
+        exchange.getIn().setBody(out);
+    }
+
+    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);
+    }
+
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.PORT_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Port ID");
+        final ActionResponse response = os.networking().port().delete(id);
+        checkFailure(response, msg, "Delete port with ID " + id);
+    }
+
+    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(NeutronConstants.NAME, String.class), "Name");
+            builder.name(message.getHeader(NeutronConstants.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;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7d2907d2/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
index 77f8e1f..ef8913b 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
@@ -16,13 +16,15 @@
  */
 package org.apache.camel.component.openstack.neutron.producer;
 
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.openstack.common.AbstractOpenstackProducer;
 import org.apache.camel.component.openstack.neutron.NeutronConstants;
 import org.apache.camel.component.openstack.neutron.NeutronEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import org.openstack4j.api.Builders;
 import org.openstack4j.api.OSClient;
 import org.openstack4j.model.common.ActionResponse;
@@ -31,116 +33,114 @@ import org.openstack4j.model.network.Router;
 import org.openstack4j.model.network.RouterInterface;
 import org.openstack4j.model.network.builder.RouterBuilder;
 
-import java.util.List;
-import java.util.Map;
-
 public class RouterProducer extends AbstractOpenstackProducer {
 
-	public RouterProducer(NeutronEndpoint endpoint, OSClient client) {
-		super(endpoint, client);
-	}
-
-	@Override
-	public void process(Exchange exchange) throws Exception {
-		final String operation = getOperation(exchange);
-		switch (operation) {
-			case NeutronConstants.CREATE:
-				doCreate(exchange);
-				break;
-			case NeutronConstants.GET:
-				doGet(exchange);
-				break;
-			case NeutronConstants.GET_ALL:
-				doGetAll(exchange);
-				break;
-			case NeutronConstants.UPDATE:
-				doUpdate(exchange);
-				break;
-			case NeutronConstants.DELETE:
-				doDelete(exchange);
-				break;
-			case NeutronConstants.ATTACH_INTERFACE:
-				doAttach(exchange);
-				break;
-			case NeutronConstants.DETACH_INTERFACE:
-				doDetach(exchange);
-				break;
-			default:
-				throw new IllegalArgumentException("Unsuproutered operation " + operation);
-		}
-	}
-
-	private void doCreate(Exchange exchange) {
-		final Router in = messageToRouter(exchange.getIn());
-		final Router out = os.networking().router().create(in);
-		exchange.getIn().setBody(out);
-	}
-
-	private void doGet(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.ROUTER_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Router ID");
-		final Router result = os.networking().router().get(id);
-		msg.setBody(result);
-	}
-
-	private void doGetAll(Exchange exchange) {
-		final List<? extends Router> out = os.networking().router().list();
-		exchange.getIn().setBody(out);
-	}
-
-	private void doUpdate(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final Router router = messageToRouter(msg);
-		final Router updatedRouter = os.networking().router().update(router);
-		msg.setBody(updatedRouter);
-	}
-
-	private void doDelete(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.ROUTER_ID, String.class), String.class);
-		ObjectHelper.notEmpty(id, "Router ID");
-		final ActionResponse response = os.networking().router().delete(id);
-		checkFailure(response, msg, "Delete router with ID " + id);
-	}
-
-	private void doDetach(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
-		final String subnetId = msg.getHeader(NeutronConstants.SUBNET_ID, String.class);
-		final String portId = msg.getHeader(NeutronConstants.PORT_ID, String.class);
-		ObjectHelper.notEmpty(routerId, "Router ID");
-		RouterInterface iface = os.networking().router().detachInterface(routerId, subnetId, portId);
-		msg.setBody(iface);
-	}
-
-	private void doAttach(Exchange exchange) {
-		final Message msg = exchange.getIn();
-		final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
-		final String subnetPortId = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
-		final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
-		ObjectHelper.notEmpty(routerId, "Router ID");
-		ObjectHelper.notEmpty(subnetPortId, "Subnet/Port ID");
-		ObjectHelper.notNull(type, "AttachInterfaceType ");
-		RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
-		msg.setBody(routerInterface);
-	}
-
-	private Router messageToRouter(Message message) {
-		Router router = message.getBody(Router.class);
-
-		if (router == null) {
-			Map headers = message.getHeaders();
-			RouterBuilder builder = Builders.router();
-
-			ObjectHelper.notEmpty(message.getHeader(NeutronConstants.NAME, String.class), "Name");
-			builder.name(message.getHeader(NeutronConstants.NAME, String.class));
-
-			if (headers.containsKey(NeutronConstants.TENANT_ID))
-				builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
-
-			router = builder.build();
-		}
-		return router;
-	}
+    public RouterProducer(NeutronEndpoint endpoint, OSClient client) {
+        super(endpoint, client);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        final String operation = getOperation(exchange);
+        switch (operation) {
+        case NeutronConstants.CREATE:
+            doCreate(exchange);
+            break;
+        case NeutronConstants.GET:
+            doGet(exchange);
+            break;
+        case NeutronConstants.GET_ALL:
+            doGetAll(exchange);
+            break;
+        case NeutronConstants.UPDATE:
+            doUpdate(exchange);
+            break;
+        case NeutronConstants.DELETE:
+            doDelete(exchange);
+            break;
+        case NeutronConstants.ATTACH_INTERFACE:
+            doAttach(exchange);
+            break;
+        case NeutronConstants.DETACH_INTERFACE:
+            doDetach(exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsuproutered operation " + operation);
+        }
+    }
+
+    private void doCreate(Exchange exchange) {
+        final Router in = messageToRouter(exchange.getIn());
+        final Router out = os.networking().router().create(in);
+        exchange.getIn().setBody(out);
+    }
+
+    private void doGet(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.ROUTER_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Router ID");
+        final Router result = os.networking().router().get(id);
+        msg.setBody(result);
+    }
+
+    private void doGetAll(Exchange exchange) {
+        final List<? extends Router> out = os.networking().router().list();
+        exchange.getIn().setBody(out);
+    }
+
+    private void doUpdate(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final Router router = messageToRouter(msg);
+        final Router updatedRouter = os.networking().router().update(router);
+        msg.setBody(updatedRouter);
+    }
+
+    private void doDelete(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String id = msg.getHeader(NeutronConstants.ID, msg.getHeader(NeutronConstants.ROUTER_ID, String.class), String.class);
+        ObjectHelper.notEmpty(id, "Router ID");
+        final ActionResponse response = os.networking().router().delete(id);
+        checkFailure(response, msg, "Delete router with ID " + id);
+    }
+
+    private void doDetach(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
+        final String subnetId = msg.getHeader(NeutronConstants.SUBNET_ID, String.class);
+        final String portId = msg.getHeader(NeutronConstants.PORT_ID, String.class);
+        ObjectHelper.notEmpty(routerId, "Router ID");
+        RouterInterface iface = os.networking().router().detachInterface(routerId, subnetId, portId);
+        msg.setBody(iface);
+    }
+
+    private void doAttach(Exchange exchange) {
+        final Message msg = exchange.getIn();
+        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
+        final String subnetPortId = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
+        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
+        ObjectHelper.notEmpty(routerId, "Router ID");
+        ObjectHelper.notEmpty(subnetPortId, "Subnet/Port ID");
+        ObjectHelper.notNull(type, "AttachInterfaceType ");
+        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
+        msg.setBody(routerInterface);
+    }
+
+    private Router messageToRouter(Message message) {
+        Router router = message.getBody(Router.class);
+
+        if (router == null) {
+            Map headers = message.getHeaders();
+            RouterBuilder builder = Builders.router();
+
+            ObjectHelper.notEmpty(message.getHeader(NeutronConstants.NAME, String.class), "Name");
+            builder.name(message.getHeader(NeutronConstants.NAME, String.class));
+
+            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
+                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
+            }
+
+            router = builder.build();
+        }
+        return router;
+    }
 }