using try catch when reading topology

Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/69940114
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/69940114
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/69940114

Branch: refs/heads/master
Commit: 69940114bea87832fcca36d85a57235090606ee6
Parents: d33ae46
Author: R-Rajkumar <[email protected]>
Authored: Mon Oct 13 15:04:37 2014 +0530
Committer: R-Rajkumar <[email protected]>
Committed: Mon Oct 13 15:04:37 2014 +0530

----------------------------------------------------------------------
 .../extension/FaultHandlingWindowProcessor.java | 34 +++++++++++---------
 1 file changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/69940114/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java
----------------------------------------------------------------------
diff --git 
a/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java
 
b/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java
index f3ab64d..4563323 100644
--- 
a/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java
+++ 
b/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java
@@ -176,26 +176,30 @@ public class FaultHandlingWindowProcessor extends 
WindowProcessor implements Run
             return null;
         }
         if (TopologyManager.getTopology().isInitialized()){
-            TopologyManager.acquireReadLock();
-            if (TopologyManager.getTopology().getServices() == null){
-                return null;
-            }
-
-            // TODO make this efficient by adding APIs to messaging component
-            for (Service service : 
TopologyManager.getTopology().getServices()) {
-                if (service.getClusters() != null) {
-                    for (Cluster cluster : service.getClusters()) {
-                        if (cluster.getMembers() != null) {
-                            for (Member member : cluster.getMembers()){
-                                if (memberId.equals(member.getMemberId())){
-                                    return member;
+               try {
+                TopologyManager.acquireReadLock();
+                if (TopologyManager.getTopology().getServices() == null){
+                    return null;
+                }
+                // TODO make this efficient by adding APIs to messaging 
component
+                for (Service service : 
TopologyManager.getTopology().getServices()) {
+                    if (service.getClusters() != null) {
+                        for (Cluster cluster : service.getClusters()) {
+                            if (cluster.getMembers() != null) {
+                                for (Member member : cluster.getMembers()){
+                                    if (memberId.equals(member.getMemberId())){
+                                        return member;
+                                    }
                                 }
                             }
                         }
                     }
                 }
-            }
-            TopologyManager.releaseReadLock();
+               } catch (Exception e) {
+                       log.error("Error while reading topology" + e);
+               } finally {
+                       TopologyManager.releaseReadLock();
+               }
         }
         return null;
     }

Reply via email to