Author: nbelaevski
Date: 2011-03-09 07:17:53 -0500 (Wed, 09 Mar 2011)
New Revision: 22099
Modified:
branches/4.0.X/core/api/src/main/java/org/richfaces/application/push/TopicsContext.java
branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/impl/jms/SessionImpl.java
Log:
Small push refactorings
Modified:
branches/4.0.X/core/api/src/main/java/org/richfaces/application/push/TopicsContext.java
===================================================================
---
branches/4.0.X/core/api/src/main/java/org/richfaces/application/push/TopicsContext.java 2011-03-09
12:03:27 UTC (rev 22098)
+++
branches/4.0.X/core/api/src/main/java/org/richfaces/application/push/TopicsContext.java 2011-03-09
12:17:53 UTC (rev 22099)
@@ -53,13 +53,7 @@
}
public Topic getTopic(TopicKey key) {
- Topic topic = topics.get(key.getTopicName());
-
- if (topic == null) {
- //TODO
- }
-
- return topic;
+ return topics.get(key.getTopicName());
}
public void removeTopic(TopicKey key) {
Modified:
branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/impl/jms/SessionImpl.java
===================================================================
---
branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/impl/jms/SessionImpl.java 2011-03-09
12:03:27 UTC (rev 22098)
+++
branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/impl/jms/SessionImpl.java 2011-03-09
12:17:53 UTC (rev 22099)
@@ -21,6 +21,7 @@
*/
package org.richfaces.application.push.impl.jms;
+import java.text.MessageFormat;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
@@ -156,12 +157,26 @@
TopicKey rootTopicKey = topicKey.getRootTopicKey();
Topic pushTopic = topicsContext.getTopic(rootTopicKey);
- try {
- //TODO - publish another events
- pushTopic.publishEvent(new SessionPreSubscriptionEvent(pushTopic,
topicKey, this));
- } catch (EventAbortedException e) {
+ String errorMessage = null;
+
+ if (pushTopic == null) {
+ errorMessage = MessageFormat.format("Topic ''{0}''
is not configured", topicKey.getTopicAddress());
+ } else {
+ try {
+ //TODO - publish another events
+ pushTopic.publishEvent(new SessionPreSubscriptionEvent(pushTopic,
topicKey, this));
+ } catch (EventAbortedException e) {
+ if (e.getMessage() != null) {
+ errorMessage = e.getMessage();
+ } else {
+ errorMessage = MessageFormat.format("Unknown error
connecting to ''{0}'' topic", topicKey.getTopicAddress());
+ }
+ }
+ }
+
+ if (errorMessage != null) {
itr.remove();
- failedSubscriptions.put(topicKey, e.getMessage());
+ failedSubscriptions.put(topicKey, errorMessage);
}
}
}
Show replies by date