Author: jmarino
Date: Sun Dec  3 14:24:25 2006
New Revision: 481951

URL: http://svn.apache.org/viewvc?view=rev&rev=481951
Log:
add unit test for Operation.clone(); checkstyle fixes

Added:
    
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/model/OperationTestCase.java
   (with props)
Modified:
    incubator/tuscany/java/sca/kernel/core/pom.xml
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyTestCase.java
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DataType.java
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Operation.java
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ServiceContract.java

Modified: incubator/tuscany/java/sca/kernel/core/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/pom.xml?view=diff&rev=481951&r1=481950&r2=481951
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/pom.xml (original)
+++ incubator/tuscany/java/sca/kernel/core/pom.xml Sun Dec  3 14:24:25 2006
@@ -60,6 +60,7 @@
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+                               <version>1.0.1</version>
         </dependency>
 
         <dependency>

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java?view=diff&rev=481951&r1=481950&r2=481951
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java
 Sun Dec  3 14:24:25 2006
@@ -75,7 +75,7 @@
         scope.stop();
     }
 
-    public void _testDestroyOrder() throws Exception {
+    public void txestDestroyOrder() throws Exception {
         StoreMonitor monitor = EasyMock.createMock(StoreMonitor.class);
         monitor.start(EasyMock.isA(String.class));
         monitor.stop(EasyMock.isA(String.class));
@@ -117,7 +117,7 @@
         EasyMock.verify(threeComponent);
     }
 
-    public void _testEagerInitDestroyOrder() throws Exception {
+    public void txestEagerInitDestroyOrder() throws Exception {
         StoreMonitor monitor = EasyMock.createMock(StoreMonitor.class);
         monitor.start(EasyMock.isA(String.class));
         monitor.stop(EasyMock.isA(String.class));

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyTestCase.java?view=diff&rev=481951&r1=481950&r2=481951
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyTestCase.java
 Sun Dec  3 14:24:25 2006
@@ -18,17 +18,18 @@
  */
 package org.apache.tuscany.core.wire.jdk;
 
-import java.util.HashMap;
 import java.lang.reflect.Proxy;
-
-import junit.framework.TestCase;
-import org.easymock.EasyMock;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.wire.InboundInvocationChain;
 import org.apache.tuscany.spi.wire.InboundWire;
 
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
 /**
  * @version $Rev$ $Date$
  */
@@ -36,7 +37,7 @@
     private JDKWireService wireService;
     private JavaServiceContract serviceContract;
     private InboundWire inboundWire;
-    private HashMap<Operation<?>,InboundInvocationChain> chains;
+    private Map<Operation<?>, InboundInvocationChain> chains;
 
     public void testCreateProxy() {
         EasyMock.expect(inboundWire.getServiceName()).andReturn("service");

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DataType.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DataType.java?view=diff&rev=481951&r1=481950&r2=481951
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DataType.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/DataType.java
 Sun Dec  3 14:24:25 2006
@@ -41,8 +41,8 @@
 
     private final L logical;
 
-    private HashMap<String, Object> metadata = new HashMap<String, Object>();
-    
+    private Map<String, Object> metadata = new HashMap<String, Object>();
+
     private Operation operation;
 
     /**
@@ -225,8 +225,9 @@
     @SuppressWarnings("unchecked")
     @Override
     protected Object clone() throws CloneNotSupportedException {
-        DataType<L> copy = (DataType<L>)super.clone();
-        copy.metadata = (HashMap<String, Object>)this.metadata.clone();
+        DataType<L> copy = (DataType<L>) super.clone();
+        assert this.metadata instanceof HashMap;
+        copy.metadata = (HashMap<String, Object>) ((HashMap) 
this.metadata).clone();
         return copy;
     }
 

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Operation.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Operation.java?view=diff&rev=481951&r1=481950&r2=481951
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Operation.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/Operation.java
 Sun Dec  3 14:24:25 2006
@@ -37,7 +37,7 @@
     public static final int CONVERSATION_CONTINUE = 1;
     public static final int CONVERSATION_END = 2;
 
-    protected HashMap<String, Object> metaData;
+    protected Map<String, Object> metaData;
     private final String name;
     private ServiceContract<T> contract;
     private final DataType<T> outputType;
@@ -366,17 +366,17 @@
         this.wrapperStyle = wrapperStyle;
     }
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({"unchecked", "CloneDoesntCallSuperClone"})
     @Override
-    protected Object clone() throws CloneNotSupportedException {
+    protected Operation<T> clone() throws CloneNotSupportedException {
         final List<DataType<T>> clonedFaultTypes = new 
ArrayList<DataType<T>>(this.faultTypes.size());
         for (DataType<T> t : this.faultTypes) {
-            clonedFaultTypes.add((DataType<T>)t.clone());
+            clonedFaultTypes.add((DataType<T>) t.clone());
         }
 
         List<DataType<T>> clonedTypes = new ArrayList<DataType<T>>();
         for (DataType<T> t : inputType.getLogical()) {
-            DataType<T> type = (DataType<T>)t.clone();
+            DataType<T> type = (DataType<T>) t.clone();
             clonedTypes.add(type);
         }
 
@@ -384,9 +384,15 @@
             new DataType<List<DataType<T>>>(inputType.getPhysical(), 
clonedTypes);
         clonedInputType.setDataBinding(inputType.getDataBinding());
 
+        DataType<T> outputType = (DataType<T>) this.outputType.clone();
         Operation<T> copy =
-            new Operation<T>(name, clonedInputType, 
(DataType<T>)outputType.clone(), clonedFaultTypes, nonBlocking,
-                             dataBinding, conversationSequence);
+            new Operation<T>(name,
+                clonedInputType,
+                outputType,
+                clonedFaultTypes,
+                nonBlocking,
+                dataBinding,
+                conversationSequence);
 
         copy.callback = this.callback;
         copy.contract = this.contract;
@@ -394,7 +400,8 @@
         copy.wrapperStyle = this.wrapperStyle;
 
         if (this.metaData != null) {
-            copy.metaData = (HashMap)this.metaData.clone();
+            assert this.metaData instanceof HashMap;
+            copy.metaData = (HashMap) ((HashMap) this.metaData).clone();
         }
         return copy;
     }

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ServiceContract.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ServiceContract.java?view=diff&rev=481951&r1=481950&r2=481951
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ServiceContract.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ServiceContract.java
 Sun Dec  3 14:24:25 2006
@@ -37,7 +37,7 @@
     protected Map<String, Operation<T>> operations;
     protected Map<String, Operation<T>> callbackOperations;
     protected String dataBinding;
-    protected HashMap<String, Object> metaData;
+    protected Map<String, Object> metaData;
 
     protected ServiceContract() {
     }
@@ -247,7 +247,7 @@
     @SuppressWarnings("unchecked")
     @Override
     protected Object clone() throws CloneNotSupportedException {
-        ServiceContract<T> copy = (ServiceContract<T>)super.clone();
+        ServiceContract<T> copy = (ServiceContract<T>) super.clone();
 
         if (operations != null) {
             Map<String, Operation<T>> clonedOperations = new HashMap<String, 
Operation<T>>();
@@ -260,15 +260,16 @@
         if (callbackOperations != null) {
             Map<String, Operation<T>> clonedCallbackOperations = new 
HashMap<String, Operation<T>>();
             for (Operation<T> o : callbackOperations.values()) {
-                clonedCallbackOperations.put(o.getName(), 
(Operation<T>)o.clone());
+                clonedCallbackOperations.put(o.getName(), (Operation<T>) 
o.clone());
             }
             copy.setCallbackOperations(clonedCallbackOperations);
         }
-        
+
         if (this.metaData != null) {
-            copy.metaData = (HashMap)this.metaData.clone();
+            assert this.metaData instanceof HashMap;
+            copy.metaData = (HashMap) ((HashMap) this.metaData).clone();
         }
-        
+
         return copy;
     }
 }

Added: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/model/OperationTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/model/OperationTestCase.java?view=auto&rev=481951
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/model/OperationTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/model/OperationTestCase.java
 Sun Dec  3 14:24:25 2006
@@ -0,0 +1,52 @@
+/*
+ * 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.spi.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
+
+import junit.framework.TestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class OperationTestCase extends TestCase {
+
+    public void testClone() throws Exception {
+        DataType<Class> stringType = new DataType<Class>("xml:string", 
String.class, String.class);
+        List<DataType<Class>> inputTypes = new ArrayList<DataType<Class>>();
+        inputTypes.add(stringType);
+        DataType<List<DataType<Class>>> inputType =
+            new DataType<List<DataType<Class>>>("xml:string", Object[].class, 
inputTypes);
+
+        DataType<Class> faultType = new DataType<Class>("xml:foo", 
String.class, String.class);
+        List<DataType<Class>> faultTypes = new ArrayList<DataType<Class>>();
+        faultTypes.add(faultType);
+
+        Operation<Class> operation1 =
+            new Operation<Class>("call", inputType, stringType, faultTypes, 
true, "xml:string", NO_CONVERSATION);
+        Operation<Class> operation2 = operation1.clone();
+        assertEquals(operation1, operation2);
+        assertEquals(NO_CONVERSATION, operation2.getConversationSequence());
+        assertEquals("call", operation2.getName());
+    }
+
+}

Propchange: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/model/OperationTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/model/OperationTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to