summaryrefslogtreecommitdiff
path: root/org
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2005-06-05 19:36:35 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2005-06-05 19:36:35 +0000
commit9399c41550e32c6bd8ea2d299a09f7151f9dc7dd (patch)
treea9391598545827aa8cf4e6cda3846509b6e373e0 /org
parent9504f4c9901366e510c2d1824a8bf6cfea4e2cc5 (diff)
downloadclasspath-9399c41550e32c6bd8ea2d299a09f7151f9dc7dd.tar.gz
2005-06-05 Andrew John Hughes <gnu_andrew@member.fsf.org>
* Merge from HEAD-->generics-branch for 2005/05/26 - 2005/06/05. Changelog: 2005-06-04 Tom Tromey <tromey@redhat.com> * javax/swing/plaf/basic/BasicListUI.java (focusListener): Use correct type. (listDataListener, listSelectionListener, mouseInputListener, propertyChangeListener): Likewise. * javax/swing/plaf/basic/BasicMenuUI.java (ChangeHandler): Now public and deprecated. * javax/swing/plaf/basic/BasicTabbedPaneUI.java (TabbedPaneLayout): Now public. * javax/swing/plaf/basic/BasicOptionPaneUI.java (ButtonActionListener): Now public. (PropertyChangeHandler): Likewise. (ButtonAreaLayout): Likewise. * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java (TitlePaneLayout): Now public. (PropertyChangeHandler): Likewise. * javax/swing/plaf/basic/BasicCheckBoxUI.java (getPropertyPrefix): New method. * javax/swing/plaf/basic/BasicProgressBarUI.java (ChangeHandler): Now public. * javax/swing/plaf/basic/BasicSliderUI.java (ComponentHandler): Now public. * javax/swing/plaf/basic/BasicSplitPaneUI.java (BasicVerticalLayoutManager): Now public. (FocusHandler): Likewise. (BasicHorizontalLayoutManager): Likewise. * javax/swing/plaf/basic/BasicFileChooserUI.java (AcceptAllFileFilter): New public constructor. (BasicFileView): Likewise. * javax/swing/plaf/basic/BasicInternalFrameUI.java (BorderListener.RESIZE_NONE): Now final. 2005-06-04 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CORBA/DefinitionKindHelper.java, org/omg/CORBA/FieldNameHelper.java, org/omg/CORBA/IdentifierHelper.java, org/omg/CORBA/ParameterMode.java, org/omg/CORBA/ParameterModeHelper.java, org/omg/CORBA/ParameterModeHolder.java, org/omg/CORBA/RepositoryIdHelper.java, org/omg/CORBA/SetOverrideTypeHelper.java, org/omg/CORBA/VersionSpecHelper.java, gnu/CORBA/SetOverrideTypeHolder.java, gnu/CORBA/DefinitionKindHolder.java: New files. 2005-06-04 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/stub/java/rmi/_Remote_Stub.java, org/omg/stub/java/rmi/package.html: New package. 2005-06-04 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/Messaging/SyncScopeHelper.java org/omg/Messaging/SYNC_WITH_TRANSPORT.java org/omg/Messaging/package.html: New package. 2005-06-04 Michael Koch <konqueror@gmx.de> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c (Java_gnu_java_awt_peer_gtk_GtkImage_loadPixbuf): Fixed method declaration format. (Java_gnu_java_awt_peer_gtk_GtkImage_drawPixelsScaled): Likewise. 2005-06-03 Audrius Meskauskas <AudriusA@Bioinformatics.org> * AUTHORS (Roman Kennke): New author. 2005-06-03 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CORBA/portable/BoxedValueHelper.java, org/omg/CORBA_2_3/portable/OutputStream.java, org/omg/CORBA_2_3/portable/Delegate.java, org/omg/CORBA_2_3/portable/ObjectImpl.java, org/omg/CORBA_2_3/portable/package.html: New files. 2005-06-03 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CosNaming/NamingContextPackage/AlreadyBound.java, org/omg/CosNaming/NamingContextPackage/CannotProceed.java, org/omg/CosNaming/NamingContextPackage/InvalidName.java, org/omg/CosNaming/NamingContextPackage/NotEmpty.java, org/omg/CosNaming/NamingContextPackage/NotFound.java, org/omg/CosNaming/NamingContextPackage/NotFoundReason.java: Added SerialVersionUID. 2005-06-03 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/GIOP/uncObjectInputStream.java, gnu/CORBA/GIOP/uncObjectInputStream/uncObjectOutputStream.java: Deleting files. * gnu/CORBA/CDR/uncObjectInputStream.java, gnu/CORBA/CDR/uncObjectInputStream/uncObjectOutputStream.java: Adding files. 2005-06-03 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/Functional_ORB.java, gnu/CORBA/IOR_Delegate.java, gnu/CORBA/Simple_delegate.java, gnu/CORBA/universalHolder.java, gnu/CORBA/CDR/aligningInputStream.java, gnu/CORBA/CDR/aligningOutputStream.java, gnu/CORBA/CDR/cdrInput.java, gnu/CORBA/CDR/cdrOutput.java, gnu/CORBA/CDR/encapsulatedOutput.java, gnu/CORBA/GIOP/ErrorMessage.java, gnu/CORBA/GIOP/MessageHeader.java, gnu/CORBA/GIOP/cxCodeSet.java, gnu/CORBA/GIOP/v1_2/RequestHeader.java, org/omg/CosNaming/BindingIteratorHelper.java, org/omg/CosNaming/BindingListHelper.java, org/omg/CosNaming/BindingTypeHelper.java, org/omg/CosNaming/NameComponentHelper.java, org/omg/CosNaming/NameHelper.java, org/omg/CosNaming/NamingContextExtHelper.java, org/omg/CosNaming/NamingContextHelper.java: Initialise instances of org.omg.SystemException, thrown after catching the other exception, with InitCause. 2005-06-03 Roman Kennke <roman@kennke.org> * javax/swing/plaf/basic/BasicListUI.java (damageLayout): Check for list beeing null before revalidating it. 2005-06-03 Roman Kennke <roman@kennke.org> * javax/swing/text/PlainDocument.java (removeUpdate): Fixed indices in text buffer access. * javax/swing/text/PlainView.java (drawLine): Simplified element access. 2005-06-03 Roman Kennke <roman@kennke.org> * javax/swing/JTextArea.java (constructor): Set preferredSize to a sane default. 2005-06-03 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/GIOP/uncObjectInputStream.java, gnu/CORBA/GIOP/uncObjectInputStream/uncObjectOutputStream.java: New streams. * org/omg/CORBA/ValueBaseHelper.java: Removing inner classes, using uncObjectInputStream, uncObjectOutputStream instead. * org/omg/CORBA_2_3/portable (read_value): Delegate call to ValueBaseHelper. 2005-06-03 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CORBA/SendingContext/Runtime.java, org/omg/CORBA/SendingContext/RunTimeOperations.java: Fixing the package statement. 2005-06-03 Roman Kennke <roman@kennke.org> * javax/swing/SwingUtilites.java (replaceUIActionMap): Fixed loop again. Now correctly, I hope. * javax/swing/ActionMap.java (setParent): Make sure we don't build a loop. * javax/swing/plaf/basic/BasicTextUI.java (createActionMap): Create ActionMapUIResource instead of plain ActionMap. 2005-06-03 Sven de Marothy <sven@physto.se> * gnu/java/awt/peer/gtk/GdkGraphics.java: Removed declarations for the previously removed native methods. 2005-06-03 Roman Kennke <roman@kennke.org> * javax/swing/SwingUtilites.java (replaceUIActionMap): Fixed condition in while loop that caused infinite looping. 2005-06-03 Roman Kennke <roman@kennke.org> * javax/swing/plaf/basic/BasicTableUI.java (uninstallDefault): Don't set properties to null, this corrupts component state. 2005-06-02 Andrew John Hughes <gnu_andrew@member.fsf.org> * lib/Makefile.am: Fix permissions problem with creation of META-INF tree. 2005-06-02 Sven de Marothy <sven@physto.se> * java/awt/Component.java (setBackgroundColor): Return if the color equals the existing bgcolor. 2005-06-02 Sven de Marothy <sven@physto.se> * gnu/java/awt/peer/gtk/GdkGraphics2D.java: (drawImage): Remove reference to GtkOffScreenImage. * gnu/java/awt/peer/gtk/GtkImageConsumer.java: Add additional comments. 2005-06-02 Sven de Marothy <sven@physto.se> * gnu/java/awt/peer/gtk/GdkGraphics.java: (GdkGraphics): New constructor. (drawImage): Reimplemented. * gnu/java/awt/peer/gtk/GtkComponentPeer.java: (checkImage,createImage): Reimplemented. (prepareImage): Just call the GdkToolkit method. * gnu/java/awt/peer/gtk/GtkFramePeer.java: (setIconImage): Reimplemented. * gnu/java/awt/peer/gtk/GtkImage.java: Reimplemented. * gnu/java/awt/peer/gtk/GtkToolkit.java: (checkImage): Change handling of GtkImage. (createImage): Reimplemented for GtkImage. (getColorModel): Return the actual native color model. (prepareImage): Reimplemented. * include/Makefile.am, * native/jni/gtk-peer/Makefile.am: Removed old files, added new ones. * include/gnu_java_awt_peer_gtk_GdkGraphics.h, * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: (initFromImage): New method. (copyPixmap, flip_pixbuf, copyAndScalePixmap): Removed. * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c: (nativeSetIconImage): New method. (nativeSetIconImageFromData,nativeSetIconImageFromDecoder): Removed. * gnu/java/awt/peer/gtk/GtkImageConsumer.java, * include/gnu_java_awt_peer_gtk_GtkImage.h, * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: New files. * gnu/java/awt/peer/gtk/GtkImagePainter.java, * gnu/java/awt/peer/gtk/GtkOffScreenImage.java, * include/gnu_java_awt_peer_gtk_GtkImagePainter.h, * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c: Removed files. 2005-06-01 Tom Tromey <tromey@redhat.com> * java/io/ObjectInputStream.java (currentLoader): Fixed typo. 2005-06-01 Tom Tromey <tromey@redhat.com> * org/omg/CosNaming/IstringHelper.java: Changed non-ascii characters. 2005-06-01 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/SendingContext/package.html, org/omg/SendingContext/RunTimeOperations.java, org/omg/SendingContext/Runtime.java: New package. 2005-06-01 Roman Kennke <roman@kennke.org> * javax/swing/text/DefaultStyledDocument.java (setLogicalStyle): Implemented this method. 2005-06-01 Sven de Marothy <sven@physto.se> * java/util/GregorianCalendar.java (setTimeInMillis): Recompute time fields. 2005-06-01 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CosNaming/BindingType.java, org/omg/CosNaming/NameComponent.java, org/omg/CosNaming/_BindingIteratorStub.java, org/omg/CosNaming/_NamingContextStub.java, org/omg/CosNaming/_NamingContextExtStub.java, org/omg/CosNaming/_BindingIteratorImplBase.java, org/omg/CosNaming/_NamingContextImplBase.java: Added SerialVersionUID. 2005-06-01 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CosNaming/IstringHelper.java: New class. 2005-06-01 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/CDR/cdrInput.java (read_wstring): Correcting check for native encoding. 2005-06-01 Roman Kennke <roman@kennke.org> * javax/swing/plaf/basic/BasicFileChooserUI.java (installComponents): Changed layout of main panel from GridBagLayout to BorderLayout (as is the case in Suns JDK). This fixes bug#13244. 2005-06-01 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/Functional_ORB.java (serveStep), gnu/CORBA/gnuRequest.java (submit), gnu/CORBA/CDR/cdrInput.java (read_encapsulation): Correcting data read loop. 2005-06-01 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/Functional_ORG.java (getFreePort): Remember the port number in the local variable. 2005-06-01 Audrius Meskauskas <AudriusA@Bioinformatics.org> * examples/gnu/classpath/examples/CORBA/SimpleCommunication/ communication/ourUserExceptionHelper.java (extract): New method. * examples/gnu/classpath/examples/CORBA/SimpleCommunication/ communication/RequestTest.java:Use helper extract method. 2005-06-01 Roman Kennke <roman@kennke.org> * javax/swing/JPopupMenu.java (insert): Do not check for index == -1 at this point, this is done in java.awt.Container. Catching -1 indices here disturbes the Container.addImpl which leads to bug #13247 for example. 2005-06-01 Roman Kennke <roman@kennke.org> * javax/swing/text/PlainDocument.java (removeUpdate): Fixed indices in call to rootElement.replace(). 2005-06-01 Roman Kennke <roman@kennke.org> * javax/swing/JComponent.java (processKeyEvent): Call super.processKeyEvent() so that KeyEvents are delivered to registered KeyListeners. 2005-05-31 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CORBA_2_3/ORB.java, org/omg/CORBA_2_3/portable/InputStream.java, org/omg/CORBA/portable/ValueFactory.java: New classes. 2005-05-31 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg.CORBA/DynValue.java (declaration): Inherit from DynAny, org.omg.CORBA.Object. (set_members): Declare it may throw InvalidSeq. 2005-06-01 Sven de Marothy <sven@physto.se> * java/util/TimeZone (getDefaultTimeZone): Reimplemented. (parseTime, getDateParams): New private methods. 2005-06-01 David Gilbert <david.gilbert@object-refinery.com> * gnu/java/awt/GradientPaintContext.java: New file. * java/awt/GradientPaint.java: Implemented. * java/awt/image/IndexColorModel.java: Reimplemented. 2005-05-31 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/CDR/BigEndianInputStream.java, gnu/CORBA/CDR/BigEndianOutputStream.java, gnu/CORBA/CDR/LittleEndianInputStream.java, gnu/CORBA/CDR/LittleEndianOutputStream.java: New streams. gnu/CORBA/CDR/abstractDataInputStream.java, gnu/CORBA/CDR/abstractDataOutputStream.java: New interfaces. * gnu/CORBA/IOR.java: Implemented parsing of the Little Endian encoded IOR references. * gnu/CORBA/Functional_ORB.java, gnu/CORBA/binaryReply.java, gnu/CORBA/gnuRequest.java, gnu/CORBA/CDR/cdrInput.java, gnu/CORBA/CDR/cdrOutput.java, gnu/CORBA/CDR/encapsulatedOutput.java, gnu/CORBA/GIOP/MessageHeader.java: Implemented support for Big and Little Endian. * org/omg/CORBA/package.html: Documentation update. 2005-05-31 Jeroen Frijters <jeroen@frijters.net> * java/net/ServerSocket.java (bound): Removed. (local): New field. (bind): Cache local socket address. (getInetAddress, getLocalPort, getLocalSocketAddress, isBound): Use cached local socket address. (close): bound field was removed. 2005-05-31 Jeroen Frijters <jeroen@frijters.net> * gnu/java/nio/channels/FileChannelImpl.java (FileChannelImpl()): Removed. (FileChannelImpl(File,int)): Made private. (create): New method. * java/io/FileInputStream.java, java/io/FileOutputStream.java, java/io/RandomAccessFile.java: Updated construction of FileChannelImpl instance. 2005-05-31 Sven de Marothy <sven@physto.se> * java/awt/image/BufferedImage.java: (ImageProducer): Use Vector instead of HashMap. * java/awt/image/DirectColorModel.java: (getAlpha): Default to 255 (opaque). 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/JTree.java (getNextMatch): Implemented new method. 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/plaf/metal/MetalSplitPaneUI.java: (createUI): Do not share one instance of MetalSplitPaneUI between multiple JSplitPanes. 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/JComponent.java: Made JComponent.AccessibleJComponent implement AccessibleExtendedComponent. 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/JButton.java (constructor): Set initial actionCommand equal to the buttons label. 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/JList.java (getNextMatch): Implemented new method. (getCellBounds): Implemented new method. 2005-05-30 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/Functional_ORB.java (serve, portServer, serveStep): Implemented support for the subsequent invocations reusing the same socket. * gnu/CORBA/GIOP/MessageHeader.java (read): throw NO_IMPLEMENT, not MARSHAL for Little Endian request. 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/JLayeredPane.java (putLayer): Implemented new method. 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/JFileChooser.java: Fixed values of some constant fields. 2005-05-30 Roman Kennke <roman@kennke.org> * javax/swing/SwingUtilities.java: (getWindowAncestor): This method has to be static instead of non-static. 2005-05-29 Michael Koch <konqueror@gmx.de> * java/util/LinkedHashMap.java (access): Set 'root.pred'. 2005-05-29 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CosNaming/_BindingIteratorImplBase.java , org/omg/CosNaming/_NamingContextExtImplBase.java, org/omg/CosNaming/_NamingContextImplBase.java: Inherit from DynamicImplementation. * gnu/CORBA/ServiceRequestAdapter.java: New class. * gnu/CORBA/gnuNVList.java (add, add_item): Replacing null by constructed instance. 2005-05-29 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CORBA/Functional_ORB.java (serve, useProperties, init): Implementing the property-configurable time-outs. 2005-05-29 Audrius Meskauskas <AudriusA@Bioinformatics.org> * gnu/CORBA/gnuRequest.java (p_invoke): Wrap the received UserException into UnknownUserException. * gnu/CORBA/streamReadyHolder.java: New wrapper for UserException. * org/omg/CORBA/UnknownUserException.java: New exception. 2005-05-27 Roman Kennke <roman@kennke.org> * javax/swing/AbstractButton.java: Bumped up serialVersionUID(s) to JDK1.4 compatibility. * javax/swing/ImageIcon.java: Likewise. * javax/swing/JFileChooser.java: Likewise. * javax/swing/JInternalFrame.java: Likewise. * javax/swing/JMenu.java: Likewise. * javax/swing/JRadioButton.java: Likewise. * javax/swing/JScrollPane.java: Likewise. * javax/swing/JSpinner.java: Likewise. * javax/swing/JTabbedPane.java: Likewise. * javax/swing/ImageIcons.java: Likewise. * javax/swing/JToggleButton.java: Likewise. * javax/swing/JToolTip.java: Likewise. * javax/swing/JViewPort.java: Likewise. * javax/swing/LayoutFocusTraversalPolicy.java: Likewise. * javax/swing/SpinnerDateModel.java: Likewise. * javax/swing/TransferHandler.java: Likewise. 2005-05-27 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/awt/peer/gtk/GtkContainerPeer.java (setFont): Handle lightweight peers specially. 2005-05-27 Audrius Meskauskas <AudriusA@Bioinformatics.org> * omg/org/CORBA/ORB.java (create_recursive_sequence_tc): New method. 2005-05-27 Audrius Meskauskas <AudriusA@Bioinformatics.org> * omg/org/CORBA/DynValue.java: New interface. 2005-05-27 Audrius Meskauskas <AudriusA@Bioinformatics.org> * omg/org/CORBA/package.html: Documentation update. 2005-05-26 Audrius Meskauskas <AudriusA@Bioinformatics.org> * org/omg/CORBA/ORB.java (create_basic_dyn_any): Declare it may throw an InconsistentTypeCode. (create_dyn_any): Remove wrong exception declaration. (create_operation_list, create_abstract_interface_tc, create_native_tc, get_service_information): Implementing these methods. * org/omg/CORBA/ServerRequest.java (result, except, params, op_name): Marking deprecated.
Diffstat (limited to 'org')
-rw-r--r--org/omg/CORBA/DefinitionKindHelper.java137
-rw-r--r--org/omg/CORBA/DynValue.java88
-rw-r--r--org/omg/CORBA/FieldNameHelper.java116
-rw-r--r--org/omg/CORBA/IdentifierHelper.java116
-rw-r--r--org/omg/CORBA/ORB.java119
-rw-r--r--org/omg/CORBA/ParameterMode.java170
-rw-r--r--org/omg/CORBA/ParameterModeHelper.java125
-rw-r--r--org/omg/CORBA/ParameterModeHolder.java86
-rw-r--r--org/omg/CORBA/RepositoryIdHelper.java116
-rw-r--r--org/omg/CORBA/SendingContext/RunTimeOperations.java57
-rw-r--r--org/omg/CORBA/SendingContext/Runtime.java60
-rw-r--r--org/omg/CORBA/ServerRequest.java16
-rw-r--r--org/omg/CORBA/SetOverrideTypeHelper.java128
-rw-r--r--org/omg/CORBA/UnknownUserException.java87
-rw-r--r--org/omg/CORBA/ValueBaseHelper.java20
-rw-r--r--org/omg/CORBA/VersionSpecHelper.java116
-rw-r--r--org/omg/CORBA/package.html43
-rw-r--r--org/omg/CORBA/portable/BoxedValueHelper.java76
-rw-r--r--org/omg/CORBA/portable/ValueFactory.java62
-rw-r--r--org/omg/CORBA_2_3/ORB.java130
-rw-r--r--org/omg/CORBA_2_3/portable/Delegate.java67
-rw-r--r--org/omg/CORBA_2_3/portable/InputStream.java189
-rw-r--r--org/omg/CORBA_2_3/portable/ObjectImpl.java82
-rw-r--r--org/omg/CORBA_2_3/portable/OutputStream.java145
-rw-r--r--org/omg/CORBA_2_3/portable/package.html46
-rw-r--r--org/omg/CosNaming/BindingIteratorHelper.java4
-rw-r--r--org/omg/CosNaming/BindingListHelper.java4
-rw-r--r--org/omg/CosNaming/BindingType.java7
-rw-r--r--org/omg/CosNaming/BindingTypeHelper.java4
-rw-r--r--org/omg/CosNaming/IstringHelper.java120
-rw-r--r--org/omg/CosNaming/NameComponent.java7
-rw-r--r--org/omg/CosNaming/NameComponentHelper.java4
-rw-r--r--org/omg/CosNaming/NameHelper.java4
-rw-r--r--org/omg/CosNaming/NamingContextExtHelper.java4
-rw-r--r--org/omg/CosNaming/NamingContextHelper.java4
-rw-r--r--org/omg/CosNaming/NamingContextPackage/AlreadyBound.java7
-rw-r--r--org/omg/CosNaming/NamingContextPackage/CannotProceed.java7
-rw-r--r--org/omg/CosNaming/NamingContextPackage/InvalidName.java7
-rw-r--r--org/omg/CosNaming/NamingContextPackage/NotEmpty.java6
-rw-r--r--org/omg/CosNaming/NamingContextPackage/NotFound.java7
-rw-r--r--org/omg/CosNaming/NamingContextPackage/NotFoundReason.java7
-rw-r--r--org/omg/CosNaming/_BindingIteratorImplBase.java29
-rw-r--r--org/omg/CosNaming/_BindingIteratorStub.java7
-rw-r--r--org/omg/CosNaming/_NamingContextExtImplBase.java48
-rw-r--r--org/omg/CosNaming/_NamingContextExtStub.java7
-rw-r--r--org/omg/CosNaming/_NamingContextImplBase.java54
-rw-r--r--org/omg/CosNaming/_NamingContextStub.java19
-rw-r--r--org/omg/Messaging/SYNC_WITH_TRANSPORT.java74
-rw-r--r--org/omg/Messaging/SyncScopeHelper.java121
-rw-r--r--org/omg/Messaging/package.html64
-rw-r--r--org/omg/stub/java/rmi/_Remote_Stub.java65
-rw-r--r--org/omg/stub/java/rmi/package.html48
52 files changed, 3068 insertions, 68 deletions
diff --git a/org/omg/CORBA/DefinitionKindHelper.java b/org/omg/CORBA/DefinitionKindHelper.java
new file mode 100644
index 000000000..6851402dc
--- /dev/null
+++ b/org/omg/CORBA/DefinitionKindHelper.java
@@ -0,0 +1,137 @@
+/* DefinitionKindHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.DefinitionKindHolder;
+import gnu.CORBA.Restricted_ORB;
+import gnu.CORBA.gnuAny;
+import gnu.CORBA.primitiveTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the definition kind.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class DefinitionKindHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ /**
+ * Insert the definition kind into the given Any.
+ */
+ public static void insert(Any a, DefinitionKind that)
+ {
+ a.insert_Streamable(new DefinitionKindHolder(that));
+ }
+
+ /**
+ * Extract the definition kind from the given Any.
+ */
+ public static DefinitionKind extract(Any a)
+ {
+ return ((DefinitionKindHolder) a.extract_Streamable()).value;
+ }
+
+ /**
+ * Get the definition kind typecode (enumeration, named "DefinitionKind").
+ * The member names are listed as defined by java 1.4 specification.
+ * The names, defined in OMG specification only (like dk_Home or
+ * dk_Event) are not listed.
+ */
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ String[] members =
+ new String[]
+ {
+ "dk_none", "dk_all", "dk_Attribute", "dk_Constant", "dk_Exception",
+ "dk_Interface", "dk_Module", "dk_Operation", "dk_Typedef",
+ "dk_Alias", "dk_Struct", "dk_Union", "dk_Enum", "dk_Primitive",
+ "dk_String", "dk_Sequence", "dk_Array", "dk_Repository",
+ "dk_Wstring", "dk_Fixed", "dk_Value", "dk_ValueBox",
+ "dk_ValueMember", "dk_Native"
+ };
+
+ typeCode =
+ Restricted_ORB.Singleton.create_enum_tc(id(), "DefinitionKind",
+ members
+ );
+ }
+ return typeCode;
+ }
+
+ /**
+ * Get the definition kind repository id.
+ *
+ * @return "IDL:omg.org/CORBA/DefinitionKind:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/DefinitionKind:1.0";
+ }
+
+ /**
+ * Read the definitin kind (as int) from the CDR intput stream.
+ *
+ * @param istream a stream to read from.
+ */
+ public static DefinitionKind read(InputStream istream)
+ {
+ return DefinitionKind.from_int(istream.read_long());
+ }
+
+ /**
+ * Write the definition kind (as int) to the CDR output stream.
+ *
+ * @param ostream a stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream ostream, DefinitionKind value)
+ {
+ ostream.write_long(value.value());
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/DynValue.java b/org/omg/CORBA/DynValue.java
new file mode 100644
index 000000000..5ef65659a
--- /dev/null
+++ b/org/omg/CORBA/DynValue.java
@@ -0,0 +1,88 @@
+/* DynValue.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+/**
+ * Represents the {@link DynAny}, holding a value type.
+ *
+ * A value type is something between CORBA structure and CORBA object.
+ * Like CORBA object, it can have methods, supporting some IDL-defined
+ * interface. However, like structures, they are always local and passed by
+ * value, not by IOR reference.
+ *
+ * The value types can have both public and private members. They support
+ * inheritance. Value types can also be abstract.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public interface DynValue
+ extends DynAny, org.omg.CORBA.Object
+{
+ /**
+ * Get the kind of the member, pointed by the internal pointer.
+ *
+ * @return the kind of the member.
+ */
+ TCKind current_member_kind();
+
+ /**
+ * Get the name of the member, pointed by the internal pointer.
+ *
+ * @return the name of the member.
+ */
+ String current_member_name();
+
+ /**
+ * Get all members of the enclosed value type object.
+ * @return
+ */
+ NameValuePair[] get_members();
+
+ /**
+ * Set all members for the enclosed value type object.
+ *
+ * @param value an array of members to set.
+ *
+ * @throws InvalidSeq if the passed sequence is not valid.
+ */
+ void set_members(NameValuePair[] value)
+ throws InvalidSeq;
+} \ No newline at end of file
diff --git a/org/omg/CORBA/FieldNameHelper.java b/org/omg/CORBA/FieldNameHelper.java
new file mode 100644
index 000000000..4be2e737f
--- /dev/null
+++ b/org/omg/CORBA/FieldNameHelper.java
@@ -0,0 +1,116 @@
+/* FieldNameHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Restricted_ORB;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA FieldName that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class FieldNameHelper
+{
+ /**
+ * Insert the FieldName into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the FieldName from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an string alias typecode, named "FieldName".
+ */
+ public static TypeCode type()
+ {
+ ORB orb = Restricted_ORB.Singleton;
+ return orb.create_alias_tc(id(), "FieldName", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the FieldName repository id.
+ * @return "IDL:omg.org/CORBA/FieldName:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/FieldName:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param istream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (FieldName) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/IdentifierHelper.java b/org/omg/CORBA/IdentifierHelper.java
new file mode 100644
index 000000000..8cd612fcf
--- /dev/null
+++ b/org/omg/CORBA/IdentifierHelper.java
@@ -0,0 +1,116 @@
+/* IdentifierHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Restricted_ORB;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA Identifier that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class IdentifierHelper
+{
+ /**
+ * Insert the Identifier into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the Identifier from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an string alias typecode, named "Identifier".
+ */
+ public static TypeCode type()
+ {
+ ORB orb = Restricted_ORB.Singleton;
+ return orb.create_alias_tc(id(), "Identifier", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the Identifier repository id.
+ * @return "IDL:omg.org/CORBA/Identifier:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/Identifier:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param istream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (Identifier) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/ORB.java b/org/omg/CORBA/ORB.java
index 2a46ddb69..8625cf8e9 100644
--- a/org/omg/CORBA/ORB.java
+++ b/org/omg/CORBA/ORB.java
@@ -39,6 +39,7 @@ exception statement from your version. */
package org.omg.CORBA;
import gnu.CORBA.Restricted_ORB;
+import gnu.CORBA.primitiveTypeCode;
import gnu.CORBA.fixedTypeCode;
import gnu.CORBA.generalTypeCode;
import gnu.CORBA.gnuContext;
@@ -152,6 +153,43 @@ public abstract class ORB
throw new NO_IMPLEMENT();
}
+ /**
+ * 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;
+ }
/**
* Create alias typecode for the given typecode.
@@ -194,6 +232,7 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynAny create_basic_dyn_any(org.omg.CORBA.TypeCode t)
+ throws InconsistentTypeCode
{
throw new NO_IMPLEMENT();
};
@@ -209,7 +248,6 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynAny create_dyn_any(org.omg.CORBA.Any a)
- throws InconsistentTypeCode
{
throw new NO_IMPLEMENT();
};
@@ -444,6 +482,25 @@ public abstract class ORB
public abstract org.omg.CORBA.portable.OutputStream create_output_stream();
/**
+ * This should create the list, initialised with the argument descriptions
+ * for the given operation definition (CORBA <code>OperationDef</code>).
+ * The information should be obtained from the interface repository.
+ * However this method is oficially documented as not implemented at least
+ * till v1.4 inclusive.
+ *
+ * @param peration_definition the operation definition, must be
+ * CORBA <code>OperationDef</code>.
+ *
+ * @return never
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public NVList create_operation_list(Object operation_definition)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
* This should create the new policy with the specified type and initial
* state. The policies and methods for getting them are not implemented till
* v1.4 inclusive.
@@ -461,6 +518,8 @@ public abstract class ORB
throw new NO_IMPLEMENT();
}
+
+
/**
* Create typecode, defining the sequence of the elements, having
* the given type.
@@ -523,6 +582,41 @@ public abstract class ORB
*/
public abstract TypeCode create_wstring_tc(int bound);
+
+ /**
+ * Create a typecode for an abstract interface. The abstract interface
+ * can be either CORBA object or CORBA value type.
+ *
+ * @param id the id of the abstract interface.
+ * @param name the name of the abstract interface.
+ *
+ * @return the created typecode.
+ */
+ public TypeCode create_abstract_interface_tc(String id, String name)
+ {
+ generalTypeCode t = new generalTypeCode(TCKind.tk_abstract_interface);
+ t.setName(name);
+ t.setId(id);
+ return t;
+ }
+
+ /**
+ * Create a typecode for a native interface.
+ *
+ * @param id the id of the native interface.
+ * @param name the name of the native interface.
+ *
+ * @return the created typecode.
+ */
+ public TypeCode create_native_tc(String id, String name)
+ {
+ generalTypeCode t = new generalTypeCode(TCKind.tk_native);
+ t.setName(name);
+ t.setId(id);
+ return t;
+ }
+
+
/**
* Create a typecode which serves as a placeholder for typcode, containing
* recursion.
@@ -588,6 +682,29 @@ public abstract class ORB
}
/**
+ * This should return the information about the CORBA facilities and
+ * services, available from this ORB. However this method is oficially
+ * documented as not implemented at least till v1.4 inclusive.
+ *
+ * @param service_type a type of the service being requested. The OMG
+ * specification currently defines only one value, 1, for security
+ * related services.
+ *
+ * @param service_info a holder, where the returned information should
+ * be stored.
+ *
+ * @return should return true if the service information is available
+ * from the ORB, but this method never returns.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public boolean get_service_information(short service_type,
+ ServiceInformationHolder service_info)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
* Get the default context of this ORB. This is an initial root of all
* contexts.
*
diff --git a/org/omg/CORBA/ParameterMode.java b/org/omg/CORBA/ParameterMode.java
new file mode 100644
index 000000000..592369895
--- /dev/null
+++ b/org/omg/CORBA/ParameterMode.java
@@ -0,0 +1,170 @@
+/* ParameterMode.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+/* ParameterMode.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Defines the parameter modes (the ways in that a method parameter
+ * is used during invocation).
+ *
+ * In CORBA, a method parameter can pass the value (PARAM_IN),
+ * be used as a placeholder to return the value (PARAM_OUT) or
+ * both pass the data and be used as a placeholder to return the
+ * changed value (PARAM_INOUT).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public class ParameterMode
+{
+ /**
+ * This value means that the parameter is an IN parameter.
+ */
+ public static int _PARAM_IN = 0;
+
+ /**
+ * This value means that the parameter is an OUT parameter.
+ */
+ public static int _PARAM_OUT = 1;
+
+ /**
+ * This value means that the parameter is an INOUT parameter.
+ */
+ public static int _PARAM_INOUT = 2;
+
+ /**
+ * This value means that the parameter is an IN parameter.
+ */
+ public static ParameterMode PARAM_IN = new ParameterMode(_PARAM_IN);
+
+ /**
+ * This value means that the parameter is an OUT parameter.
+ */
+ public static ParameterMode PARAM_OUT = new ParameterMode(_PARAM_OUT);
+
+ /**
+ * This value means that the parameter is an INOUT parameter.
+ */
+ public static ParameterMode PARAM_INOUT = new ParameterMode(_PARAM_INOUT);
+
+ /**
+ * The value of this parameter mode instance.
+ */
+ private final int value;
+
+ /**
+ * The conversion table.
+ */
+ private static final ParameterMode[] table =
+ new ParameterMode[] { PARAM_IN, PARAM_OUT, PARAM_INOUT };
+
+ /**
+ * Create an instance of the parameter mode with the given value.
+ */
+ protected ParameterMode(int a_value)
+ {
+ value = a_value;
+ }
+
+ /**
+ * Return the integer value code for the given parameter mode.
+ *
+ * @return 0 for PARAM_IN, 1 for PARAM_OUT, 3 for PARAM_INOUT.
+ */
+ public int value()
+ {
+ return value;
+ }
+
+ /**
+ * Get a parameter mode instance for the integer parameter mode code.
+ *
+ * @param p_mode a parameter mode (0..2).
+ *
+ * @return a corresponding parameter mode instance.
+ *
+ * @throws BAD_PARAM for the invalid parameter mode code.
+ */
+ public static ParameterMode from_int(int p_mode)
+ {
+ try
+ {
+ return table [ p_mode ];
+ }
+ catch (ArrayIndexOutOfBoundsException ex)
+ {
+ throw new BAD_PARAM("Invalid parameter mode: " + p_mode);
+ }
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/ParameterModeHelper.java b/org/omg/CORBA/ParameterModeHelper.java
new file mode 100644
index 000000000..067607c83
--- /dev/null
+++ b/org/omg/CORBA/ParameterModeHelper.java
@@ -0,0 +1,125 @@
+/* ParameterModeHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Restricted_ORB;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for a method parameter modes.
+ * A method parameter can pass the value (PARAM_IN), be used as a placeholder
+ * to return the value (PARAM_OUT) or both pass the data and be used as a
+ * placeholder to return the changed value (PARAM_INOUT).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class ParameterModeHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ /**
+ * Insert the parameter mode into the given Any.
+ */
+ public static void insert(Any any, ParameterMode that)
+ {
+ any.insert_Streamable(new ParameterModeHolder(that));
+ }
+
+ /**
+ * Extract the parameter mode from the given Any.
+ */
+ public static ParameterMode extract(Any any)
+ {
+ return ((ParameterModeHolder) any.extract_Streamable()).value;
+ }
+
+ /**
+ * Get the parameter mode typecode (enumeration, named "ParameterMode").
+ * The typecode states that the enumeration can obtain one of
+ * the following values: PARAM_IN ,PARAM_OUT ,PARAM_INOUT .
+ */
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ String[] members =
+ new String[] { "PARAM_IN", "PARAM_OUT", "PARAM_INOUT" };
+
+ typeCode =
+ Restricted_ORB.Singleton.create_enum_tc(id(), "ParameterMode", members);
+ }
+ return typeCode;
+ }
+
+ /**
+ * Get the parameter mode repository id.
+ *
+ * @return "IDL:omg.org/CORBA/ParameterMode:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/ParameterMode:1.0";
+ }
+
+ /**
+ * Read the enumeration value (as int) from the CDR intput stream.
+ *
+ * @param istream a stream to read from.
+ */
+ public static ParameterMode read(InputStream istream)
+ {
+ return ParameterMode.from_int(istream.read_long());
+ }
+
+ /**
+ * Write the enumeration value (as int) to the CDR output stream.
+ *
+ * @param ostream a stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream ostream, ParameterMode value)
+ {
+ ostream.write_long(value.value());
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/ParameterModeHolder.java b/org/omg/CORBA/ParameterModeHolder.java
new file mode 100644
index 000000000..6f9d0b74e
--- /dev/null
+++ b/org/omg/CORBA/ParameterModeHolder.java
@@ -0,0 +1,86 @@
+/* ParameterModeHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * The holder for ParameterMode.
+ *
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public class ParameterModeHolder
+ implements org.omg.CORBA.portable.Streamable
+{
+ /**
+ * The stored ParameterMode value.
+ */
+ public ParameterMode value;
+
+ /**
+ * Create the initialised instance.
+ * @param initialValue
+ */
+ public ParameterModeHolder(ParameterMode initialValue)
+ {
+ value = initialValue;
+ }
+
+ /**
+ * Fill in the {@link value} by data from the CDR stream.
+ */
+ public void _read(org.omg.CORBA.portable.InputStream in)
+ {
+ value = ParameterModeHelper.read(in);
+ }
+
+ /**
+ * Get the typecode of the ParameterMode.
+ */
+ public org.omg.CORBA.TypeCode _type()
+ {
+ return ParameterModeHelper.type();
+ }
+
+ /**
+ * Write the stored value into the CDR stream.
+ */
+ public void _write(org.omg.CORBA.portable.OutputStream out)
+ {
+ ParameterModeHelper.write(out, value);
+ }
+}
diff --git a/org/omg/CORBA/RepositoryIdHelper.java b/org/omg/CORBA/RepositoryIdHelper.java
new file mode 100644
index 000000000..59f2d2b22
--- /dev/null
+++ b/org/omg/CORBA/RepositoryIdHelper.java
@@ -0,0 +1,116 @@
+/* RepositoryIdHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Restricted_ORB;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA Repository Id that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class RepositoryIdHelper
+{
+ /**
+ * Insert the Repository Id into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the Repository Id from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an string alias typecode, named "RepositoryId"
+ */
+ public static TypeCode type()
+ {
+ ORB orb = Restricted_ORB.Singleton;
+ return orb.create_alias_tc(id(), "RepositoryId", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the Repository Id repository id.
+ * @return "IDL:omg.org/CORBA/RepositoryId:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/RepositoryId:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param istream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (Repository Id) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/SendingContext/RunTimeOperations.java b/org/omg/CORBA/SendingContext/RunTimeOperations.java
new file mode 100644
index 000000000..978bae40e
--- /dev/null
+++ b/org/omg/CORBA/SendingContext/RunTimeOperations.java
@@ -0,0 +1,57 @@
+/* RunTimeOperations.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.SendingContext;
+
+
+/**
+ * Defines the operations, applicable for Sending Context. The sending
+ * context provides access to information about the originator of a
+ * GIOP message. For example, when a value type is sent in a GIOP
+ * Request, the receiver may need to ask the sender about
+ * the CodeBase for the implementation of the value type.
+ *
+ * Unfortunately, no public operations are defined up till 1.4 inclusive.
+ *
+ * @since 1.3
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public interface RunTimeOperations
+{
+} \ No newline at end of file
diff --git a/org/omg/CORBA/SendingContext/Runtime.java b/org/omg/CORBA/SendingContext/Runtime.java
new file mode 100644
index 000000000..3834a3483
--- /dev/null
+++ b/org/omg/CORBA/SendingContext/Runtime.java
@@ -0,0 +1,60 @@
+/* Runtime.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.SendingContext;
+
+import org.omg.CORBA.Object;
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * Defines the base class that represents the Sending Context. The sending
+ * context provides access to information about the originator of a
+ * GIOP message. For example, when a value type is sent in a GIOP
+ * Request, the receiver may need to ask the sender about
+ * the CodeBase for the implementation of the value type.
+ *
+ * @since 1.3
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public interface Runtime
+ extends IDLEntity, Object, RunTimeOperations, Serializable
+{
+} \ No newline at end of file
diff --git a/org/omg/CORBA/ServerRequest.java b/org/omg/CORBA/ServerRequest.java
index 598e5f4b2..99653e520 100644
--- a/org/omg/CORBA/ServerRequest.java
+++ b/org/omg/CORBA/ServerRequest.java
@@ -115,7 +115,9 @@ public abstract class ServerRequest
}
/**
- * @deprecated, use {@link #set_result} (same parameter).
+ * This method is deprecated, {@link #set_result} (same parameter).
+ *
+ * @deprecated since 1.2
*
* @throws NO_IMPLEMENT, always.
*/
@@ -125,7 +127,9 @@ public abstract class ServerRequest
}
/**
- * @deprecated, use {@link #set_exception} (same parameter).
+ * This method is deprecated, use {@link #set_exception} (same parameter).
+ *
+ * @deprecated since 1.2.
*
* @throws NO_IMPLEMENT, always.
*/
@@ -135,7 +139,9 @@ public abstract class ServerRequest
}
/**
- * @deprecated, use {@link #arguments} (same parameter).
+ * This method is deprecated, use {@link #arguments} (same parameter).
+ *
+ * @deprecated since 1.2
*
* @throws NO_IMPLEMENT, always.
*/
@@ -145,7 +151,9 @@ public abstract class ServerRequest
}
/**
- * @deprecated, use {@link #operation} (same parameter).
+ * This method is deprecated, use {@link #operation} (same parameter).
+ *
+ * @deprecated since 1.2
*
* @throws NO_IMPLEMENT, always.
*/
diff --git a/org/omg/CORBA/SetOverrideTypeHelper.java b/org/omg/CORBA/SetOverrideTypeHelper.java
new file mode 100644
index 000000000..b3b3218d3
--- /dev/null
+++ b/org/omg/CORBA/SetOverrideTypeHelper.java
@@ -0,0 +1,128 @@
+/* SetOverrideTypeHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.SetOverrideTypeHolder;
+import gnu.CORBA.Restricted_ORB;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the definition kind.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class SetOverrideTypeHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ /**
+ * Insert the definition kind into the given Any.
+ */
+ public static void insert(Any any, SetOverrideType that)
+ {
+ any.insert_Streamable(new SetOverrideTypeHolder(that));
+ }
+
+ /**
+ * Extract the definition kind from the given Any.
+ */
+ public static SetOverrideType extract(Any any)
+ {
+ return ((SetOverrideTypeHolder) any.extract_Streamable()).value;
+ }
+
+ /**
+ * Get the definition kind typecode (enumeration, named "SetOverrideType").
+ * The typecode states that the enumeration can obtain one of
+ * the following values: SET_OVERRIDE ,ADD_OVERRIDE .
+ */
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ String[] members =
+ new String[]
+ {
+ "SET_OVERRIDE" ,"ADD_OVERRIDE"
+ };
+
+ typeCode =
+ Restricted_ORB.Singleton.create_enum_tc(id(), "SetOverrideType",
+ members
+ );
+ }
+ return typeCode;
+ }
+
+ /**
+ * Get the definition kind repository id.
+ *
+ * @return "IDL:omg.org/CORBA/SetOverrideType:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/SetOverrideType:1.0";
+ }
+
+ /**
+ * Read the enumeration value (as int) from the CDR intput stream.
+ *
+ * @param istream a stream to read from.*
+ */
+ public static SetOverrideType read(InputStream istream)
+ {
+ return SetOverrideType.from_int(istream.read_long());
+ }
+
+ /**
+ * Write the enumeration value (as int) to the CDR output stream.
+ *
+ * @param ostream a stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream ostream, SetOverrideType value)
+ {
+ ostream.write_long(value.value());
+ }
+}
diff --git a/org/omg/CORBA/UnknownUserException.java b/org/omg/CORBA/UnknownUserException.java
new file mode 100644
index 000000000..c1c4b76e3
--- /dev/null
+++ b/org/omg/CORBA/UnknownUserException.java
@@ -0,0 +1,87 @@
+/* UnknownUserException.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * A wrapper against an unknown user exception that has been thrown
+ * on remote side and returned by the server. The instance of this
+ * class is returned by {@link Request#env()}.
+ *
+ * @see Environment#exception().
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public class UnknownUserException
+ extends UserException
+ implements IDLEntity, Serializable
+{
+ /**
+ * The Any, holding the actual exception, that has been thrown
+ * by the server.
+ */
+ public Any except;
+
+ /**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 3106202258203879281L;
+
+ /**
+ * Create an unitialised instance of the unknown user exception.
+ */
+ public UnknownUserException()
+ {
+ }
+
+ /**
+ * Create the instance of the unknow user exception, initialised
+ * to the given value.
+ *
+ * @param an_exception the exception, that has actually been thrown
+ * by the server.
+ */
+ public UnknownUserException(Any an_exception)
+ {
+ except = an_exception;
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/ValueBaseHelper.java b/org/omg/CORBA/ValueBaseHelper.java
index 0197566fa..31e5686a4 100644
--- a/org/omg/CORBA/ValueBaseHelper.java
+++ b/org/omg/CORBA/ValueBaseHelper.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package org.omg.CORBA;
+import gnu.CORBA.CDR.uncObjectInputStream;
+import gnu.CORBA.CDR.uncObjectOutputStream;
import gnu.CORBA.recordTypeCode;
import org.omg.CORBA.portable.InputStream;
@@ -109,13 +111,7 @@ public abstract class ValueBaseHelper
// in its finalizer.
try
{
- ObjectInputStream oin =
- new ObjectInputStream(output)
- {
- public void close()
- {
- }
- };
+ ObjectInputStream oin = new uncObjectInputStream(output);
return (Serializable) oin.readObject();
}
catch (Exception ex)
@@ -151,15 +147,7 @@ public abstract class ValueBaseHelper
// in its finalizer.
try
{
- ObjectOutputStream oout =
- new ObjectOutputStream(input)
- {
- public void close()
- throws IOException
- {
- flush();
- }
- };
+ ObjectOutputStream oout = new uncObjectOutputStream(input);
oout.writeObject(value);
oout.flush();
}
diff --git a/org/omg/CORBA/VersionSpecHelper.java b/org/omg/CORBA/VersionSpecHelper.java
new file mode 100644
index 000000000..d0d590054
--- /dev/null
+++ b/org/omg/CORBA/VersionSpecHelper.java
@@ -0,0 +1,116 @@
+/* VersionSpecHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Restricted_ORB;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA VersionSpec that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class VersionSpecHelper
+{
+ /**
+ * Insert the VersionSpec into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the VersionSpec from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an string alias typecode, named "VersionSpec".
+ */
+ public static TypeCode type()
+ {
+ ORB orb = Restricted_ORB.Singleton;
+ return orb.create_alias_tc(id(), "VersionSpec", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the VersionSpec repository id.
+ * @return "IDL:omg.org/CORBA/VersionSpec:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/VersionSpec:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param istream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (VersionSpec) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA/package.html b/org/omg/CORBA/package.html
index cda65d0ed..87ab8ba28 100644
--- a/org/omg/CORBA/package.html
+++ b/org/omg/CORBA/package.html
@@ -40,22 +40,37 @@ exception statement from your version. -->
<head><title>GNU Classpath - org.omg.CORBA</title></head>
<body>
-This package will provide the support of <a href="www.omg.org">OMG</a> <a href="www.CORBA.org">CORBA</a>; see <a href="#overview">overview</a> of the implemented functionality. CORBA is an open, vendor independent system that applications use to work together over networks. Thie purpose of this package is to provide CORBA APIs to java programming language, including the fully functional Object Request Broker ({@link org.omg.CORBA.ORB}).
+This package provides the support of <a href="www.omg.org">OMG</a>
+<a href="www.CORBA.org">CORBA</a>; see <a href="#overview">overview</a>
+of the implemented functionality. CORBA is an open, vendor independent
+system that applications use to work together over networks. Thie purpose
+of this package is to provide CORBA APIs to java programming language,
+including the fully functional Object Request Broker ({@link org.omg.CORBA.ORB}).
<a name="overview">
-<h4>Overview of the currently <u>implemented</u> CORBA classes (all packages)</h4>
-<ol>
-<li>The <b>holder</b> classes are containers to store and pass values both to and from the method being executed. In java, the primitive types (int, boolean, etc) are passed by value (one way) only. While Objects are passed by reference, some of them (like String or Integer) are unmodifyable and the arrays cannot be resized. To work around this, such values are passed wrapped into a holder class, where the object instance can be modified and, if needed, replaced. The holders for the most of the types are located in the org.omg.CORBA package, having the suffix *Holder and implementing {@link org.omg.CORBA.portable.Streamable}.
-</li><li>
-The <b>helper</b> classes, having suffix *Helper, provide several convenience methods to manipulate the particular type of holder.
-</li><li>
-The <b>typecode</b> classes provide means to define all large variety of the CORBA types, from strings and arrays till structures, unions and enumerations. The typecodes (instances of the {@link org.omg.CORBA.TypeCode}) are created by invoking the methods of the ORB class. The instance of the restricted ORB (no networking) can be obtained by invoking {@link org.omg.CORBA.ORB#init()}. The typecodes can be used everywhere where the means to define data structures are required.
-</li><li>
-The {@link org.omg.CORBA.Any} class is be used as a container to store the arbitray data type and has the numerous methods for inserting and extracting all primitive types, supported by CORBA. The {@link org.omg.CORBA.Any} is a convienient structure for storing, and passing and returning the values of the arbitrary type.
-</li><li>
-The <b>CDR</b> (Commond Data Representation) streams, {@link org.omg.CORBA.portable.InputStream} and {@link org.omg.CORBA.portable.OutputStream}) are very much like DataInputStream and DataOutputStream in java.io. They read and write data in the binary form, standard for the CORBA messages. The working instances of these abstract classes can be obtained by calling methods on {@link org.omg.CORBA.ORB} or {@link org.omg.CORBA.Any}.
-</li>
-</ol>
+<h4>Overview of the currently implemented CORBA functionality</h4>
+<p>The CORBA implementation in the Classpath project is now a working prototype.
+ This prototype is interoperable with Sun's implementation v 1.4, transferring
+ object references, primitive types, narrow and wide strings, arrays, structures
+ and trees between these two platforms. The thrown exceptions are also transferred
+ and handled. The support for stringified object references (IORs) is implemented.
+ The redirection commands works, LOCATION_FORWARD_PERM changing the target address
+ until the application is restarted and LOCATION_FORWARD redirecting for the
+ current session only. Both Little and Big Endian encoded messages
+ are accepted. The encoding of the sent messages is the same as used in the
+ stringified IOR reference of that object or Big Endian, if no such data
+ available.
+ </p>
+ <p>
+ You can use both request-oriented (based on {@link org.omg.CORBA.Request})
+ and stream-oriented (based on {@link org.omg.CORBA.portable.ObjectImpl})
+ invocation models. The current release includes the working examples, demonstrating
+ the client-server communication using both methods. These examples also show,
+ how to use the Classpath naming service. The IDL compiler is not yet written,
+ but as a side effect of the required compatibility, the implementation seems
+ accepting the output of the Sun's 1.3 idlj.</p>
+
+ @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
</body>
</html>
diff --git a/org/omg/CORBA/portable/BoxedValueHelper.java b/org/omg/CORBA/portable/BoxedValueHelper.java
new file mode 100644
index 000000000..58c95e84c
--- /dev/null
+++ b/org/omg/CORBA/portable/BoxedValueHelper.java
@@ -0,0 +1,76 @@
+/* BoxedValueHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.portable;
+
+import java.io.Serializable;
+
+/**
+ * Provides a helper operations for the value type.
+ * The value type may have its own helper, implementing
+ * this interface.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public interface BoxedValueHelper {
+
+ /**
+ * Get the repository id of this value type.
+ *
+ * @return a repository id.
+ */
+ String get_id();
+
+ /**
+ * Read this value type from the CDR stream.
+ *
+ * @param is a stream to read from.
+ *
+ * @return a loaded value type.
+ */
+ Serializable read_value(InputStream istream);
+
+ /**
+ * Write this value type to the CDR stream.
+ *
+ * @param os a stream to write to.
+ * @param value a value to write.
+ */
+ void write_value(OutputStream ostream, Serializable value);
+
+} \ No newline at end of file
diff --git a/org/omg/CORBA/portable/ValueFactory.java b/org/omg/CORBA/portable/ValueFactory.java
new file mode 100644
index 000000000..b2532e5c5
--- /dev/null
+++ b/org/omg/CORBA/portable/ValueFactory.java
@@ -0,0 +1,62 @@
+/* ValueFactory.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.portable;
+
+import java.io.Serializable;
+
+/**
+ * An interface for reading an instance of the value type
+ * from the input stream.
+ *
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public interface ValueFactory
+{
+ /**
+ * Read the value type. The method is responsible both
+ * for creating a new instance of the value type and
+ * reading the content of this nstance from the stream.
+ *
+ * @param from_stream a stream to read from.
+ *
+ * @return a created value type, intialised with the data from
+ * the stream.
+ */
+ Serializable read_value(InputStream from_stream);
+} \ No newline at end of file
diff --git a/org/omg/CORBA_2_3/ORB.java b/org/omg/CORBA_2_3/ORB.java
new file mode 100644
index 000000000..a8a42250f
--- /dev/null
+++ b/org/omg/CORBA_2_3/ORB.java
@@ -0,0 +1,130 @@
+/* ORB.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA_2_3;
+
+import org.omg.CORBA.BAD_PARAM;
+import org.omg.CORBA.NO_IMPLEMENT;
+import org.omg.CORBA.portable.ValueFactory;
+
+/**
+ * This class should provide the {@link org.omg.CORBA.ORB) ORB extensions,
+ * defined in the OMG CORBA version 2.3 specification. However in the
+ * Sun's API specification is written that this functionality is not
+ * implemented at least at least till 1.4 inclusive.
+ *
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public abstract class ORB
+ extends org.omg.CORBA.ORB
+{
+ /**
+ * Should return a defintion of the value type as described
+ * in the interface repository.
+ *
+ * @param repository_id a value type repository id.
+ *
+ * @return never
+ * @throws BAD_PARAM never
+ * @throws NO_IMPLEMENT, always.
+ *
+ * @see org.omg.CORBA.portable.ValueBase
+ */
+ public org.omg.CORBA.Object get_value_def(String repository_id)
+ throws BAD_PARAM
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This should register the given value factory under the given
+ * repository id.
+ *
+ * @param repository_id a repository id
+ *
+ * @return never
+ * @throws NO_IMPLEMENT, always.
+ */
+ public ValueFactory register_value_factory(String repository_id,
+ ValueFactory factory
+ )
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This should unregister the given value factory under the given
+ * repository id.
+ *
+ * @param repository_id a repository id
+ *
+ * @return never
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void unregister_value_factory(String id)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This should find a suitable value factory to create an instance
+ * of the value type when is being read (unmarshaled) from the
+ * stream.
+ *
+ * @param repository_id a repository id
+ *
+ * @return never
+ * @throws NO_IMPLEMENT, always.
+ */
+ public ValueFactory lookup_value_factory(String repository_id)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Up till OMG 3.0.3 inclusive and also in Suns API till 1.4
+ * inclusive this is totally undocumented. No problem, though,
+ * because is in addition not implemented.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void set_delegate(java.lang.Object wrapper)
+ {
+ throw new NO_IMPLEMENT();
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA_2_3/portable/Delegate.java b/org/omg/CORBA_2_3/portable/Delegate.java
new file mode 100644
index 000000000..cfb8b8997
--- /dev/null
+++ b/org/omg/CORBA_2_3/portable/Delegate.java
@@ -0,0 +1,67 @@
+/* Delegate.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA_2_3.portable;
+
+/**
+ * Extends the previous version of the Delegate by one additional method,
+ * defined in CORBA 2_3 .
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class Delegate
+ extends org.omg.CORBA.portable.Delegate
+{
+ /**
+ * Returns the codebase for the provided object reference.
+ * A codebase is a location information (for instance, URL), specifying,
+ * where the missing parts of the object code can be downloaded. This
+ * is important for the value type objects that handle they method calls
+ * locally and hence must have the local copy of the implementing code.
+ *
+ * This method must be overridden to get functionality, the default method
+ * always returns an empty string.
+ *
+ * @return normally, an agreed location information, specifying, where
+ * the supporting code (like java classes) can be found.
+ */
+ public String get_codebase(org.omg.CORBA.Object self)
+ {
+ return "";
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA_2_3/portable/InputStream.java b/org/omg/CORBA_2_3/portable/InputStream.java
new file mode 100644
index 000000000..48953dfa4
--- /dev/null
+++ b/org/omg/CORBA_2_3/portable/InputStream.java
@@ -0,0 +1,189 @@
+/* InputStream.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA_2_3.portable;
+
+import org.omg.CORBA.MARSHAL;
+import org.omg.CORBA.ValueBaseHelper;
+
+import java.io.Serializable;
+
+/**
+ * This class defines a new CDR input stream methods, added since
+ * CORBA 2.3.
+ *
+ * This class is abstract; no direct instances can be instantiated.
+ * Also, up till v 1.4 inclusive there are no methods that would
+ * return it, and only one unimplemented interface,
+ * {@link org.omg.CORBA.portable.ValueFactory }, needs it as a parameter.
+ *
+ * However since 1.3 all methods, declared as returning an
+ * org.omg.CORBA.portable.InputStream actually return the instance of this
+ * derived class and the new methods are accessible after the casting
+ * operation.
+ *
+ * OMG specification states the writing format of the value types
+ * is outside the scope of GIOP definition. This implementation uses
+ * java serialization mechanism, calling {@link ObjectInputStream#readObject}.
+ *
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public abstract class InputStream
+ extends org.omg.CORBA.portable.InputStream
+{
+ /**
+ * Read the abstract interface. An abstract interface can be either
+ * CORBA value type or CORBA object and is returned as an abstract
+ * java.lang.Object.
+ *
+ * As specified in OMG specification, this reads a single
+ * boolean and then delegates either to {@link #read_Object()} (for false)
+ * or to {@link #read_Value()} (for true).
+ *
+ * @return an abstract interface, unmarshaled from the stream
+ */
+ public Object read_abstract_interface()
+ {
+ boolean isValue = read_boolean();
+
+ if (isValue)
+ return read_value();
+ else
+ return read_Object();
+ }
+
+ /**
+ * Read the abstract interface, corresponding to the passed type.
+ * An abstract interface can be either CORBA value type or CORBA
+ * object and is returned as an abstract java.lang.Object.
+ *
+ * As specified in OMG specification, this reads a single
+ * boolean and then delegates either to {@link #read_Object(Class)} (for false)
+ * or to {@link #read_Value(Class)} (for true).
+ *
+ * @param clz a base class for the abstract interface.
+ *
+ * @return an abstract interface, unmarshaled from the stream
+ */
+ public Object read_abstract_interface(Class clz)
+ {
+ boolean isValue = read_boolean();
+
+ if (isValue)
+ return read_value(clz);
+ else
+ return read_Object(clz);
+ }
+
+ /**
+ * Read a value type structure from the stream.
+ *
+ * OMG specification states the writing format is outside the scope
+ * of GIOP definition. This implementation uses java serialization
+ * mechanism, calling {@link ObjectInputStream#readObject}
+ *
+ * @return an value type structure, unmarshaled from the stream
+ */
+ public Serializable read_value()
+ {
+ return read_value((Class) null);
+ }
+
+ /**
+ * Read a value type structure, corresponing to the passed type.
+ *
+ * OMG specification states the writing format is outside the scope
+ * of GIOP definition. This implementation uses java serialization
+ * mechanism, calling {@link ObjectInputStream#readObject}
+ *
+ * @param clz a base class for a value type. The class information
+ * is currently used for security check only.
+ *
+ * @return an value type structure, unmarshaled from the stream
+ */
+ public Serializable read_value(Class clz)
+ {
+ Serializable rt = (Serializable) ValueBaseHelper.read(this);
+
+ if (rt != null && clz != null)
+ {
+ if (!(clz.isAssignableFrom(rt.getClass())))
+ {
+ throw new MARSHAL(rt.getClass().getName() +
+ " is not an instance of " + clz.getName()
+ );
+ }
+ }
+ return rt;
+ }
+
+ /**
+ * Read a value type structure content, when the unitialised
+ * instance is passed as a parameter.
+ *
+ * OMG specification states the writing format is outside the scope
+ * of GIOP definition. This implementation uses java serialization
+ * mechanism, calling {@link ObjectInputStream#readObject}
+ * and then compares the loaded instance with the given class
+ * of the passed instance for equality.
+ *
+ * @param unitialised_value, used for class check only.
+ *
+ * @return same value, filled in by the stream content.
+ */
+ public Serializable read_value(Serializable unitialised_value)
+ {
+ return read_value(unitialised_value.getClass());
+ }
+
+ /**
+ * Read a value type structure, having the given repository id.
+ * The casts the streams ORB into a CORBA 2.3 ORB and then
+ * searched for a suitable value factory, where it delegates
+ * the functionality.
+ *
+ * @param repository_id a repository id of the value type.
+ *
+ * @return an value type structure, unmarshaled from the stream
+ */
+ public Serializable read_value(String repository_id)
+ {
+ return ((org.omg.CORBA_2_3.ORB) orb()).lookup_value_factory(repository_id)
+ .read_value(this);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA_2_3/portable/ObjectImpl.java b/org/omg/CORBA_2_3/portable/ObjectImpl.java
new file mode 100644
index 000000000..198500d30
--- /dev/null
+++ b/org/omg/CORBA_2_3/portable/ObjectImpl.java
@@ -0,0 +1,82 @@
+/* ObjectImpl.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA_2_3.portable;
+
+import org.omg.CORBA.BAD_OPERATION;
+
+/**
+ * Extends the previous version of the CORBA object by one additional method,
+ * defined in CORBA 2_3 . See ancestor for details about the CORBA object.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class ObjectImpl
+ extends org.omg.CORBA.portable.ObjectImpl
+{
+ /**
+ * Returns the codebase for the provided object reference.
+ * A codebase is a location information (for instance, URL), specifying,
+ * where the missing parts of the object code can be downloaded. This
+ * is important for the value type objects that handle they method calls
+ * locally and hence must have the local copy of the implementing code.
+ *
+ * This implementation expects that the object delegate is set and is
+ * an instance of the org.omg.CORBA_2_3.portable.Delegate. If casts
+ * the set delegate to the given type and invokes
+ * {@link org.omg.CORBA_2_3.portable.Delegate#get_codebase}.
+ *
+ * @return normally, an agreed location information, specifying, where
+ * the supporting code (like java classes) can be found.
+ *
+ * @throws BAD_OPERATION if the object delegate is not an instance
+ * of org.omg.CORBA_2_3.portable.Delegate.
+ */
+ public String _get_codebase()
+ {
+ Object delegate = _get_delegate();
+ if (delegate instanceof org.omg.CORBA_2_3.portable.Delegate)
+ return ((org.omg.CORBA_2_3.portable.Delegate) delegate).get_codebase(this);
+ else if (delegate != null)
+ throw new BAD_OPERATION(delegate.getClass().getName() +
+ " is not a org.omg.CORBA_2_3.portable.Delegate"
+ );
+ else
+ throw new BAD_OPERATION("The delegate not set.");
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA_2_3/portable/OutputStream.java b/org/omg/CORBA_2_3/portable/OutputStream.java
new file mode 100644
index 000000000..bc317a662
--- /dev/null
+++ b/org/omg/CORBA_2_3/portable/OutputStream.java
@@ -0,0 +1,145 @@
+/* OutputStream.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA_2_3.portable;
+
+import org.omg.CORBA.MARSHAL;
+import org.omg.CORBA.ValueBaseHelper;
+import org.omg.CORBA.portable.BoxedValueHelper;
+import org.omg.CORBA.portable.ValueBase;
+
+import java.io.Serializable;
+
+/**
+ * This class defines a new CDR input stream methods, added since
+ * CORBA 2.3.
+ *
+ * This class is abstract; no direct instances can be instantiated.
+ * Also, up till v 1.4 inclusive there are no methods that would
+ * return it directly.
+ *
+ * However since 1.3 all methods, declared as returning an
+ * org.omg.CORBA.portable.InputStream actually return the instance of this
+ * derived class and the new methods are accessible after the casting
+ * operation.
+ *
+ * OMG specification states the writing format of the value types
+ * is outside the scope of GIOP definition. This implementation uses
+ * java serialization mechanism, calling {@link ObjectInputStream#readObject}.
+ *
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public abstract class OutputStream
+ extends org.omg.CORBA.portable.OutputStream
+{
+ /**
+ * Writes an abstract interface to the stream. An abstract interface can
+ * be eithe CORBA object or value type and is written as a union with
+ * the boolean discriminator (false for objects, true for value types).
+ *
+ * The object from value is separated by fact that all values implement
+ * the {@link ValueBase} interface.
+ *
+ * @param an_interface an abstract interface to write.
+ */
+ public void write_abstract_interface(org.omg.CORBA.Object an_interface)
+ {
+ boolean isValue = an_interface instanceof ValueBase;
+
+ write_boolean(isValue);
+
+ if (isValue)
+ write_value((ValueBase) an_interface);
+ else
+ write_Object(an_interface);
+ }
+
+ /**
+ * Writes a value type into the output stream as java Serializable.
+ *
+ * The functionality is delegated to the {@link ValueBaseHelper}.
+ *
+ * @param value a value type object to write.
+ */
+ public void write_value(Serializable value)
+ {
+ ValueBaseHelper.write(this, value);
+ }
+
+ /**
+ * Write value to the stream using the boxed value helper.
+ *
+ * @param value a value to write.
+ * @param helper a helper, responsible for the writing operation.
+ */
+ public void write_value(Serializable value, BoxedValueHelper helper)
+ {
+ helper.write_value(this, value);
+ }
+
+ /**
+ * Writes a value type into the output stream as java Serializable,
+ * stating it is an instance of the given class.
+ *
+ * The functionality is delegated to the {@link ValueBaseHelper}.
+ * The passed class is used for the check only.
+ *
+ * @param value a value type object to write.
+ */
+ public void write_value(Serializable value, Class clz)
+ {
+ if (!clz.isAssignableFrom(value.getClass()))
+ throw new MARSHAL("The class is not the same");
+ ValueBaseHelper.write(this, value);
+ }
+
+ /**
+ * Writes a value type into the output stream as java Serializable,
+ * stating it has the given repository id.
+ *
+ * The functionality is delegated to the {@link ValueBaseHelper}.
+ *
+ * @param repository_id a repository id of the value type.
+ *
+ * @param value a value type object to write.
+ */
+ public void write_value(Serializable value, String repository_id)
+ {
+ ValueBaseHelper.write(this, value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CORBA_2_3/portable/package.html b/org/omg/CORBA_2_3/portable/package.html
new file mode 100644
index 000000000..9be95fcb4
--- /dev/null
+++ b/org/omg/CORBA_2_3/portable/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html -
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - org.omg.CORBA_2_3.portable</title></head>
+
+<body>
+<p>This package mainly provides methods for the input and output of value types. It also contains other extensions, required for CORBA 2_3.</p>
+
+</body>
+</html>
diff --git a/org/omg/CosNaming/BindingIteratorHelper.java b/org/omg/CosNaming/BindingIteratorHelper.java
index 4519fdd17..c284d40df 100644
--- a/org/omg/CosNaming/BindingIteratorHelper.java
+++ b/org/omg/CosNaming/BindingIteratorHelper.java
@@ -76,7 +76,9 @@ public abstract class BindingIteratorHelper
}
catch (ClassCastException ex)
{
- throw new BAD_OPERATION("Binding iterator expected");
+ BAD_OPERATION bad = new BAD_OPERATION("Binding iterator expected");
+ bad.initCause(ex);
+ throw bad;
}
}
diff --git a/org/omg/CosNaming/BindingListHelper.java b/org/omg/CosNaming/BindingListHelper.java
index a49090f30..fffcb97d5 100644
--- a/org/omg/CosNaming/BindingListHelper.java
+++ b/org/omg/CosNaming/BindingListHelper.java
@@ -73,7 +73,9 @@ public abstract class BindingListHelper
}
catch (ClassCastException ex)
{
- throw new BAD_OPERATION("Binding list expected");
+ BAD_OPERATION bad = new BAD_OPERATION("Binding list expected");
+ bad.initCause(ex);
+ throw bad;
}
}
diff --git a/org/omg/CosNaming/BindingType.java b/org/omg/CosNaming/BindingType.java
index 5e0e5466e..207a4d328 100644
--- a/org/omg/CosNaming/BindingType.java
+++ b/org/omg/CosNaming/BindingType.java
@@ -49,6 +49,11 @@ public class BindingType
implements org.omg.CORBA.portable.IDLEntity
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 3735105633408228513L;
+
+ /**
* This constant means that the binding has been created
* with operations bind_context, rebind_context or
* bind_new_context.
@@ -121,4 +126,4 @@ public class BindingType
{
return type;
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/BindingTypeHelper.java b/org/omg/CosNaming/BindingTypeHelper.java
index f2a455246..1b8dcb8b9 100644
--- a/org/omg/CosNaming/BindingTypeHelper.java
+++ b/org/omg/CosNaming/BindingTypeHelper.java
@@ -69,7 +69,9 @@ public abstract class BindingTypeHelper
}
catch (ClassCastException ex)
{
- throw new BAD_OPERATION("Binding type expected");
+ BAD_OPERATION bad = new BAD_OPERATION("Binding type expected");
+ bad.initCause(ex);
+ throw bad;
}
}
diff --git a/org/omg/CosNaming/IstringHelper.java b/org/omg/CosNaming/IstringHelper.java
new file mode 100644
index 000000000..ea1e30c85
--- /dev/null
+++ b/org/omg/CosNaming/IstringHelper.java
@@ -0,0 +1,120 @@
+/* IstringHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CosNaming;
+
+import gnu.CORBA.Restricted_ORB;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * "Istring" was a "placeholder for a future IDL internationalized
+ * string data type" in the original specification. It is maintained
+ * solely for compatibility reasons. In both java and CORBA,
+ * Istring is now identical to the narrow (not wide) string and needs
+ * no helper. This class is implemented just for compatibility
+ * reasons.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class IstringHelper
+{
+ /**
+ * Insert the IString into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the IString from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an alias typecode.
+ */
+ public static TypeCode type()
+ {
+ ORB orb = Restricted_ORB.Singleton;
+ return orb.create_alias_tc(id(), "Istring", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the IString repository id.
+ * @return "IDL:omg.org/CosNaming/Istring:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CosNaming/Istring:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param instream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (IString) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/NameComponent.java b/org/omg/CosNaming/NameComponent.java
index 5ec003a50..08ba94aed 100644
--- a/org/omg/CosNaming/NameComponent.java
+++ b/org/omg/CosNaming/NameComponent.java
@@ -49,6 +49,11 @@ public final class NameComponent
implements IDLEntity
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -1052538183391762390L;
+
+ /**
* The name component identifier.
*/
public String id;
@@ -110,4 +115,4 @@ public final class NameComponent
{
return id + "." + kind;
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/NameComponentHelper.java b/org/omg/CosNaming/NameComponentHelper.java
index 71286e50f..1cfa46345 100644
--- a/org/omg/CosNaming/NameComponentHelper.java
+++ b/org/omg/CosNaming/NameComponentHelper.java
@@ -74,7 +74,9 @@ public abstract class NameComponentHelper
}
catch (ClassCastException ex)
{
- throw new BAD_OPERATION("Name component expected");
+ BAD_OPERATION bad = new BAD_OPERATION("Name component expected");
+ bad.initCause(ex);
+ throw bad;
}
}
diff --git a/org/omg/CosNaming/NameHelper.java b/org/omg/CosNaming/NameHelper.java
index f0dbe9d4f..499f6c4ab 100644
--- a/org/omg/CosNaming/NameHelper.java
+++ b/org/omg/CosNaming/NameHelper.java
@@ -75,7 +75,9 @@ public abstract class NameHelper
}
catch (ClassCastException ex)
{
- throw new BAD_OPERATION("Name expected");
+ BAD_OPERATION bad = new BAD_OPERATION("Name expected");
+ bad.initCause(ex);
+ throw bad;
}
}
diff --git a/org/omg/CosNaming/NamingContextExtHelper.java b/org/omg/CosNaming/NamingContextExtHelper.java
index 890c6db14..2d60ac89d 100644
--- a/org/omg/CosNaming/NamingContextExtHelper.java
+++ b/org/omg/CosNaming/NamingContextExtHelper.java
@@ -76,7 +76,9 @@ public abstract class NamingContextExtHelper
}
catch (ClassCastException ex)
{
- throw new BAD_OPERATION("NamingContextExt expected");
+ BAD_OPERATION bad = new BAD_OPERATION("NamingContextExt expected");
+ bad.initCause(ex);
+ throw bad;
}
}
diff --git a/org/omg/CosNaming/NamingContextHelper.java b/org/omg/CosNaming/NamingContextHelper.java
index 140c63657..93a2ff67b 100644
--- a/org/omg/CosNaming/NamingContextHelper.java
+++ b/org/omg/CosNaming/NamingContextHelper.java
@@ -76,7 +76,9 @@ public abstract class NamingContextHelper
}
catch (ClassCastException ex)
{
- throw new BAD_OPERATION("Naming context expected");
+ BAD_OPERATION bad = new BAD_OPERATION("Naming context expected");
+ bad.initCause(ex);
+ throw bad;
}
}
diff --git a/org/omg/CosNaming/NamingContextPackage/AlreadyBound.java b/org/omg/CosNaming/NamingContextPackage/AlreadyBound.java
index cf0792162..9cae87aa8 100644
--- a/org/omg/CosNaming/NamingContextPackage/AlreadyBound.java
+++ b/org/omg/CosNaming/NamingContextPackage/AlreadyBound.java
@@ -53,6 +53,11 @@ public final class AlreadyBound
implements IDLEntity
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -5456929050527586560L;
+
+ /**
* Creates the expection with no details.
*/
public AlreadyBound()
@@ -67,4 +72,4 @@ public final class AlreadyBound
{
super(why);
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/NamingContextPackage/CannotProceed.java b/org/omg/CosNaming/NamingContextPackage/CannotProceed.java
index 8b53cc3a6..4ee0df89b 100644
--- a/org/omg/CosNaming/NamingContextPackage/CannotProceed.java
+++ b/org/omg/CosNaming/NamingContextPackage/CannotProceed.java
@@ -54,6 +54,11 @@ public final class CannotProceed
implements IDLEntity
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -8627405252527310782L;
+
+ /**
* The relevant naming contex.
*/
public NamingContext cxt;
@@ -79,4 +84,4 @@ public final class CannotProceed
cxt = _cxt;
rest_of_name = _rest_of_name;
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/NamingContextPackage/InvalidName.java b/org/omg/CosNaming/NamingContextPackage/InvalidName.java
index 3e953b005..830bdf448 100644
--- a/org/omg/CosNaming/NamingContextPackage/InvalidName.java
+++ b/org/omg/CosNaming/NamingContextPackage/InvalidName.java
@@ -53,6 +53,11 @@ public final class InvalidName
implements IDLEntity
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 786404864997961704L;
+
+ /**
* The default constructor.
*/
public InvalidName()
@@ -68,4 +73,4 @@ public final class InvalidName
{
super(why);
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/NamingContextPackage/NotEmpty.java b/org/omg/CosNaming/NamingContextPackage/NotEmpty.java
index 5915f89ac..f2d6004b5 100644
--- a/org/omg/CosNaming/NamingContextPackage/NotEmpty.java
+++ b/org/omg/CosNaming/NamingContextPackage/NotEmpty.java
@@ -50,4 +50,8 @@ public final class NotEmpty
extends UserException
implements IDLEntity
{
-}
+ /**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 7120362687417045881L;
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/NamingContextPackage/NotFound.java b/org/omg/CosNaming/NamingContextPackage/NotFound.java
index 69a6ecdda..6bfff3a71 100644
--- a/org/omg/CosNaming/NamingContextPackage/NotFound.java
+++ b/org/omg/CosNaming/NamingContextPackage/NotFound.java
@@ -53,6 +53,11 @@ public final class NotFound
implements IDLEntity
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -7539098836265502514L;
+
+ /**
* The reason, explaining, why the binding cannot be found.
* This might be either the missing node or the wrong binding type.
*/
@@ -78,4 +83,4 @@ public final class NotFound
why = _why;
rest_of_name = _rest_of_name;
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/NamingContextPackage/NotFoundReason.java b/org/omg/CosNaming/NamingContextPackage/NotFoundReason.java
index f7ba14521..5c6d47e73 100644
--- a/org/omg/CosNaming/NamingContextPackage/NotFoundReason.java
+++ b/org/omg/CosNaming/NamingContextPackage/NotFoundReason.java
@@ -50,6 +50,11 @@ public class NotFoundReason
implements IDLEntity
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -5689237060527596081L;
+
+ /**
* The code for reason, when the node is missing.
*/
public static final int _missing_node = 0;
@@ -126,4 +131,4 @@ public class NotFoundReason
{
return value;
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/_BindingIteratorImplBase.java b/org/omg/CosNaming/_BindingIteratorImplBase.java
index 585fcaeff..ea7e1521e 100644
--- a/org/omg/CosNaming/_BindingIteratorImplBase.java
+++ b/org/omg/CosNaming/_BindingIteratorImplBase.java
@@ -39,12 +39,15 @@ exception statement from your version. */
package org.omg.CosNaming;
import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.BooleanHolder;
import org.omg.CORBA.CompletionStatus;
+import org.omg.CORBA.DynamicImplementation;
+import org.omg.CORBA.ServerRequest;
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.InvokeHandler;
-import org.omg.CORBA.portable.ObjectImpl;
import org.omg.CORBA.portable.OutputStream;
import org.omg.CORBA.portable.ResponseHandler;
+import org.omg.CORBA.portable.Streamable;
/**
* The binding iterator implementation base.
@@ -52,10 +55,15 @@ import org.omg.CORBA.portable.ResponseHandler;
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public abstract class _BindingIteratorImplBase
- extends ObjectImpl
+ extends DynamicImplementation
implements BindingIterator, InvokeHandler
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 3472591176635005503L;
+
+ /**
* The binding interator repository id.
*/
private static String[] ids = { BindingIteratorHelper.id() };
@@ -110,4 +118,19 @@ public abstract class _BindingIteratorImplBase
return out;
}
-}
+
+ /**
+ * The obsolete invocation using server request. Implemented for
+ * compatibility reasons, but is it more effectinve to use
+ * {@link #_invoke}.
+ *
+ * @param request a server request.
+ */
+ public void invoke(ServerRequest request)
+ {
+ // "destroy" has a void return type, the two other methods - boolean.
+ Streamable result =
+ request.operation().equals("destroy") ? null : new BooleanHolder();
+ gnu.CORBA.ServiceRequestAdapter.invoke(request, this, result);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/_BindingIteratorStub.java b/org/omg/CosNaming/_BindingIteratorStub.java
index 3bb71b6b6..aca7fda38 100644
--- a/org/omg/CosNaming/_BindingIteratorStub.java
+++ b/org/omg/CosNaming/_BindingIteratorStub.java
@@ -57,6 +57,11 @@ public class _BindingIteratorStub
implements BindingIterator
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 359397876031922059L;
+
+ /**
* The object can be destroyed only once.
*/
private boolean destroyed;
@@ -195,4 +200,4 @@ public class _BindingIteratorStub
destroy();
super.finalize();
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/_NamingContextExtImplBase.java b/org/omg/CosNaming/_NamingContextExtImplBase.java
index 80bea5a08..64af05fb0 100644
--- a/org/omg/CosNaming/_NamingContextExtImplBase.java
+++ b/org/omg/CosNaming/_NamingContextExtImplBase.java
@@ -38,14 +38,16 @@ exception statement from your version. */
package org.omg.CosNaming;
+import org.omg.CORBA.ObjectHolder;
+import org.omg.CORBA.ServerRequest;
+import org.omg.CORBA.StringHolder;
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.InvokeHandler;
import org.omg.CORBA.portable.OutputStream;
import org.omg.CORBA.portable.ResponseHandler;
-import org.omg.CosNaming.NamingContextExtPackage.AddressHelper;
+import org.omg.CORBA.portable.Streamable;
import org.omg.CosNaming.NamingContextExtPackage.InvalidAddress;
import org.omg.CosNaming.NamingContextExtPackage.InvalidAddressHelper;
-import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;
import org.omg.CosNaming.NamingContextPackage.CannotProceed;
import org.omg.CosNaming.NamingContextPackage.CannotProceedHelper;
import org.omg.CosNaming.NamingContextPackage.InvalidName;
@@ -192,4 +194,44 @@ public abstract class _NamingContextExtImplBase
}
return out;
}
-}
+
+ /**
+ * The obsolete invocation using server request. Implemented for
+ * compatibility reasons, but is it more effectinve to use
+ * {@link #_invoke}.
+ *
+ * @param request a server request.
+ */
+ public void invoke(ServerRequest request)
+ {
+ Streamable result = null;
+
+ Integer call_method = (Integer) _methods.get(request.operation());
+
+ if (call_method == null)
+ {
+ super.invoke(request);
+ return;
+ }
+
+ switch (call_method.intValue())
+ {
+ case 0 : // to_string, String
+ result = new StringHolder();
+ break;
+
+ case 1 : // to_name, Name
+ result = new NameHolder();
+ break;
+
+ case 2 : // to_url, String
+ result = new StringHolder();
+ break;
+
+ case 3 : // resolve_str, Object
+ result = new ObjectHolder();
+ break;
+ }
+ gnu.CORBA.ServiceRequestAdapter.invoke(request, this, result);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/_NamingContextExtStub.java b/org/omg/CosNaming/_NamingContextExtStub.java
index b6939a746..78c33eba9 100644
--- a/org/omg/CosNaming/_NamingContextExtStub.java
+++ b/org/omg/CosNaming/_NamingContextExtStub.java
@@ -72,6 +72,11 @@ public class _NamingContextExtStub
implements NamingContextExt
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 6333293895664182866L;
+
+ /**
* This stub can be the base of the two CORBA objects, so it
* has two repository ids.
*/
@@ -202,4 +207,4 @@ public class _NamingContextExtStub
_releaseReply(in);
}
}
-}
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/_NamingContextImplBase.java b/org/omg/CosNaming/_NamingContextImplBase.java
index dd43c7dbb..549b5336c 100644
--- a/org/omg/CosNaming/_NamingContextImplBase.java
+++ b/org/omg/CosNaming/_NamingContextImplBase.java
@@ -38,16 +38,17 @@ exception statement from your version. */
package org.omg.CosNaming;
-import java.util.Hashtable;
-
import org.omg.CORBA.BAD_OPERATION;
import org.omg.CORBA.CompletionStatus;
+import org.omg.CORBA.DynamicImplementation;
import org.omg.CORBA.ObjectHelper;
+import org.omg.CORBA.ObjectHolder;
+import org.omg.CORBA.ServerRequest;
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.InvokeHandler;
-import org.omg.CORBA.portable.ObjectImpl;
import org.omg.CORBA.portable.OutputStream;
import org.omg.CORBA.portable.ResponseHandler;
+import org.omg.CORBA.portable.Streamable;
import org.omg.CosNaming.NamingContextPackage.AlreadyBound;
import org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper;
import org.omg.CosNaming.NamingContextPackage.CannotProceed;
@@ -59,16 +60,23 @@ import org.omg.CosNaming.NamingContextPackage.NotEmptyHelper;
import org.omg.CosNaming.NamingContextPackage.NotFound;
import org.omg.CosNaming.NamingContextPackage.NotFoundHelper;
+import java.util.Hashtable;
+
/**
* The naming context implementation base.
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public abstract class _NamingContextImplBase
- extends ObjectImpl
+ extends DynamicImplementation
implements NamingContext, InvokeHandler
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -114280294134561035L;
+
+ /**
* As there are quite many methods, it may be sensible to use the hashtable.
*/
private static Hashtable methods = new Hashtable();
@@ -365,4 +373,40 @@ public abstract class _NamingContextImplBase
return out;
}
-}
+
+ /**
+ * The obsolete invocation using server request. Implemented for
+ * compatibility reasons, but is it more effectinve to use
+ * {@link #_invoke}.
+ *
+ * @param request a server request.
+ */
+ public void invoke(ServerRequest request)
+ {
+ Streamable result = null;
+
+ // The server request contains no required result type.
+ Integer call_method = (Integer) methods.get(request.operation());
+ if (call_method == null)
+ throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE);
+
+ switch (call_method.intValue())
+ {
+ case 4 : // resolve, object
+ result = new ObjectHolder();
+ break;
+
+ case 6 : // new_context, NamingContext
+ case 7 : // bind_new_context, NamingContext
+ {
+ result = new NamingContextHolder();
+ break;
+ }
+
+ default : // void for others.
+ result = null;
+ }
+
+ gnu.CORBA.ServiceRequestAdapter.invoke(request, this, result);
+ }
+} \ No newline at end of file
diff --git a/org/omg/CosNaming/_NamingContextStub.java b/org/omg/CosNaming/_NamingContextStub.java
index 0f921f012..6e3e934bc 100644
--- a/org/omg/CosNaming/_NamingContextStub.java
+++ b/org/omg/CosNaming/_NamingContextStub.java
@@ -70,6 +70,11 @@ public class _NamingContextStub
implements NamingContext
{
/**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -389233044945385889L;
+
+ /**
* Create the naming context stub.
*/
public _NamingContextStub()
@@ -109,6 +114,7 @@ public class _NamingContextStub
catch (ApplicationException ex)
{
in = ex.getInputStream();
+
String id = ex.getId();
throw5(in, id);
}
@@ -169,6 +175,7 @@ public class _NamingContextStub
catch (ApplicationException ex)
{
in = ex.getInputStream();
+
String id = ex.getId();
throw5(in, id);
throw new InternalError();
@@ -284,6 +291,7 @@ public class _NamingContextStub
catch (ApplicationException ex)
{
in = ex.getInputStream();
+
String id = ex.getId();
throw4(in, id);
}
@@ -312,6 +320,7 @@ public class _NamingContextStub
catch (ApplicationException ex)
{
in = ex.getInputStream();
+
String id = ex.getId();
throw4(in, id);
}
@@ -342,6 +351,7 @@ public class _NamingContextStub
catch (ApplicationException ex)
{
in = ex.getInputStream();
+
String id = ex.getId();
throw4(in, id);
throw new InternalError();
@@ -406,8 +416,7 @@ public class _NamingContextStub
* @throws MARSHAL if the id does not match any of the previous 4 exceptions.
*/
protected void throw4(InputStream in, String id)
- throws MARSHAL, InvalidName, CannotProceed,
- NotFound
+ throws MARSHAL, InvalidName, CannotProceed, NotFound
{
if (id.equals(NotFoundHelper.id()))
throw NotFoundHelper.read(in);
@@ -435,12 +444,12 @@ public class _NamingContextStub
* @throws MARSHAL if the id does not match any of the previous 4 exceptions.
*/
protected void throw5(InputStream in, String id)
- throws MARSHAL, AlreadyBound, InvalidName, CannotProceed,
- NotFound
+ throws MARSHAL, AlreadyBound, InvalidName, CannotProceed,
+ NotFound
{
if (id.equals(AlreadyBoundHelper.id()))
throw AlreadyBoundHelper.read(in);
else
throw4(in, id);
}
-}
+} \ No newline at end of file
diff --git a/org/omg/Messaging/SYNC_WITH_TRANSPORT.java b/org/omg/Messaging/SYNC_WITH_TRANSPORT.java
new file mode 100644
index 000000000..6a4c6150e
--- /dev/null
+++ b/org/omg/Messaging/SYNC_WITH_TRANSPORT.java
@@ -0,0 +1,74 @@
+/* SYNC_WITH_TRANSPORT.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.Messaging;
+
+
+/**
+ * A CORBA synchronization mode, defining how far the request shall
+ * progress before control is returned to the client for one way
+ * operations (when no response is required). OMG specification
+ * defines the following modes:
+ * <ul>
+ * <li>
+ * SYNC_NONE (0) - The ORB returns control before sending the request message.
+ * </li><li>
+ * SYNC_WITH_TRANSPORT (1) - The ORB returns control to the client only after the
+ * transport has accepted the request message.
+ * </li><li>
+ * SYNC_WITH_SERVER (2) - The ORB waits for the reply message from the
+ * server side ORB.
+ * </li><li>
+ * SYNC_WITH_TARGET (3) is equivalent for the synchronous, no one
+ * way operations. It is the most realiable, also the slowest one.
+ * </ul>
+ * The java API specification up till 1.4 inclusive defines only one
+ * constant, SYNC_WITH_TRANSPORT.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public interface SYNC_WITH_TRANSPORT
+{
+ /**
+ * The mode, indicating, that the ORB returns control to the client only
+ * after the transport has accepted the request message. There is stil no
+ * guarantee that the request will be delivered, but the server should
+ * send a reply message.
+ */
+ short value = 1;
+} \ No newline at end of file
diff --git a/org/omg/Messaging/SyncScopeHelper.java b/org/omg/Messaging/SyncScopeHelper.java
new file mode 100644
index 000000000..2916d07ed
--- /dev/null
+++ b/org/omg/Messaging/SyncScopeHelper.java
@@ -0,0 +1,121 @@
+/* SyncScopeHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.Messaging;
+
+import gnu.CORBA.primitiveTypeCode;
+import gnu.CORBA.recordTypeCode;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for synchronization scope as an alias of
+ * <code>short</code>.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ *
+ * @see SYNC_WITH_TRANSPORT
+ */
+public class SyncScopeHelper
+{
+ /**
+ * A cached typecode value, computed only once.
+ */
+ private static TypeCode typecode;
+
+ /**
+ * Delegates call to {@link Any.extract_short()}.
+ */
+ static short extract(Any a)
+ {
+ return a.extract_short();
+ }
+
+ /**
+ * Returns synchronization scope repository id.
+ *
+ * @return "IDL:omg.org/Messaging/SyncScope:1.0", always.
+ */
+ static String id()
+ {
+ return "IDL:omg.org/Messaging/SyncScope:1.0";
+ }
+
+ /**
+ * Delegates call to {@link Any.insert_short(short)}.
+ */
+ static void insert(Any a, short that)
+ {
+ a.insert_short(that);
+ }
+
+ /**
+ * Delegates call to {@link InputStream.read_short()}.
+ */
+ static short read(InputStream istream)
+ {
+ return istream.read_short();
+ }
+
+ /**
+ * Returns a typecode of the synchronization scope, stating it
+ * is an alias of <code>short</code>, named "SyncScope".
+ *
+ * @return a typecode of synchronization scope.
+ */
+ static TypeCode type()
+ {
+ recordTypeCode r = new recordTypeCode(TCKind.tk_alias);
+ r.setName("SyncScope");
+ r.setId(id());
+ r.setContentType(new primitiveTypeCode(TCKind.tk_short));
+ return r;
+ }
+
+ /**
+ * Delegates call to {@link OutputStream.write_short()}.
+ */
+ static void write(OutputStream ostream, short value)
+ {
+ ostream.write_short(value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/Messaging/package.html b/org/omg/Messaging/package.html
new file mode 100644
index 000000000..423b9511c
--- /dev/null
+++ b/org/omg/Messaging/package.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - org.omg.CORBA.Messaging</title></head>
+
+<body>
+Contains CORBA synchronization modes, specifying how far the request shall
+progress before control is returned to the client for one way operations.
+The one way operation is an operation when no response is required.
+OMG specification defines the following modes:
+<ul>
+<li>
+SYNC_NONE (0) - The ORB returns control before sending the request message.
+</li><li>
+SYNC_WITH_TRANSPORT (1) - The ORB returns control to the client only after the
+transport has accepted the request message. There is stil no guarantee that the
+request will be delivered.
+</li><li>
+SYNC_WITH_SERVER (2) - The ORB waits for the reply message from the server side ORB.
+</li><li>
+SYNC_WITH_TARGET (3) is equivalent for the synchronous, no one way operations.
+It is the most realiable, also the slowest one.
+</ul>
+The java API specification up till 1.4 inclusive defines only one
+constant, SYNC_WITH_TRANSPORT. Others may appear in the future versions.
+
+@author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)</body>
+</html>
diff --git a/org/omg/stub/java/rmi/_Remote_Stub.java b/org/omg/stub/java/rmi/_Remote_Stub.java
new file mode 100644
index 000000000..81d327fd8
--- /dev/null
+++ b/org/omg/stub/java/rmi/_Remote_Stub.java
@@ -0,0 +1,65 @@
+/* _Remote_Stub.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.stub.java.rmi;
+
+import org.omg.CORBA_2_3.portable.ObjectImpl;
+
+/**
+ * Provides a stub for Remote type.
+ *
+ * Despite this class has appeared since v 1.3, it is oficially marked
+ * as incomplete at least till v 1.4 inclusive. Hence significant alterations
+ * are expected in the future.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public final class _Remote_Stub
+ extends ObjectImpl
+{
+ /**
+ * Returs the array of repository ids, implemented by this object.
+ * The method must be overridden to return the meaningful information.
+ *
+ * @return a single member array, containing empty string (if not overridden).
+ */
+ public String[] _ids()
+ {
+ return new String[] { "" };
+ }
+} \ No newline at end of file
diff --git a/org/omg/stub/java/rmi/package.html b/org/omg/stub/java/rmi/package.html
new file mode 100644
index 000000000..cf9febd2c
--- /dev/null
+++ b/org/omg/stub/java/rmi/package.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html -
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - org.omg.stub.java.rmi</title></head>
+
+<body>
+<p>Contains RMI-IIOP Stubs for the Remote types from java.rmi package.
+The RMI-IIOP system provides means to use the standard CORBA protocol
+for RMI.</p>
+
+</body>
+</html>