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 {