summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-jms/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jms/src/main')
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingConstants.java4
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java23
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties2
3 files changed, 26 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingConstants.java b/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingConstants.java
index 80bc61baa1..25fbefa0a9 100644
--- a/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingConstants.java
+++ b/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingConstants.java
@@ -47,7 +47,7 @@ public interface JMSBindingConstants {
Arrays.asList(new String[] {DESTINATION_TYPE_QUEUE, DESTINATION_TYPE_TOPIC});
String CREATE_ALWAYS = "always";
String CREATE_NEVER = "never";
- String CREATE_IF_NOT_EXIST = "ifnotexist";
+ String CREATE_IF_NOT_EXIST = "ifNotExist";
String DEFAULT_CONTEXT_FACTORY_NAME = "org.apache.activemq.jndi.ActiveMQInitialContextFactory";
String DEFAULT_JNDI_URL = "tcp://localhost:61616";
int DEFAULT_TIME_TO_LIVE = 20000; // in milliseconds
@@ -65,7 +65,7 @@ public interface JMSBindingConstants {
String FAULT_PROPERTY = "org_apache_tuscany_sca_fault";
String CALLBACK_ID_PROPERTY = "CallbackID";
- String CALLBACK_Q_PROPERTY = "scaCallbackQueue";
+ String CALLBACK_Q_PROPERTY = "scaCallbackDestination";
String CONVERSATION_ID_PROPERTY = "scaConversationId";
// XML element and attribute names
diff --git a/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java b/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
index cf2a468fce..f4f1e5a2e3 100644
--- a/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
+++ b/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
@@ -440,10 +440,17 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St
String create = reader.getAttributeValue(null, "create");
if (create != null && create.length() > 0) {
+ validateCreate(create, reader, monitor);
jmsBinding.setDestinationCreate(create);
}
jmsBinding.getDestinationProperties().putAll(parseBindingProperties(reader, monitor));
+
+ if (jmsBinding.getDestinationCreate().equals(JMSBindingConstants.CREATE_IF_NOT_EXIST)) {
+ if (name == null || name.length() < 1) {
+ error(monitor, "MissingNameForCreate", reader);
+ }
+ }
}
private void parseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
@@ -486,13 +493,27 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St
String create = reader.getAttributeValue(null, "create");
if (create != null && create.length() > 0) {
+ validateCreate(create, reader, monitor);
jmsBinding.setResponseDestinationCreate(create);
}
jmsBinding.getResponseDestinationProperties().putAll(parseBindingProperties(reader, monitor));
}
- private void parseResponseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
+ private void validateCreate(String create, XMLStreamReader reader, Monitor monitor) {
+ if (JMSBindingConstants.CREATE_ALWAYS.equals(create)) {
+ return;
+ }
+ if (JMSBindingConstants.CREATE_NEVER.equals(create)) {
+ return;
+ }
+ if (JMSBindingConstants.CREATE_IF_NOT_EXIST.equals(create)) {
+ return;
+ }
+ error(monitor, "InvalidCreate", reader, create);
+ }
+
+ private void parseResponseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
String name = getURIString(reader, "jndiName");
if (name != null && name.length() > 0) {
jmsBinding.setResponseConnectionFactoryName(name);
diff --git a/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties b/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties
index 94f4c70cb1..acc7024a9c 100644
--- a/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties
+++ b/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties
@@ -52,3 +52,5 @@ DuplicateOperationProperties = Must not use both operationProperties attribute a
WireFormatAlreadyDefined = The request wireformat has already been defined. Only one request wire format can be specified.
OpSelectorAlreadyDefined = More than one operation selector has been specified. Only one operation selector can be specified.
ResponseWireformatAlreadyDefined = The response wireformat has already been defined. Only one response wire format can be specified.
+MissingNameForCreate = Must specify jndiName attribute when create mode is "ifNotExist"
+InvalidCreate = Attribute create {0} invalid, must be 'always', 'never', or 'ifNotExist' \ No newline at end of file