summaryrefslogtreecommitdiff
path: root/gnu/CORBA/gnuRequest.java
diff options
context:
space:
mode:
authorAudrius Meskauskas <audriusa@Bioinformatics.org>2005-07-22 16:57:47 +0000
committerAudrius Meskauskas <audriusa@Bioinformatics.org>2005-07-22 16:57:47 +0000
commit5178dfae9576708eca9f8ff77af2bb81f4522950 (patch)
tree23add917185f72855ee9b01426bff31aa5e43e09 /gnu/CORBA/gnuRequest.java
parenta009a319477be3a2ae19632e33a127cdcb6d8ce3 (diff)
downloadclasspath-5178dfae9576708eca9f8ff77af2bb81f4522950.tar.gz
2005-07-22 Audrius Meskauskas <AudriusA@Bioinformatics.org>
* gnu/CORBA/Poa/gnuPOA.java, gnu/CORBA/Poa/gnuPOAManager.java, gnu/CORBA/Poa/activeObjectMap.java, gnu/CORBA/Poa/gnuAdapterActivator.java, gnu/CORBA/Poa/gnuServantObject.java, gnu/CORBA/Poa/servantDelegate.java, gnu/CORBA/Poa/ORB_1_4.java, gnu/CORBA/Poa/policySets.java, gnu/CORBA/Poa/gnuPoaCurrent.java, gnu/CORBA/Poa/LocalDelegate.java, gnu/CORBA/Poa/dynImpHandler.java, gnu/CORBA/Poa/LocalServerRequest.java, gnu/CORBA/Poa/LocalRequest.java, gnu/CORBA/Poa/ForwardedServant.java, gnu/CORBA/Poa/gnuIdAssignmentPolicy.java, gnu/CORBA/Poa/gnuRequestProcessingPolicy.java, gnu/CORBA/Poa/gnuThreadPolicy.java, gnu/CORBA/Poa/gnuLifespanPolicy.java, gnu/CORBA/Poa/gnuIdUniquenessPolicy.java, gnu/CORBA/Poa/gnuServantRetentionPolicy.java, gnu/CORBA/Poa/gnuImplicitActivationPolicy.java, gnu/CORBA/Poa/gnuForwardRequest.java, gnu/CORBA/ForwardRequestHelper.java, gnu/CORBA/Poa/vPolicy.java, gnu/CORBA/Poa/ForwardRequestHolder.java, org/omg/PortableServer/POA.java, org/omg/PortableServer/POAManagerOperations.java, org/omg/PortableServer/POAOperations.java, org/omg/PortableServer/Servant.java, org/omg/PortableServer/DynamicImplementation.java, org/omg/PortableServer/ServantActivator.java, org/omg/PortableServer/ServantActivatorOperations.java, org/omg/PortableServer/ServantLocator.java, org/omg/PortableServer/ServantLocatorOperations.java, org/omg/PortableServer/ServantManager.java, org/omg/PortableServer/Current.java, org/omg/PortableServer/CurrentHelper.java, org/omg/PortableServer/CurrentOperations.java, org/omg/PortableServer/_ServantLocatorStub.java, org/omg/PortableServer/portable/Delegate.java, org/omg/PortableServer/ServantActivatorHelper.java, org/omg/PortableServer/_ServantActivatorStub.java, org/omg/PortableServer/ServantLocatorHelper.java, org/omg/PortableServer/ServantActivatorPOA.java, org/omg/PortableServer/ServantLocatorPOA.java, org/omg/PortableServer/AdapterActivatorOperations.java, org/omg/PortableServer/AdapterActivator.java, org/omg/PortableServer/POAHelper.java, org/omg/PortableServer/ServantManagerOperations.java, org/omg/PortableServer/POAManager.java, org/omg/PortableServer/package.html: New files. * org/omg/CORBA/ORB.java: Documented POA features. gnu/CORBA/gnuRequest.java (_releaseReply, equals): Mind that the delegate can be null. * gnu/CORBA/IOR_Delegate.java, gnu/CORBA/Functional_ORB.java, org/omg/CORBA/portable/ObjectImpl.java, gnu/CORBA/Connected_objects.java: Rewritten. * gnu/CORBA/Simple_delegate.java (is_equivalent): This method is rewritten. * gnu/CORBA/ServiceRequestAdapter.java: Added return value support.
Diffstat (limited to 'gnu/CORBA/gnuRequest.java')
-rw-r--r--gnu/CORBA/gnuRequest.java39
1 files changed, 25 insertions, 14 deletions
diff --git a/gnu/CORBA/gnuRequest.java b/gnu/CORBA/gnuRequest.java
index a47410e0b..cbff17f69 100644
--- a/gnu/CORBA/gnuRequest.java
+++ b/gnu/CORBA/gnuRequest.java
@@ -40,7 +40,6 @@ package gnu.CORBA;
import gnu.CORBA.CDR.cdrBufInput;
import gnu.CORBA.CDR.cdrBufOutput;
-import gnu.CORBA.GIOP.CloseMessage;
import gnu.CORBA.GIOP.MessageHeader;
import gnu.CORBA.GIOP.ReplyHeader;
import gnu.CORBA.GIOP.RequestHeader;
@@ -52,6 +51,7 @@ import org.omg.CORBA.ARG_OUT;
import org.omg.CORBA.Any;
import org.omg.CORBA.BAD_INV_ORDER;
import org.omg.CORBA.Bounds;
+import org.omg.CORBA.CompletionStatus;
import org.omg.CORBA.Context;
import org.omg.CORBA.ContextList;
import org.omg.CORBA.Environment;
@@ -65,7 +65,6 @@ import org.omg.CORBA.Request;
import org.omg.CORBA.SystemException;
import org.omg.CORBA.TypeCode;
import org.omg.CORBA.UnknownUserException;
-import org.omg.CORBA.UserException;
import java.io.IOException;
import java.io.InputStream;
@@ -213,6 +212,11 @@ public class gnuRequest
}
/**
+ * Used when redirecting request to another target.
+ */
+ gnuRequest redirected;
+
+ /**
* Get the IOR data, sufficient to find the invocation target.
*
* @return the IOR data.
@@ -745,7 +749,8 @@ public class gnuRequest
{
MARSHAL m =
new MARSHAL("Unable to open a socket at " + ior.Internet.host + ":" +
- ior.Internet.port
+ ior.Internet.port, 10000 + ior.Internet.port,
+ CompletionStatus.COMPLETED_NO
);
m.initCause(io_ex);
throw m;
@@ -836,8 +841,6 @@ public class gnuRequest
// The stream must be aligned sinve v1.2, but only once.
boolean align = response.header.version.since_inclusive(1, 2);
- boolean moved_permanently = false;
-
switch (rh.reply_status)
{
case ReplyHeader.NO_EXCEPTION :
@@ -925,7 +928,9 @@ public class gnuRequest
}
catch (IOException ex)
{
- throw new MARSHAL(ex + " while reading the forwarding info");
+ new MARSHAL("Cant read forwarding info", 5103,
+ CompletionStatus.COMPLETED_NO
+ );
}
setIor(forwarded);
@@ -935,7 +940,9 @@ public class gnuRequest
return;
default :
- throw new MARSHAL("Unknow reply status: " + rh.reply_status);
+ throw new MARSHAL("Unknow reply status", 8100 + rh.reply_status,
+ CompletionStatus.COMPLETED_NO
+ );
}
}
@@ -947,10 +954,10 @@ public class gnuRequest
*
* @throws MARSHAL if the attempt to write the parameters has failde.
*/
- private void write_parameter_buffer(MessageHeader header,
- cdrBufOutput request_part
- )
- throws MARSHAL
+ protected void write_parameter_buffer(MessageHeader header,
+ cdrBufOutput request_part
+ )
+ throws MARSHAL
{
try
{
@@ -974,8 +981,10 @@ public class gnuRequest
*
* @throws MARSHAL if the attempt to write the parameters has failde.
*/
- private void write_parameters(MessageHeader header, cdrBufOutput request_part)
- throws MARSHAL
+ protected void write_parameters(MessageHeader header,
+ cdrBufOutput request_part
+ )
+ throws MARSHAL
{
// Align after 1.2, but only once.
boolean align = header.version.since_inclusive(1, 2);
@@ -1002,7 +1011,9 @@ public class gnuRequest
}
catch (Bounds ex)
{
- throw new MARSHAL("Unable to write method arguments to CDR output.");
+ InternalError ierr = new InternalError();
+ ierr.initCause(ex);
+ throw ierr;
}
}
} \ No newline at end of file