Commit 8f523f3a by Mark Wielaard

Imported GNU Classpath 0.19 + gcj-import-20051115.

       * sources.am: Regenerated.
       * Makefile.in: Likewise.
       * scripts/makemake.tcl: Use glob -nocomplain.

From-SVN: r107049
parent 02e549bf

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

2005-11-15 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.19 + gcj-import-20051115.
* sources.am: Regenerated.
* Makefile.in: Likewise.
* scripts/makemake.tcl: Use glob -nocomplain.
2005-11-15 Scott Gilbertson <scottg@mantatest.com>
* Makefile.in: Re-generated.
......
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="compat/|examples/|external/|gnu/classpath/jdwp/|gnu/javax/swing/plaf/|test/|testsuite/|vm/reference/|resource/" kind="src" path=""/>
<classpathentry excluding=".externalToolBuilders/|.settings/|ChangeLog*|Makefile*|autom4te.cache/|compat/|config*|doc/|examples/|external/|gnu/javax/swing/plaf/|include/|install/|lib/|m4/|native/|resource/|scripts/|test/|testsuite/|vm/reference/" kind="src" path=""/>
<classpathentry kind="src" path="resource"/>
<classpathentry excluding="gnu/classpath/jdwp/" kind="src" path="vm/reference"/>
<classpathentry kind="src" path="vm/reference"/>
<classpathentry kind="src" path="external/sax"/>
<classpathentry kind="src" path="external/w3c_dom"/>
<classpathentry kind="src" path="examples"/>
......
#Mon Apr 25 22:37:20 MDT 2005
#Tue Sep 13 16:15:04 MDT 2005
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.doc.comment.support=enabled
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
......@@ -22,9 +23,20 @@ org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
......@@ -50,7 +62,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.compiler.source=1.4
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=18
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
......
#Mon Apr 25 21:37:39 MDT 2005
#Sat Sep 17 22:04:29 MDT 2005
eclipse.preferences.version=1
formatter_settings_version=8
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>
internal.default.compliance=user
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates><template id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment" description\="Comment for getter method" context\="gettercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * @return Returns the ${bare_field_name}.\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment" description\="Comment for setter method" context\="settercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment" description\="Comment for created constructors" context\="constructorcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * ${tags}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment" description\="Comment for created Java files" context\="filecomment_context" enabled\="true" deleted\="false" autoinsert\="false">/* ${file_name} -- FIXME describe the file briefly\n Copyright (C) ${year} Free Software Foundation, Inc.\n\nThis file is part of GNU Classpath.\n\nGNU Classpath is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2, or (at your option)\nany later version.\n\nGNU Classpath is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with GNU Classpath; see the file COPYING. If not, write to the\nFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n02110-1301 USA.\n\nLinking this library statically or dynamically with other modules is\nmaking a combined work based on this library. Thus, the terms and\nconditions of the GNU General Public License cover the whole\ncombination.\n\nAs a special exception, the copyright holders of this library give you\npermission to link this library with independent modules to produce an\nexecutable, regardless of the license terms of these independent\nmodules, and to copy and distribute the resulting executable under\nterms of your choice, provided that you also meet, for each linked\nindependent module, the terms and conditions of the license of that\nmodule. An independent module is a module which is not derived from\nor based on this library. If you modify this library, you may extend\nthis exception to your version of the library, but you are not\nobligated to do so. If you do not wish to do so, delete this\nexception statement from your version. */\n\n\n</template><template id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment" description\="Comment for created types" context\="typecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment" description\="Comment for fields" context\="fieldcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * \n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment" description\="Comment for non-overriding methods" context\="methodcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * ${tags}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment" description\="Comment for overriding methods" context\="overridecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype" description\="Newly created files" context\="newtype_context" enabled\="true" deleted\="false" autoinsert\="false">/* ${file_name} -- FIXME\: briefly describe file purpose\n Copyright (C) ${year} Free Software Foundation, Inc.\n\nThis file is part of GNU Classpath.\n\nGNU Classpath is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2, or (at your option)\nany later version.\n\nGNU Classpath is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with GNU Classpath; see the file COPYING. If not, write to the\nFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n02110-1301 USA.\n\nLinking this library statically or dynamically with other modules is\nmaking a combined work based on this library. Thus, the terms and\nconditions of the GNU General Public License cover the whole\ncombination.\n\nAs a special exception, the copyright holders of this library give you\npermission to link this library with independent modules to produce an\nexecutable, regardless of the license terms of these independent\nmodules, and to copy and distribute the resulting executable under\nterms of your choice, provided that you also meet, for each linked\nindependent module, the terms and conditions of the license of that\nmodule. An independent module is a module which is not derived from\nor based on this library. If you modify this library, you may extend\nthis exception to your version of the library, but you are not\nobligated to do so. If you do not wish to do so, delete this\nexception statement from your version. */\n\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock" description\="Code in new catch blocks" context\="catchblock_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody" description\="Code in created method stubs" context\="methodbody_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated method stub\n${body_statement}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody" description\="Code in created constructor stubs" context\="constructorbody_context" enabled\="true" deleted\="false" autoinsert\="true">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody" description\="Code in created getters" context\="getterbody_context" enabled\="true" deleted\="false" autoinsert\="true">return ${field};</template><template id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody" description\="Code in created setters" context\="setterbody_context" enabled\="true" deleted\="false" autoinsert\="true">${field} \= ${param};</template></templates>
......@@ -4,7 +4,8 @@ caught bugs or submitted minor patches. If your name does not appear
on either list, but should, let us know. Please keep this list in
alphabetic order.
Stuart Ballard (stuart.ballard@mcmail.com)
Lillian Angel (langel@redhat.com)
Stuart Ballard (stuart.a.ballard@gmail.com)
Mark Benvenuto (mcb54@columbia.edu)
Geoff Berry (gcb@gnu.org)
James E. Blair (corvus@gnu.org)
......@@ -12,8 +13,10 @@ Eric Blake (ebb9@email.byu.edu)
Sascha Brawer (brawer@acm.org)
Nic Ferrier (nferrier@tapsellferrier.co.uk)
Paul Fisher (rao@gnu.org)
David Gilbert (david.gilbert@object-refinery.com)
Anthony Green (green@redhat.com)
Jochen Hoenicke (Jochen.Hoenicke@Informatik.Uni-Oldenburg.de)
Andrew John Hughes (gnu_andrew@member.fsf.org)
Brian Jones (cbj@gnu.org)
Roman Kennke (roman@kennke.org)
Michael Koch (konqueror@gmx.de)
......@@ -25,6 +28,7 @@ Bryce McKinlay (bryce@waitaki.otago.ac.nz)
Audrius Meskauskas (audriusa@Bioinformatics.org)
Aaron M. Renn (arenn@urbanophile.com)
Andrew Selkirk (aselkirk@sympatico.ca)
Christian Thalinger (twisti@complang.tuwien.ac.at)
Tom Tromey (tromey@cygnus.com)
Ronald Veldema (rveldema@cs.vu.nl)
Mark Wielaard (mark@klomp.org)
......
......@@ -2,4 +2,4 @@ This package is still in the early development phase. That means too
early to start listing bugs in a file like this one!
Report bugs to classpath@gnu.org or much better via Savannah at this
URL: http://savannah.gnu.org/bugs/?group=classpath
URL: http://www.gnu.org/software/classpath/bugs.html
This source diff could not be displayed because it is too large. You can view the blob instead.
Installing GNU Classpath - Last updated: August 31, 2005
Installing GNU Classpath - Last updated: September 7, 2005
First, this is a development release only! Unless you are interested in
active development and debugging, or just like running random alpha code,
......@@ -31,12 +31,17 @@ Suggested Software
--with-jikes, --with-gcj, --with-ecj or --with-kjc as argument to
configure; the present default is gcj.
- GCJ 3.3+ (part of the GNU GCC package).
- GCJ 4.0+ (part of the GNU GCC package).
- IBM jikes 1.19+.
- Eclipse Compiler for Java 3.1+
- The kjc compiler is supported with configure but we have
been unable to successfully compile with it.
IMPORTANT: Versions of GCJ which are earlier than 4.0 contain
bugs which make it impossible to compile the class library and
are *not* supported any more. If you are stuck on a system where
GCC 3.x is the system compiler we recommend using Jikes.
For building the gtk+ AWT peer JNI native libraries, the following
are required unless --disable-gtk-peer is used as an argument to
configure.
......@@ -74,6 +79,29 @@ Suggested Software
- texinfo 4.2 or higher.
For building the ALSA midi provider code you will need
ALSA. http://www.alsa-project.org.
For building the DSSI midi synthesizer provider code you will
need DSSI from http://dssi.sourceforge.net. This, in turn,
introduces many dependencies, including:
- liblo: the Lightweight OSC implementation
http://plugin.org.uk/liblo/
- LADSPA: Linux Audio Developer's Simple Plugin API
http://www.ladspa.org
- the JACK Audio Connection Kit: A low latency audio server
http://jackit.sourceforge.net
- libsndfile: an audio file I/O library
http://www.mega-nerd.com/libsndfile/
- fluidsynth: a real-time SoundFont 2 based soft-synth
http://www.fluidsynth.org/
This package was designed to use the GNU standard for configuration
and makefiles. To build and install do the following:
......@@ -99,8 +127,7 @@ gives a complete list.
--enable-Werror whether to compile C code with -Werror which turns
any compiler warning into a compilation failure
default=no
--enable-xmlj compile native libxml/xslt library default=no
--with-gjdoc generate documentation using gjdoc default=no
--with-gjdoc generate documentation using gjdoc default=no
--with-jay Regenerate the parsers with jay must be given the
path to the jay executable
......
......@@ -284,3 +284,17 @@ All these files are distributed under the following terms:
shall not be used in advertising or otherwise to promote the sale, use
or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.
The file native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
contains two functions (get_port_default and set_control) derived from
example code in the DSSI distribution (http://dssi.sourceforge.net).
The original DSSI example code is distributed under the following
terms:
Copyright 2004 Chris Cannam, Steve Harris and Sean Bolton.
Permission to use, copy, modify, distribute, and sell this software
for any purpose is hereby granted without fee, provided that the
above copyright notice and this permission notice are included in
all copies or substantial portions of the software.
......@@ -11,7 +11,8 @@ native: lib
EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \
ChangeLog-2003 ChangeLog-2004 \
ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj
ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj \
autogen.sh
#DISTCHECK_CONFIGURE_FLAGS = --enable-gjdoc
......
......@@ -44,10 +44,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
ltmain.sh missing mkinstalldirs
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
......@@ -100,10 +98,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
......@@ -240,6 +242,7 @@ build_vendor = @build_vendor@
datadir = @datadir@
default_toolkit = @default_toolkit@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
......@@ -253,6 +256,7 @@ libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
......@@ -272,7 +276,8 @@ DIST_SUBDIRS = lib doc external include native resource scripts examples
ACLOCAL_AMFLAGS = -I m4 -I ../.. -I ../../config
EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \
ChangeLog-2003 ChangeLog-2004 \
ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj
ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj \
autogen.sh
all: all-recursive
......@@ -446,7 +451,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/../.. $(distdir)/../../config $(distdir)/examples $(distdir)/gnu/classpath $(distdir)/lib $(distdir)/m4 $(distdir)/scripts
$(mkdir_p) $(distdir)/../.. $(distdir)/examples $(distdir)/gnu/classpath $(distdir)/lib $(distdir)/m4 $(distdir)/scripts
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
......
New in release 0.20
Runtime interface changes:
* New method VMStackWalker.getClassLoader() was added to avoid an infinite
loop between getCallingClassLoader() and Class.getClassLoader().
New in release 0.19 (Nov 2, 2005)
* The Swing RepaintManager has been reworked for more efficient painting,
especially for large GUIs.
* The Swing layout manager OverlayLayout has been implemented, the BoxLayout
has been rewritten to make use of the SizeRequirements utility class and
caching for more efficient layout.
* Improved accessibility support for Swing.
* The java.net.HttpURLConnection implementation no longer buffers the
entire response body in memory. This means that response bodies
larger than available memory can now be handled.
* The Andrew Watson, Vice President and Technical Director of the Object
Management Group, has officially assigned us 20 bit Vendor Minor Code Id:
0x47430 ("GC") that will mark remote Classpath - specific system exceptions.
Obtaining the VMCID means that GNU Classpath now is a recogniseable type of
node in a highly interoperable CORBA world.
* Classpath now includes the first working draft to support the RMI over
IIOP protocol. The current implementation is capable for remote invocations,
transferring various Serializables and Externalizables via RMI-IIOP protocol.
It can flatten graphs and, at least for the simple cases, is interoperable
with Sun's jdk 1.5.
* Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X
users with a Qt4 installation can build the qt-peers with the argument
--with-qt4dir=<Qt4-installation-dir>.
* Significant progress has been made in the implementation of the
javax.swing.plaf.metal.* package, with most UI delegates in a working state
now. Please test this with your own applications and provide feedback that
will help us to improve this package.
* The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to
highlight various features in our free-swing implementation. And includes
a look and feel switcher (Metal default, Ocean or GNU).
Runtime interface changes:
* Changed implementation of VMClassLoader.getPackage(s) : new method
VMClassLoader.getBootPackages should be implemented by the vm, and sould
return a string array of boot package names ("java.lang", "java.net", ...).
Feedback from vm implementors for usability and relevance of the
getBootPackages method would be greatly appreciated.
New in release 0.18 (Sep 6, 2005)
* GNU JAWT implementation, the AWT Native Interface, which allows direct
......
......@@ -547,6 +547,39 @@ AC_DEFUN([AM_PROG_INSTALL_SH],
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# -*- Autoconf -*-
# Copyright (C) 2003 Free Software Foundation, Inc.
# This program 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.
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure.
# From Jim Meyering
......@@ -1053,10 +1086,8 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([../../config/depstand.m4])
m4_include([../../config/lead-dot.m4])
m4_include([../../config/no-executables.m4])
m4_include([../../libtool.m4])
m4_include([m4/acattribute.m4])
m4_include([m4/accross.m4])
m4_include([m4/acinclude.m4])
m4_include([m4/iconv.m4])
......
......@@ -16,7 +16,7 @@ LIBTOOLIZE=libtoolize
have_libtool=false
if ${LIBTOOLIZE} --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`${LIBTOOLIZE} --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
libtool_version=`${LIBTOOLIZE} --version | sed 's/^.*[^0-9.]\([0-9]\{1,\}\.[0-9.]\{1,\}\).*/\1/'`
case $libtool_version in
1.5*)
have_libtool=true
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,7 +6,7 @@ dnl -----------------------------------------------------------
dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl
AC_INIT([GNU Classpath],[0.18],[classpath@gnu.org],[classpath])
AC_INIT([GNU Classpath],[0.20-pre],[classpath@gnu.org],[classpath])
AC_CONFIG_SRCDIR(java/lang/System.java)
AC_CANONICAL_TARGET
......@@ -65,15 +65,15 @@ AC_ARG_ENABLE([core-jni],
[COMPILE_CORE_JNI=yes])
AM_CONDITIONAL(CREATE_CORE_JNI_LIBRARIES, test "x${COMPILE_CORE_JNI}" = xyes)
dnl -----------------------------------------------------------
dnl Whether to compile with -Werror or not (enabled by default)
dnl -----------------------------------------------------------
dnl ------------------------------------------------------------
dnl Whether to compile with -Werror or not (disabled by default)
dnl ------------------------------------------------------------
AC_ARG_ENABLE([Werror],
[AS_HELP_STRING(--disable-Werror,whether to compile C code with -Werror which turns any compiler warning into a compilation failure [default=no])],
[AS_HELP_STRING(--enable-Werror,whether to compile C code with -Werror which turns any compiler warning into a compilation failure [default=no])],
[case "${enableval}" in
yes) ENABLE_WERROR=yes ;;
no) ENABLE_WERROR=no ;;
*) ENABLE_WERROR=yes ;;
*) ENABLE_WERROR=no ;;
esac],
[ENABLE_WERROR=no])
......@@ -103,6 +103,32 @@ AC_ARG_ENABLE([xmlj],
AM_CONDITIONAL(CREATE_XMLJ_LIBRARY, test "x${COMPILE_XMLJ}" = xyes)
dnl -----------------------------------------------------------
dnl ALSA code (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([alsa],
[AS_HELP_STRING(--disable-alsa,compile ALSA providers (enable by --enable-alsa) [default=yes])],
[case "${enableval}" in
yes) COMPILE_ALSA=yes ;;
no) COMPILE_ALSA=no ;;
*) COMPILE_ALSA=yes ;;
esac],
[AC_CHECK_HEADERS([alsa/asoundlib.h],COMPILE_ALSA=yes,COMPILE_ALSA=no)])
AM_CONDITIONAL(CREATE_ALSA_LIBRARIES, test "x${COMPILE_ALSA}" = xyes)
dnl -----------------------------------------------------------
dnl DSSI code (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([dssi],
[AS_HELP_STRING(--disable-dssi,compile DSSI providers (enable by --enable-dssi) [default=yes])],
[case "${enableval}" in
yes) COMPILE_DSSI=yes ;;
no) COMPILE_DSSI=no ;;
*) COMPILE_DSSI=yes ;;
esac],
[AC_CHECK_HEADERS([dssi.h],COMPILE_DSSI=yes,COMPILE_DSSI=no)])
AM_CONDITIONAL(CREATE_DSSI_LIBRARIES, test "x${COMPILE_DSSI}" = xyes)
dnl -----------------------------------------------------------
dnl GTK native peer (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([gtk-peer],
......@@ -150,6 +176,35 @@ AC_ARG_ENABLE([qt-peer],
[COMPILE_QT_PEER=no])
AM_CONDITIONAL(CREATE_QT_PEER_LIBRARIES, test "x${COMPILE_QT_PEER}" = xyes)
dnl -----------------------------------------------------------
dnl Sets the native libraries installation dir
dnl -----------------------------------------------------------
AC_ARG_WITH([native-libdir],
[AS_HELP_STRING(--with-native-libdir,sets the installation directore for native libraries [default='${libdir}/${PACKAGE}'])],
[
nativelibdir=${withval}
],
[
nativelibdir='${libdir}/${PACKAGE}'
])
AC_SUBST(nativelibdir)
dnl -----------------------------------------------------------
dnl Sets the Java library installation dir.
dnl -----------------------------------------------------------
AC_ARG_WITH([glibj-dir],
[AS_HELP_STRING(--with-glibj-dir,sets the installation directory for glibj.zip [default='${libdir}/${PACKAGE}'])],
[
glibjdir=${withval}
],
[
glibjdir='${datadir}/${PACKAGE}'
])
AC_SUBST(glibjdir)
dnl -----------------------------------------------------------
dnl Regenerate headers at build time (disabled by default)
dnl -----------------------------------------------------------
......@@ -246,6 +301,7 @@ if test "x${COMPILE_JNI}" = xyes; then
[AC_MSG_RESULT(no)])])])
AC_C_CONST
AC_C_ATTRIBUTE
dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV
AM_ICONV
......@@ -286,45 +342,78 @@ if test "x${COMPILE_JNI}" = xyes; then
dnl Check for AWT related gthread/gtk
if test "x${COMPILE_GTK_PEER}" = xyes; then
AC_PATH_XTRA
if test "$no_x" = yes; then
AC_MSG_ERROR([GTK+ peers requested but no X library available])
fi
dnl We explicitly want the XTest Extension for Robot support.
AC_CHECK_LIB([Xtst], [XTestQueryExtension], [true],
[AC_MSG_ERROR([libXtst NOT found, required for GdkRobot])],
[${X_LIBS}])
PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4 gthread-2.0 >= 2.2 gdk-pixbuf-2.0)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
AC_PATH_XTRA
if test "$no_x" = yes; then
AC_MSG_ERROR([GTK+ peers requested but no X library available])
fi
dnl We explicitly want the XTest Extension for Robot support.
AC_CHECK_LIB([Xtst], [XTestQueryExtension], [true],
[AC_MSG_ERROR([libXtst NOT found, required for GdkRobot])],
[${X_LIBS}])
PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4 gthread-2.0 >= 2.2 gdk-pixbuf-2.0)
if test "x${enable_gtk_cairo}" = xyes; then
PKG_CHECK_MODULES(CAIRO, cairo >= 0.5.0)
fi
PKG_CHECK_MODULES(PANGOFT2, pangoft2)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
AC_SUBST(CAIRO_LIBS)
AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(PANGOFT2_LIBS)
AC_SUBST(PANGOFT2_CFLAGS)
fi
dnl Check for AWT related Qt4
if test "x${COMPILE_QT_PEER}" = xyes; then
PKG_CHECK_MODULES(QT, QtGui >= 4.0.1)
dnl Check needed because in some cases the QtGui includedir
dnl doesn't contain the subsystem dir.
QT_INCLUDE_DIR=$($PKG_CONFIG --variable=includedir QtGui)
EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt"
AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget],
AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]),
AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
AC_MSG_WARN([QWidget not found])))
PKG_CHECK_MODULES(QT, QtGui >= 4.0.1, HAVE_QT4="yes", HAVE_QT4="no")
if test "x$HAVE_QT4" = "xyes"; then
dnl Check needed because in some cases the QtGui includedir
dnl doesn't contain the subsystem dir.
QT_INCLUDE_DIR=$($PKG_CONFIG --variable=includedir QtGui)
EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt"
AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget],
AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]),
AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
AC_MSG_WARN([QWidget not found])))
AC_CHECK_PROG(MOC, [moc], [moc])
fi
if test "x$HAVE_QT4" = "xno"; then
AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config])
case "$host_os" in
darwin*)
AC_ARG_WITH([qt4dir],
[AS_HELP_STRING([--with-qt4dir=DIR],
[Qt4 installation directory used for OS-X.
For other systems use pkg-config.])],
[QT4DIR=$withval]
)
if test x"$QT4DIR" = x ; then
AC_MSG_ERROR([*** No path for Qt4 --with-qt4dir option given])
fi
AC_MSG_RESULT([QT4DIR... $QT4DIR])
AC_CHECK_PROG(MOC, [moc], [$QT4DIR/bin/moc], [], $QT4DIR/bin)
if test x"$MOC" = x; then
AC_MSG_ERROR([*** This is not the right Qt installation])
fi
QT_CFLAGS="-F$QT4DIR/lib -I$QT4DIR/lib/QtCore.framework/Headers"
QT_CFLAGS="$QT_CFLAGS -I$QT4DIR/lib/QtGui.framework/Headers"
QT_LIBS="-Xlinker -F$QT4DIR/lib -Xlinker -framework -Xlinker QtCore"
QT_LIBS="$QT_LIBS -Xlinker -framework -Xlinker QtGui"
;;
*)
AC_MSG_ERROR([*** Please check PKG_CONFIG_PATH or the version
of your installed Qt4 installation.])
;;
esac
fi
AC_MSG_NOTICE([Set QT_CFLAGS... $QT_CFLAGS])
AC_CHECK_PROG(MOC, [moc], [moc])
AC_SUBST(QT_CFLAGS)
AC_SUBST(QT_LIBS)
fi
if test "x${enable_gtk_cairo}" = xyes; then
PKG_CHECK_MODULES(CAIRO, cairo >= 0.5.0)
PKG_CHECK_MODULES(PANGOFT2, pangoft2)
fi
AC_SUBST(CAIRO_LIBS)
AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(PANGOFT2_LIBS)
AC_SUBST(PANGOFT2_CFLAGS)
fi
CLASSPATH_WITH_JAVAH
......@@ -493,6 +582,8 @@ native/jni/java-util/Makefile
native/jni/gtk-peer/Makefile
native/jni/qt-peer/Makefile
native/jni/xmlj/Makefile
native/jni/midi-alsa/Makefile
native/jni/midi-dssi/Makefile
native/target/Makefile
native/target/Linux/Makefile
native/target/generic/Makefile
......@@ -501,7 +592,9 @@ scripts/Makefile
scripts/classpath.spec
lib/Makefile
lib/gen-classlist.sh
lib/copy-vmresources.sh
examples/Makefile
examples/Makefile.jawt])
AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh])
AC_CONFIG_COMMANDS([copy-vmresources],[chmod 755 lib/copy-vmresources.sh])
AC_OUTPUT
......@@ -39,10 +39,8 @@ target_triplet = @target@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
......@@ -84,10 +82,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
......@@ -224,6 +226,7 @@ build_vendor = @build_vendor@
datadir = @datadir@
default_toolkit = @default_toolkit@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
......@@ -237,6 +240,7 @@ libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
......
......@@ -40,10 +40,8 @@ target_triplet = @target@
subdir = doc/api
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
......@@ -77,10 +75,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
......@@ -217,6 +219,7 @@ build_vendor = @build_vendor@
datadir = @datadir@
default_toolkit = @default_toolkit@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
......@@ -230,6 +233,7 @@ libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
......
#include "include/layout.wml"
<subject "GNU Classpath CORBA interoperability page">
<box>
<boxtitle>GNU Classpath::Object management group</boxtitle>
<boxitem>
This page is referenced from the official
<a href="http://doc.omg.org/vendor-tags">OMG Vendor tag list</a>,
maintained by the <a href = "http://www.corba.org/">OMG</a>.
It is is designed to help programmers debugging interoperation
with our ORB.
</boxitem>
<boxtitle>GNU Classpath::CORBA interoperability</boxtitle>
<boxitem>
<ol>
<li><a href="http://developer.classpath.org/mediation/CorbaInteroperability">
Interoperability information (system exception minor codes, etc).</a></li>
<li><a href="http://developer.classpath.org/doc/">GNU Classpath API Specification</a></li>
<li><a href="bugs.html">Bug database.</a></li>
<li>GNU Classpath CORBA vs:
<a href="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk12-classpath.html">JDK 1.2</a>
<a href="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk13-classpath.html">JDK 1.3</a>
<a href="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath.html">JDK 1.4</a>
(updated nightly)</li>
<li><a href="http://www.gnu.org/software/classpath/classpath.html">Project home page</a></li>
</ol>
Registered information
<ul>
<li>GNU Classpath Vendor Minor Code Id (VMCID) is 0x47430xxx
("GC\x00\x00" - "GC\x0f\xff").</li>
</ul>
</boxitem>
</box>
......@@ -35,6 +35,15 @@ page describing them in more detail:
</box>
<box>
<boxtitle><a name="Development">GNU Classpath::Tools::Downloads</a></boxtitle>
<boxitem>
At the moment there are only official releases of gjdoc on
<createlink url="ftp://ftp.gnu.org/gnu/classpath/" name="ftp.gnu.org"/>.
All other tools are available from CVS from the savannah project page below.
</boxitem>
</box>
<box>
<boxtitle><a name="Development">GNU Classpath::Tools::Development</a></boxtitle>
<boxitem>
GNU Classpath Tools is part of the GNU Classpath project which is hosted at
......
......@@ -77,10 +77,10 @@ sub mylink {
<download-block>
<download
date="15 July 2005"
version="0.17"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.17.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050715.html"
date="02 November 2005"
version="0.19"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.19.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20051102.html"
>
<!-- download
......@@ -100,6 +100,18 @@ sub mylink {
<download-block>
<download
date="06 September 2005"
version="0.18"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.18.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050906.html"
>
<download
date="15 July 2005"
version="0.17"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.17.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050715.html"
>
<download
date="30 June 2005"
version="0.16"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.16.tar.gz"
......
......@@ -36,7 +36,7 @@ obtained by looking at these resources.
<ul>
<li><createlink url="tasks.html" name="Task descriptions"></li>
<li>GNU Classpath vs: <createlink url="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk10-classpath.html" name="JDK 1.0"> <createlink url="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk11-classpath.html" name="JDK 1.1"> <createlink url="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk12-classpath.html" name="JDK 1.2"> <createlink url="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk13-classpath.html" name="JDK 1.3"> <createlink url="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath.html" name="JDK 1.4"> (updated nightly)</li>
<li>GNU Classpath <createlink url="http://ontographics.com/classpath/mauve/mauvereport.cgi" name="Mauve Results"></li>
<li>GNU Classpath <createlink url="http://www.object-refinery.com/classpath/mauve/report/" name="Mauve Results"></li>
</ul>
</p>
</boxitem>
......
......@@ -116,7 +116,7 @@
<menuitem><createlink name="CVS" url="http://savannah.gnu.org/cvs/?group=classpath"></menuitem>
<menutitle>Development</menutitle>
<menuitem><createlink name="Tasks" url="tasks.html"></menuitem>
<menuitem><createlink name="Tasks" url="http://developer.classpath.org/mediation/ClasspathOpenTasks"></menuitem>
<menuitem><createlink name="Docs" url="docs/docs.html"></menuitem>
<menuitem><createlink name="Testing" url="benchmarks.html#testing"></menuitem>
<menuitem><createlink name="Benchmarks" url="benchmarks.html#benchmarks"></menuitem>
......
<newsitem date="02 Nov 2005">
<createlink name="GNU Classpath 0.19"
url="announce/20051102.html">
</newsitem>
<newsitem date="06 Sep 2005">
<createlink name="GNU Classpath 0.18"
url="announce/20050906.html">
</newsitem>
<newsitem date="03 Aug 2005">
<createlink name="Generics Branch Merge Announcement"
url="http://lists.gnu.org/archive/html/classpath/2005-08/msg00002.html">
......
#include "include/layout.wml"
<html>
<head>
<title>GNU Classpath Tasklist - GNU Project - Free Software Foundation (FSF)</title>
<META HTTP-EQUIV="Refresh"
CONTENT="0; URL=http://developer.classpath.org/mediation/ClasspathOpenTasks">
</head>
<body>
This page has moved. If your browser doesn't automatically redirect to
its new location, click
<a href="http://developer.classpath.org/mediation/ClasspathOpenTasks">
http://developer.classpath.org/mediation/ClasspathOpenTasks</a>.
</body>
</html>
##
#
# Special Tags
#
# <task
# title="task title"
# contact="contact person"
# skills="..."
# estimation="..."
# >
# ... task description ...
# </task>
# the task counter
#
<set-var __TASKSEQCNT=1>
<define-tag task-section endtag=required>
<preserve name>
<set-var %attributes>
{#TASKINDEX#:
<boxitem>
<!---boxtitle--->
<strong><get-var __TASKSEQCNT>. <get-var name></strong> <br>
<!---/boxtitle--->
:#TASKINDEX#}
<boxtitle><get-var __TASKSEQCNT>. <get-var name></boxtitle>
<set-var __TASKCNT=1>
%body
{#TASKINDEX#:
</boxitem>
<br>
:#TASKINDEX#}
<increment __TASKSEQCNT>
<restore name>
</define-tag>
<define-tag task endtag=required>
<preserve title>
<preserve contact>
<preserve skills>
<preserve estimation>
<set-var %attributes>
{#TASKINDEX#:
<!---strong--><a href="tasks.html#task<get-var __TASKSEQCNT>_<get-var __TASKCNT>"><get-var __TASKSEQCNT>.<get-var __TASKCNT> <get-var title></a><!---/strong--> (<get-var estimation>)<br>
:#TASKINDEX#}
<boxitem>
<h3><a name="task<get-var __TASKSEQCNT>_<get-var __TASKCNT>"><get-var __TASKSEQCNT>.<get-var __TASKCNT> <get-var title></a></h3>
<table border="0">
<tr><td valign="top"><strong>Description:</strong></td><td>%body</td></tr>
<tr><td><strong>Skills:</strong></td><td><get-var skills></td></tr>
<tr><td><strong>Estimated time:</strong></td><td><get-var estimation></td></tr>
<tr><td><strong>Contact person:</strong></td><td><get-var contact></td></tr>
</table>
</boxitem>
<increment __TASKCNT>
<restore estimation>
<restore skills>
<restore contact>
<restore title>
</define-tag>
<define-tag sb>
Sascha Brawer
</define-tag>
<define-tag mw>
Mark Wielaard
</define-tag>
<define-tag pr>
Patrik Reali
</define-tag>
<define-tag cm>
Casey Marshall
</define-tag>
<define-tag dt>
Dalibor Topic
</define-tag>
<define-tag mk>
Michael Koch
</define-tag>
<set-var last-modified-author="prk">
<subject "GNU Classpath Tasklist">
<h1>GNU Classpath Tasklist</h1>
<box>
<boxitem>
This list is a collection of tasks for helping GNU Classpath's progress. They are a good starting point if you would like to help in producing a complete and high-quality free Java implementation.
<p>Another source of inspiration are GNU Classpath's <createlink name="task list" url="http://savannah.gnu.org/pm/?group=classpath"> and <createlink name="patch list" url="http://savannah.gnu.org/patch/?group=classpath"> on Savannah, though these are usually meant for the project members.
</boxitem>
<boxtitle>Index</boxtitle>
{#TASKINDEX#}
<task-section name="Graphics">
<task
title="javax.imageio"
estimation="2 weeks"
skills=""
contact="<sb> or <mk>"
>
Write an implementation of the javax.imageio framework.
</task>
<task
title="Constructive Area Geometry"
estimation="6 weeks (?)."
skills="Computational geometry skills"
contact="<sb>"
>
Implement java.awt.geom.Area. This would be useful for some
graphics applications.
</task>
<task
title="Composite Contexts"
estimation="2 days for each operator"
skills="It helps if you are familiar with the java.awt.image framework."
contact="<sb>"
>
Implement some CompositeContexts for Porter/Duff operators on raster
images. This would be useful for supporting 2D graphics. See
java.awt.AlphaComposite and its createContext method.
</task>
</task-section>
<task-section name="CORBA">
<task
title="Help with CORBA implementation"
estimation="This depends on the sub-task you pick."
skills="Know or be ready to read the OMG documentation."
contact="Audrius Meskauskas"
>
The CORBA implementation in the Classpath project is
now a working but incomplete prototype. A number of CORBA
related tasks are available. If you are not a CORBA expert, you should be ready
to learn by reading the <createlink name="OMG specifications"
url="http://www.omg.org/cgi-bin/doc?formal/04-03-12"> and probably by writing some
relatively simple classes.
</task>
</task-section>
<task-section name="Testing">
<task
title="Make Mauve an application"
estimation=""
skills=""
contact="<pr>"
>
On some environments, it is not possible to run shell scripts
because there is no shell. Make the Mauve test suite a self-contained
application (one big JAR file).
</task>
<task
title="Write Mauve tests"
estimation=""
skills=""
contact="<mw>"
>
Write Mauve tests.
</task>
<task
title="Mauve tests for javax.image.io"
estimation="1 week"
skills=""
contact="<sb>"
>
<p>Write Mauve tests for reading in images. You could use the test images
at libpng.org and write Mauve testlets that load each image from
a file. Compute a hash (such as SHA-1) over the contents of the
DataBuffer. If the hash matches, the test succeeds.
</p><p>
Note that we don't have javax.imageio yet, so you'd have to develop
this with the Sun JDK.
</p>
</task>
<task
title="Generator for Mauve tests"
estimation="2 weeks (prototype) + 2 weeks (tuning)"
skills=""
contact="<dt>"
>
Write a program which automatically generates basic Mauve tests.
</task>
</task-section>
<task-section name="Automation">
<task
title="Script for running regression tests"
estimation="1 week"
skills="???"
contact=""
>
Write a script that once a night checks out Classpath from cvs,
compiles it, runs the Mauve test suite (also from cvs) on it
using some free JVM (e.g. Kissme), and posts the results to
some web site. For comparison, it would be very helpful if the
same Mauve testlets were also run with a current Sun JVM.
</task>
<task
title="Integrate Classpath testsuite into Mauve"
estimation=""
skills=""
contact="<mw>"
>
Classpath has a rather small number of tests in the subdirectories
test/ and testsuite/. Look through these tests and check whether the
same functionality is already tested by Mauve. If not, write a
Mauve testlet and submit it to mauve-patches@sources.redhat.com <mailto:mauve-patches@sources.redhat.com>.
The goal is to remove the test suite from Classpath.
</task>
<task
title="Script for running Japitools"
estimation="1 week"
skills=""
contact="???"
>
Write a script that once a night checks out Classpath from cvs,
runs Japitools on it, and posts the results on some web site.
</task>
<task
title="Script for running gjdoc"
estimation="1 week"
skills=""
contact=""
>
Write a script that once a night checks out Classpath from cvs,
runs gjdoc on it, and posts the generated documentation on some
web site. While you're at it, fix gjdoc so it copies embedded
documentation images (classpath-tools support request #102205).
</task>
<task
title="JAR file verification"
estimation=""
skills=""
contact="<mw>"
>
</task>
</task-section>
<task-section name="Native stuff">
<task
title="Libiconv Service Provider for java.nio.charset"
estimation="2 weeks"
skills=""
contact=""
>Write a service provider for java.nio.charset that uses the
libiconv library for converting character encodings to and
from UTF-16. This would be a first step for replacing
gnu.java.io.EncodingManager by the java.nio.charset framework,
which is richer and not specific to Classpath.
</task>
</task-section>
<task-section name="Security">
<task
title="Security Audit"
estimation=""
skills=""
contact=""
>We need to make a pass over the Classpath Java source, making sure
that all required calls to the SecurityManager are in place. At the same
time we need to ensure that there is no way to get around
SecurityManager by directly calling code in gnu.*.
</task>
<task
title="Security Testing"
estimation=""
skills=""
contact=""
>We need Mauve tests for all the calls to SecurityManager.
Additionally, enabling a security manager will probably reveal
code in Classpath that needs to be wrapped in AccessController.doPrivileged().
</task>
</task-section>
<task-section name="Related Projects">
<task
title="Help GNU Crypto"
estimation=""
skills=""
contact="<cm>"
>
</task>
<task
title="Help Classpath-x"
estimation=""
skills=""
contact=""
>
??? (maybe this should be more specific, e.g. "Write an
IMAP plug-in for javax.mail on top of inetlib" (if they want
this at all)
</task-section>
</box>
......@@ -41,10 +41,8 @@ subdir = examples
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.jawt.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
......@@ -86,10 +84,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
......@@ -226,6 +228,7 @@ build_vendor = @build_vendor@
datadir = @datadir@
default_toolkit = @default_toolkit@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
......@@ -239,6 +242,7 @@ libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
......
......@@ -73,7 +73,7 @@ import org.omg.CosNaming.NamingContextHelper;
*/
public class Demo
{
public static void main(final String[] args)
public static void main(String[] an_args)
{
// We create the following naming graph:
// <ROOT CONTEXT>
......@@ -90,6 +90,8 @@ public class Demo
System.out.println("Starting the GNU Classpath " +
"built-in transient naming service"
);
final String[] args = an_args;
new Thread()
{
......
......@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.classpath.examples.CORBA.SimpleCommunication;
import java.io.File;
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.DirectTest;
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.RequestTest;
......@@ -61,23 +63,34 @@ public class Demo
{
public static void main(final String[] args)
{
File ior = new File("IOR.txt");
if (ior.exists())
ior.delete();
// Start the server.
new Thread()
{
public void run()
{
comServer.start_server(args);
DemoServer.start_server(args);
}
}.start();
System.out.println("Waiting for three seconds for the server to start...");
// Pause some time for the server to start.
try {
Thread.sleep(3000);
}
catch (InterruptedException ex) {
}
System.out.print("Waiting for the server to start ");
while (!ior.exists())
{
// Pause some time for the server to start.
try
{
Thread.sleep(200);
}
catch (InterruptedException ex)
{
}
System.out.print(".");
}
System.out.println("ok.");
System.out.println();
// Test the stream oriented communication.
DirectTest.main(args);
......
/* comServer.java --
/* DemoServer.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -38,7 +38,7 @@ exception statement from your version. */
package gnu.classpath.examples.CORBA.SimpleCommunication;
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.comServant;
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.DemoServant;
import org.omg.CORBA.ORB;
......@@ -47,7 +47,7 @@ import java.io.PrintStream;
/**
* This is the server class that handles the client requests,
* delegating the functionality to the {@link comServant}.
* delegating the functionality to the {@link DemoServant}.
*
* When starting, the server writes the IOR.txt file into the current
* folder. With the information, stored in this file, the server
......@@ -62,7 +62,7 @@ import java.io.PrintStream;
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public class comServer
public class DemoServer
{
public static void main(String[] args)
......@@ -78,7 +78,7 @@ public class comServer
final ORB orb = org.omg.CORBA.ORB.init(args, null);
// Create the servant and register it with the ORB.
comServant tester = new comServant();
DemoServant tester = new DemoServant();
orb.connect(tester);
// Storing the IOR reference.
......
/* comServant.java --
/* DemoServant.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -45,12 +45,6 @@ import org.omg.CORBA.DoubleHolder;
import org.omg.CORBA.ShortHolder;
import org.omg.CORBA.StringHolder;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.PrintStream;
/**
* This class handles the actual server functionality in this test
* application. When the client calls the remote method, this
......@@ -62,8 +56,8 @@ import java.io.PrintStream;
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public class comServant
extends _comTesterImplBase
public class DemoServant
extends _DemoTesterImplBase
{
/**
* The field, that can be set and checked by remote client.
......@@ -129,7 +123,7 @@ public class comServant
/**
* Accept and return the structures.
*/
public returnThis passStructure(passThis in_structure)
public StructureToReturn passStructure(StructureToPass in_structure)
{
System.out.println("SERVER: ***** Transferring structures");
System.out.println("SERVER: Received " + in_structure.a + ":" +
......@@ -137,7 +131,7 @@ public class comServant
);
// Create and send back the returned structure.
returnThis r = new returnThis();
StructureToReturn r = new StructureToReturn();
r.c = in_structure.a + in_structure.b;
r.n = 555;
r.arra = new int[] { 11, 22, 33 };
......@@ -147,14 +141,14 @@ public class comServant
/**
* Pass and return the tree structure
*/
public void passTree(nodeHolder tree)
public void passTree(TreeNodeHolder tree)
{
System.out.println("SERVER: ***** Transferring tree");
StringBuffer b = new StringBuffer();
// This both creates the tree string representation
// and changes the node names.
// and changes the TreeNode names.
getImage(b, tree.value);
System.out.println("SERVER: The tree was: " + b + ", returning changed.");
}
......@@ -190,11 +184,11 @@ public class comServant
*
* @param parameter specifies which exception will be thrown.
*
* @throws ourUserException for the non negative parameter.
* @throws WeThrowThisException for the non negative parameter.
* @throws BAD_OPERATION for the negative parameter.
*/
public void throwException(int parameter)
throws ourUserException
throws WeThrowThisException
{
System.out.println("SERVER: ***** Testing exceptions");
if (parameter > 0)
......@@ -202,7 +196,7 @@ public class comServant
System.out.println("SERVER: Throwing the user exception, " +
"specific field = "+parameter
);
throw new ourUserException(parameter);
throw new WeThrowThisException(parameter);
}
else
{
......@@ -215,12 +209,12 @@ public class comServant
/**
* Visit all tree nodes, getting the string representation
* and adding '++' to the node names.
* and adding '++' to the TreeNode names.
*
* @param b the buffer to collect the string representation.
* @param n the rott tree node.
* @param n the rott tree TreeNode.
*/
private void getImage(StringBuffer b, node n)
private void getImage(StringBuffer b, TreeNode n)
{
b.append(n.name);
n.name = n.name + "++";
......
/* comTester.java --
/* DemoTester.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -45,12 +45,12 @@ import org.omg.CORBA.StringHolder;
/**
* The interface of our remote object. Some IDL compiles split it
* into "comTester" and "comTesterOperations", but we do not see
* into "DemoTester" and "comTesterOperations", but we do not see
* much sense in doing this here.
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public interface comTester
public interface DemoTester
{
/**
* Passes wide (UTF-16) string and narrow (ISO8859_1) string.
......@@ -77,14 +77,14 @@ public interface comTester
/**
* Passes and returns the structures.
*/
returnThis passStructure(passThis in_structure);
StructureToReturn passStructure(StructureToPass in_structure);
/**
* Pass and return the tree structure
*
* @param tree the root node of the tree.
* @param tree the root TreeNode of the tree.
*/
void passTree(nodeHolder tree);
void passTree(TreeNodeHolder tree);
/**
* Just prints the "Hello" message.
......@@ -102,10 +102,10 @@ public interface comTester
void theField(int newTheField);
/**
* Throws either 'ourUserException' with the 'ourField' field
* Throws either 'WeThrowThisException' with the 'ourField' field
* initialised to the passed positive value
* or system exception (if the parameter is zero or negative).
*/
void throwException(int parameter)
throws ourUserException;
throws WeThrowThisException;
}
......@@ -57,7 +57,7 @@ import java.io.IOException;
* where the program has been started.
*
* The IOR.txt file is written by the server
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.comServer}.
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.DemoServer}.
* The server should be reachable over Internet, unless blocked by
* security tools.
*
......@@ -83,7 +83,7 @@ public class DirectTest
/**
* The invocation target.
*/
comTester object;
DemoTester object;
/**
* Get the object reference.
......@@ -102,7 +102,7 @@ public class DirectTest
String ior = new String(c);
DirectTest we = new DirectTest();
we.object = (comTester) orb.string_to_object(ior);
we.object = (DemoTester) orb.string_to_object(ior);
we.Demo();
orb.shutdown(false);
}
......@@ -199,11 +199,11 @@ public class DirectTest
{
System.out.println("***** Pass structure");
passThis arg = new passThis();
StructureToPass arg = new StructureToPass();
arg.a = "A";
arg.b = "B";
returnThis r = object.passStructure(arg);
StructureToReturn r = object.passStructure(arg);
System.out.println(" Fields of the returned structure:");
......@@ -257,15 +257,15 @@ public class DirectTest
// +-- bb
System.out.println("***** Pass and return the tree.");
node n = nod("Root");
TreeNode n = nod("Root");
n.children = new node[] { nod("a"), nod("b") };
n.children [ 1 ].children = new node[] { nod("ba"), nod("bb") };
n.children [ 1 ].children [ 0 ].children = new node[] { nod("bac") };
n.children = new TreeNode[] { nod("a"), nod("b") };
n.children [ 1 ].children = new TreeNode[] { nod("ba"), nod("bb") };
n.children [ 1 ].children [ 0 ].children = new TreeNode[] { nod("bac") };
nodeHolder nh = new nodeHolder(n);
TreeNodeHolder nh = new TreeNodeHolder(n);
// The server should add '++' to each node name.
// The server should add '++' to each TreeNode name.
object.passTree(nh);
// Convert the returned tree to some strig representation.
......@@ -288,7 +288,7 @@ public class DirectTest
object.throwException(123);
throw new InternalError();
}
catch (ourUserException uex)
catch (WeThrowThisException uex)
{
System.out.println(" The user exception with field " + uex.ourField +
", has been thrown on remote side."
......@@ -312,9 +312,9 @@ public class DirectTest
/**
* Get the string representation of the passed tree.
* @param b the string buffer to accumulate the representation.
* @param n the tree (root node).
* @param n the tree (root TreeNode).
*/
private void getImage(StringBuffer b, node n)
private void getImage(StringBuffer b, TreeNode n)
{
b.append(n.name);
b.append(": (");
......@@ -328,15 +328,15 @@ public class DirectTest
}
/**
* Create a node with the given header.
* Create a TreeNode with the given header.
*
* @param hdr the node header.
* @return the created node.
* @param hdr the TreeNode header.
* @return the created TreeNode.
*/
private node nod(String hdr)
private TreeNode nod(String hdr)
{
node n = new node();
n.children = new node[ 0 ];
TreeNode n = new TreeNode();
n.children = new TreeNode[ 0 ];
n.name = hdr;
return n;
......
/* RequestTest.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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 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 gnu.classpath.examples.CORBA.SimpleCommunication.communication;
......@@ -7,14 +43,10 @@ import java.io.FileReader;
import java.io.IOException;
import org.omg.CORBA.BAD_OPERATION;
import org.omg.CORBA.ByteHolder;
import org.omg.CORBA.DoubleHolder;
import org.omg.CORBA.ExceptionList;
import org.omg.CORBA.NVList;
import org.omg.CORBA.ORB;
import org.omg.CORBA.Request;
import org.omg.CORBA.ShortHolder;
import org.omg.CORBA.StringHolder;
import org.omg.CORBA.TCKind;
import org.omg.CORBA.UnknownUserException;
......@@ -25,7 +57,7 @@ import org.omg.CORBA.UnknownUserException;
* where the program has been started.
*
* The IOR.txt file is written by the server
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.comServer}.
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.DemoServer}.
* The server should be reachable over Internet, unless blocked by
* security tools.
*
......@@ -106,7 +138,6 @@ public class RequestTest
throw new InternalError();
}
testSystemException();
testUserException();
testWideNarrowStrings();
}
......@@ -135,13 +166,6 @@ public class RequestTest
Request r =
object._create_request(null, "passSimple", orb.create_list(0), null);
ByteHolder a_byte = new ByteHolder((byte) 0);
ShortHolder a_short = new ShortHolder((short) 3);
StringHolder a_string = new StringHolder("[string 4]");
// This is an 'out' parameter; the value must not be passed to servant.
DoubleHolder a_double = new DoubleHolder(56.789);
r.add_inout_arg().insert_octet((byte) 0);
r.add_in_arg().insert_long(2);
r.add_inout_arg().insert_short((short) 3);
......@@ -188,7 +212,7 @@ public class RequestTest
try
{
ExceptionList exList = orb.create_exception_list();
exList.add(ourUserExceptionHelper.type());
exList.add(WeThrowThisExceptionHelper.type());
Request rq =
object._create_request(null, "throwException", orb.create_list(1),
......@@ -217,7 +241,7 @@ public class RequestTest
System.out.println("**** Test user exception:");
ExceptionList exList = orb.create_exception_list();
exList.add(ourUserExceptionHelper.type());
exList.add(WeThrowThisExceptionHelper.type());
Request rq =
object._create_request(null, "throwException", orb.create_list(1), null,
......@@ -228,7 +252,7 @@ public class RequestTest
rq.invoke();
UnknownUserException uku = (UnknownUserException) rq.env().exception();
ourUserException our_exception = ourUserExceptionHelper.extract(uku.except);
WeThrowThisException our_exception = WeThrowThisExceptionHelper.extract(uku.except);
System.out.println(" Our user exception, field " + our_exception.ourField +
", has been thrown on remote side."
......
/* passThis.java --
/* StructureToPass.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -44,9 +44,14 @@ package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public class passThis
public class StructureToPass
implements org.omg.CORBA.portable.IDLEntity
{
/**
* Use serialVersionUID for interoperability.
*/
private static final long serialVersionUID = 1;
/**
* The first string, stored in this structure (defined as
* "narrow string").
......
/* passThisHelper.java --
/* StructureToPassHelper.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -38,7 +38,6 @@ exception statement from your version. */
package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
import org.omg.CORBA.Any;
import org.omg.CORBA.ORB;
import org.omg.CORBA.StructMember;
import org.omg.CORBA.TypeCode;
......@@ -46,17 +45,17 @@ import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;
/**
* The helper operations for the {@link passThis}.
* The helper operations for the {@link StructureToPass}.
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public abstract class passThisHelper
public abstract class StructureToPassHelper
{
/**
* The repository ID of the {@link passThis}.
* The repository ID of the {@link StructureToPass}.
*/
private static String id =
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/passThis:1.0";
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToPass:1.0";
/**
* Get the repository id.
......@@ -69,9 +68,9 @@ public abstract class passThisHelper
/**
* Read the structure from the CDR stram.
*/
public static passThis read(InputStream istream)
public static StructureToPass read(InputStream istream)
{
passThis value = new passThis();
StructureToPass value = new StructureToPass();
value.a = istream.read_string();
value.b = istream.read_wstring();
return value;
......@@ -88,13 +87,13 @@ public abstract class passThisHelper
members [ 0 ] = new StructMember("a", member, null);
member = ORB.init().create_string_tc(0);
members [ 1 ] = new StructMember("b", member, null);
return ORB.init().create_struct_tc(passThisHelper.id(), "passThis", members);
return ORB.init().create_struct_tc(StructureToPassHelper.id(), "StructureToPass", members);
}
/**
* Write the structure into the CDR stream.
*/
public static void write(OutputStream ostream, passThis value)
public static void write(OutputStream ostream, StructureToPass value)
{
ostream.write_string(value.a);
ostream.write_wstring(value.b);
......
......@@ -6,32 +6,32 @@ import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;
import org.omg.CORBA.portable.Streamable;
public final class passThisHolder
public final class StructureToPassHolder
implements Streamable
{
public passThis value;
public StructureToPass value;
public passThisHolder()
public StructureToPassHolder()
{
}
public passThisHolder(passThis initialValue)
public StructureToPassHolder(StructureToPass initialValue)
{
value = initialValue;
}
public void _read(InputStream i)
{
value = passThisHelper.read(i);
value = StructureToPassHelper.read(i);
}
public org.omg.CORBA.TypeCode _type()
{
return passThisHelper.type();
return StructureToPassHelper.type();
}
public void _write(OutputStream o)
{
passThisHelper.write(o, value);
StructureToPassHelper.write(o, value);
}
}
/* returnThis.java --
/* StructureToReturn.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -44,9 +44,14 @@ import org.omg.CORBA.portable.IDLEntity;
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public class returnThis
public class StructureToReturn
implements IDLEntity
{
/**
* Use serialVersionUID for interoperability.
*/
private static final long serialVersionUID = 1;
/**
* The string field.
*/
......
/* returnThisHelper.java --
/* StructureToReturnHelper.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -37,7 +37,6 @@ exception statement from your version. */
package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
import org.omg.CORBA.Any;
import org.omg.CORBA.ORB;
import org.omg.CORBA.StructMember;
import org.omg.CORBA.TCKind;
......@@ -46,17 +45,17 @@ import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;
/**
* This class defines the helper operations for {@link returnThis}.
* This class defines the helper operations for {@link StructureToReturn}.
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public abstract class returnThisHelper
public abstract class StructureToReturnHelper
{
/**
* The repository id.
*/
private static String _id =
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/returnThis:1.0";
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToReturn:1.0";
/**
* Return the repository id.
......@@ -69,9 +68,9 @@ public abstract class returnThisHelper
/**
* Read the structure from the CDR stream.
*/
public static returnThis read(InputStream istream)
public static StructureToReturn read(InputStream istream)
{
returnThis value = new returnThis();
StructureToReturn value = new StructureToReturn();
value.n = istream.read_long();
value.c = istream.read_wstring();
value.arra = new int[ 3 ];
......@@ -95,7 +94,7 @@ public abstract class returnThisHelper
member = ORB.init().get_primitive_tc(TCKind.tk_long);
member = ORB.init().create_array_tc(3, member);
members [ 2 ] = new StructMember("arra", member, null);
return ORB.init().create_struct_tc(returnThisHelper.id(), "returnThis",
return ORB.init().create_struct_tc(StructureToReturnHelper.id(), "StructureToReturn",
members
);
}
......@@ -103,7 +102,7 @@ public abstract class returnThisHelper
/**
* Write the structure to the CDR stream.
*/
public static void write(OutputStream ostream, returnThis value)
public static void write(OutputStream ostream, StructureToReturn value)
{
ostream.write_long(value.n);
ostream.write_wstring(value.c);
......
......@@ -10,25 +10,25 @@ import org.omg.CORBA.portable.Streamable;
/**
* The holder for the structure, returned from the server.
*/
public final class returnThisHolder
public final class StructureToReturnHolder
implements Streamable
{
/**
* The enclosed structure.
*/
public returnThis value = null;
public StructureToReturn value = null;
/**
* Create the empty holder.
*/
public returnThisHolder()
public StructureToReturnHolder()
{
}
/**
* Crate the holder with the defined initial value.
*/
public returnThisHolder(returnThis initialValue)
public StructureToReturnHolder(StructureToReturn initialValue)
{
value = initialValue;
}
......@@ -38,7 +38,7 @@ public final class returnThisHolder
*/
public void _read(InputStream in)
{
value = returnThisHelper.read(in);
value = StructureToReturnHelper.read(in);
}
/**
......@@ -46,7 +46,7 @@ public final class returnThisHolder
*/
public TypeCode _type()
{
return returnThisHelper.type();
return StructureToReturnHelper.type();
}
/**
......@@ -55,6 +55,6 @@ public final class returnThisHolder
*/
public void _write(OutputStream out)
{
returnThisHelper.write(out, value);
StructureToReturnHelper.write(out, value);
}
}
/* node.java --
/* TreeNode.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -44,12 +44,17 @@ package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
*
* @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
*/
public class node
public class TreeNode
implements org.omg.CORBA.portable.IDLEntity
{
/** The node name */
/**
* Use serialVersionUID for interoperability.
*/
private static final long serialVersionUID = 1;
/** The TreeNode name */
public String name = null;
/** The node children. */
public node[] children = null;
/** The TreeNode children. */
public TreeNode[] children = null;
}
/* nodeHelper.java --
/* TreeNodeHelper.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -51,13 +51,13 @@ import org.omg.CORBA.portable.OutputStream;
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public abstract class nodeHelper
public abstract class TreeNodeHelper
{
/**
* The node repository id, used to identify the structure.
* The TreeNode repository id, used to identify the structure.
*/
private static String _id =
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/node:1.0";
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/TreeNode:1.0";
/**
* Caches the typecode, allowing to compute it only once.
......@@ -66,21 +66,21 @@ public abstract class nodeHelper
/**
* This is used to handle the recursive object references in
* CORBA - supported way. The tree node definition is recursive,
* as the node contains the sequence of the nodes as its field.
* CORBA - supported way. The tree TreeNode definition is recursive,
* as the TreeNode contains the sequence of the nodes as its field.
*/
private static boolean active;
/**
* Extract the tree node from the unversal CORBA wrapper, Any.
* Extract the tree TreeNode from the unversal CORBA wrapper, Any.
*/
public static node extract(Any a)
public static TreeNode extract(Any a)
{
return read(a.create_input_stream());
}
/**
* Get the node string identifer.
* Get the TreeNode string identifer.
*/
public static String id()
{
......@@ -88,9 +88,9 @@ public abstract class nodeHelper
}
/**
* Insert the node into the universal CORBA wrapper, Any.
* Insert the TreeNode into the universal CORBA wrapper, Any.
*/
public static void insert(Any a, node that)
public static void insert(Any a, TreeNode that)
{
OutputStream out = a.create_output_stream();
a.type(type());
......@@ -99,22 +99,22 @@ public abstract class nodeHelper
}
/**
* Read the node from the common data reprentation (CDR) stream.
* Read the TreeNode from the common data reprentation (CDR) stream.
*/
public static node read(InputStream istream)
public static TreeNode read(InputStream istream)
{
node value = new node();
TreeNode value = new TreeNode();
value.name = istream.read_string();
int _len0 = istream.read_long();
value.children = new node[ _len0 ];
value.children = new TreeNode[ _len0 ];
for (int i = 0; i < value.children.length; ++i)
value.children [ i ] = nodeHelper.read(istream);
value.children [ i ] = TreeNodeHelper.read(istream);
return value;
}
/**
* Get the node type code definition.
* Get the TreeNode type code definition.
*/
public static synchronized TypeCode type()
{
......@@ -131,7 +131,7 @@ public abstract class nodeHelper
return ORB.init().create_recursive_tc(_id);
active = true;
// List all memebers of the node structure.
// List all memebers of the TreeNode structure.
StructMember[] members = new StructMember[ 2 ];
TypeCode memberType;
memberType = ORB.init().create_string_tc(0);
......@@ -139,7 +139,7 @@ public abstract class nodeHelper
memberType = ORB.init().create_recursive_tc("");
members [ 1 ] = new StructMember("children", memberType, null);
typeCode =
ORB.init().create_struct_tc(nodeHelper.id(), "node", members);
ORB.init().create_struct_tc(TreeNodeHelper.id(), "TreeNode", members);
active = false;
}
}
......@@ -148,13 +148,13 @@ public abstract class nodeHelper
}
/**
* Write the node into the common data reprentation (CDR) stream.
* Write the TreeNode into the common data reprentation (CDR) stream.
*/
public static void write(OutputStream ostream, node value)
public static void write(OutputStream ostream, TreeNode value)
{
ostream.write_string(value.name);
ostream.write_long(value.children.length);
for (int i = 0; i < value.children.length; ++i)
nodeHelper.write(ostream, value.children [ i ]);
TreeNodeHelper.write(ostream, value.children [ i ]);
}
}
/* nodeHolder.java --
/* TreeNodeHolder.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -44,57 +44,57 @@ import org.omg.CORBA.portable.OutputStream;
import org.omg.CORBA.portable.Streamable;
/**
* The node holder is a wrapper about the node data structure. It
* can be used where the node must be passed both to and from
* The TreeNode holder is a wrapper about the TreeNode data structure. It
* can be used where the TreeNode must be passed both to and from
* the method being called. The same structure holds the tree,
* as it can be represented as a root node with children.
* as it can be represented as a root TreeNode with children.
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public class nodeHolder
public class TreeNodeHolder
implements Streamable
{
/**
* Stores the node value.
* Stores the TreeNode value.
*/
public node value;
public TreeNode value;
/**
* Creates the node holder with the null initial value.
* Creates the TreeNode holder with the null initial value.
*/
public nodeHolder()
public TreeNodeHolder()
{
}
/**
* Creates the node holder with the given initial value.
* Creates the TreeNode holder with the given initial value.
*/
public nodeHolder(node initialValue)
public TreeNodeHolder(TreeNode initialValue)
{
value = initialValue;
}
/**
* Reads the node value from the common data representation (CDR)
* Reads the TreeNode value from the common data representation (CDR)
* stream.
*/
public void _read(InputStream in)
{
value = nodeHelper.read(in);
value = TreeNodeHelper.read(in);
}
/**
* Writes the node value into common data representation (CDR)
* Writes the TreeNode value into common data representation (CDR)
* stream.
* @return
*/
public TypeCode _type()
{
return nodeHelper.type();
return TreeNodeHelper.type();
}
public void _write(OutputStream out)
{
nodeHelper.write(out, value);
TreeNodeHelper.write(out, value);
}
}
/* ourUserException.java --
/* WeThrowThisException.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -49,10 +49,15 @@ import org.omg.CORBA.portable.IDLEntity;
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public class ourUserException
public class WeThrowThisException
extends UserException
implements IDLEntity
{
/**
* Use serialVersionUID for interoperability.
*/
private static final long serialVersionUID = 1;
/**
* Our specific field, transferred to client.
*/
......@@ -63,7 +68,7 @@ public class ourUserException
*
* @param _ourField the value of our specific field.
*/
public ourUserException(int _ourField)
public WeThrowThisException(int _ourField)
{
ourField = _ourField;
}
......
/* ourUserExceptionHelper.java --
/* WeThrowThisExceptionHelper.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -50,14 +50,14 @@ import org.omg.CORBA.TypeCode;
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public abstract class ourUserExceptionHelper
public abstract class WeThrowThisExceptionHelper
{
/**
* The exception repository id. This name is also used to find the
* mapping local CORBA class.
*/
private static String _id =
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/ourUserException:1.0";
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisException:1.0";
/**
* Get the exception repository id.
......@@ -71,7 +71,7 @@ public abstract class ourUserExceptionHelper
* Extract the exception from the given Any where it might be
* wrapped.
*/
public static ourUserException extract(Any a)
public static WeThrowThisException extract(Any a)
{
return read(a.create_input_stream());
}
......@@ -79,9 +79,9 @@ public abstract class ourUserExceptionHelper
/**
* Read the exception from the CDR stream.
*/
public static ourUserException read(org.omg.CORBA.portable.InputStream istream)
public static WeThrowThisException read(org.omg.CORBA.portable.InputStream istream)
{
ourUserException value = new ourUserException(0);
WeThrowThisException value = new WeThrowThisException(0);
// The repository ID is not used
istream.read_string();
......@@ -98,8 +98,8 @@ public abstract class ourUserExceptionHelper
TypeCode member = null;
member = ORB.init().get_primitive_tc(TCKind.tk_long);
members [ 0 ] = new StructMember("ourField", member, null);
return ORB.init().create_struct_tc(ourUserExceptionHelper.id(),
"ourUserException", members
return ORB.init().create_struct_tc(WeThrowThisExceptionHelper.id(),
"WeThrowThisException", members
);
}
......@@ -107,7 +107,7 @@ public abstract class ourUserExceptionHelper
* Write the exception into the CDR stream.
*/
public static void write(org.omg.CORBA.portable.OutputStream ostream,
ourUserException value
WeThrowThisException value
)
{
ostream.write_string(id());
......
/* _comTesterImplBase.java --
/* _DemoTesterImplBase.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -53,13 +53,16 @@ import org.omg.CORBA.portable.ResponseHandler;
/**
* The base for the class that is actually implementing the functionality
* of the object on the server side ({@link comServant} of our case).
* of the object on the server side ({@link DemoServant} of our case).
*
* Following CORBA standards, the name of this class must start from
* underscore and end by the "ImplBase".
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public abstract class _comTesterImplBase
public abstract class _DemoTesterImplBase
extends ObjectImpl
implements comTester, InvokeHandler
implements DemoTester, InvokeHandler
{
/**
* When the server receives the request message from client, it
......@@ -138,7 +141,7 @@ public abstract class _comTesterImplBase
}
else
/*
Throws either 'ourUserException' with the 'ourField' field
Throws either 'WeThrowThisException' with the 'ourField' field
initialised to the passed positive value
or system exception (if the parameter is zero or negative).
*/
......@@ -150,21 +153,21 @@ public abstract class _comTesterImplBase
throwException(parameter);
out = rh.createReply();
}
catch (ourUserException exception)
catch (WeThrowThisException exception)
{
out = rh.createExceptionReply();
ourUserExceptionHelper.write(out, exception);
WeThrowThisExceptionHelper.write(out, exception);
}
}
else
/* Passes and returns the structures. */
if (a_method.equals("passStructure"))
{
passThis in_structure = passThisHelper.read(in);
returnThis result = null;
StructureToPass in_structure = StructureToPassHelper.read(in);
StructureToReturn result = null;
result = passStructure(in_structure);
out = rh.createReply();
returnThisHelper.write(out, result);
StructureToReturnHelper.write(out, result);
}
else
/* Passes and returns the string sequence. */
......@@ -180,11 +183,11 @@ public abstract class _comTesterImplBase
/** Pass and return the tree structure */
if (a_method.equals("passTree"))
{
nodeHolder tree = new nodeHolder();
tree.value = nodeHelper.read(in);
TreeNodeHolder tree = new TreeNodeHolder();
tree.value = TreeNodeHelper.read(in);
passTree(tree);
out = rh.createReply();
nodeHelper.write(out, tree.value);
TreeNodeHelper.write(out, tree.value);
}
else
......@@ -201,6 +204,6 @@ public abstract class _comTesterImplBase
public String[] _ids()
{
// They are the same as for the stub.
return _comTesterStub._ids;
return _DemoTesterStub._ids;
}
}
/* _comTesterStub.java --
/* _DemoTesterStub.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -55,23 +55,26 @@ import org.omg.CORBA.portable.RemarshalException;
* side. It has all the same methods as the actual implementation
* on the server side. These methods contain the code for remote
* invocation.
*
* Following CORBA standards, the name of this class must start from
* underscore and end by the "Stub".
*
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public class _comTesterStub
public class _DemoTesterStub
extends ObjectImpl
implements comTester
implements DemoTester
{
/**
* A string array of comTester repository ids.
* A string array of DemoTester repository ids.
*/
public static String[] _ids =
{
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/comTester:1.0"
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/DemoTester:1.0"
};
/**
* Return an array of comTester repository ids.
* Return an array of DemoTester repository ids.
*/
public String[] _ids()
{
......@@ -217,7 +220,7 @@ public class _comTesterStub
/**
Passes and returns the structures.
*/
public returnThis passStructure(passThis in_structure)
public StructureToReturn passStructure(StructureToPass in_structure)
{
InputStream in = null;
try
......@@ -226,13 +229,13 @@ public class _comTesterStub
OutputStream out = _request("passStructure", true);
// Write the structure, using its helper.
passThisHelper.write(out, in_structure);
StructureToPassHelper.write(out, in_structure);
// Invoke the method.
in = _invoke(out);
// Read the returned structer, using another helper.
returnThis result = returnThisHelper.read(in);
StructureToReturn result = StructureToReturnHelper.read(in);
return result;
}
catch (ApplicationException ex)
......@@ -253,7 +256,7 @@ public class _comTesterStub
/**
* Pass and return the tree structure
*/
public void passTree(nodeHolder tree)
public void passTree(TreeNodeHolder tree)
{
InputStream in = null;
try
......@@ -261,15 +264,15 @@ public class _comTesterStub
// Get the stream where the parameters must be written.
OutputStream out = _request("passTree", true);
// Write the tree (node with its chilred, grandchildren and so on),
// Write the tree (TreeNode with its chilred, grandchildren and so on),
// using the appropriate helper.
nodeHelper.write(out, tree.value);
TreeNodeHelper.write(out, tree.value);
// Call the method.
in = _invoke(out);
// Read the returned tree.
tree.value = nodeHelper.read(in);
tree.value = TreeNodeHelper.read(in);
}
catch (ApplicationException ex)
{
......@@ -382,10 +385,10 @@ public class _comTesterStub
* of the positive value of this argument, and system
* exception otherwise.
*
* @throws ourUserException
* @throws WeThrowThisException
*/
public void throwException(int parameter)
throws ourUserException
throws WeThrowThisException
{
InputStream in = null;
try
......@@ -408,9 +411,9 @@ public class _comTesterStub
// If this is the user exception we expect to catch, read and throw
// it here. The system exception, if thrown, is handled by _invoke.
if (id.equals("IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/ourUserException:1.0")
if (id.equals("IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisException:1.0")
)
throw ourUserExceptionHelper.read(in);
throw WeThrowThisExceptionHelper.read(in);
else
throw new MARSHAL(id);
}
......
/* Demo.java -- And example of MIDI support
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath examples.
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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA. */
package gnu.classpath.examples.midi;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.sound.midi.*;
/**
* An example how javax.sound.midi facilities work.
*/
public class Demo extends Frame implements ItemListener
{
Choice midiInChoice = new Choice();
Choice midiOutChoice = new Choice();
MidiDevice inDevice = null;
MidiDevice outDevice = null;
ArrayList inDevices = new ArrayList();
ArrayList outDevices = new ArrayList();
public Demo () throws Exception
{
MenuBar mb = new MenuBar ();
Menu menu = new Menu ("File");
MenuItem quit = new MenuItem("Quit", new MenuShortcut('Q'));
quit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
menu.add (quit);
mb.add(menu);
setTitle("synthcity: the GNU Classpath MIDI Demo");
setLayout(new FlowLayout());
MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();
for (int i = 0; i < infos.length; i++)
{
MidiDevice device = MidiSystem.getMidiDevice(infos[i]);
if (device.getMaxReceivers() > 0)
{
midiOutChoice.addItem(infos[i].getDescription());
outDevices.add(device);
}
if (device.getMaxTransmitters() > 0)
{
midiInChoice.addItem(infos[i].getDescription());
inDevices.add(device);
}
}
setMenuBar (mb);
add(new Label("MIDI IN: "));
add(midiInChoice);
add(new Label(" MIDI OUT: "));
add(midiOutChoice);
midiInChoice.addItemListener(this);
midiOutChoice.addItemListener(this);
pack();
show();
}
public void itemStateChanged (ItemEvent e)
{
try
{
if (e.getItemSelectable() == midiInChoice)
{
if (inDevice != null)
inDevice.close();
inDevice = (MidiDevice)
inDevices.get(midiInChoice.getSelectedIndex());
}
if (e.getItemSelectable() == midiOutChoice)
{
if (outDevice != null)
outDevice.close();
outDevice = (MidiDevice)
outDevices.get(midiOutChoice.getSelectedIndex());
}
if (inDevice != null && outDevice != null)
{
if (! inDevice.isOpen())
inDevice.open();
if (! outDevice.isOpen())
outDevice.open();
Transmitter t = inDevice.getTransmitter();
if (t == null)
System.err.println (inDevice + ".getTransmitter() == null");
Receiver r = outDevice.getReceiver();
if (r == null)
System.err.println (outDevice + ".getReceiver() == null");
if (t != null && r != null)
t.setReceiver (r);
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
public static void main (String args[]) throws Exception
{
new Demo();
}
}
/* ButtonDemo.java -- An example showing various buttons in Swing.
Copyright (C) 2005, Free Software Foundation, Inc.
This file is part of GNU Classpath examples.
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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
*/
package gnu.classpath.examples.swing;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JToggleButton;
import javax.swing.SwingConstants;
import javax.swing.plaf.metal.MetalIconFactory;
/**
* A simple button demo showing various buttons in different states.
*/
public class ButtonDemo
extends JFrame
implements ActionListener
{
private JCheckBox buttonState;
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JCheckBox toggleState;
private JToggleButton toggle1;
private JToggleButton toggle2;
private JToggleButton toggle3;
private JToggleButton toggle4;
private JCheckBox checkBoxState;
private JCheckBox checkBox1;
private JCheckBox checkBox2;
private JCheckBox checkBox3;
private JCheckBox radioState;
private JRadioButton radio1;
private JRadioButton radio2;
private JRadioButton radio3;
/**
* Creates a new demo instance.
*
* @param title the frame title.
*/
public ButtonDemo(String title)
{
super(title);
JPanel content = createContent();
JPanel closePanel = new JPanel();
JButton closeButton = new JButton("Close");
closeButton.setActionCommand("CLOSE");
closeButton.addActionListener(this);
closePanel.add(closeButton);
content.add(closePanel, BorderLayout.SOUTH);
getContentPane().add(content);
}
/**
* Returns a panel with the demo content. The panel
* uses a BorderLayout(), and the BorderLayout.SOUTH area
* is empty, to allow callers to add controls to the
* bottom of the panel if they want to (a close button is
* added if this demo is being run as a standalone demo).
*/
JPanel createContent()
{
JPanel content = new JPanel(new BorderLayout());
JPanel panel = new JPanel(new GridLayout(4, 1));
panel.add(createButtonPanel());
panel.add(createTogglePanel());
panel.add(createCheckBoxPanel());
panel.add(createRadioPanel());
content.add(panel);
return content;
}
private JPanel createButtonPanel()
{
JPanel panel = new JPanel(new BorderLayout());
this.buttonState = new JCheckBox("Enabled", true);
this.buttonState.setActionCommand("BUTTON_STATE");
this.buttonState.addActionListener(this);
panel.add(this.buttonState, BorderLayout.EAST);
JPanel buttonPanel = new JPanel();
buttonPanel.setBorder(BorderFactory.createTitledBorder("JButton"));
this.button1 = new JButton("Button 1");
this.button2 = new JButton("Button 2");
this.button2.setIcon(MetalIconFactory.getInternalFrameDefaultMenuIcon());
this.button3 = new JButton("Button 3");
this.button3.setIcon(MetalIconFactory.getFileChooserHomeFolderIcon());
this.button3.setHorizontalTextPosition(SwingConstants.CENTER);
this.button3.setVerticalTextPosition(SwingConstants.BOTTOM);
this.button4 = new JButton("Button 4");
this.button4.setIcon(MetalIconFactory.getFileChooserUpFolderIcon());
this.button4.setText(null);
buttonPanel.add(button1);
buttonPanel.add(button2);
buttonPanel.add(button3);
buttonPanel.add(button4);
panel.add(buttonPanel);
return panel;
}
private JPanel createTogglePanel()
{
JPanel panel = new JPanel(new BorderLayout());
this.toggleState = new JCheckBox("Enabled", true);
this.toggleState.setActionCommand("TOGGLE_STATE");
this.toggleState.addActionListener(this);
panel.add(this.toggleState, BorderLayout.EAST);
JPanel buttonPanel = new JPanel();
buttonPanel.setBorder(BorderFactory.createTitledBorder("JToggleButton"));
this.toggle1 = new JToggleButton("Toggle 1");
this.toggle2 = new JToggleButton("Toggle 2");
this.toggle2.setIcon(MetalIconFactory.getInternalFrameDefaultMenuIcon());
this.toggle3 = new JToggleButton("Toggle 3");
this.toggle3.setIcon(MetalIconFactory.getFileChooserHomeFolderIcon());
this.toggle3.setHorizontalTextPosition(SwingConstants.CENTER);
this.toggle3.setVerticalTextPosition(SwingConstants.BOTTOM);
this.toggle4 = new JToggleButton("Toggle 4");
this.toggle4.setIcon(MetalIconFactory.getFileChooserUpFolderIcon());
this.toggle4.setText(null);
ButtonGroup toggleGroup = new ButtonGroup();
toggleGroup.add(toggle1);
toggleGroup.add(toggle2);
toggleGroup.add(toggle3);
toggleGroup.add(toggle4);
buttonPanel.add(toggle1);
buttonPanel.add(toggle2);
buttonPanel.add(toggle3);
buttonPanel.add(toggle4);
panel.add(buttonPanel);
return panel;
}
private JPanel createCheckBoxPanel()
{
JPanel panel = new JPanel(new BorderLayout());
this.checkBoxState = new JCheckBox("Enabled", true);
this.checkBoxState.setActionCommand("CHECKBOX_STATE");
this.checkBoxState.addActionListener(this);
panel.add(this.checkBoxState, BorderLayout.EAST);
JPanel buttonPanel = new JPanel();
buttonPanel.setBorder(BorderFactory.createTitledBorder("JCheckBox"));
this.checkBox1 = new JCheckBox("CheckBox 1");
this.checkBox2 = new JCheckBox("CheckBox 2");
this.checkBox3 = new JCheckBox("CheckBox 3");
buttonPanel.add(checkBox1);
buttonPanel.add(checkBox2);
buttonPanel.add(checkBox3);
panel.add(buttonPanel);
return panel;
}
private JPanel createRadioPanel()
{
JPanel panel = new JPanel(new BorderLayout());
this.radioState = new JCheckBox("Enabled", true);
this.radioState.setActionCommand("RADIO_STATE");
this.radioState.addActionListener(this);
panel.add(this.radioState, BorderLayout.EAST);
JPanel buttonPanel = new JPanel();
buttonPanel.setBorder(BorderFactory.createTitledBorder("JRadioButton"));
this.radio1 = new JRadioButton("Radio 1");
this.radio2 = new JRadioButton("Radio 2");
this.radio3 = new JRadioButton("Radio 3");
ButtonGroup radioGroup = new ButtonGroup();
radioGroup.add(radio1);
radioGroup.add(radio2);
radioGroup.add(radio3);
buttonPanel.add(radio1);
buttonPanel.add(radio2);
buttonPanel.add(radio3);
panel.add(buttonPanel);
return panel;
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("BUTTON_STATE"))
{
button1.setEnabled(buttonState.isSelected());
button2.setEnabled(buttonState.isSelected());
button3.setEnabled(buttonState.isSelected());
button4.setEnabled(buttonState.isSelected());
}
else if (e.getActionCommand().equals("TOGGLE_STATE"))
{
toggle1.setEnabled(toggleState.isSelected());
toggle2.setEnabled(toggleState.isSelected());
toggle3.setEnabled(toggleState.isSelected());
toggle4.setEnabled(toggleState.isSelected());
}
else if (e.getActionCommand().equals("CHECKBOX_STATE"))
{
checkBox1.setEnabled(checkBoxState.isSelected());
checkBox2.setEnabled(checkBoxState.isSelected());
checkBox3.setEnabled(checkBoxState.isSelected());
}
else if (e.getActionCommand().equals("RADIO_STATE"))
{
radio1.setEnabled(radioState.isSelected());
radio2.setEnabled(radioState.isSelected());
radio3.setEnabled(radioState.isSelected());
}
else if (e.getActionCommand().equals("CLOSE"))
{
System.exit(0);
}
}
public static void main(String[] args)
{
ButtonDemo app = new ButtonDemo("Button Demo");
app.pack();
app.setVisible(true);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.cdt.launch.localCLaunch">
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="org.eclipse.cdt.debug.mi.core.CDebugger"/>
<stringAttribute key="org.eclipse.cdt.launch.protocol" value="mi"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.STOP_ON_SOLIB_EVENTS" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
<listAttribute key="org.eclipse.cdt.debug.mi.core.SOLIB_PATH"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_REGISTER_BOOKKEEPING" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.AUTO_SOLIB" value="true"/>
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.cdt.launch.use_terminal" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="jamvm"/>
<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_VARIABLE_BOOKKEEPING" value="false"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="gdb"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="src/jamvm"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel gnu.classpath.examples.swing.Demo"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.GDB_INIT" value=""/>
</launchConfiguration>
/* FileChooserDemo.java -- An example showing file choosers in Swing.
Copyright (C) 2005, Free Software Foundation, Inc.
This file is part of GNU Classpath examples.
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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
*/
package gnu.classpath.examples.swing;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.filechooser.FileFilter;
/**
* A simple demo showing the {@link JFileChooser} component used in different
* ways.
*/
public class FileChooserDemo extends JFrame implements ActionListener
{
/**
* A file filter for Java source files.
*/
static class JavaFileFilter extends FileFilter
{
public String getDescription()
{
return "Java Source Files (.java)";
}
public boolean accept(File f)
{
if (f != null)
{
return f.getName().endsWith(".java") || f.isDirectory();
}
else
return false;
}
}
/** A label to display the selected file. */
JLabel selectedFileLabel;
/**
* A list showing the selected files (where multi selections are
* allowed).
*/
JList selectedFilesList;
/** A label to display the return code for the JFileChooser. */
JLabel returnCodeLabel;
/**
* Creates a new demo instance.
*
* @param frameTitle the frame title.
*/
public FileChooserDemo(String frameTitle)
{
super(frameTitle);
JPanel content = createContent();
JPanel closePanel = new JPanel();
JButton closeButton = new JButton("Close");
closeButton.setActionCommand("CLOSE");
closeButton.addActionListener(this);
closePanel.add(closeButton);
content.add(closePanel, BorderLayout.SOUTH);
getContentPane().add(content);
}
/**
* Returns a panel with the demo content. The panel
* uses a BorderLayout(), and the BorderLayout.SOUTH area
* is empty, to allow callers to add controls to the
* bottom of the panel if they want to (a close button is
* added if this demo is being run as a standalone demo).
*/
JPanel createContent()
{
JPanel panel = new JPanel(new BorderLayout());
// create a panel of buttons to select the different styles of file
// chooser...
JPanel buttonPanel = new JPanel(new GridLayout(5, 1));
JButton openButton = new JButton("Open...");
openButton.setActionCommand("OPEN");
openButton.addActionListener(this);
buttonPanel.add(openButton);
JButton saveButton = new JButton("Save...");
saveButton.setActionCommand("SAVE");
saveButton.addActionListener(this);
buttonPanel.add(saveButton);
JButton queryButton = new JButton("Select Directory...");
queryButton.setActionCommand("SELECT_DIRECTORY");
queryButton.addActionListener(this);
buttonPanel.add(queryButton);
JButton openJavaButton = new JButton("Open Java file...");
openJavaButton.setActionCommand("OPEN_JAVA");
openJavaButton.addActionListener(this);
buttonPanel.add(openJavaButton);
JButton openMultiButton = new JButton("Open multiple files...");
openMultiButton.setActionCommand("OPEN_MULTI");
openMultiButton.addActionListener(this);
buttonPanel.add(openMultiButton);
panel.add(buttonPanel, BorderLayout.WEST);
// create a panel to display the selected file(s) and the return code
JPanel displayPanel = new JPanel(new BorderLayout());
selectedFileLabel = new JLabel("-");
selectedFileLabel.setBorder(BorderFactory.createTitledBorder("Selected File/Directory: "));
displayPanel.add(selectedFileLabel, BorderLayout.NORTH);
selectedFilesList = new JList();
JScrollPane sp = new JScrollPane(selectedFilesList);
sp.setBorder(BorderFactory.createTitledBorder("Selected Files: "));
displayPanel.add(sp);
returnCodeLabel = new JLabel("0");
returnCodeLabel.setBorder(BorderFactory.createTitledBorder("Return Code:"));
displayPanel.add(returnCodeLabel, BorderLayout.SOUTH);
panel.add(displayPanel);
return panel;
}
/**
* When the user clicks on a button, launch the appropriate file chooser
* and report the results.
*
* @param e the event.
*/
public void actionPerformed(ActionEvent e)
{
int option = 0;
File selectedFile = null;
File[] selectedFiles = new File[0];
if (e.getActionCommand().equals("CLOSE"))
{
System.exit(0);
}
else if (e.getActionCommand().equals("OPEN"))
{
JFileChooser chooser = new JFileChooser();
option = chooser.showOpenDialog(this);
selectedFile = chooser.getSelectedFile();
selectedFiles = chooser.getSelectedFiles();
}
else if (e.getActionCommand().equals("OPEN_MULTI"))
{
JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(true);
option = chooser.showOpenDialog(this);
selectedFile = chooser.getSelectedFile();
selectedFiles = chooser.getSelectedFiles();
}
else if (e.getActionCommand().equals("OPEN_JAVA"))
{
JFileChooser chooser = new JFileChooser();
chooser.setAcceptAllFileFilterUsed(false);
chooser.setFileFilter(new JavaFileFilter());
option = chooser.showOpenDialog(this);
selectedFile = chooser.getSelectedFile();
selectedFiles = chooser.getSelectedFiles();
}
else if (e.getActionCommand().equals("SAVE"))
{
JFileChooser chooser = new JFileChooser();
option = chooser.showSaveDialog(this);
selectedFile = chooser.getSelectedFile();
selectedFiles = chooser.getSelectedFiles();
}
else if (e.getActionCommand().equals("SELECT_DIRECTORY"))
{
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
option = chooser.showDialog(this, "Select");
selectedFile = chooser.getSelectedFile();
selectedFiles = chooser.getSelectedFiles();
}
// display the selection and return code
if (selectedFile != null)
selectedFileLabel.setText(selectedFile.toString());
else
selectedFileLabel.setText("null");
DefaultListModel listModel = new DefaultListModel();
for (int i = 0; i < selectedFiles.length; i++)
listModel.addElement(selectedFiles[i]);
selectedFilesList.setModel(listModel);
returnCodeLabel.setText(Integer.toString(option));
}
public static void main(String[] args)
{
FileChooserDemo app = new FileChooserDemo("File Chooser Demo");
app.pack();
app.setVisible(true);
}
}
......@@ -22,8 +22,13 @@ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
package gnu.classpath.examples.swing;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JRadioButton;
import javax.swing.UIDefaults;
import javax.swing.plaf.ColorUIResource;
import javax.swing.plaf.IconUIResource;
......@@ -64,8 +69,10 @@ public class GNULookAndFeel extends BasicLookAndFeel
"MenuBar.background", new ColorUIResource(blueGray),
"MenuItem.background", new ColorUIResource(blueGray),
"ScrollBar.background", new ColorUIResource(blueGray),
"Tree.closedIcon",
"CheckBox.icon", new CheckBoxIcon(),
"RadioButton.icon", new RadioButtonIcon(),
"Tree.closedIcon",
new IconUIResource(new ImageIcon
(getClass().getResource
(iconspath + "TreeClosed.png"))),
......@@ -82,4 +89,177 @@ public class GNULookAndFeel extends BasicLookAndFeel
}
return LAF_defaults;
}
/**
* The icon used for CheckBoxes in the BasicLookAndFeel. This is an empty
* icon with a size of 13x13 pixels.
*/
static class CheckBoxIcon
implements Icon
{
/**
* Returns the height of the icon. The BasicLookAndFeel CheckBox icon
* has a height of 13 pixels.
*
* @return the height of the icon
*/
public int getIconHeight()
{
return 13;
}
/**
* Returns the width of the icon. The BasicLookAndFeel CheckBox icon
* has a width of 13 pixels.
*
* @return the height of the icon
*/
public int getIconWidth()
{
return 13;
}
/**
* Paints the icon. The BasicLookAndFeel CheckBox icon is empty and does
* not need to be painted.
*
* @param c the component to be painted
* @param g the Graphics context to be painted with
* @param x the x position of the icon
* @param y the y position of the icon
*/
public void paintIcon(Component c, Graphics g, int x, int y)
{
Color save = g.getColor();
g.setColor(c.getForeground());
g.drawRect(x, y, getIconWidth(), getIconHeight());
JCheckBox item = (JCheckBox) c;
if (item.isSelected())
{
g.drawLine(3 + x, 5 + y, 3 + x, 9 + y);
g.drawLine(4 + x, 5 + y, 4 + x, 9 + y);
g.drawLine(5 + x, 7 + y, 9 + x, 3 + y);
g.drawLine(5 + x, 8 + y, 9 + x, 4 + y);
}
g.setColor(save);
}
}
/**
* The icon used for RadioButtons in the GNULookAndFeel. This is an empty
* icon with a size of 13x13 pixels.
*/
static class RadioButtonIcon
implements Icon
{
/**
* Returns the height of the icon. The GNULookAndFeel RadioButton icon
* has a height of 13 pixels.
*
* @return the height of the icon
*/
public int getIconHeight()
{
return 13;
}
/**
* Returns the width of the icon. The GNULookAndFeel RadioButton icon
* has a width of 13 pixels.
*
* @return the height of the icon
*/
public int getIconWidth()
{
return 13;
}
/**
* Paints the icon. The GNULookAndFeel RadioButton icon is empty and does
* not need to be painted.
*
* @param c the component to be painted
* @param g the Graphics context to be painted with
* @param x the x position of the icon
* @param y the y position of the icon
*/
public void paintIcon(Component c, Graphics g, int x, int y)
{
Color savedColor = g.getColor();
JRadioButton b = (JRadioButton) c;
// draw outer circle
if (b.isEnabled())
g.setColor(Color.GRAY);
else
g.setColor(Color.GRAY);
g.drawLine(x + 2, y + 1, x + 3, y + 1);
g.drawLine(x + 4, y, x + 7, y);
g.drawLine(x + 8, y + 1, x + 9, y + 1);
g.drawLine(x + 10, y + 2, x + 10, y + 3);
g.drawLine(x + 11, y + 4, x + 11, y + 7);
g.drawLine(x + 10, y + 8, x + 10, y + 9);
g.drawLine(x + 8, y + 10, x + 9, y + 10);
g.drawLine(x + 4, y + 11, x + 7, y + 11);
g.drawLine(x + 2, y + 10, x + 3, y + 10);
g.drawLine(x + 1, y + 9, x + 1, y + 8);
g.drawLine(x, y + 7, x, y + 4);
g.drawLine(x + 1, y + 2, x + 1, y + 3);
if (b.getModel().isArmed())
{
g.setColor(Color.GRAY);
g.drawLine(x + 4, y + 1, x + 7, y + 1);
g.drawLine(x + 4, y + 10, x + 7, y + 10);
g.drawLine(x + 1, y + 4, x + 1, y + 7);
g.drawLine(x + 10, y + 4, x + 10, y + 7);
g.fillRect(x + 2, y + 2, 8, 8);
}
else
{
// only draw inner highlight if not filled
if (b.isEnabled())
{
g.setColor(Color.WHITE);
g.drawLine(x + 2, y + 8, x + 2, y + 9);
g.drawLine(x + 1, y + 4, x + 1, y + 7);
g.drawLine(x + 2, y + 2, x + 2, y + 3);
g.drawLine(x + 3, y + 2, x + 3, y + 2);
g.drawLine(x + 4, y + 1, x + 7, y + 1);
g.drawLine(x + 8, y + 2, x + 9, y + 2);
}
}
// draw outer highlight
if (b.isEnabled())
{
g.setColor(Color.WHITE);
// outer
g.drawLine(x + 10, y + 1, x + 10, y + 1);
g.drawLine(x + 11, y + 2, x + 11, y + 3);
g.drawLine(x + 12, y + 4, x + 12, y + 7);
g.drawLine(x + 11, y + 8, x + 11, y + 9);
g.drawLine(x + 10, y + 10, x + 10, y + 10);
g.drawLine(x + 8, y + 11, x + 9, y + 11);
g.drawLine(x + 4, y + 12, x + 7, y + 12);
g.drawLine(x + 2, y + 11, x + 3, y + 11);
}
if (b.isSelected())
{
if (b.isEnabled())
g.setColor(Color.BLACK);
else
g.setColor(Color.GRAY);
g.drawLine(x + 4, y + 3, x + 7, y + 3);
g.fillRect(x + 3, y + 4, 6, 4);
g.drawLine(x + 4, y + 8, x + 7, y + 8);
}
g.setColor(savedColor);
}
}
}
/* ProgressBarDemo.java -- A demonstration of JProgressBars
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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 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 gnu.classpath.examples.swing;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JSlider;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class ProgressBarDemo
extends JFrame
implements ActionListener
{
/**
* Creates a new ProgressBarDemo window with the specified title.
*
* @param title the title of the program window
*/
ProgressBarDemo(String title)
{
super(title);
JPanel content = createContent();
JPanel closePanel = new JPanel();
JButton closeButton = new JButton("Close");
closeButton.setActionCommand("CLOSE");
closeButton.addActionListener(this);
closePanel.add(closeButton);
getContentPane().add(content);
getContentPane().add(closePanel, BorderLayout.SOUTH);
}
static JPanel createContent()
{
JPanel content = new JPanel();
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));
JPanel horizontalProgressBar = createHorizontalProgressBar();
content.add(horizontalProgressBar);
content.add(Box.createVerticalStrut(10));
JPanel verticalProgressBar = createVerticalProgressBar();
content.add(verticalProgressBar);
return content;
}
private static JPanel createHorizontalProgressBar()
{
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
// Plain progress bar.
final JProgressBar hor1 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
panel.add(hor1);
final JSlider slider1 = new JSlider(JSlider.HORIZONTAL, 0, 100, 0);
slider1.addChangeListener(new ChangeListener()
{
public void stateChanged(ChangeEvent event)
{
hor1.setValue(slider1.getValue());
}
});
panel.add(slider1);
panel.add(Box.createVerticalStrut(5));
// Plain progress bar with some text.
final JProgressBar hor2 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
hor2.setString("ProgressBar Demo");
hor2.setStringPainted(true);
panel.add(hor2);
final JSlider slider2 = new JSlider(JSlider.HORIZONTAL, 0, 100, 0);
slider2.addChangeListener(new ChangeListener()
{
public void stateChanged(ChangeEvent event)
{
hor2.setValue(slider2.getValue());
}
});
panel.add(slider2);
panel.add(Box.createVerticalStrut(5));
// Indeterminate progress bar.
final JProgressBar hor3 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
hor3.setIndeterminate(true);
panel.add(hor3);
panel.add(Box.createVerticalStrut(5));
// Indeterminate progress bar with text.
final JProgressBar hor4 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
hor4.setIndeterminate(true);
hor4.setString("Indeterminate ProgressBar");
hor4.setStringPainted(true);
panel.add(hor4);
return panel;
}
private static JPanel createVerticalProgressBar()
{
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
final JProgressBar vert = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
panel.add(vert);
final JSlider slider = new JSlider(JSlider.VERTICAL, 0, 100, 0);
slider.addChangeListener(new ChangeListener()
{
public void stateChanged(ChangeEvent event)
{
vert.setValue(slider.getValue());
}
});
panel.add(slider);
panel.add(Box.createHorizontalStrut(5));
final JProgressBar vert2 = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
vert2.setString("ProgressBar Demo");
panel.add(vert2);
vert2.setStringPainted(true);
final JSlider slider2 = new JSlider(JSlider.VERTICAL, 0, 100, 0);
slider2.addChangeListener(new ChangeListener()
{
public void stateChanged(ChangeEvent event)
{
vert2.setValue(slider2.getValue());
}
});
panel.add(slider2);
panel.add(Box.createHorizontalStrut(5));
// Indeterminate progress bar.
final JProgressBar vert3 = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
vert3.setIndeterminate(true);
panel.add(vert3);
panel.add(Box.createHorizontalStrut(5));
// Indeterminate progress bar with text.
final JProgressBar vert4 = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
vert4.setIndeterminate(true);
vert4.setString("Indeterminate ProgressBar");
vert4.setStringPainted(true);
panel.add(vert4);
return panel;
}
public void actionPerformed(ActionEvent event)
{
// TODO Auto-generated method stub
}
/**
* The entry point when running as a standalone program.
*
* @param args command line arguments
*/
public static void main(String[] args)
{
SwingUtilities.invokeLater(
new Runnable()
{
public void run()
{
ProgressBarDemo app = new ProgressBarDemo("ProgressBar Demo");
app.pack();
app.setVisible(true);
}
});
}
}
/* ScrollBarDemo.java -- An example showing scroll bars in Swing.
Copyright (C) 2005, Free Software Foundation, Inc.
This file is part of GNU Classpath examples.
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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
*/
package gnu.classpath.examples.swing;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
/**
* A simple scroll bar demo showing various scroll bars in different states.
*/
public class ScrollBarDemo
extends JFrame
implements ActionListener
{
/**
* Creates a new demo instance.
*
* @param title the frame title.
*/
public ScrollBarDemo(String title)
{
super(title);
JPanel content = createContent();
JPanel closePanel = new JPanel();
JButton closeButton = new JButton("Close");
closeButton.setActionCommand("CLOSE");
closeButton.addActionListener(this);
closePanel.add(closeButton);
content.add(closePanel, BorderLayout.SOUTH);
getContentPane().add(content);
}
/**
* Returns a panel with the demo content. The panel
* uses a BorderLayout(), and the BorderLayout.SOUTH area
* is empty, to allow callers to add controls to the
* bottom of the panel if they want to (a close button is
* added if this demo is being run as a standalone demo).
*/
JPanel createContent()
{
JPanel content = new JPanel(new BorderLayout());
JPanel panel = createScrollBarPanel();
content.add(panel);
return content;
}
private JPanel createScrollBarPanel()
{
JPanel panel = new JPanel(new BorderLayout());
JPanel horizontalPanel = new JPanel();
JScrollBar scroll1a = new JScrollBar(JScrollBar.HORIZONTAL);
JScrollBar scroll1b = new JScrollBar(JScrollBar.HORIZONTAL);
scroll1b.setEnabled(false);
JScrollBar scroll1c = new JScrollBar(JScrollBar.HORIZONTAL);
scroll1c.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
JScrollBar scroll1d = new JScrollBar(JScrollBar.HORIZONTAL);
scroll1d.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
scroll1d.setEnabled(false);
horizontalPanel.add(scroll1a);
horizontalPanel.add(scroll1b);
horizontalPanel.add(scroll1c);
horizontalPanel.add(scroll1d);
panel.add(horizontalPanel, BorderLayout.NORTH);
JPanel verticalPanel = new JPanel();
verticalPanel.setLayout(new GridLayout(1, 7));
JScrollBar scroll2a = new JScrollBar(JScrollBar.VERTICAL);
JScrollBar scroll2b = new JScrollBar(JScrollBar.VERTICAL);
scroll2b.setEnabled(false);
JScrollBar scroll2c = new JScrollBar(JScrollBar.VERTICAL);
scroll2c.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
JScrollBar scroll2d = new JScrollBar(JScrollBar.VERTICAL);
scroll2d.setEnabled(false);
scroll2d.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
verticalPanel.add(scroll2a);
verticalPanel.add(new JPanel());
verticalPanel.add(scroll2b);
verticalPanel.add(new JPanel());
verticalPanel.add(scroll2c);
verticalPanel.add(new JPanel());
verticalPanel.add(scroll2d);
panel.add(verticalPanel, BorderLayout.EAST);
JPanel centerPanel = new JPanel(new GridLayout(1, 2));
centerPanel.add(new JScrollBar(JScrollBar.HORIZONTAL));
centerPanel.add(new JScrollBar(JScrollBar.VERTICAL));
panel.add(centerPanel);
return panel;
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("CLOSE"))
{
System.exit(0);
}
}
public static void main(String[] args)
{
ScrollBarDemo app = new ScrollBarDemo("ScrollBar Demo");
app.pack();
app.setVisible(true);
}
}
/* SliderDemo.java -- An example showing JSlider in various configurations.
Copyright (C) 2005, Free Software Foundation, Inc.
This file is part of GNU Classpath examples.
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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
*/
package gnu.classpath.examples.swing;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
public class SliderDemo extends JFrame implements ActionListener
{
JSlider hslider1;
JSlider hslider2;
JSlider hslider3;
JSlider hslider4;
JSlider hslider5;
JSlider hslider6;
JSlider hslider7;
JSlider hslider8;
JSlider vslider1;
JSlider vslider2;
JSlider vslider3;
JSlider vslider4;
JSlider vslider5;
JSlider vslider6;
JSlider vslider7;
JSlider vslider8;
JCheckBox enabledCheckBox;
public SliderDemo(String frameTitle)
{
super(frameTitle);
JPanel content = createContent();
JPanel closePanel = new JPanel();
JButton closeButton = new JButton("Close");
closeButton.setActionCommand("CLOSE");
closeButton.addActionListener(this);
closePanel.add(closeButton);
content.add(closePanel, BorderLayout.SOUTH);
getContentPane().add(content);
}
/**
* Returns a panel with the demo content. The panel
* uses a BorderLayout(), and the BorderLayout.SOUTH area
* is empty, to allow callers to add controls to the
* bottom of the panel if they want to (a close button is
* added if this demo is being run as a standalone demo).
*/
JPanel createContent()
{
JPanel content = new JPanel(new BorderLayout());
JPanel panel = new JPanel(new GridLayout(1, 2));
panel.add(createHorizontalPanel());
panel.add(createVerticalPanel());
enabledCheckBox = new JCheckBox("Enabled");
enabledCheckBox.setSelected(true);
enabledCheckBox.setActionCommand("TOGGLE_ENABLED");
enabledCheckBox.addActionListener(this);
JPanel checkBoxPanel = new JPanel();
checkBoxPanel.add(enabledCheckBox);
JPanel panel2 = new JPanel(new BorderLayout());
panel2.add(panel);
panel2.add(checkBoxPanel, BorderLayout.SOUTH);
content.add(panel2);
return content;
}
private JPanel createHorizontalPanel()
{
JPanel panel = new JPanel(new GridLayout(8, 1));
hslider1 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
panel.add(hslider1);
hslider2 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
hslider2.setMajorTickSpacing(20);
hslider2.setMinorTickSpacing(5);
hslider2.setPaintTicks(true);
panel.add(hslider2);
hslider3 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
hslider3.setMajorTickSpacing(20);
hslider3.setMinorTickSpacing(5);
hslider3.setPaintLabels(true);
hslider3.setPaintTicks(true);
panel.add(hslider3);
hslider4 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
hslider4.putClientProperty("JSlider.isFilled", Boolean.TRUE);
hslider4.setMajorTickSpacing(20);
hslider4.setMinorTickSpacing(5);
hslider4.setPaintLabels(true);
hslider4.setPaintTicks(true);
panel.add(hslider4);
hslider5 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
hslider5.setInverted(true);
panel.add(hslider5);
hslider6 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
hslider6.setInverted(true);
hslider6.setMajorTickSpacing(20);
hslider6.setMinorTickSpacing(5);
hslider6.setPaintTicks(true);
panel.add(hslider6);
hslider7 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
hslider7.setInverted(true);
hslider7.setMajorTickSpacing(20);
hslider7.setMinorTickSpacing(5);
hslider7.setPaintLabels(true);
hslider7.setPaintTicks(true);
panel.add(hslider7);
hslider8 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
hslider8.putClientProperty("JSlider.isFilled", Boolean.TRUE);
hslider8.setInverted(true);
hslider8.setMajorTickSpacing(20);
hslider8.setMinorTickSpacing(5);
hslider8.setPaintLabels(true);
hslider8.setPaintTicks(true);
panel.add(hslider8);
return panel;
}
private JPanel createVerticalPanel()
{
JPanel panel = new JPanel(new GridLayout(1, 8));
vslider1 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
panel.add(vslider1);
vslider2 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
vslider2.setMajorTickSpacing(20);
vslider2.setMinorTickSpacing(5);
vslider2.setPaintTicks(true);
panel.add(vslider2);
vslider3 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
vslider3.setMajorTickSpacing(20);
vslider3.setMinorTickSpacing(5);
vslider3.setPaintLabels(true);
vslider3.setPaintTicks(true);
panel.add(vslider3);
vslider4 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
vslider4.putClientProperty("JSlider.isFilled", Boolean.TRUE);
vslider4.setMajorTickSpacing(20);
vslider4.setMinorTickSpacing(5);
vslider4.setPaintLabels(true);
vslider4.setPaintTicks(true);
panel.add(vslider4);
vslider5 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
vslider5.setInverted(true);
panel.add(vslider5);
vslider6 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
vslider6.setInverted(true);
vslider6.setMajorTickSpacing(20);
vslider6.setMinorTickSpacing(5);
vslider6.setPaintTicks(true);
panel.add(vslider6);
vslider7 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
vslider7.setInverted(true);
vslider7.setMajorTickSpacing(20);
vslider7.setMinorTickSpacing(5);
vslider7.setPaintLabels(true);
vslider7.setPaintTicks(true);
panel.add(vslider7);
vslider8 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
vslider8.putClientProperty("JSlider.isFilled", Boolean.TRUE);
vslider8.setInverted(true);
vslider8.setMajorTickSpacing(20);
vslider8.setMinorTickSpacing(5);
vslider8.setPaintLabels(true);
vslider8.setPaintTicks(true);
panel.add(vslider8);
return panel;
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("CLOSE"))
{
System.exit(0);
}
else if (e.getActionCommand().equals("TOGGLE_ENABLED"))
{
boolean enabled = enabledCheckBox.isSelected();
hslider1.setEnabled(enabled);
hslider2.setEnabled(enabled);
hslider3.setEnabled(enabled);
hslider4.setEnabled(enabled);
hslider5.setEnabled(enabled);
hslider6.setEnabled(enabled);
hslider7.setEnabled(enabled);
hslider8.setEnabled(enabled);
vslider1.setEnabled(enabled);
vslider2.setEnabled(enabled);
vslider3.setEnabled(enabled);
vslider4.setEnabled(enabled);
vslider5.setEnabled(enabled);
vslider6.setEnabled(enabled);
vslider7.setEnabled(enabled);
vslider8.setEnabled(enabled);
}
}
public static void main(String[] args)
{
SliderDemo app = new SliderDemo("Slider Demo");
app.pack();
app.setVisible(true);
}
}
......@@ -39,10 +39,8 @@ target_triplet = @target@
subdir = external
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
......@@ -84,10 +82,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
......@@ -224,6 +226,7 @@ build_vendor = @build_vendor@
datadir = @datadir@
default_toolkit = @default_toolkit@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
......@@ -237,6 +240,7 @@ libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
......
......@@ -39,10 +39,8 @@ target_triplet = @target@
subdir = external/sax
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
......@@ -75,10 +73,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
......@@ -215,6 +217,7 @@ build_vendor = @build_vendor@
datadir = @datadir@
default_toolkit = @default_toolkit@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
......@@ -228,6 +231,7 @@ libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
......
......@@ -39,10 +39,8 @@ target_triplet = @target@
subdir = external/w3c_dom
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
......@@ -75,10 +73,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
......@@ -215,6 +217,7 @@ build_vendor = @build_vendor@
datadir = @datadir@
default_toolkit = @default_toolkit@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
......@@ -228,6 +231,7 @@ libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
......
/* abstractDataInputStream.java --
/* AbstractDataInput.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -50,7 +50,7 @@ import java.io.IOException;
* @author Warren Levy (warrenl@cygnus.com)
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface abstractDataInputStream
public interface AbstractDataInput
{
/**
* This method reads bytes from the underlying stream into the specified
......
/* abstractDataOutputStream.java --
/* AbstractDataOutput.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -50,7 +50,7 @@ import java.io.IOException;
* @author Warren Levy (warrenl@cygnus.com)
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface abstractDataOutputStream
public interface AbstractDataOutput
{
/**
* This method flushes any unwritten bytes to the underlying stream.
......
/* aligningInputStream.java --
/* AligningInput.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -48,7 +48,7 @@ import org.omg.CORBA.BAD_PARAM;
*
* @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
*/
public class aligningInputStream
public class AligningInput
extends ByteArrayInputStream
{
/**
......@@ -61,24 +61,12 @@ public class aligningInputStream
*
* @param a_buffer a buffer to read from.
*/
public aligningInputStream(byte[] a_buffer)
public AligningInput(byte[] a_buffer)
{
super(a_buffer);
}
/**
* Create a stream, reading from the given buffer region.
*
* @param a_buffer a buffer to read from.
* @param offset the offset of the region.
* @param length thr length of the region.
*/
public aligningInputStream(byte[] a_buffer, int offset, int length)
{
super(a_buffer, offset, length);
}
/**
* Set the alignment offset, if the index of the first byte in the
* stream is different from 0.
*/
......@@ -119,4 +107,25 @@ public class aligningInputStream
{
return buf;
}
/**
* Get the current position in the buffer.
*
* @return The position in the buffer, taking offset into consideration.
*/
public int getPosition()
{
return pos + offset;
}
/**
* Jump to the given position, taking offset into consideration.
*/
public void seek(int position)
{
if (position < offset || position > (count+offset))
throw new ArrayIndexOutOfBoundsException(position
+ " is out of valid ["+offset+".." + (count+offset) + "[ range");
pos = position - offset;
}
}
/* aligningOutputStream.java --
/* AligningOutput.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -38,7 +38,6 @@ exception statement from your version. */
package gnu.CORBA.CDR;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import org.omg.CORBA.BAD_PARAM;
......@@ -49,7 +48,7 @@ import org.omg.CORBA.BAD_PARAM;
*
* @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
*/
public class aligningOutputStream
public class AligningOutput
extends ByteArrayOutputStream
{
/**
......@@ -60,14 +59,14 @@ public class aligningOutputStream
/**
* Create a stream with the default intial buffer size.
*/
public aligningOutputStream()
public AligningOutput()
{
}
/**
* Create a stream with the given intial buffer size.
*/
public aligningOutputStream(int initial_size)
public AligningOutput(int initial_size)
{
super(initial_size);
}
......@@ -118,4 +117,32 @@ public class aligningOutputStream
write(0);
}
}
/**
* Get the current position in the buffer.
*
* @return The position in the buffer, taking offset into consideration.
*/
public int getPosition()
{
return size()+offset;
}
/**
* Seek to the given position (not in use).
*/
public void seek(int position)
{
count = position - offset;
}
/**
* Get the buffer without copying it. Use with care.
*/
public byte[] getBuffer()
{
return buf;
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment