You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2009/08/12 02:08:51 UTC

svn commit: r803333 - in /tuscany/branches/sca-java-1.x/modules: interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/ interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/ interface/src/main/java/org/apache/...

Author: rfeng
Date: Wed Aug 12 00:08:51 2009
New Revision: 803333

URL: http://svn.apache.org/viewvc?rev=803333&view=rev
Log:
Remove hashCode and equals methods in base OperationImpl and InterfaceImpl to improve performance (merged from 2.x)

Modified:
    tuscany/branches/sca-java-1.x/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java
    tuscany/branches/sca-java-1.x/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java
    tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java
    tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
    tuscany/branches/sca-java-1.x/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractTestCase.java

Modified: tuscany/branches/sca-java-1.x/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java?rev=803333&r1=803332&r2=803333&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java (original)
+++ tuscany/branches/sca-java-1.x/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java Wed Aug 12 00:08:51 2009
@@ -68,6 +68,9 @@
 
     public void setJavaClass(Class<?> javaClass) {
         this.javaClass = javaClass;
+        if (javaClass != null) {
+            this.className = javaClass.getName();
+        }
     }
     
     public Class<?> getCallbackClass() {
@@ -84,28 +87,47 @@
     }
 
     @Override
+    public Object clone() throws CloneNotSupportedException {
+        return super.clone();
+    }
+
+    @Override
     public int hashCode() {
-        return String.valueOf(getName()).hashCode();
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((className == null) ? 0 : className.hashCode());
+        return result;
     }
-    
+
     @Override
     public boolean equals(Object obj) {
-        if (obj == this) {
+        if (this == obj)
             return true;
-        } else if (obj instanceof JavaInterface) {
-            if (getName() != null) {
-                return getName().equals(((JavaInterface)obj).getName());
-            } else {
-                return ((JavaInterface)obj).getName() == null;
-            }
-        } else {
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
             return false;
+        JavaInterfaceImpl other = (JavaInterfaceImpl)obj;
+        if (isUnresolved() || other.isUnresolved()) {
+            if (className == null) {
+                if (other.className != null)
+                    return false;
+            } else if (!className.equals(other.className))
+                return false;
+        } else {
+            if (javaClass == null) {
+                if (other.javaClass != null)
+                    return false;
+            } else if (!javaClass.equals(other.javaClass))
+                return false;
+            if (callbackClass == null) {
+                if (other.callbackClass != null)
+                    return false;
+            } else if (!callbackClass.equals(other.callbackClass))
+                return false;
         }
-    }
 
-    @Override
-    public Object clone() throws CloneNotSupportedException {
-        return super.clone();
+        return true;
     }
 
 }

Modified: tuscany/branches/sca-java-1.x/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java?rev=803333&r1=803332&r2=803333&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java (original)
+++ tuscany/branches/sca-java-1.x/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java Wed Aug 12 00:08:51 2009
@@ -61,25 +61,8 @@
 
     public void setPortType(PortType portType) {
         this.portType = portType;
-    }
-
-    @Override
-    public int hashCode() {
-        return String.valueOf(getName()).hashCode();
-    }
-    
-    @Override
-    public boolean equals(Object obj) {
-        if (obj == this) {
-            return true;
-        } else if (obj instanceof WSDLInterface) {
-            if (getName() != null) {
-                return getName().equals(((WSDLInterface)obj).getName());
-            } else {
-                return ((WSDLInterface)obj).getName() == null;
-            }
-        } else {
-            return false;
+        if (portType != null) {
+            this.name = portType.getQName();
         }
     }
 
@@ -96,4 +79,37 @@
         return (WSDLInterfaceImpl) super.clone();
     }
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        WSDLInterfaceImpl other = (WSDLInterfaceImpl)obj;
+        if (isUnresolved() || other.isUnresolved()) {
+            if (name == null) {
+                if (other.name != null)
+                    return false;
+            } else if (!name.equals(other.name))
+                return false;
+        } else {
+            if (portType == null) {
+                if (other.portType != null)
+                    return false;
+            } else if (!portType.equals(other.portType))
+                return false;
+        }
+        return true;
+    }
+
 }

Modified: tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java?rev=803333&r1=803332&r2=803333&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java (original)
+++ tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java Wed Aug 12 00:08:51 2009
@@ -328,44 +328,4 @@
         return copy;
     }
 
-    /**
-     * @see java.lang.Object#hashCode()
-     */
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + (conversational ? 1231 : 1237);
-        result = prime * result + ((operations == null) ? 0 : operations.hashCode());
-        result = prime * result + (remotable ? 1231 : 1237);
-        result = prime * result + (unresolved ? 1231 : 1237);
-        return result;
-    }
-
-    /**
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (obj == null)
-            return false;
-        if (getClass() != obj.getClass())
-            return false;
-        final InterfaceImpl other = (InterfaceImpl)obj;
-        if (conversational != other.conversational)
-            return false;
-        if (operations == null) {
-            if (other.operations != null)
-                return false;
-        } else if (!operations.equals(other.operations))
-            return false;
-        if (remotable != other.remotable)
-            return false;
-        if (unresolved != other.unresolved)
-            return false;
-        return true;
-    }
-
 }

Modified: tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java?rev=803333&r1=803332&r2=803333&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java (original)
+++ tuscany/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java Wed Aug 12 00:08:51 2009
@@ -175,72 +175,6 @@
         this.nonBlocking = nonBlocking;
     }
 
-    @Override
-    public int hashCode() {
-        final int PRIME = 31;
-        int result = 1;
-        result = PRIME * result + ((conversationSequence == null) ? 0 : conversationSequence.hashCode());
-        // result = PRIME * result + ((faultTypes == null) ? 0 :
-        // faultTypes.hashCode());
-        result = PRIME * result + ((inputType == null) ? 0 : inputType.hashCode());
-        result = PRIME * result + ((name == null) ? 0 : name.hashCode());
-        result = PRIME * result + (nonBlocking ? 1231 : 1237);
-        result = PRIME * result + ((outputType == null) ? 0 : outputType.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final OperationImpl other = (OperationImpl)obj;
-        if (conversationSequence == null) {
-            if (other.conversationSequence != null) {
-                return false;
-            }
-        } else if (!conversationSequence.equals(other.conversationSequence)) {
-            return false;
-        }
-        /*
-         * if (faultTypes == null) { if (other.faultTypes != null) { return
-         * false; } } else if (!faultTypes.equals(other.faultTypes)) { return
-         * false; }
-         */
-
-        if (inputType == null) {
-            if (other.inputType != null) {
-                return false;
-            }
-        } else if (!inputType.equals(other.inputType)) {
-            return false;
-        }
-        if (name == null) {
-            if (other.name != null) {
-                return false;
-            }
-        } else if (!name.equals(other.name)) {
-            return false;
-        }
-        if (nonBlocking != other.nonBlocking) {
-            return false;
-        }
-        if (outputType == null) {
-            if (other.outputType != null) {
-                return false;
-            }
-        } else if (!outputType.equals(other.outputType)) {
-            return false;
-        }
-        return true;
-    }
-
     /**
      * @return the wrapperInfo
      */

Modified: tuscany/branches/sca-java-1.x/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractTestCase.java?rev=803333&r1=803332&r2=803333&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractTestCase.java (original)
+++ tuscany/branches/sca-java-1.x/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractTestCase.java Wed Aug 12 00:08:51 2009
@@ -52,7 +52,9 @@
     @Test
     public void testClone() throws Exception {
         InterfaceContract copy = (InterfaceContract) contract.clone();
-        Assert.assertEquals(contract, copy);
+        Assert.assertNotNull(copy);
+        Assert.assertNotSame(copy.getCallbackInterface(), contract.getCallbackInterface());
+        Assert.assertNotSame(copy.getInterface(), contract.getInterface());
     }
 
     private static class MockInterfaceContract extends InterfaceContractImpl implements InterfaceContract {