diff --git a/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPlugin.java b/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPlugin.java index 0f9fda6..b3d1a84 100644 --- a/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPlugin.java +++ b/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPlugin.java @@ -139,7 +139,7 @@ private void initPluginStep() throws Exception // use meta.getFields() to change it, so it reflects the output row structure meta.getFields(rowMeta, getStepname(), null, null, this, repository, metaStore); - Integer port = null; + int port = 0; String body = environmentSubstitute(meta.getBodyField()); String routing = environmentSubstitute(meta.getRouting()); String uri = environmentSubstitute(meta.getUri()); @@ -157,7 +157,7 @@ private void initPluginStep() throws Exception throw new AMQPException("Unable to retrieve field : " + meta.getBodyField()); } - if ((username == null || password == null || host == null || port == null) && (uri == null)) { + if ((username == null || password == null || host == null || port == 0) && (uri == null)) { throw new AMQPException("Unable to retrieve connection information"); } @@ -216,8 +216,8 @@ private void initPluginStep() throws Exception throw new AMQPException("Unable to retrieve body field : " + body); } - if (data.target == null) { - throw new AMQPException("Unable to retrieve queue/exchange name"); + if (data.isConsumer && data.target == null) { + throw new AMQPException("Unable to retrieve queue name"); } logMinimal(getString("AmqpPlugin.Body.Label") + " : " + body); diff --git a/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginDialog.java b/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginDialog.java index 841b540..48d5064 100644 --- a/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginDialog.java +++ b/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginDialog.java @@ -1390,7 +1390,7 @@ private void ok() return; } - if (Const.isEmpty(input.getTarget())) { + if (input.isConsumer() && Const.isEmpty(input.getTarget())) { textTarget.setFocus(); return; } diff --git a/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginMeta.java b/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginMeta.java index ebd69bd..1934e47 100644 --- a/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginMeta.java +++ b/src/main/java/com/instaclick/pentaho/plugin/amqp/AMQPPluginMeta.java @@ -669,7 +669,7 @@ public String getTarget() } if (Const.isEmpty(target) && AMQPPluginData.MODE_PRODUCER.equals(mode)) { - target = "exchange_name"; + target = ""; } return target;