You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by kw...@apache.org on 2008/04/23 20:04:08 UTC

svn commit: r650972 - in /incubator/tuscany/java/sca/vtest/java-api/apis/exception/src: main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/ main/resources/ test/java/org/apa...

Author: kwilliams
Date: Wed Apr 23 11:04:06 2008
New Revision: 650972

URL: http://svn.apache.org/viewvc?rev=650972&view=rev
Log:
Applying YKs patch for TUSCANY-2263

Added:
    incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java   (with props)
Modified:
    incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java
    incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java
    incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java
    incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java
    incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite
    incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java

Modified: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java?rev=650972&r1=650971&r2=650972&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java Wed Apr 23 11:04:06 2008
@@ -35,4 +35,6 @@
     public boolean testServiceRuntimeException();
     public boolean testServiceUnavailableException();
 
+    public boolean testCheckedException();
+
 }

Modified: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java?rev=650972&r1=650971&r2=650972&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java Wed Apr 23 11:04:06 2008
@@ -28,5 +28,6 @@
 public interface DComponent {
 
     public String getName();
+    public void testException() throws DException;
 
 }

Added: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java?rev=650972&view=auto
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java (added)
+++ incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java Wed Apr 23 11:04:06 2008
@@ -0,0 +1,30 @@
+/*
+ * 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.    
+ */
+
+package org.apache.tuscany.sca.vtest.javaapi.apis.exception;
+
+public class DException extends Exception {
+
+    private static final long serialVersionUID = -3819913841563109423L;
+
+    public DException(String message) {
+        super(message);
+    }
+
+}

Propchange: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java?rev=650972&r1=650971&r2=650972&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java Wed Apr 23 11:04:06 2008
@@ -23,6 +23,7 @@
 import org.apache.tuscany.sca.vtest.javaapi.apis.exception.BComponent;
 import org.apache.tuscany.sca.vtest.javaapi.apis.exception.CComponent;
 import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DComponent;
+import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DException;
 import org.junit.Assert;
 import org.osoa.sca.CallableReference;
 import org.osoa.sca.ComponentContext;
@@ -30,9 +31,9 @@
 import org.osoa.sca.NoRegisteredCallbackException;
 import org.osoa.sca.ServiceReference;
 import org.osoa.sca.ServiceRuntimeException;
-import org.osoa.sca.ServiceUnavailableException;
 import org.osoa.sca.annotations.Context;
 import org.osoa.sca.annotations.ConversationID;
+import org.osoa.sca.annotations.Destroy;
 import org.osoa.sca.annotations.Reference;
 import org.osoa.sca.annotations.Scope;
 import org.osoa.sca.annotations.Service;
@@ -104,13 +105,24 @@
     }
 
     public boolean testServiceUnavailableException() {
+        return false;
+    }
+
+    public boolean testCheckedException() {
         try {
-            componentContext.getServiceReference(DComponent.class, "dReference").getService().getName();
-        } catch (ServiceUnavailableException sue) {
-            return true;
+            dReference.getService().testException();
+        } catch (DException e) {
+            if (e.getMessage().equals("ADException")) {
+                return true;
+            }
         }
 
         return false;
+    }
+
+    @Destroy
+    public void destroy() {
+        System.out.println("This is a Destroy of AComponent ..");
     }
 
 }

Modified: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java?rev=650972&r1=650971&r2=650972&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java Wed Apr 23 11:04:06 2008
@@ -20,6 +20,7 @@
 package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl;
 
 import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DComponent;
+import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DException;
 import org.osoa.sca.annotations.Service;
 
 @Service(DComponent.class)
@@ -27,6 +28,10 @@
 
     public String getName() {
         return "ComponentD";
+    }
+
+    public void testException() throws DException {
+        throw new DException("ADException");
     }
 
 }

Modified: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite?rev=650972&r1=650971&r2=650972&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite (original)
+++ incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite Wed Apr 23 11:04:06 2008
@@ -37,4 +37,8 @@
         <implementation.java class="org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl.CComponentImpl"/>
     </component>
 
+    <component name="DComponent">
+        <implementation.java class="org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl.DComponentImpl"/>
+    </component>
+
 </composite>

Modified: incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java?rev=650972&r1=650971&r2=650972&view=diff
==============================================================================
--- incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java (original)
+++ incubator/tuscany/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java Wed Apr 23 11:04:06 2008
@@ -28,6 +28,7 @@
 
 /**
  * This test class tests the Exceptions described in 1.7.6, 1.7.7, 1.7.8, and 1.7.9 of the SCA Java Annotations & APIs Specification 1.0.
+ * This also covers 1.5 of the specification. 
  */
 public class ExceptionTestCase {
 
@@ -86,9 +87,22 @@
      */
     @Ignore
     public void testServiceUnavailableException() throws Exception {
-        // TODO: Need a way to "stop" service to simulate service unavailability ..
-        // Simulate from Non-SCA Client to SCA Service? 
-        // Assert.assertTrue(a.testServiceUnavailableException());
+        domain.getComponentManager().stopComponent("AComponent");
+
+        try {
+            a.getName();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        try {
+            AComponent ac = domain.getService(AComponent.class, "AComponent");
+            ac.getName();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        domain.getComponentManager().startComponent("AComponent");
     }
 
     /**
@@ -100,6 +114,18 @@
     @Test
     public void testConversationEndedException() throws Exception {
         a.testConversation();
+    }
+
+    /**
+     * L360-361 <br>
+     * Business exceptions are thrown by the implementation of the called service method,
+     * and are defined as checked exceptions on the interface that types the service.
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void testCheckedException() throws Exception {
+        Assert.assertTrue(a.testCheckedException());
     }
 
 }