You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2011/02/21 14:51:58 UTC

svn commit: r1072965 - in /tuscany/sca-java-1.x/trunk/modules: core/src/main/java/org/apache/tuscany/sca/core/assembly/ core/src/main/resources/ host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ host-embedded/src/main/java/org/apach...

Author: antelder
Date: Mon Feb 21 13:51:58 2011
New Revision: 1072965

URL: http://svn.apache.org/viewvc?rev=1072965&view=rev
Log:
TUSCANY-3834: Update so that exceptions during stop processing use the Monitor to log the exception

Added:
    tuscany/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties   (with props)
Modified:
    tuscany/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java
    tuscany/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
    tuscany/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
    tuscany/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java

Modified: tuscany/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java?rev=1072965&r1=1072964&r2=1072965&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java Mon Feb 21 13:51:58 2011
@@ -57,6 +57,10 @@ import org.apache.tuscany.sca.interfaced
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.invocation.MessageFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.Problem.Severity;
+import org.apache.tuscany.sca.monitor.impl.ProblemImpl;
 import org.apache.tuscany.sca.provider.BindingProviderFactory;
 import org.apache.tuscany.sca.provider.ImplementationProvider;
 import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
@@ -93,6 +97,7 @@ public class CompositeActivatorImpl impl
     private final ProxyFactory proxyFactory;
     private final JavaInterfaceFactory javaInterfaceFactory;
     private final ConversationManager conversationManager;
+    private Monitor monitor;
 
     private final ComponentContextHelper componentContextHelper;
 
@@ -103,6 +108,7 @@ public class CompositeActivatorImpl impl
      * @param interfaceContractMapper
      * @param workScheduler
      * @param conversationManager TODO
+     * @param monitor 
      * @param workContext
      * @param wirePostProcessorRegistry
      */
@@ -119,7 +125,7 @@ public class CompositeActivatorImpl impl
                                   ProviderFactoryExtensionPoint providerFactories,
                                   EndpointResolverFactoryExtensionPoint endpointResolverFactories,
                                   StAXArtifactProcessorExtensionPoint processors,
-                                  ConversationManager conversationManager) {
+                                  ConversationManager conversationManager, Monitor monitor) {
         this.assemblyFactory = assemblyFactory;
         this.messageFactory = messageFactory;
         this.interfaceContractMapper = interfaceContractMapper;
@@ -132,6 +138,7 @@ public class CompositeActivatorImpl impl
         this.requestContextFactory = requestContextFactory;
         this.proxyFactory = proxyFactory;
         this.conversationManager = conversationManager;
+        this.monitor = monitor;
         this.componentContextHelper = new ComponentContextHelper(assemblyFactory, javaInterfaceFactory, processors);
     }
 
@@ -652,7 +659,7 @@ public class CompositeActivatorImpl impl
                     try {
                         stop((Composite)implementation);
                     } catch (Throwable e1) {
-                        logger.log(Level.SEVERE, e1.getMessage(), e1);
+                        error("StopException", implementation, e1);
                     }
                     rethrow(e);
                 }
@@ -707,7 +714,7 @@ public class CompositeActivatorImpl impl
                     ((ScopeContainer)provider).stop();
                 }
             } catch (Throwable e) {
-                logger.log(Level.SEVERE, e.getMessage(), e);
+                error("StopException", provider, e);
             }
         }
     }
@@ -748,7 +755,7 @@ public class CompositeActivatorImpl impl
 	                          }
 	                    }); 
 	            	} catch (Throwable ex){
-	            		logger.log(Level.SEVERE, ex.getMessage(), ex);
+	                    error("StopException", bindingProvider, ex);
 	            	}                    
                 }
             }
@@ -771,7 +778,7 @@ public class CompositeActivatorImpl impl
 	                          }
 	                    }); 
 	            	} catch (Throwable ex){
-	            		logger.log(Level.SEVERE, ex.getMessage(), ex);
+                            error("StopException", bindingProvider, ex);
 	            	}                    
                 }
             } 
@@ -788,7 +795,7 @@ public class CompositeActivatorImpl impl
 	                          }
 	                    }); 
 	            	} catch (Throwable ex){
-	            		logger.log(Level.SEVERE, ex.getMessage(), ex);
+                            error("StopException", endpointResolver, ex);
 	            	}
                 }
             }             
@@ -808,7 +815,7 @@ public class CompositeActivatorImpl impl
 	                      }
 	                });  
 	        	} catch (Throwable ex){
-	        		logger.log(Level.SEVERE, ex.getMessage(), ex);
+                            error("StopException", implementationProvider, ex);
 	        	}
             }
         }
@@ -820,7 +827,7 @@ public class CompositeActivatorImpl impl
             	try {
             		runtimeComponent.getScopeContainer().stop();
             	} catch (Throwable ex){
-            		logger.log(Level.SEVERE, ex.getMessage(), ex);
+                    error("StopException", runtimeComponent, ex);
             	}
             }
         }
@@ -1175,4 +1182,10 @@ public class CompositeActivatorImpl impl
         return conversationManager;
     }
     
+    private void error(String message, Object model, Throwable e) {
+        if (monitor != null) {
+            Problem problem = new ProblemImpl(this.getClass().getName(), "core-messages", Severity.ERROR, model, message, (Exception)e);
+            monitor.problem(problem);
+        }
+    }
 }

Added: tuscany/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties?rev=1072965&view=auto
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties (added)
+++ tuscany/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties Mon Feb 21 13:51:58 2011
@@ -0,0 +1,22 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one
+#    or more contributor license agreements. See the NOTICE file
+#    distributed with this work for additional information
+#    regarding copyright ownership. The ASF licenses this file
+#    to you under the Apache License, Version 2.0 (the
+#    "License"); you may not use this file except in compliance
+#    with the License. You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing,
+#    software distributed under the License is distributed on an
+#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#    KIND, either express or implied. See the License for the
+#    specific language governing permissions and limitations
+#    under the License.
+#
+#
+StopException = Exception during stop processing: {0}
+

Propchange: tuscany/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: tuscany/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?rev=1072965&r1=1072964&r2=1072965&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java Mon Feb 21 13:51:58 2011
@@ -81,6 +81,7 @@ import org.apache.tuscany.sca.interfaced
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.invocation.MessageFactory;
 import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
 import org.apache.tuscany.sca.policy.PolicyFactory;
 import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -130,11 +131,14 @@ public class ReallySmallRuntimeBuilder {
         UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
         ConversationManager conversationManager = utilities.getUtility(ConversationManager.class);
         
+        MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+        Monitor monitor = monitorFactory.createMonitor();
+
         // Create the composite activator
         CompositeActivator compositeActivator =
             new CompositeActivatorImpl(assemblyFactory, messageFactory, javaInterfaceFactory, scaBindingFactory,
                                        mapper, scopeRegistry, workScheduler, wireProcessor, requestContextFactory,
-                                       proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager);
+                                       proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager, monitor);
 
         return compositeActivator;
     }

Modified: tuscany/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?rev=1072965&r1=1072964&r2=1072965&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java Mon Feb 21 13:51:58 2011
@@ -81,6 +81,7 @@ import org.apache.tuscany.sca.interfaced
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.invocation.MessageFactory;
 import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
 import org.apache.tuscany.sca.policy.PolicyFactory;
 import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -130,11 +131,14 @@ public class ReallySmallRuntimeBuilder {
         UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
         ConversationManager conversationManager = utilities.getUtility(ConversationManager.class);
         
+        MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+        Monitor monitor = monitorFactory.createMonitor();
+
         // Create the composite activator
         CompositeActivator compositeActivator =
             new CompositeActivatorImpl(assemblyFactory, messageFactory, javaInterfaceFactory, scaBindingFactory,
                                        mapper, scopeRegistry, workScheduler, wireProcessor, requestContextFactory,
-                                       proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager);
+                                       proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager, monitor);
 
         return compositeActivator;
     }

Modified: tuscany/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java?rev=1072965&r1=1072964&r2=1072965&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java Mon Feb 21 13:51:58 2011
@@ -79,6 +79,7 @@ import org.apache.tuscany.sca.interfaced
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.invocation.MessageFactory;
 import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
 import org.apache.tuscany.sca.policy.PolicyFactory;
 import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -128,12 +129,15 @@ public class RuntimeBuilder {
         UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
         ConversationManager conversationManager = utilities.getUtility(ConversationManager.class);
 
+        MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+        Monitor monitor = monitorFactory.createMonitor();
+
         // Create the composite activator
         CompositeActivator compositeActivator =
             new CompositeActivatorImpl(assemblyFactory, messageFactory, javaInterfaceFactory, scaBindingFactory,
                                        mapper, scopeRegistry, workScheduler, wireProcessor, requestContextFactory,
                                        proxyFactory, providerFactories, endpointResolverFactories, processors,
-                                       conversationManager);
+                                       conversationManager, monitor);
 
         return compositeActivator;
     }