Refactored to use modern Java syntax and idiom
diff --git a/yoko-core/src/main/java/org/apache/yoko/orb/OB/Client.java b/yoko-core/src/main/java/org/apache/yoko/orb/OB/Client.java
index 5cc1af9..3cab63b 100644
--- a/yoko-core/src/main/java/org/apache/yoko/orb/OB/Client.java
+++ b/yoko-core/src/main/java/org/apache/yoko/orb/OB/Client.java
@@ -119,7 +119,7 @@
//
// Checks whether this client is equal to another client
//
- public abstract boolean equal(Client clt);
+ public abstract boolean matches(Client clt);
//
// Force connection establishment
diff --git a/yoko-core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java b/yoko-core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java
index 20e6405..644ba01 100644
--- a/yoko-core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java
+++ b/yoko-core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java
@@ -16,16 +16,14 @@
*/
package org.apache.yoko.orb.OB;
-
-import java.util.logging.Level;
+
+import java.util.Arrays;
+import java.util.Vector;
import java.util.logging.Logger;
-import org.apache.yoko.orb.OB.CONNECTION_REUSE_POLICY_ID;
-import org.apache.yoko.orb.OB.ConnectionReusePolicy;
-import org.apache.yoko.orb.OB.ConnectionReusePolicyHelper;
-import org.apache.yoko.orb.OB.PROTOCOL_POLICY_ID;
-import org.apache.yoko.orb.OB.ProtocolPolicy;
-import org.apache.yoko.orb.OB.ProtocolPolicyHelper;
+import org.apache.yoko.orb.OCI.ConnectorInfo;
+import org.omg.CORBA.Policy;
+import org.omg.IOP.IOR;
import org.omg.PortableServer.POAManagerPackage.State;
public final class ClientManager {
@@ -40,12 +38,12 @@
//
// All clients
//
- private java.util.Vector allClients_ = new java.util.Vector();
+ private Vector<Client> allClients_ = new Vector<>();
//
// All reusable clients
//
- private java.util.Vector reusableClients_ = new java.util.Vector();
+ private Vector<Client> reusableClients_ = new Vector<>();
//
// The concurrency model with which new Clients are created
@@ -84,11 +82,7 @@
//
// Destroy all clients
//
- java.util.Enumeration e = allClients_.elements();
- while (e.hasMoreElements()) {
- Client client = (Client) e.nextElement();
- client.destroy(false);
- }
+ for (Client c : allClients_) c.destroy(false);
//
// Reset internal data
@@ -114,8 +108,7 @@
//
// Get a list of ClientProfilePairs for an IOR and a list of policies
//
- public synchronized java.util.Vector getClientProfilePairs(
- org.omg.IOP.IOR ior, org.omg.CORBA.Policy[] policies) {
+ public synchronized Vector<ClientProfilePair> getClientProfilePairs(IOR ior, Policy[] policies) {
Assert._OB_assert(ior.type_id != null);
//
@@ -135,18 +128,15 @@
org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed,
org.omg.CORBA.CompletionStatus.COMPLETED_NO);
}
-
+
//
// Find out whether private clients are requested
//
boolean privateClients = false;
- for (int i = 0; i < policies.length; i++) {
- if (policies[i].policy_type() == CONNECTION_REUSE_POLICY_ID.value) {
- ConnectionReusePolicy p = ConnectionReusePolicyHelper.narrow(policies[i]);
- if (p.value() == false) {
- privateClients = true;
- }
+ for (Policy pol : policies) {
+ if (pol.policy_type() == CONNECTION_REUSE_POLICY_ID.value) {
+ privateClients = !!!(ConnectionReusePolicyHelper.narrow(pol).value());
break;
}
}
@@ -155,9 +145,9 @@
// Get the protocol policy, if any
//
ProtocolPolicy protocolPolicy = null;
- for (int i = 0; i < policies.length; i++) {
- if (policies[i].policy_type() == PROTOCOL_POLICY_ID.value) {
- protocolPolicy = ProtocolPolicyHelper.narrow(policies[i]);
+ for (Policy pol : policies) {
+ if (pol.policy_type() == PROTOCOL_POLICY_ID.value) {
+ protocolPolicy = ProtocolPolicyHelper.narrow(pol);
break;
}
}
@@ -166,44 +156,39 @@
// check whether the BiDir policy is enabled
//
boolean enableBidir = false;
- for (int i = 0; i < policies.length; i++) {
- if (policies[i].policy_type() == org.omg.BiDirPolicy.BIDIRECTIONAL_POLICY_TYPE.value) {
+ for (Policy pol : policies) {
+ if (pol.policy_type() == org.omg.BiDirPolicy.BIDIRECTIONAL_POLICY_TYPE.value) {
org.omg.BiDirPolicy.BidirectionalPolicy p = org.omg.BiDirPolicy.BidirectionalPolicyHelper
- .narrow(policies[i]);
+ .narrow(pol);
if (p.value() == org.omg.BiDirPolicy.BOTH.value) {
enableBidir = true;
}
}
}
- java.util.Vector pairs = new java.util.Vector();
+ Vector<ClientProfilePair> pairs = new Vector<>();
//
// First try to create CollocatedClients
//
org.apache.yoko.orb.OBPortableServer.POAManagerFactory pmFactory = orbInstance_.getPOAManagerFactory();
- org.omg.PortableServer.POAManager[] managers = pmFactory.list();
-
- for (int i = 0; i < managers.length; i++) {
+ for (org.omg.PortableServer.POAManager mgr : pmFactory.list()) {
try {
- org.apache.yoko.orb.OCI.Acceptor[] acceptors = ((org.apache.yoko.orb.OBPortableServer.POAManager) managers[i])
- .get_acceptors();
-
boolean local = false;
- for (int j = 0; j < acceptors.length && !local; j++) {
- org.apache.yoko.orb.OCI.ProfileInfo[] localProfileInfos = acceptors[j].get_local_profiles(ior);
+ for (org.apache.yoko.orb.OCI.Acceptor acceptor : ((org.apache.yoko.orb.OBPortableServer.POAManager)mgr).get_acceptors()) {
+ org.apache.yoko.orb.OCI.ProfileInfo[] localProfileInfos = acceptor.get_local_profiles(ior);
if (localProfileInfos.length > 0) {
local = true;
}
}
- // we can get into hang situations if we return a collocated server for an
- // inactive POA. This can happen with the RootPOA, which is generally not activated.
- if (local && managers[i].get_state() == State.ACTIVE) {
+ // we can get into hang situations if we return a collocated server for an
+ // inactive POA. This can happen with the RootPOA, which is generally not activated.
+ if (local && mgr.get_state() == State.ACTIVE) {
//
// Retrieve the CollocatedServer from the POAManager
//
- org.apache.yoko.orb.OBPortableServer.POAManager_impl manager = (org.apache.yoko.orb.OBPortableServer.POAManager_impl) managers[i];
+ org.apache.yoko.orb.OBPortableServer.POAManager_impl manager = (org.apache.yoko.orb.OBPortableServer.POAManager_impl) mgr;
CollocatedServer collocatedServer = manager._OB_getCollocatedServer();
//
@@ -215,11 +200,10 @@
Client client = new CollocatedClient(collocatedServer, concModel_, conv);
allClients_.addElement(client);
- org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = client.getUsableProfiles(ior, policies);
- for (int j = 0; j < profileInfos.length; j++) {
+ for (org.apache.yoko.orb.OCI.ProfileInfo profileInfo : client.getUsableProfiles(ior, policies)) {
ClientProfilePair pair = new ClientProfilePair();
pair.client = client;
- pair.profile = profileInfos[j];
+ pair.profile = profileInfo;
pairs.addElement(pair);
}
@@ -227,8 +211,7 @@
// TODO: Introduce reusable CollocatedClients?
//
}
- } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) {
- // Ignore
+ } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ignored) {
}
}
@@ -237,8 +220,7 @@
// clients which are usable for the given IOR and policies
//
if (!privateClients) {
- for (int i = 0; i < reusableClients_.size(); i++) {
- Client reusableClient = (Client) reusableClients_.elementAt(i);
+ for (Client reusableClient : reusableClients_) {
//
// Skip any client whose protocol is not present in the
@@ -246,19 +228,15 @@
//
if (protocolPolicy != null) {
org.apache.yoko.orb.OCI.ConnectorInfo info = reusableClient.connectorInfo();
- if (info != null) {
- if (!protocolPolicy.contains(info.id())) {
- continue;
- }
+ if (info != null && !protocolPolicy.contains(info.id())) {
+ continue;
}
}
- org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = reusableClient
- .getUsableProfiles(ior, policies);
- for (int j = 0; j < profileInfos.length; j++) {
+ for (org.apache.yoko.orb.OCI.ProfileInfo profileInfo : reusableClient.getUsableProfiles(ior, policies)) {
ClientProfilePair pair = new ClientProfilePair();
pair.client = reusableClient;
- pair.profile = profileInfos[j];
+ pair.profile = profileInfo;
pairs.addElement(pair);
}
}
@@ -267,30 +245,22 @@
//
// Finally, create new GIOPClients for all connectors we can get
//
- org.apache.yoko.orb.OCI.ConFactoryRegistry conFactoryRegistry = orbInstance_
- .getConFactoryRegistry();
- org.apache.yoko.orb.OCI.ConFactory[] factories = conFactoryRegistry
- .get_factories();
- for (int i = 0; i < factories.length; i++) {
- org.apache.yoko.orb.OCI.Connector[] connectors = factories[i]
- .create_connectors(ior, policies);
- for (int j = 0; j < connectors.length; j++) {
+ org.apache.yoko.orb.OCI.ConFactoryRegistry conFactoryRegistry = orbInstance_.getConFactoryRegistry();
+ for (org.apache.yoko.orb.OCI.ConFactory factory : conFactoryRegistry.get_factories()) {
+ for (org.apache.yoko.orb.OCI.Connector connector : factory.create_connectors(ior, policies)) {
//
// Skip any connector whose protocol is not present in the
// protocol list
//
- if (protocolPolicy != null)
- {
- if (!protocolPolicy.contains(connectors[j].id())) {
- continue;
- }
+ if (protocolPolicy != null && !protocolPolicy.contains(connector.id())) {
+ continue;
}
//
// Get all usable profiles
//
- org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = connectors[j].get_usable_profiles(ior, policies);
- Assert._OB_assert(profileInfos.length >= 1);
+ org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = connector.get_usable_profiles(ior, policies);
+ Assert._OB_assert(profileInfos.length != 0);
//
// Create a new GIOPClient for each usable profile, and set
@@ -298,25 +268,23 @@
// clients that are equivalent to other clients we already
// have.
//
- for (int k = 0; k < profileInfos.length; k++) {
- CodeConverters conv = CodeSetUtil.getCodeConverters(
- orbInstance_, profileInfos[k]);
+ for (org.apache.yoko.orb.OCI.ProfileInfo profileInfo: profileInfos) {
+ CodeConverters conv = CodeSetUtil.getCodeConverters(orbInstance_, profileInfo);
- Client client = new GIOPClient(orbInstance_, connectors[j],
- concModel_, conv, enableBidir);
+ Client newClient = new GIOPClient(orbInstance_, connector, concModel_, conv, enableBidir);
if (!pairs.isEmpty()) {
- int l;
+ boolean matched = false;
- for (l = 0; l < pairs.size(); l++) {
- ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(l);
- if (pair.client.equal(client)) {
+ for (ClientProfilePair pair : pairs) {
+ if (pair.client.matches(newClient)) {
+ matched = true;
break;
}
}
- if (l != pairs.size()) {
- client.destroy(false);
+ if (matched) {
+ newClient.destroy(false);
continue;
}
}
@@ -324,17 +292,15 @@
//
// Add the new client to the list of all clients
//
- allClients_.addElement(client);
+ allClients_.addElement(newClient);
//
// Add client/profile pairs
//
- org.apache.yoko.orb.OCI.ProfileInfo[] clientProfileInfos = client
- .getUsableProfiles(ior, policies);
- for (int l = 0; l < clientProfileInfos.length; l++) {
+ for (org.apache.yoko.orb.OCI.ProfileInfo clientProfileInfo : newClient.getUsableProfiles(ior, policies)) {
ClientProfilePair pair = new ClientProfilePair();
- pair.client = client;
- pair.profile = clientProfileInfos[l];
+ pair.client = newClient;
+ pair.profile = clientProfileInfo;
pairs.addElement(pair);
}
@@ -343,7 +309,7 @@
// client to the list of existing reusable clients
//
if (!privateClients) {
- reusableClients_.addElement(client);
+ reusableClients_.addElement(newClient);
}
}
}
@@ -359,15 +325,13 @@
if (!pairs.isEmpty() && protocolPolicy != null) {
String[] protocols = protocolPolicy.value();
- java.util.Vector newPairs = new java.util.Vector();
+ Vector<ClientProfilePair> newPairs = new Vector<>();
//
// First, add any pairs whose clients do not have ConnectorInfo
//
- for (int i = 0; i < pairs.size(); i++) {
- ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(i);
- org.apache.yoko.orb.OCI.ConnectorInfo info = pair.client.connectorInfo();
- if (info == null) {
+ for (ClientProfilePair pair : pairs) {
+ if (pair.client.connectorInfo() == null) {
newPairs.addElement(pair);
}
}
@@ -375,14 +339,11 @@
//
// Next, add the pairs in the order specified by the policy
//
- for (int i = 0; i < protocols.length; i++) {
- for (int j = 0; j < pairs.size(); j++) {
- ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(j);
- org.apache.yoko.orb.OCI.ConnectorInfo info = pair.client.connectorInfo();
- if (info != null) {
- if (protocols[i].equals(info.id())) {
- newPairs.addElement(pair);
- }
+ for (String protocol : protocols) {
+ for (ClientProfilePair pair : pairs) {
+ ConnectorInfo info = pair.client.connectorInfo();
+ if (info != null && protocol.equals(info.id())) {
+ newPairs.addElement(pair);
}
}
}
@@ -405,8 +366,7 @@
//
// Increment the usage count on all clients
//
- for (int i = 0; i < pairs.size(); i++) {
- ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(i);
+ for (ClientProfilePair pair : pairs) {
pair.client.incUsage();
}
return pairs;
@@ -437,37 +397,21 @@
boolean inUse = client.decUsage();
if (!inUse) {
- int i;
+ reusableClients_.remove(client);
- for (i = 0; i < reusableClients_.size(); i++) {
- Client c = (Client) reusableClients_.elementAt(i);
- if (c == client) {
- reusableClients_.removeElementAt(i);
- break;
- }
+ if (allClients_.remove(client)) {
+ client.destroy(terminate);
+ } else {
+ Assert._OB_assert("Release called on unknown client");
}
-
- for (i = 0; i < allClients_.size(); i++) {
- Client c = (Client) allClients_.elementAt(i);
- if (c == client) {
- client.destroy(terminate);
- allClients_.removeElementAt(i);
- return;
- }
- }
-
- Assert._OB_assert("Release called on unknown client");
}
}
public boolean equivalent(org.omg.IOP.IOR ior1, org.omg.IOP.IOR ior2) {
- org.apache.yoko.orb.OCI.ConFactoryRegistry conFactoryRegistry = orbInstance_
- .getConFactoryRegistry();
+ org.apache.yoko.orb.OCI.ConFactoryRegistry conFactoryRegistry = orbInstance_.getConFactoryRegistry();
- org.apache.yoko.orb.OCI.ConFactory[] factories = conFactoryRegistry
- .get_factories();
- for (int i = 0; i < factories.length; i++) {
- if (!factories[i].equivalent(ior1, ior2)) {
+ for (org.apache.yoko.orb.OCI.ConFactory factory : conFactoryRegistry.get_factories()) {
+ if (!!!factory.equivalent(ior1, ior2)) {
return false;
}
}
@@ -475,14 +419,6 @@
}
public int hash(org.omg.IOP.IOR ior, int maximum) {
- org.apache.yoko.orb.OCI.ConFactoryRegistry conFactoryRegistry = orbInstance_
- .getConFactoryRegistry();
-
- org.apache.yoko.orb.OCI.ConFactory[] factories = conFactoryRegistry.get_factories();
- int hash = 0;
- for (int i = 0; i < factories.length; i++) {
- hash ^= factories[i].hash(ior, maximum);
- }
- return hash % (maximum + 1);
+ return Arrays.hashCode(orbInstance_.getConFactoryRegistry().get_factories());
}
}
diff --git a/yoko-core/src/main/java/org/apache/yoko/orb/OB/CollocatedClient.java b/yoko-core/src/main/java/org/apache/yoko/orb/OB/CollocatedClient.java
index 8abd5fa..d3f26d4 100644
--- a/yoko-core/src/main/java/org/apache/yoko/orb/OB/CollocatedClient.java
+++ b/yoko-core/src/main/java/org/apache/yoko/orb/OB/CollocatedClient.java
@@ -88,18 +88,10 @@
//
// Checks whether this client is equal to another client
//
- public boolean equal(Client cl) {
- CollocatedClient client = null;
- try {
- client = (CollocatedClient) cl;
- } catch (ClassCastException ex) {
- return false;
- }
-
- if (server_ != client.server_)
- return false;
-
- return true;
+ public boolean matches(Client other) {
+ if (!!!(other instanceof CollocatedClient)) return false;
+ CollocatedClient that = (CollocatedClient) other;
+ return (this.server_ == that.server_);
}
//
diff --git a/yoko-core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java b/yoko-core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java
index 9f720af..ad989ce 100644
--- a/yoko-core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java
+++ b/yoko-core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java
@@ -19,11 +19,50 @@
import static org.apache.yoko.orb.OCI.GiopVersion.GIOP1_2;
+import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.apache.yoko.orb.OB.RETRY_ALWAYS;
-import org.apache.yoko.orb.OCI.GiopVersion;
+import org.omg.CORBA.BAD_INV_ORDER;
+import org.omg.CORBA.BooleanHolder;
+import org.omg.CORBA.COMM_FAILURE;
+import org.omg.CORBA.CompletionStatus;
+import org.omg.CORBA.ExceptionList;
+import org.omg.CORBA.NO_RESPONSE;
+import org.omg.CORBA.NVList;
+import org.omg.CORBA.NamedValue;
+import org.omg.CORBA.OBJECT_NOT_EXIST;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.Policy;
+import org.omg.CORBA.SystemException;
+import org.omg.CORBA.TRANSIENT;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.ApplicationException;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.RemarshalException;
+import org.omg.GIOP.MessageHeader_1_1;
+import org.omg.GIOP.MessageHeader_1_2Helper;
+import org.omg.GIOP.MsgType_1_1;
+import org.omg.GIOP.RequestHeader_1_2;
+import org.omg.GIOP.RequestHeader_1_2Helper;
+import org.omg.IOP.INVOCATION_POLICIES;
+import org.omg.IOP.IOR;
+import org.omg.IOP.ServiceContext;
+import org.omg.IOP.ServiceContextListHolder;
+import org.omg.MessageRouting.MessageBody;
+import org.omg.MessageRouting.PersistentRequest;
+import org.omg.MessageRouting.PersistentRequestRouter;
+import org.omg.MessageRouting.ReplyDestination;
+import org.omg.MessageRouting.ReplyDisposition;
+import org.omg.MessageRouting.RequestInfo;
+import org.omg.MessageRouting.RequestMessage;
+import org.omg.MessageRouting.Router;
+import org.omg.MessageRouting.RouterListHolder;
+import org.omg.Messaging.PolicyValue;
+import org.omg.Messaging.PolicyValueSeqHelper;
+import org.omg.Messaging.PolicyValueSeqHolder;
+import org.omg.Messaging.ReplyHandler;
//
// DowncallStub is equivalent to the C++ class OB::MarshalStubImpl
@@ -38,9 +77,9 @@
//
// The IOR and the original IOR
//
- private org.omg.IOP.IOR IOR_;
+ private IOR IOR_;
- private org.omg.IOP.IOR origIOR_;
+ private IOR origIOR_;
//
// The list of policies
@@ -50,7 +89,7 @@
//
// All client/profile pairs
//
- private java.util.Vector clientProfilePairs_;
+ private Vector<ClientProfilePair> clientProfilePairs_;
//
// We need a class to carry the DowncallStub and Downcall across
@@ -66,8 +105,7 @@
// Private and protected member implementations
// ------------------------------------------------------------------
- private synchronized Client getClientProfilePair(
- org.apache.yoko.orb.OCI.ProfileInfoHolder profileInfo)
+ private synchronized Client getClientProfilePair(org.apache.yoko.orb.OCI.ProfileInfoHolder profileInfo)
throws FailureException {
//
// Lazy initialization of the client/profile pairs
@@ -90,10 +128,7 @@
logger.fine("retry: no profiles available");
}
- throw new FailureException(new org.omg.CORBA.TRANSIENT(org.apache.yoko.orb.OB.MinorCodes
- .describeTransient(org.apache.yoko.orb.OB.MinorCodes.MinorNoUsableProfileInIOR),
- org.apache.yoko.orb.OB.MinorCodes.MinorNoUsableProfileInIOR,
- org.omg.CORBA.CompletionStatus.COMPLETED_NO));
+ throw new FailureException(new TRANSIENT(org.apache.yoko.orb.OB.MinorCodes.describeTransient(org.apache.yoko.orb.OB.MinorCodes.MinorNoUsableProfileInIOR), org.apache.yoko.orb.OB.MinorCodes.MinorNoUsableProfileInIOR, CompletionStatus.COMPLETED_NO));
}
ClientProfilePair clientProfilePair = (ClientProfilePair) clientProfilePairs_.elementAt(0);
@@ -108,9 +143,7 @@
ClientManager clientManager = orbInstance_.getClientManager();
if (clientManager != null && clientProfilePairs_ != null) {
- for (int i = 0; i < clientProfilePairs_.size(); i++) {
- ClientProfilePair pair = (ClientProfilePair) clientProfilePairs_
- .elementAt(i);
+ for (ClientProfilePair pair: clientProfilePairs_) {
clientManager.releaseClient(pair.client, terminate);
}
}
@@ -128,8 +161,7 @@
// Public member implementations
// ------------------------------------------------------------------
- public DowncallStub(ORBInstance orbInstance, org.omg.IOP.IOR ior,
- org.omg.IOP.IOR origIOR, RefCountPolicyList policies) {
+ public DowncallStub(ORBInstance orbInstance, IOR ior, IOR origIOR, RefCountPolicyList policies) {
clientProfilePairs_ = null;
//
@@ -163,8 +195,7 @@
PIManager piManager = orbInstance_.getPIManager();
if (piManager.haveClientInterceptors()) {
- return new PIDowncall(orbInstance_, client, profile.value,
- policies_, op, resp, IOR_, origIOR_, piManager);
+ return new PIDowncall(orbInstance_, client, profile.value, policies_, op, resp, IOR_, origIOR_, piManager);
} else {
return new Downcall(orbInstance_, client, profile.value, policies_, op, resp);
}
@@ -181,47 +212,35 @@
return new Downcall(orbInstance_, client, profile.value, policies_, "_locate", true);
}
- public Downcall createPIArgsDowncall(String op, boolean resp,
- ParameterDesc[] argDesc, ParameterDesc retDesc,
- org.omg.CORBA.TypeCode[] exceptionTC) throws FailureException {
+ public Downcall createPIArgsDowncall(String op, boolean resp, ParameterDesc[] argDesc, ParameterDesc retDesc, TypeCode[] exceptionTC) throws FailureException {
org.apache.yoko.orb.OCI.ProfileInfoHolder profile = new org.apache.yoko.orb.OCI.ProfileInfoHolder();
Client client = getClientProfilePair(profile);
Assert._OB_assert(client != null);
if (!policies_.interceptor)
- return new Downcall(orbInstance_, client, profile.value, policies_,
- op, resp);
+ return new Downcall(orbInstance_, client, profile.value, policies_, op, resp);
PIManager piManager = orbInstance_.getPIManager();
if (piManager.haveClientInterceptors()) {
- return new PIArgsDowncall(orbInstance_, client, profile.value,
- policies_, op, resp, IOR_, origIOR_, piManager, argDesc,
- retDesc, exceptionTC);
+ return new PIArgsDowncall(orbInstance_, client, profile.value, policies_, op, resp, IOR_, origIOR_, piManager, argDesc, retDesc, exceptionTC);
} else {
- return new Downcall(orbInstance_, client, profile.value, policies_,
- op, resp);
+ return new Downcall(orbInstance_, client, profile.value, policies_, op, resp);
}
}
- public Downcall createPIDIIDowncall(String op, boolean resp,
- org.omg.CORBA.NVList args, org.omg.CORBA.NamedValue result,
- org.omg.CORBA.ExceptionList exceptions) throws FailureException {
+ public Downcall createPIDIIDowncall(String op, boolean resp, NVList args, NamedValue result, ExceptionList exceptions) throws FailureException {
org.apache.yoko.orb.OCI.ProfileInfoHolder profile = new org.apache.yoko.orb.OCI.ProfileInfoHolder();
Client client = getClientProfilePair(profile);
Assert._OB_assert(client != null);
if (!policies_.interceptor)
- return new Downcall(orbInstance_, client, profile.value, policies_,
- op, resp);
+ return new Downcall(orbInstance_, client, profile.value, policies_, op, resp);
PIManager piManager = orbInstance_.getPIManager();
if (piManager.haveClientInterceptors()) {
- return new PIDIIDowncall(orbInstance_, client, profile.value,
- policies_, op, resp, IOR_, origIOR_, piManager, args,
- result, exceptions);
+ return new PIDIIDowncall(orbInstance_, client, profile.value, policies_, op, resp, IOR_, origIOR_, piManager, args, result, exceptions);
} else {
- return new Downcall(orbInstance_, client, profile.value, policies_,
- op, resp);
+ return new Downcall(orbInstance_, client, profile.value, policies_, op, resp);
}
}
@@ -229,18 +248,15 @@
// Marshalling interception points
//
- public org.apache.yoko.orb.CORBA.OutputStream preMarshal(Downcall down)
- throws LocationForward, FailureException {
+ public org.apache.yoko.orb.CORBA.OutputStream preMarshal(Downcall down) throws LocationForward, FailureException {
return down.preMarshal();
}
- public void marshalEx(Downcall down, org.omg.CORBA.SystemException ex)
- throws LocationForward, FailureException {
+ public void marshalEx(Downcall down, SystemException ex) throws LocationForward, FailureException {
down.marshalEx(ex);
}
- public void postMarshal(Downcall down) throws LocationForward,
- FailureException {
+ public void postMarshal(Downcall down) throws LocationForward, FailureException {
down.postMarshal();
}
@@ -260,13 +276,11 @@
down.oneway();
}
- public void deferred(Downcall down) throws LocationForward,
- FailureException {
+ public void deferred(Downcall down) throws LocationForward, FailureException {
down.deferred();
}
- public void response(Downcall down) throws LocationForward,
- FailureException {
+ public void response(Downcall down) throws LocationForward, FailureException {
down.response();
}
@@ -278,26 +292,21 @@
// Unmarshalling interception points
//
- public org.apache.yoko.orb.CORBA.InputStream preUnmarshal(Downcall down)
- throws LocationForward, FailureException {
+ public org.apache.yoko.orb.CORBA.InputStream preUnmarshal(Downcall down) throws LocationForward, FailureException {
return down.preUnmarshal();
}
- public org.apache.yoko.orb.CORBA.InputStream preUnmarshal(Downcall down,
- org.omg.CORBA.BooleanHolder uex) throws LocationForward,
- FailureException {
+ public org.apache.yoko.orb.CORBA.InputStream preUnmarshal(Downcall down, BooleanHolder uex) throws LocationForward, FailureException {
org.apache.yoko.orb.CORBA.InputStream in = down.preUnmarshal();
uex.value = down.userException();
return in;
}
- public void unmarshalEx(Downcall down, org.omg.CORBA.SystemException ex)
- throws LocationForward, FailureException {
+ public void unmarshalEx(Downcall down, SystemException ex) throws LocationForward, FailureException {
down.unmarshalEx(ex);
}
- public void postUnmarshal(Downcall down) throws LocationForward,
- FailureException {
+ public void postUnmarshal(Downcall down) throws LocationForward, FailureException {
down.postUnmarshal();
}
@@ -309,20 +318,18 @@
return down.unmarshalExceptionId();
}
- public void setUserException(Downcall down, org.omg.CORBA.UserException ex,
- String exId) {
+ public void setUserException(Downcall down, UserException ex, String exId) {
down.setUserException(ex, exId);
}
- public void setUserException(Downcall down, org.omg.CORBA.UserException ex) {
+ public void setUserException(Downcall down, UserException ex) {
down.setUserException(ex);
}
//
// Handle a FailureException
//
- public synchronized void handleFailureException(Downcall down,
- FailureException ex) throws FailureException {
+ public synchronized void handleFailureException(Downcall down, FailureException ex) throws FailureException {
//
// Only called if there is really a failure
//
@@ -335,24 +342,21 @@
Client client = down.client();
org.apache.yoko.orb.OCI.ProfileInfo profile = down.profileInfo();
- for (int i = 0; i < clientProfilePairs_.size(); i++) {
- ClientProfilePair pair = (ClientProfilePair) clientProfilePairs_
- .elementAt(i);
- if (pair.client == client && pair.profile == profile) {
- ClientManager clientManager = orbInstance_.getClientManager();
-
- //
- // Make sure the ORB has not been destroyed
- //
- if (clientManager == null)
- throw new org.omg.CORBA.BAD_INV_ORDER(
- MinorCodes
- .describeBadInvOrder(org.apache.yoko.orb.OB.MinorCodes.MinorShutdownCalled),
+ final ClientManager clientManager = orbInstance_.getClientManager();
+ //
+ // Make sure the ORB has not been destroyed
+ //
+ if (clientManager == null)
+ throw new BAD_INV_ORDER(
+ MinorCodes.describeBadInvOrder(
+ org.apache.yoko.orb.OB.MinorCodes.MinorShutdownCalled),
org.apache.yoko.orb.OB.MinorCodes.MinorShutdownCalled,
- org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+ CompletionStatus.COMPLETED_NO);
+ for (ClientProfilePair pair : clientProfilePairs_) {
+ if (pair.client == client && pair.profile == profile) {
clientManager.releaseClient(pair.client, false);
- clientProfilePairs_.removeElementAt(i);
+ clientProfilePairs_.remove(pair);
break;
}
}
@@ -362,10 +366,8 @@
//
try {
throw ex.exception;
- } catch (org.omg.CORBA.COMM_FAILURE e) {
- } catch (org.omg.CORBA.TRANSIENT e) {
- } catch (org.omg.CORBA.NO_RESPONSE e) {
- } catch (org.omg.CORBA.SystemException e) {
+ } catch (COMM_FAILURE|TRANSIENT|NO_RESPONSE forceRetry) {
+ } catch (SystemException systemException) {
throw ex; // Not "throw e;"!
}
@@ -373,8 +375,7 @@
// We can't retry if RETRY_STRICT or RETRY_NEVER is set and the
// completion status is not COMPLETED_NO
//
- if (policies_.retry.mode != RETRY_ALWAYS.value
- && ex.exception.completed != org.omg.CORBA.CompletionStatus.COMPLETED_NO) {
+ if (policies_.retry.mode != RETRY_ALWAYS.value && ex.exception.completed != CompletionStatus.COMPLETED_NO) {
throw ex;
}
@@ -389,7 +390,6 @@
//
// OK, let's continue with the next profile
//
- CoreTraceLevels coreTraceLevels = orbInstance_.getCoreTraceLevels();
logger.log(Level.FINE, "trying next profile", ex.exception);
}
@@ -422,7 +422,7 @@
logger.fine("Twoway invocations not supported, returning true");
return true;
}
- } catch (org.omg.CORBA.SystemException ex) {
+ } catch (SystemException ex) {
logger.log(Level.FINE, "Exception occurred during locate request", ex);
throw new FailureException(ex);
}
@@ -434,7 +434,7 @@
postUnmarshal(down);
logger.fine("Object located");
return true;
- } catch (org.omg.CORBA.OBJECT_NOT_EXIST ex) {
+ } catch (OBJECT_NOT_EXIST ex) {
logger.log(Level.FINE, "Object does not exist", ex);
return false;
} catch (FailureException ex) {
@@ -472,8 +472,7 @@
// Prepare a request from a portable stub
//
public org.apache.yoko.orb.CORBA.OutputStream setupRequest(
- org.omg.CORBA.Object self, String operation,
- boolean responseExpected) throws LocationForward, FailureException {
+ org.omg.CORBA.Object self, String operation, boolean responseExpected) throws LocationForward, FailureException {
while (true) {
org.apache.yoko.orb.OB.Downcall downcall = createDowncall(
operation, responseExpected);
@@ -502,8 +501,7 @@
//
// public org.apache.yoko.orb.CORBA.OutputStream
public org.apache.yoko.orb.OB.CodeConverters setupPollingRequest(
- org.omg.IOP.ServiceContextListHolder sclHolder,
- org.apache.yoko.orb.CORBA.OutputStreamHolder out)
+ ServiceContextListHolder sclHolder, org.apache.yoko.orb.CORBA.OutputStreamHolder out)
throws FailureException {
//
// Create buffer to contain out marshalable data
@@ -516,8 +514,7 @@
org.apache.yoko.orb.OCI.ProfileInfoHolder info = new org.apache.yoko.orb.OCI.ProfileInfoHolder();
Client client = getClientProfilePair(info);
- out.value = new org.apache.yoko.orb.CORBA.OutputStream(buf, client
- .codeConverters(), GIOP1_2);
+ out.value = new org.apache.yoko.orb.CORBA.OutputStream(buf, client.codeConverters(), GIOP1_2);
sclHolder.value = client.getAMIRouterSCL();
@@ -557,28 +554,23 @@
//
Client client = getClientProfilePair(info);
- out.value = new org.apache.yoko.orb.CORBA.OutputStream(buf, client
- .codeConverters(), GIOP1_2);
- org.omg.IOP.ServiceContext[] scl = client.getAMIRouterSCL();
+ out.value = new org.apache.yoko.orb.CORBA.OutputStream(buf, client.codeConverters(), GIOP1_2);
+ ServiceContext[] scl = client.getAMIRouterSCL();
- GIOPOutgoingMessage outgoing = new GIOPOutgoingMessage(orbInstance_,
- out.value, info.value);
+ GIOPOutgoingMessage outgoing = new GIOPOutgoingMessage(orbInstance_, out.value, info.value);
//
// Put the request header into the stream
//
- outgoing.writeRequestHeader(client.requestId(), operation,
- responseExpected, scl);
+ outgoing.writeRequestHeader(client.requestId(), operation, responseExpected, scl);
return outgoing;
}
- public void AMIRouterPostMarshal(GIOPOutgoingMessage outgoing,
- org.apache.yoko.orb.CORBA.OutputStreamHolder out) {
+ public void AMIRouterPostMarshal(GIOPOutgoingMessage outgoing, org.apache.yoko.orb.CORBA.OutputStreamHolder out) {
int pos = out.value._OB_pos();
out.value._OB_pos(0);
- outgoing.writeMessageHeader(org.omg.GIOP.MsgType_1_1.Request, false,
- pos - 12);
+ outgoing.writeMessageHeader(MsgType_1_1.Request, false, pos - 12);
out.value._OB_pos(pos);
//
@@ -597,8 +589,8 @@
public org.apache.yoko.orb.CORBA.InputStream invoke(
org.omg.CORBA.Object self,
org.apache.yoko.orb.CORBA.OutputStream out)
- throws org.omg.CORBA.portable.ApplicationException,
- org.omg.CORBA.portable.RemarshalException, LocationForward,
+ throws ApplicationException,
+ RemarshalException, LocationForward,
FailureException {
//
// We should have an InvocationContext associated with the
@@ -612,7 +604,7 @@
// If the DowncallStub has changed, then remarshal
//
if (ctx.downcallStub != this) {
- throw new org.omg.CORBA.portable.RemarshalException();
+ throw new RemarshalException();
}
Downcall down = ctx.downcall;
@@ -643,7 +635,7 @@
// Extract the exception's repository ID
//
id = down.unmarshalExceptionId();
- } catch (org.omg.CORBA.SystemException ex) {
+ } catch (SystemException ex) {
down.unmarshalEx(ex);
}
@@ -655,8 +647,7 @@
down.setUserException(id);
down.postUnmarshal();
- throw new org.omg.CORBA.portable.ApplicationException(id,
- in);
+ throw new ApplicationException(id, in);
} else {
//
// We're using portable stubs, so we'll never
@@ -679,7 +670,7 @@
//
// If we reach this point, then we need to reinvoke
//
- throw new org.omg.CORBA.portable.RemarshalException();
+ throw new RemarshalException();
}
public org.omg.CORBA.Object getAMIPollTarget() {
@@ -688,15 +679,11 @@
// generated stub, we will call this method to create the target
// object for a polling request
//
- org.apache.yoko.orb.OB.ObjectFactory objectFactory = orbInstance_
- .getObjectFactory();
+ org.apache.yoko.orb.OB.ObjectFactory objectFactory = orbInstance_.getObjectFactory();
return objectFactory.createObject(IOR_);
}
- public org.omg.MessageRouting.PersistentRequest ami_poll_request(
- org.omg.CORBA.portable.OutputStream out, String operation,
- org.omg.IOP.ServiceContext[] scl)
- throws org.omg.CORBA.portable.RemarshalException {
+ public PersistentRequest ami_poll_request(OutputStream out, String operation, ServiceContext[] scl) throws RemarshalException {
//
// setup the ORBInstance
//
@@ -704,8 +691,7 @@
Assert._OB_assert(out != null);
//
- // We should have an InvocationContext associated with the
- // OutputStream
+ // We should have an InvocationContext associated with the OutputStream
//
org.apache.yoko.orb.CORBA.OutputStream o = (org.apache.yoko.orb.CORBA.OutputStream) out;
InvocationContext ctx = (InvocationContext) o._OB_invocationContext();
@@ -715,19 +701,18 @@
// If the DowncallStub has changed, then remarshal
//
if (ctx.downcallStub != this)
- throw new org.omg.CORBA.portable.RemarshalException();
+ throw new RemarshalException();
//
// Obtain the ORB
//
- org.omg.CORBA.ORB orb = orbInstance_.getORB();
+ ORB orb = orbInstance_.getORB();
Assert._OB_assert(orb != null);
//
// Obtain the PersistentRequestRouter
//
- org.omg.MessageRouting.PersistentRequestRouter router = org.apache.yoko.orb.OB.MessageRoutingUtil
- .getPersistentRouterFromConfig(orbInstance_);
+ PersistentRequestRouter router = org.apache.yoko.orb.OB.MessageRoutingUtil.getPersistentRouterFromConfig(orbInstance_);
org.apache.yoko.orb.OB.Assert._OB_assert(router != null);
//
@@ -735,11 +720,10 @@
//
org.apache.yoko.orb.OCI.ProfileInfoHolder info = new org.apache.yoko.orb.OCI.ProfileInfoHolder();
info.value = null;
- Client client = null;
try {
- client = getClientProfilePair(info);
+ getClientProfilePair(info);
} catch (org.apache.yoko.orb.OB.FailureException ex) {
- throw new org.omg.CORBA.portable.RemarshalException();
+ throw new RemarshalException();
}
//
@@ -750,23 +734,21 @@
//
// Create the router to_visit list
//
- org.omg.MessageRouting.RouterListHolder to_visit = new org.omg.MessageRouting.RouterListHolder();
- to_visit.value = new org.omg.MessageRouting.Router[0];
- org.apache.yoko.orb.OB.MessageRoutingUtil.getRouterListFromComponents(
- orbInstance_, info.value, to_visit);
+ RouterListHolder to_visit = new RouterListHolder();
+ to_visit.value = new Router[0];
+ org.apache.yoko.orb.OB.MessageRoutingUtil.getRouterListFromComponents(orbInstance_, info.value, to_visit);
//
// Obtain the target objects
//
- org.apache.yoko.orb.OB.ObjectFactory objectFactory = orbInstance_
- .getObjectFactory();
+ org.apache.yoko.orb.OB.ObjectFactory objectFactory = orbInstance_.getObjectFactory();
org.omg.CORBA.Object target = objectFactory.createObject(IOR_);
//
// Populate the RequestMessage payload
//
- org.omg.MessageRouting.RequestMessage payload = new org.omg.MessageRouting.RequestMessage();
- // payload.service_contexts = new org.omg.IOP.ServiceContext[0];
+ RequestMessage payload = new RequestMessage();
+ // payload.service_contexts = new ServiceContext[0];
//
// XXX
//
@@ -781,29 +763,25 @@
payload.reserved[2] = 0;
payload.operation = operation;
payload.object_key = new byte[info.value.key.length];
- System.arraycopy(info.value.key, 0, payload.object_key, 0,
- info.value.key.length);
+ System.arraycopy(info.value.key, 0, payload.object_key, 0, info.value.key.length);
o._OB_pos(0);
org.apache.yoko.orb.OCI.Buffer buf = o._OB_buffer();
- org.omg.MessageRouting.MessageBody messageBody = new org.omg.MessageRouting.MessageBody();
+ MessageBody messageBody = new MessageBody();
messageBody.byte_order = false; // Java is always false
messageBody.body = new byte[buf.rest_length()];
- System.arraycopy(buf.data(), buf.pos(), messageBody.body, 0, buf
- .rest_length());
+ System.arraycopy(buf.data(), buf.pos(), messageBody.body, 0, buf.rest_length());
payload.body = messageBody;
//
// Empty QoS list
//
- org.omg.CORBA.Policy[] qosList = new org.omg.CORBA.Policy[0];
+ Policy[] qosList = new Policy[0];
//
// Create a new Persistent request
//
- org.omg.MessageRouting.PersistentRequest request = router
- .create_persistent_request(index, to_visit.value, target,
- qosList, payload);
+ PersistentRequest request = router.create_persistent_request(index, to_visit.value, target, qosList, payload);
//
// Return the persistent request back to the stub
@@ -811,11 +789,7 @@
return request;
}
- public boolean ami_callback_request(
- org.omg.CORBA.portable.OutputStream out,
- org.omg.Messaging.ReplyHandler reply,
- org.apache.yoko.orb.OCI.ProfileInfo info)
- throws org.omg.CORBA.portable.RemarshalException {
+ public boolean ami_callback_request(OutputStream out, ReplyHandler reply, org.apache.yoko.orb.OCI.ProfileInfo info) throws RemarshalException {
//
// We should have an InvocationContext associated with the
// OutputStream
@@ -828,16 +802,14 @@
// If the DowncallStub has changed, then remarshal
//
if (ctx.downcallStub != this)
- throw new org.omg.CORBA.portable.RemarshalException();
+ throw new RemarshalException();
- org.apache.yoko.orb.CORBA.InputStream tmpIn = (org.apache.yoko.orb.CORBA.InputStream) out
- .create_input_stream();
+ org.apache.yoko.orb.CORBA.InputStream tmpIn = (org.apache.yoko.orb.CORBA.InputStream) out.create_input_stream();
//
// Unmarshal the message header
//
- org.omg.GIOP.MessageHeader_1_1 msgHeader = org.omg.GIOP.MessageHeader_1_2Helper
- .read(tmpIn);
+ MessageHeader_1_1 msgHeader = MessageHeader_1_2Helper.read(tmpIn);
//
// Check the GIOP version
@@ -852,7 +824,7 @@
//
// Check the message type
//
- if (msgHeader.message_type != (byte) org.omg.GIOP.MsgType_1_1._Request) {
+ if (msgHeader.message_type != (byte) MsgType_1_1._Request) {
//
// Report error - throw exception
//
@@ -862,35 +834,32 @@
//
// Create and populate a RequestInfo to send to the router
//
- org.omg.MessageRouting.RequestInfo requestInfo = new org.omg.MessageRouting.RequestInfo();
+ RequestInfo requestInfo = new RequestInfo();
//
// Unmarshal the request header
//
- org.omg.GIOP.RequestHeader_1_2 requestHeader = org.omg.GIOP.RequestHeader_1_2Helper
- .read(tmpIn);
+ RequestHeader_1_2 requestHeader = RequestHeader_1_2Helper.read(tmpIn);
//
// Create and populate a RequestInfo structure to send to the
// Router
//
- org.omg.MessageRouting.RouterListHolder configRouterList = new org.omg.MessageRouting.RouterListHolder();
- configRouterList.value = new org.omg.MessageRouting.Router[0];
+ RouterListHolder configRouterList = new RouterListHolder();
+ configRouterList.value = new Router[0];
//
// Populate the configRouterList
//
- org.apache.yoko.orb.OB.MessageRoutingUtil.getRouterListFromComponents(
- orbInstance_, info, configRouterList);
+ org.apache.yoko.orb.OB.MessageRoutingUtil.getRouterListFromComponents(orbInstance_, info, configRouterList);
- requestInfo.visited = new org.omg.MessageRouting.Router[0];
- requestInfo.to_visit = new org.omg.MessageRouting.Router[0];
+ requestInfo.visited = new Router[0];
+ requestInfo.to_visit = new Router[0];
//
// Get the target for this request
//
- org.apache.yoko.orb.OB.ObjectFactory objectFactory = orbInstance_
- .getObjectFactory();
+ org.apache.yoko.orb.OB.ObjectFactory objectFactory = orbInstance_.getObjectFactory();
//
// REVISIT: Should we be using IOR_ or origIOR_?
//
@@ -904,24 +873,23 @@
//
// Get the reply destination for this request
//
- org.omg.MessageRouting.ReplyDestination replyDest = new org.omg.MessageRouting.ReplyDestination();
- replyDest.handler_type = org.omg.MessageRouting.ReplyDisposition.TYPED;
+ ReplyDestination replyDest = new ReplyDestination();
+ replyDest.handler_type = ReplyDisposition.TYPED;
replyDest.handler = reply;
requestInfo.reply_destination = replyDest;
//
// Get the selected qos for this request
//
- org.omg.Messaging.PolicyValueSeqHolder invocPoliciesHolder = new org.omg.Messaging.PolicyValueSeqHolder();
- invocPoliciesHolder.value = new org.omg.Messaging.PolicyValue[0];
- org.apache.yoko.orb.OB.MessageRoutingUtil.getInvocationPolicyValues(
- policies_, invocPoliciesHolder);
+ PolicyValueSeqHolder invocPoliciesHolder = new PolicyValueSeqHolder();
+ invocPoliciesHolder.value = new PolicyValue[0];
+ org.apache.yoko.orb.OB.MessageRoutingUtil.getInvocationPolicyValues(policies_, invocPoliciesHolder);
requestInfo.selected_qos = invocPoliciesHolder.value;
//
// Create payload (RequestMessage) for this request
//
- org.omg.MessageRouting.RequestMessage requestMessage = new org.omg.MessageRouting.RequestMessage();
+ RequestMessage requestMessage = new RequestMessage();
requestMessage.giop_version = new org.omg.GIOP.Version();
requestMessage.giop_version.major = info.major;
requestMessage.giop_version.minor = info.minor;
@@ -935,8 +903,8 @@
// Add the invocation policies service context for this request.
// Note that this can change from request to request
//
- org.omg.IOP.ServiceContext invocPoliciesSC = new org.omg.IOP.ServiceContext();
- invocPoliciesSC.context_id = org.omg.IOP.INVOCATION_POLICIES.value;
+ ServiceContext invocPoliciesSC = new ServiceContext();
+ invocPoliciesSC.context_id = INVOCATION_POLICIES.value;
//
// Create an output stream an write the PolicyValueSeq
@@ -946,20 +914,17 @@
org.apache.yoko.orb.CORBA.OutputStream scOut = new org.apache.yoko.orb.CORBA.OutputStream(
scBuf);
scOut._OB_writeEndian();
- org.omg.Messaging.PolicyValueSeqHelper.write(scOut,
- invocPoliciesHolder.value);
+ PolicyValueSeqHelper.write(scOut, invocPoliciesHolder.value);
invocPoliciesSC.context_data = new byte[scOut._OB_pos()];
- System.arraycopy(invocPoliciesSC.context_data, 0, scBuf.data(), 0,
- scBuf.length());
+ System.arraycopy(invocPoliciesSC.context_data, 0, scBuf.data(), 0, scBuf.length());
}
//
// Add the service context to the list of current service contexts
//
int scLength = requestMessage.service_contexts.length;
- org.omg.IOP.ServiceContext[] scList = new org.omg.IOP.ServiceContext[scLength + 1];
- System.arraycopy(requestMessage.service_contexts, 0, scList, 0,
- scLength);
+ ServiceContext[] scList = new ServiceContext[scLength + 1];
+ System.arraycopy(requestMessage.service_contexts, 0, scList, 0, scLength);
scList[scLength] = invocPoliciesSC;
//
@@ -990,7 +955,7 @@
//
// Get the body of the request message
//
- org.omg.MessageRouting.MessageBody messageBody = new org.omg.MessageRouting.MessageBody();
+ MessageBody messageBody = new MessageBody();
//
// Java is always big endian
@@ -1025,7 +990,7 @@
int numRouters = configRouterList.value.length;
for (int i = numRouters - 1; (delivered == false) && (i >= 0); --i) {
- org.omg.MessageRouting.Router curRouter = configRouterList.value[i];
+ Router curRouter = configRouterList.value[i];
//
// We only add the routers that we have attempted to contact to
@@ -1033,7 +998,7 @@
// the request, then the lower priority routers are not added
//
int curLength = requestInfo.to_visit.length;
- org.omg.MessageRouting.Router[] toVisit = new org.omg.MessageRouting.Router[curLength + 1];
+ Router[] toVisit = new Router[curLength + 1];
if (curLength > 0) {
System.arraycopy(requestInfo.to_visit, 0, toVisit, 1, curLength);
}
@@ -1047,7 +1012,7 @@
// Success: stop processing
//
delivered = true;
- } catch (org.omg.CORBA.SystemException ex) {
+ } catch (SystemException ex) {
logger.log(Level.FINE, "Failed to contact router: " + ex.getMessage(), ex);
//
// Failure: try the next router in the list
diff --git a/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPClient.java b/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPClient.java
index 6f9d2ee..6756e8e 100644
--- a/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPClient.java
+++ b/yoko-core/src/main/java/org/apache/yoko/orb/OB/GIOPClient.java
@@ -571,21 +571,11 @@
//
// Checks whether this client is equal to another client
//
- public boolean equal(Client cl) {
- GIOPClient client = null;
- try {
- client = (GIOPClient) cl;
- } catch (ClassCastException ex) {
- return false;
- }
+ public boolean matches(Client other) {
+ if (!!!(other instanceof GIOPClient)) return false;
+ GIOPClient that = (GIOPClient) other;
- if (!connector_.equal(client.connector_))
- return false;
-
- if (!codeConverters().equals(client.codeConverters()))
- return false;
-
- return true;
+ return this.connector_.equal(that.connector_) && this.codeConverters().equals(that.codeConverters());
}
//