Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.

       * sources.am: Regenerated.
       * gcj/javaprims.h: Regenerated.
       * Makefile.in: Regenerated.
       * gcj/Makefile.in: Regenerated.
       * include/Makefile.in: Regenerated.
       * testsuite/Makefile.in: Regenerated.

       * gnu/java/lang/VMInstrumentationImpl.java: New override.
       * gnu/java/net/local/LocalSocketImpl.java: Likewise.
       * gnu/classpath/jdwp/VMMethod.java: Likewise.
       * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
       interface.
       * java/lang/Thread.java: Add UncaughtExceptionHandler.
       * java/lang/reflect/Method.java: Implements GenericDeclaration and
       isSynthetic(),
       * java/lang/reflect/Field.java: Likewise.
       * java/lang/reflect/Constructor.java
       * java/lang/Class.java: Implements Type, GenericDeclaration,
       getSimpleName() and getEnclosing*() methods.
       * java/lang/Class.h: Add new public methods.
       * java/lang/Math.java: Add signum(), ulp() and log10().
       * java/lang/natMath.cc (log10): New function.
       * java/security/VMSecureRandom.java: New override.
       * java/util/logging/Logger.java: Updated to latest classpath
       version.
       * java/util/logging/LogManager.java: New override.

From-SVN: r113887
This commit is contained in:
Mark Wielaard
2006-05-18 17:29:21 +00:00
parent eaec4980e1
commit 4f9533c772
1640 changed files with 126485 additions and 104808 deletions
@@ -79,6 +79,7 @@ public class EncapsulationStream
boolean use_big_endian)
{
super();
setBigEndian(use_big_endian);
buffer = new AligningOutput();
setOutputStream(buffer);
parent = _parent;
@@ -51,6 +51,7 @@ import org.omg.CORBA.MARSHAL;
import org.omg.CORBA.portable.IDLEntity;
import java.io.ByteArrayOutputStream;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -273,20 +274,36 @@ public class MessageHeader
* Read the header from the stream.
*
* @param istream a stream to read from.
*
* @throws MARSHAL if this is not a GIOP 1.0 header.
*/
public void read(java.io.InputStream istream)
throws MARSHAL
public void read(java.io.InputStream istream)
throws MARSHAL, EOFException
{
try
{
byte[] xMagic = new byte[MAGIC.length];
istream.read(xMagic);
if (!Arrays.equals(xMagic, MAGIC))
int r = istream.read(xMagic);
int minor;
if (! Arrays.equals(xMagic, MAGIC))
{
MARSHAL m = new MARSHAL("Not a GIOP message");
m.minor = Minor.Giop;
StringBuffer b = new StringBuffer();
if (r == - 1)
{
b.append("Immediate EOF");
minor = Minor.EOF;
}
else
{
minor = Minor.Giop;
b.append(r + " bytes: ");
for (int i = 0; i < xMagic.length; i++)
{
b.append(Integer.toHexString(xMagic[i] & 0xFF));
b.append(' ');
}
}
MARSHAL m = new MARSHAL("Not a GIOP message: " + b);
m.minor = minor;
throw m;
}
@@ -354,7 +371,7 @@ public class MessageHeader
}
catch (IOException ex)
{
MARSHAL t = new MARSHAL();
MARSHAL t = new MARSHAL(ex.getMessage());
t.minor = Minor.Header;
t.initCause(ex);
throw t;
+1 -14
View File
@@ -407,20 +407,7 @@ public class IorDelegate extends SimpleDelegate
*/
public void release(org.omg.CORBA.Object target)
{
String key = ior.Internet.host + ":" + ior.Internet.port;
Socket socket = SocketRepository.get_socket(key);
try
{
if (socket != null)
{
socket.close();
}
}
catch (IOException ex)
{
// do nothing, then.
}
// Do nothing here.
}
/**
@@ -1,5 +1,5 @@
/* NameParser.java --
Copyright (C) 2005 Free Software Foundation, Inc.
Copyright (C) 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -425,7 +425,8 @@ public class NameParser
else
{
Delegate delegate = ((ObjectImpl) object)._get_delegate();
ns = new _NamingContextStub(delegate);
ns = new _NamingContextStub();
((_NamingContextStub) ns)._set_delegate(delegate);
}
}
catch (Exception ex)
@@ -41,11 +41,13 @@ package gnu.CORBA;
import gnu.CORBA.CDR.BufferedCdrOutput;
import gnu.CORBA.typecodes.AliasTypeCode;
import gnu.CORBA.typecodes.ArrayTypeCode;
import gnu.CORBA.typecodes.PrimitiveTypeCode;
import gnu.CORBA.typecodes.RecordTypeCode;
import gnu.CORBA.typecodes.StringTypeCode;
import org.omg.CORBA.Any;
import org.omg.CORBA.BAD_PARAM;
import org.omg.CORBA.Context;
import org.omg.CORBA.ContextList;
import org.omg.CORBA.Environment;
import org.omg.CORBA.ExceptionList;
@@ -526,4 +528,57 @@ public class OrbRestricted extends org.omg.CORBA_2_3.ORB
super.destroy();
}
/**
* Create a typecode, representing a tree-like structure.
* This structure contains a member that is a sequence of the same type,
* as the structure itself. You can imagine as if the folder definition
* contains a variable-length array of the enclosed (nested) folder
* definitions. In this way, it is possible to have a tree like
* structure that can be transferred via CORBA CDR stream.
*
* @deprecated It is easier and clearler to use a combination of
* create_recursive_tc and create_sequence_tc instead.
*
* @param bound the maximal expected number of the nested components
* on each node; 0 if not limited.
*
* @param offset the position of the field in the returned structure
* that contains the sequence of the structures of the same field.
* The members before this field are intialised using parameterless
* StructMember constructor.
*
* @return a typecode, defining a stucture, where a member at the
* <code>offset</code> position defines an array of the identical
* structures.
*
* @see #create_recursive_tc(String)
* @see #create_sequence_tc(int, TypeCode)
*/
public TypeCode create_recursive_sequence_tc(int bound, int offset)
{
RecordTypeCode r = new RecordTypeCode(TCKind.tk_struct);
for (int i = 0; i < offset; i++)
r.add(new StructMember());
TypeCode recurs = new PrimitiveTypeCode(TCKind.tk_sequence);
r.add(new StructMember("", recurs, null));
return r;
}
/**
* Get the default context of this ORB. This is an initial root of all
* contexts.
*
* The default method returns a new context with the empty name and
* no parent context.
*
* @return the default context of this ORB.
*/
public Context get_default_context()
{
return new gnuContext("", null);
}
}
@@ -116,9 +116,6 @@ public class SocketRepository
*/
public static Socket get_socket(Object key)
{
if (true)
return null;
synchronized (sockets)
{
Socket s = (Socket) sockets.get(key);
+15 -10
View File
@@ -83,6 +83,7 @@ import org.omg.PortableInterceptor.ClientRequestInterceptorOperations;
import org.omg.PortableInterceptor.ForwardRequest;
import org.omg.PortableInterceptor.InvalidSlot;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -593,7 +594,7 @@ public class gnuRequest extends Request implements Cloneable
{
final gnuRequest cloned = Clone();
cloned.oneWay = true;
new Thread()
{
public void run()
@@ -717,12 +718,11 @@ public class gnuRequest extends Request implements Cloneable
* property ({@link #setIOR(IOR)} before calling this method.
*
* @throws BAD_INV_ORDER, minor code 0, if the IOR has not been previously set
* or if the direct argument addition is mixed with the direct argument
* writing into the output stream.
*
* or if the direct argument addition is mixed with the direct
* argument writing into the output stream.
* @return the server response in binary form.
*/
public synchronized RawReply submit()
public synchronized RawReply submit()
throws ForwardRequest
{
gnu.CORBA.GIOP.MessageHeader header = new gnu.CORBA.GIOP.MessageHeader();
@@ -788,20 +788,21 @@ public class gnuRequest extends Request implements Cloneable
if (socket == null)
{
// The BindException may be thrown under very heavy parallel
// The IOException may be thrown under very heavy parallel
// load. For some time, just wait, exceptiong the socket to free.
Open: for (int i = 0; i < PAUSE_STEPS; i++)
{
try
{
if (orb instanceof OrbFunctional)
socket = ((OrbFunctional) orb).socketFactory.createClientSocket(
ior.Internet.host, ior.Internet.port);
socket = ((OrbFunctional) orb).socketFactory.
createClientSocket(
ior.Internet.host, ior.Internet.port);
else
socket = new Socket(ior.Internet.host, ior.Internet.port);
break Open;
}
catch (BindException ex)
catch (IOException ex)
{
try
{
@@ -833,7 +834,7 @@ public class gnuRequest extends Request implements Cloneable
request_part.buffer.writeTo(socketOutput);
socketOutput.flush();
if (!socket.isClosed())
if (!socket.isClosed() && !oneWay)
{
MessageHeader response_header = new MessageHeader();
InputStream socketInput = socket.getInputStream();
@@ -937,6 +938,10 @@ public class gnuRequest extends Request implements Cloneable
throws SystemException, ForwardRequest
{
RawReply response = submit();
// If this is a one way message, do not care about the response.
if (oneWay && response == EMPTY)
return;
if (m_rph == null)
m_rph = response.header.create_reply_header();