diff options
author | Matthias Klose <doko@gcc.gnu.org> | 2008-10-21 17:55:01 +0000 |
---|---|---|
committer | Matthias Klose <doko@gcc.gnu.org> | 2008-10-21 17:55:01 +0000 |
commit | cd6d4007aa4f72b51756e4a571abf876fa3e3133 (patch) | |
tree | 6de8da5758622565799768e49cd0de6698ca3cb8 /libjava/classpath/gnu/javax | |
parent | d9cc481a359c713f473a136730e4019124368d6b (diff) | |
download | gcc-cd6d4007aa4f72b51756e4a571abf876fa3e3133.zip gcc-cd6d4007aa4f72b51756e4a571abf876fa3e3133.tar.gz gcc-cd6d4007aa4f72b51756e4a571abf876fa3e3133.tar.bz2 |
re PR libgcj/37636 (java tools are unable to find resource files)
libjava/ChangeLog:
2008-10-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
* sources.am, Makfile.in: Regenerate.
2008-10-17 Matthias Klose <doko@ubuntu.com>
* configure.ac: Fix bashisms.
* configure: Regenerate.
2008-10-15 Matthias Klose <doko@ubuntu.com>
* configure.ac: Disable build of gjdoc, if configured without
--with-antlr-jar or if no antlr.jar found.
* configure: Regenerate.
2008-10-09 Andrew John Hughes <gnu_andrew@member.fsf.org>
* classpath/configure.ac,
* classpath/m4/ac_prog_antlr.m4,
* classpath/m4/ac_prog_java.m4,
* classpath/tools/Makefile.am:
Ported --regen-gjdoc-parser patch and
cantlr support from GNU Classpath.
2008-10-06 Andrew Haley <aph@redhat.com>
* java/lang/Thread.java (Thread): Always create the ThreadLocalMap
when creating a thread.
(getThreadLocals) Don't lazily create the ThreadLocalMap.
2008-09-28 Andrew John Hughes <gnu_andrew@member.fsf.org>
* classpath/java/lang/ThreadLocalMap.java,
* java/lang/ThreadLocalMap$Entry.h,
* java/lang/ThreadLocalMap.h,
* lib/java/lang/ThreadLocalMap.class,
* lib/java/lang/ThreadLocalMap$Entry.class:
Add the new files for the ThreadLocal patch.
2008-09-28 Andrew John Hughes <gnu_andrew@member.fsf.org>
* classpath/ChangeLog,
* classpath/java/lang/InheritableThreadLocal.java,
* classpath/java/lang/Thread.java,
* classpath/java/lang/ThreadLocal.java:
Merge Daniel Frampton's ThreadLocal patch.
* gcj/javaprims.h: Updated.
* java/lang/Thread.h: Regenerated.
* java/lang/Thread.java:
Replace WeakIdentityHashMap with ThreadLocalMap.
(getThreadLocals()): Likewise.
* java/lang/ThreadLocal.h: Regenerated.
* java/lang/ThreadLocal.java:
(computeNextHash()): New method.
(ThreadLocal()): Initialise fastHash.
(internalGet()): Updated to match Classpath's get().
(internalSet(Object)): Likewise for set(Object).
(internalRemove()): Likewise for remove().
2008-09-25 Andrew John Hughes <gnu_andrew@member.fsf.org>
* classpath/configure,
* classpath/configure.ac:
Resynchronise with Classpath's configure.
* classpath/examples/Makefile.in:
Add equivalent support for building as in
tools/Makefile.in.
* classpath/java/nio/Buffer.java,
* classpath/java/nio/ByteBuffer.java,
* classpath/java/nio/ByteBufferImpl.java,
* classpath/java/nio/CharBuffer.java,
* classpath/java/nio/CharBufferImpl.java,
* classpath/java/nio/CharSequenceBuffer.java,
* classpath/java/nio/CharViewBufferImpl.java,
* classpath/java/nio/DirectByteBufferImpl.java,
* classpath/java/nio/DoubleBuffer.java,
* classpath/java/nio/DoubleBufferImpl.java,
* classpath/java/nio/DoubleViewBufferImpl.java,
* classpath/java/nio/FloatBuffer.java,
* classpath/java/nio/FloatBufferImpl.java,
* classpath/java/nio/FloatViewBufferImpl.java,
* classpath/java/nio/IntBuffer.java,
* classpath/java/nio/IntBufferImpl.java,
* classpath/java/nio/IntViewBufferImpl.java,
* classpath/java/nio/LongBuffer.java,
* classpath/java/nio/LongBufferImpl.java,
* classpath/java/nio/LongViewBufferImpl.java,
* classpath/java/nio/MappedByteBuffer.java,
* classpath/java/nio/MappedByteBufferImpl.java,
* classpath/java/nio/ShortBuffer.java,
* classpath/java/nio/ShortBufferImpl.java,
* classpath/java/nio/ShortViewBufferImpl.java:
Replace use of gnu.classpath.Pointer with gnu.gcj.RawData,
and fix some formatting issues.
* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaLexer.java,
* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaLexer.smap,
* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.java,
* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.smap,
* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaTokenTypes.java,
* classpath/tools/gnu/classpath/tools/gjdoc/expr/JavaTokenTypes.txt:
Regenerated (later version of antlr).
* java/nio/Buffer.h: Regenerated.
* java/nio/Buffer.java: Ported changes from Classpath.
* java/nio/ByteBuffer.h,
* java/nio/CharBuffer.h: Regenerated.
* java/nio/DirectByteBufferImpl.java: Ported changes from
Classpath.
* java/nio/DoubleBuffer.h,
* java/nio/FloatBuffer.h,
* java/nio/IntBuffer.h,
* java/nio/LongBuffer.h,
* java/nio/MappedByteBuffer.h,
* java/nio/MappedByteBufferImpl.h: Regenerated.
* java/nio/MappedByteBufferImpl.java: Ported changes from
Classpath.
* java/nio/ShortBuffer.h: Regenerated.
2008-09-24 Matthias Klose <doko@ubuntu.com>
* configure.ac: Search for antlr.jar, if not configured.
* configure: Regenerate.
2008-09-24 Matthias Klose <doko@ubuntu.com>
* Makefile.am: Build a gjdoc binary, if enabled.
* configure.ac: Add options --disable-gjdoc, --with-antlr-jar=file.
* Makefile.in, */Makefile.in, configure: Regenerate.
2008-09-22 Andrew Haley <aph@redhat.com>
* java/lang/String.java (toString(char[], int, int)): New method.
2008-09-14 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (libgcj-import-20080914).
* Regenerate class and header files.
* Regenerate auto* files.
* configure.ac: Don't pass --disable-gjdoc to classpath.
* sources.am: Regenerated.
* HACKING: Mention to build gjdoc in maintainer builds.
* gnu/classpath/Configuration.java: Update classpath version.
* gcj/javaprims.h: Update.
2008-09-08 Andrew John Hughes <gnu_andrew@member.fsf.org>
* Makefile.am: Replace natStringBuffer.cc
and natStringBuilder.cc with natAbstractStringBuffer.cc.
* Makefile.in: Regenerated.
* java/lang/AbstractStringBuffer.java:
(append(int)): Made native.
(regionMatches(int,String)): Likewise.
* java/lang/StringBuffer.h: Regenerated.
* java/lang/StringBuffer.java: Remerged with GNU Classpath.
* java/lang/StringBuilder.h: Regenerated.
* java/lang/StringBuilder.java: Remerged with GNU Classpath.
* java/lang/natAbstractStringBuffer.cc: Provide common
native methods for StringBuffer and StringBuilder.
* java/lang/natStringBuffer.cc,
* java/lang/natStringBuilder.cc: Removed.
2008-09-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
* Makefile.in,
* classpath/configure: Regenerated.
* gnu/gcj/util/natDebug.cc,
* gnu/gcj/xlib/natColormap.cc,
* gnu/gcj/xlib/natDisplay.cc,
* gnu/gcj/xlib/natDrawable.cc,
* gnu/gcj/xlib/natFont.cc,
* gnu/gcj/xlib/natWMSizeHints.cc,
* gnu/gcj/xlib/natWindow.cc,
* gnu/gcj/xlib/natXImage.cc:
Add :: prefix to namespaces.
* java/io/CharArrayWriter.h,
* java/lang/StringBuffer.h:
Regenerated using patched gjavah.
* java/lang/natStringBuffer.cc:
Fix naming of append(jint).
* java/sql/Timestamp.h: Regenerated
using patched gjavah.
* jni.cc: Rename p to functions
to match change in GNU Classpath.
* scripts/makemake.tcl: Switch
gnu.java.math to BC compilation.
* sources.am: Regenerated.
2008-08-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
* Makefile.in: Updated location of Configuration.java.
* classpath/lib/gnu/java/locale/LocaleData.class: Regenerated.
2008-08-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
* Makefile.in: Updated with new Java files.
* classpath/configure: Regenerated.
* classpath/tools/Makefile.am: Add missing
use of GJDOC_EX so --disable-gjdoc works.
* classpath/tools/Makefile.in: Regenerated.
2008-08-15 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (libgcj-import-20080811).
* Regenerate class and header files.
* Regenerate auto* files.
* configure.ac: Don't pass --with-fastjar to classpath, substitute new
dummy value in classpath/gnu/classpath/Configuration.java.in, pass
--disable-gjdoc to classpath.
* scripts/makemake.tcl:
* sources.am: Regenerated.
* java/lang/AbstractStringBuffer.java, gnu/java/lang/VMCPStringBuilder.java:
New, copied from classpath, use System instead of VMSystem.
* java/lang/StringBuffer.java: Merge from classpath.
* java/lang/ClassLoader.java: Merge from classpath.
* gcj/javaprims.h: Update class definitions,
remove _Jv_jobjectRefType, jobjectRefType definitions.
libjava/classpath/ChangeLog.gcj:
2008-10-21 Matthias Klose <doko@ubuntu.com>
* classpath/tools/gnu/classpath/tools/gjdoc/expr/Java*: Move from ...
* classpath/tools/generated/gnu/classpath/tools/gjdoc/expr/ ... here.
* Update .class files.
2008-10-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
* tools/Makefile.am:
Always generate parser in the srcdir.
2008-10-21 Matthias Klose <doko@ubuntu.com>
* doc/Makefile.am (MAINTAINERCLEANFILES): Add gjdoc.1.
* doc/Makefile.in: Regenerate.
2008-10-20 Matthias Klose <doko@ubuntu.com>
* configure.ac: Don't check for working java, if not configured
with --enable-java-maintainer-mode.
* configure: Regenerate.
2008-10-19 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_java.m4: Revert previous change.
* m4/ac_prog_javac.m4: Apply it here.
* configure: Regenerate.
2008-10-19 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_javac.m4: Don't check for working javac, if not configured
with --enable-java-maintainer-mode.
* configure: Regenerate.
* Makefile.in, */Makefile.in: Regenerate.
2008-09-30 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_antlr.m4: Check for cantlr binary as well.
2008-09-29 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_antlr.m4: Check for antlr binary as well.
2008-09-28 Matthias Klose <doko@ubuntu.com>
* PR libgcj/37636. Revert:
2008-02-20 Matthias Klose <doko@ubuntu.com>
* tools/Makefile.am ($(TOOLS_ZIP)): Revert part of previous change,
Do copy resource files in JAVA_MAINTAINER_MODE only.
* tools/Makefile.in: Regenerate.
2008-09-14 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_javac_works.m4, m4/ac_prog_javac.m4, m4/acinclude.m4:
Revert local changes.
* m4/ac_prog_antlr.m4: Check for an runantlr binary.
* tools/Makefile.am, lib/Makefile.am: Revert local changes (JCOMPILER).
* tools/Makefile.am: Remove USE_JAVAC_FLAGS, pass ANTLR_JAR in
GLIBJ_CLASSPATH.
2008-09-14 Matthias Klose <doko@ubuntu.com>
Revert:
Daniel Frampton <zyridium at zyridium.net>
* AUTHORS: Added.
* java/lang/InheritableThreadLocal.java,
* java/lang/Thread.java,
* java/lang/ThreadLocal.java:
Modified to use java.lang.ThreadLocalMap.
* java/lang/ThreadLocalMap.java:
New cheaper ThreadLocal-specific WeakHashMap.
2008-08-15 Matthias Klose <doko@ubuntu.com>
* m4/acinclude.m4 (CLASSPATH_JAVAC_MEM_CHECK): Remove unknown
args for javac.
libjava/classpath/ChangeLog:
2008-10-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
* m4/ac_prog_antlr.m4:
Remove redundant checks.
* tools/Makefile.am:
Use gjdoc_gendir when calling antlr.
2008-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org>
* configure.ac:
Remove superfluous AC_PROG_JAVA call.
2008-10-06 Andrew John Hughes <gnu_andrew@member.fsf.org>
* m4/ac_prog_antlr:
Check for cantlr as well.
* tools/Makefile.am:
Only build GJDoc parser when both
CREATE_GJDOC and CREATE_GJDOC_PARSER
are on.
2008-10-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
* configure.ac:
Add regen-gjdoc-parser option,
and separate antlr tests.
* m4/ac_prog_antlr.m4:
Turn single test into AC_LIB_ANTLR
and AC_PROG_ANTLR.
* m4/ac_prog_java.m4:
Quote tests.
* tools/Makefile.am:
Support CREATE_GJDOC_PARSER option.
2008-09-14 Andrew John Hughes <gnu_andrew@member.fsf.org>
* examples/Makefile.am:
Check lib directly as well as glibj.zip
for boot classes.
* m4/acinclude.m4:
Only require the class files to be built
to allow the tools and examples to be built,
not the installation of glibj.zip.
* tools/Makefile.am:
Check lib directly as well as glibj.zip
for boot classes.
2008-09-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
* examples/Makefile.am,
* lib/Makefile.am:
Add GCJ rules.
* m4/ac_prog_javac.m4:
Check whether JAVAC is gcj.
* m4/ac_prog_javac_works.m4:
Add GCJ rules.
* m4/acinclude.m4:
Don't bother checking for -J
if using GCJ.
* tools/Makefile.am:
Add GCJ rules.
2007-08-23 Daniel Frampton <zyridium@zyridium.net>
* AUTHORS: Added.
* java/lang/InheritableThreadLocal.java,
* java/lang/Thread.java,
* java/lang/ThreadLocal.java:
Modified to use java.lang.ThreadLocalMap.
* java/lang/ThreadLocalMap.java:
New cheaper ThreadLocal-specific WeakHashMap.
2008-02-07 Ian Rogers <ian.rogers@manchester.ac.uk>
* java/util/zip/ZipEntry.java:
Use byte fields instead of integer fields,
store the time as well as the DOS time and
don't retain a global Calendar instance.
(setDOSTime(int)): Set KNOWN_DOSTIME instead
of KNOWN_TIME, and unset KNOWN_TIME.
(getDOSTime()): Compute DOS time from UNIX time
only when needed.
(clone()): Provide cloning via the ZipEntry constructor
where possible.
(setTime(long)): Don't compute DOS time at this point.
(getCalendar()): Removed.
2008-09-09 Andrew John Hughes <gnu_andrew@member.fsf.org>
* tools/gnu/classpath/tools/getopt/Parser.java:
(setHeader(String)): Make synchronized.
(setFooter(String)): Likewise.
* tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java,
(reset()): Make synchronized.
(name(Class)): Likewise.
2008-09-04 Robert Schuster <robertschuster@fsfe.org>
* gnu/java/nio/charset/ByteDecodeLoopHelper:
(arrayDecodeLoop): Added new break label, escape to that label.
* gnu/java/nio/charset/ByteEncodeLoopHelper:
(arrayDecodeLoop): Added new break label, escape to that label.
2008-09-04 Robert Schuster <robertschuster@fsfe.org>
* java/text/DecimalFormat.java:
(scanFix): Use 'i + 1' when looking at following character.
(scanNegativePattern): Dito.
2008-09-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
* tools/gnu/classpath/tools/javah/ClassWrapper.java:
(makeVtable()): Populate methodNameMap.
(printMethods(CniPrintStream)): Always use pre-populated
methodNameMap for bridge targets.
2008-09-01 Mario Torre <neugens@aicas.com>
* gnu/java/awt/peer/x/XImage.java (XImageProducer): remove @Override
annotation to allow compilation on javac < 1.6 and ecj < 3.4.
2008-09-01 Mario Torre <neugens@aicas.com>
* gnu/java/awt/peer/x/XGraphicsDevice.java (getDisplay): fix to support
new Escher API.
* gnu/java/awt/peer/x/XImage.java (getSource): method implemented.
* gnu/java/awt/peer/x/XImage.java (XImageProducer): implement ImageProducer
for getSource.
2008-09-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/java/util/regex/BacktrackStack.java,
* gnu/java/util/regex/CharIndexed.java,
* gnu/java/util/regex/CharIndexedCharArray.java,
* gnu/java/util/regex/CharIndexedCharSequence.java,
* gnu/java/util/regex/CharIndexedInputStream.java,
* gnu/java/util/regex/CharIndexedString.java,
* gnu/java/util/regex/CharIndexedStringBuffer.java,
* gnu/java/util/regex/RE.java,
* gnu/java/util/regex/REException.java,
* gnu/java/util/regex/REFilterInputStream.java,
* gnu/java/util/regex/REMatch.java,
* gnu/java/util/regex/REMatchEnumeration.java,
* gnu/java/util/regex/RESyntax.java,
* gnu/java/util/regex/REToken.java,
* gnu/java/util/regex/RETokenAny.java,
* gnu/java/util/regex/RETokenBackRef.java,
* gnu/java/util/regex/RETokenChar.java,
* gnu/java/util/regex/RETokenEnd.java,
* gnu/java/util/regex/RETokenEndOfPreviousMatch.java,
* gnu/java/util/regex/RETokenEndSub.java,
* gnu/java/util/regex/RETokenIndependent.java,
* gnu/java/util/regex/RETokenLookAhead.java,
* gnu/java/util/regex/RETokenLookBehind.java,
* gnu/java/util/regex/RETokenNamedProperty.java,
* gnu/java/util/regex/RETokenOneOf.java,
* gnu/java/util/regex/RETokenPOSIX.java,
* gnu/java/util/regex/RETokenRange.java,
* gnu/java/util/regex/RETokenRepeated.java,
* gnu/java/util/regex/RETokenStart.java,
* gnu/java/util/regex/RETokenWordBoundary.java,
* gnu/java/util/regex/UncheckedRE.java:
Fix indentation.
2008-09-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/java/util/regex/RETokenStart.java:
(getMaximumLength()): Add Override annotation.
(matchThis(CharIndexed, REMatch)): Likewise.
(returnsFixedLengthMatches()): Renamed from
returnsFixedLengthmatches and added Override
annotation.
(findFixedLengthMatches(CharIndexed,REMatch,int)):
Add Override annotation.
(dump(CPStringBuilder)): Likewise.
* gnu/javax/print/ipp/IppRequest.java:
(RequestWriter.writeOperationAttributes(AttributeSet)):
Throw exception, don't just create and drop it.
* javax/management/MBeanServerPermission.java:
(MBeanServerPermissionCollection.add(Permission)): Compare
against individual Strings not the entire array, and
store the result of replace.
* javax/swing/text/html/StyleSheet.java:
(setBaseFontSize(size)): Store result of trim().
2008-09-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
* javax/tools/FileObject.java:
(openReader(boolean)): Document new parameter.
2008-03-27 Michael Franz <mvfranz@gmail.com>
PR classpath/35690:
* javax/tools/FileObject.java:
(toUri()): Fix case from toURI.
(openReader(boolean)): Add missing boolean argument.
2008-08-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/35487:
* gnu/javax/management/Server.java:
(beans): Change to ConcurrentHashMap.
(defaultDomain): Make final.
(outer): Likewise.
(LazyListenersHolder): Added to wrap
listeners, also now a ConcurrentHashMap,
providing lazy initialisation safely.
(sequenceNumber): Documented.
(getBean(ObjectName)): Remove redundant cast.
(addNotificationListener(ObjectName,NotificationListener,
NotificationFilter,Object)): Remove map initialisation
and use holder.
(getObjectInstance(ObjectName)): Remove redundant cast.
(registerMBean(Object,ObjectName)): Add bean atomically.
(removeNotificationListener(ObjectName,NotificationListener)):
Simplified.
(removeNotificationListener(ObjectName,NotificationListener,
NotificationFilter,Object)): Likewise.
(notify(ObjectName,String)): Documented.
2008-08-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/javax/management/Server.java:
Genericised.
2008-08-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/javax/management/Translator.java:
Genericised.
2008-08-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
* javax/management/DefaultLoaderRepository.java,
* javax/management/JMX.java,
* javax/management/MBeanAttributeInfo.java,
* javax/management/MBeanConstructorInfo.java,
* javax/management/MBeanOperationInfo.java,
* javax/management/MBeanServerDelegate.java:
Fix warnings due to generics.
2008-08-25 Andrew John Hughes <gnu_andrew@member.fsf.org>
* javax/management/MBeanPermission.java,
* javax/management/MBeanServerDelegate.java,
* javax/management/MBeanServerFactory.java,
* javax/management/MBeanServerInvocationHandler.java,
* javax/management/MBeanServerPermission.java:
Fix warnings due to use of non-generic collections.
2008-08-25 Mario Torre <neugens@aicas.com>
* gnu/javax/rmi/CORBA/RmiUtilities.java (readValue): check if sender is
null to avoid NPE.
2008-08-22 Mario Torre <neugens@aicas.com>
* gnu/CORBA/OrbFunctional.java (set_parameters): Fix
NullPointerException checking when param is null.
2008-08-23 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/util/regex/Matcher.java:
(reset()): Reset append position so
we don't try and append to the end of
the old input.
2008-08-22 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/32028:
* m4/acinclude.m4:
Also allow versions of GJDoc from 0.8* on, as
CVS is 0.8.0-pre.
2008-08-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/32028:
* m4/acinclude.m4:
(CLASSPATH_WITH_GJDOC): Ensure version 0.7.9 is
being used.
2008-08-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
* tools/Makefile.am:
Add taglets subdirectory to list of excluded
paths when GJDoc is not compiled.
2008-08-19 David P Grove <groved@us.ibm.com>
* scripts/check_jni_methods.sh.in:
Fix build issue on AIX by splitting generation
of method list.
2008-08-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
* native/jni/gstreamer-peer/gst_native_pipeline.c:
(get_free_space(int)): Use #else not #elif when
there is no condition.
2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/31895:
* java/text/DecimalFormat.java:
(setCurrency(Currency)): Update prefixes and
suffixes when currency changes.
* java/text/DecimalFormatSymbols.java:
(DecimalFormatSymbols(Locale)): Set locale earlier
so it can be used by setCurrency(Currency).
(setCurrency(Currency)): Set the symbol correctly using
the locale of the instance.
* java/util/Currency.java:
Throw error instead of just printing a message.
2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
* javax/activation/ActivationDataFlavor.java:
Suppress warnings from public API.
(mimeType): Made final.
(representationClass): Added generic type and
made final.
(normalizeMimeTypeParameter(String,String)):
Use CPStringBuilder.
* javax/activation/CommandInfo.java:
(verb): Made final.
(className): Made final.
* javax/activation/DataHandler.java:
(dataSource): Made final.
* javax/activation/FileDataSource.java:
(file): Made final.
* javax/activation/MailcapCommandMap.java:
Use generics on collections and CPStringBuilder
instead of StringBuffer.
* javax/activation/MimeType.java:
(toString()): Use CPStringBuilder.
(getBaseType()): Likewise.
* javax/activation/MimeTypeParameterList.java:
Use generics on collections and CPStringBuilder
instead of StringBuffer.
* javax/activation/MimeTypeParseException.java:
(MimeTypeParseException(String,String)): Use
CPStringBuilder.
* javax/activation/MimetypesFileTypeMap.java:
Use generics on collections and CPStringBuilder
instead of StringBuffer.
* javax/activation/URLDataSource.java:
(url): Made final.
2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/javax/activation/viewers/ImageViewer.java,
* gnu/javax/activation/viewers/TextEditor.java,
* gnu/javax/activation/viewers/TextViewer.java,
* javax/activation/ActivationDataFlavor.java,
* javax/activation/CommandInfo.java,
* javax/activation/CommandMap.java,
* javax/activation/CommandObject.java,
* javax/activation/DataContentHandler.java,
* javax/activation/DataContentHandlerFactory.java,
* javax/activation/DataHandler.java,
* javax/activation/DataHandlerDataSource.java,
* javax/activation/DataSource.java,
* javax/activation/DataSourceDataContentHandler.java,
* javax/activation/FileDataSource.java,
* javax/activation/FileTypeMap.java,
* javax/activation/MailcapCommandMap.java,
* javax/activation/MimeType.java,
* javax/activation/MimeTypeParameterList.java,
* javax/activation/MimeTypeParseException.java,
* javax/activation/MimetypesFileTypeMap.java,
* javax/activation/ObjectDataContentHandler.java,
* javax/activation/URLDataSource.java,
* javax/activation/UnsupportedDataTypeException.java,
* javax/activation/package.html,
* resource/META-INF/mailcap.default,
* resource/META-INF/mimetypes.default:
Import GNU JAF CVS as of 17/08/2008.
2006-04-25 Archit Shah <ashah@redhat.com>
* javax/activation/MimeTypeParameterList.java:
Insert ';' separator before parameter list.
2005-06-29 Xavier Poinsard <xpoinsard@openpricer.com>
* javax/activation/ObjectDataContentHandler.java:
Fixed typo.
2005-05-28 Chris Burdess <dog@bluezoo.org>
* javax/activation/CommandMap.java,
* javax/activation/MailcapCommandMap.java:
Updated to JAF 1.1.
2004-06-09 Chris Burdess <dog@bluezoo.org>
* javax/activation/MailcapCommandMap.java:
Fixed bug whereby x-java prefix was not
attempted.
2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
* AUTHORS: Added Laszlo.
2008-04-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/30436:
* java/util/Scanner.java:
Fix package to be java.util and correct
indentation.
2007-07-25 Laszlo Andras Hernadi <e0327023@student.tuwien.ac.at>
PR classpath/30436:
* java/util/Scanner.java:
Initial implementation.
2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/util/regex/Matcher.java:
(toMatchResult()): Implemented.
2008-08-13 Joshua Sumali <jsumali@redhat.com>
* doc/Makefile.am (gjdoc.pod): Generate gjdoc pod from cp-tools.texinfo
instead of invoke.texi. Remove invoke.texi from EXTRA_DIST.
* doc/invoke.texi: Removed and merged into ...
* doc/cp-tools.texinfo: Here
2008-08-12 Robert Schuster <robertschuster@fsfe.org>
* native/jni/java-net/local.c
(local_bind): Removed fprintf call, fixed access outside
of array bounds.
From-SVN: r141271
Diffstat (limited to 'libjava/classpath/gnu/javax')
40 files changed, 556 insertions, 157 deletions
diff --git a/libjava/classpath/gnu/javax/activation/viewers/ImageViewer.java b/libjava/classpath/gnu/javax/activation/viewers/ImageViewer.java new file mode 100644 index 0000000..829f40c --- /dev/null +++ b/libjava/classpath/gnu/javax/activation/viewers/ImageViewer.java @@ -0,0 +1,138 @@ +/* ImageViewer.java -- Simple image display component. + Copyright (C) 2004 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.javax.activation.viewers; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Image; +import java.awt.Graphics; +import java.awt.MediaTracker; +import java.awt.Toolkit; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.IOException; + +import javax.activation.CommandObject; +import javax.activation.DataHandler; + +/** + * Simple image display component. + * + * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> + * @version 1.0.2 + */ +public class ImageViewer extends Component + implements CommandObject +{ + + private Image image; + + /** + * Returns the preferred size for this component (the image size). + */ + public Dimension getPreferredSize() + { + Dimension ps = new Dimension(0, 0); + if (image != null) + { + ps.width = image.getWidth(this); + ps.height = image.getHeight(this); + } + return ps; + } + + public void setCommandContext(String verb, DataHandler dh) + throws IOException + { + // Read image into a byte array + InputStream in = dh.getInputStream(); + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + byte[] buf = new byte[4096]; + for (int len = in.read(buf); len != -1; len = in.read(buf)) + bytes.write(buf, 0, len); + in.close(); + // Create and prepare the image + Toolkit toolkit = getToolkit(); + Image img = toolkit.createImage(bytes.toByteArray()); + try + { + MediaTracker tracker = new MediaTracker(this); + tracker.addImage(img, 0); + tracker.waitForID(0); + } + catch (InterruptedException e) + { + } + toolkit.prepareImage(img, -1, -1, this); + } + + /** + * Image bits arrive. + */ + public boolean imageUpdate(Image image, int flags, int x, int y, + int width, int height) + { + if ((flags & ALLBITS) != 0) + { + this.image = image; + invalidate(); + repaint(); + return false; + } + return ((flags & ERROR) == 0); + } + + /** + * Scale the image into this component's bounds. + */ + public void paint(Graphics g) + { + if (image != null) + { + Dimension is = new Dimension(image.getWidth(this), + image.getHeight(this)); + if (is.width > -1 && is.height > -1) + { + Dimension cs = getSize(); + g.drawImage(image, 0, 0, cs.width, cs.height, + 0, 0, is.width, is.height, this); + } + } + } + +} diff --git a/libjava/classpath/gnu/javax/activation/viewers/TextEditor.java b/libjava/classpath/gnu/javax/activation/viewers/TextEditor.java new file mode 100644 index 0000000..1995ae1 --- /dev/null +++ b/libjava/classpath/gnu/javax/activation/viewers/TextEditor.java @@ -0,0 +1,119 @@ +/* TextEditor.java -- Simple text editor component. + Copyright (C) 2004 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.javax.activation.viewers; + +import java.awt.Dimension; +import java.awt.TextArea; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.IOException; +import java.io.OutputStream; +import javax.activation.CommandObject; +import javax.activation.DataHandler; + +/** + * Simple text editor component. + * + * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> + * @version 1.0.2 + */ +public class TextEditor extends TextArea + implements CommandObject, ActionListener +{ + + private transient DataHandler dh; + + public TextEditor() + { + super("", 24, 80, 1); + } + + public Dimension getPreferredSize() + { + return getMinimumSize(24, 80); + } + + public void setCommandContext(String verb, DataHandler dh) + throws IOException + { + this.dh = dh; + InputStream in = dh.getInputStream(); + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + byte[] buf = new byte[4096]; + for (int len = in.read(buf); len != -1; len = in.read(buf)) + bytes.write(buf, 0, len); + in.close(); + setText(bytes.toString()); + } + + public void actionPerformed(ActionEvent event) + { + if ("save".equals(event.getActionCommand()) && dh != null) + { + OutputStream out = null; + try + { + out = dh.getOutputStream(); + if (out != null) + out.write(getText().getBytes()); + } + catch (IOException e) + { + e.printStackTrace(System.err); + } + finally + { + if (out != null) + { + try + { + + out.close(); + } + catch (IOException e) + { + e.printStackTrace(System.err); + } + } + } + } + } + +} diff --git a/libjava/classpath/gnu/javax/activation/viewers/TextViewer.java b/libjava/classpath/gnu/javax/activation/viewers/TextViewer.java new file mode 100644 index 0000000..2b4aa90 --- /dev/null +++ b/libjava/classpath/gnu/javax/activation/viewers/TextViewer.java @@ -0,0 +1,81 @@ +/* TextViewer.java -- Simple text viewer component. + Copyright (C) 2004 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.javax.activation.viewers; + +import java.awt.Dimension; +import java.awt.TextArea; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.IOException; +import javax.activation.CommandObject; +import javax.activation.DataHandler; + +/** + * Simple text display component. + * + * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> + * @version 1.0.2 + */ +public class TextViewer extends TextArea + implements CommandObject +{ + + public TextViewer() + { + super("", 24, 80, 1); + setEditable(false); + } + + public Dimension getPreferredSize() + { + return getMinimumSize(24, 80); + } + + public void setCommandContext(String verb, DataHandler dh) + throws IOException + { + InputStream in = dh.getInputStream(); + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + byte[] buf = new byte[4096]; + for (int len = in.read(buf); len != -1; len = in.read(buf)) + bytes.write(buf, 0, len); + in.close(); + setText(bytes.toString()); + } + +} diff --git a/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java b/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java index 2c972f8..4e93322 100644 --- a/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java +++ b/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.assembly; +import gnu.java.lang.CPStringBuilder; + import java.io.PrintStream; import java.io.PrintWriter; @@ -129,7 +131,7 @@ public class TransformerException */ public String toString() { - StringBuffer sb = new StringBuffer(this.getClass().getName()) + CPStringBuilder sb = new CPStringBuilder(this.getClass().getName()) .append(": ").append(super.toString()); if (_exception != null) sb.append("; caused by: ").append(_exception.toString()); diff --git a/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java b/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java index a5bbe69..bae142a 100644 --- a/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java +++ b/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.cipher; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Configuration; import java.security.InvalidKeyException; @@ -88,7 +90,7 @@ public abstract class BaseCipher public String name() { - StringBuffer sb = new StringBuffer(name).append('-'); + CPStringBuilder sb = new CPStringBuilder(name).append('-'); if (currentKey == null) sb.append(String.valueOf(8 * defaultBlockSize)); else diff --git a/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java b/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java index 0357c16..a917e22 100644 --- a/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java +++ b/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.jce.sig; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Registry; import gnu.java.security.der.DER; import gnu.java.security.der.DERReader; @@ -195,7 +197,7 @@ public class DHParameters protected String engineToString() { - StringBuffer sb = new StringBuffer("p="); + CPStringBuilder sb = new CPStringBuilder("p="); if (p == null) sb.append("???"); else diff --git a/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java b/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java index f0fb1bb..405f011 100644 --- a/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java +++ b/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.key; +import gnu.java.lang.CPStringBuilder; + import java.io.PrintStream; import java.io.PrintWriter; import java.io.Serializable; @@ -157,7 +159,7 @@ public class KeyAgreementException */ public String toString() { - StringBuffer sb = new StringBuffer(this.getClass().getName()).append(": ") + CPStringBuilder sb = new CPStringBuilder(this.getClass().getName()).append(": ") .append(super.toString()); if (cause != null) sb.append("; caused by: ").append(cause.toString()); diff --git a/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java b/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java index 6d9418c..02e4322 100644 --- a/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java +++ b/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.mode; +import gnu.java.lang.CPStringBuilder; + import gnu.javax.crypto.cipher.IBlockCipher; import java.security.InvalidKeyException; @@ -110,7 +112,7 @@ public abstract class BaseMode public String name() { - return new StringBuffer(name).append('(').append(cipher.name()).append(')') + return new CPStringBuilder(name).append('(').append(cipher.name()).append(')') .toString(); } diff --git a/libjava/classpath/gnu/javax/crypto/pad/BasePad.java b/libjava/classpath/gnu/javax/crypto/pad/BasePad.java index 8b475d2..adc2c9b 100644 --- a/libjava/classpath/gnu/javax/crypto/pad/BasePad.java +++ b/libjava/classpath/gnu/javax/crypto/pad/BasePad.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.pad; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Configuration; import java.util.Map; @@ -67,7 +69,7 @@ public abstract class BasePad public String name() { - final StringBuffer sb = new StringBuffer(name); + final CPStringBuilder sb = new CPStringBuilder(name); if (blockSize != -1) sb.append('-').append(String.valueOf(8 * blockSize)); return sb.toString(); diff --git a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java index 2145512..a6a06b6 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.crammd5; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.mac.HMacFactory; @@ -83,7 +85,7 @@ class CramMD5Util final byte[] result; try { - result = new StringBuffer("<") + result = new CPStringBuilder("<") .append(encoded.substring(0,encoded.length())) .append(".").append(String.valueOf(System.currentTimeMillis())) .append("@").append(hostname).append(">") diff --git a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java index df95211..4900842 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.crammd5; +import gnu.java.lang.CPStringBuilder; + import gnu.javax.crypto.sasl.NoSuchUserException; import gnu.javax.crypto.sasl.UserAlreadyExistsException; @@ -201,13 +203,13 @@ public class PasswordFile pw = new PrintWriter(fos); String key; String[] fields; - StringBuffer sb; + CPStringBuilder sb; int i; for (Iterator it = entries.keySet().iterator(); it.hasNext();) { key = (String) it.next(); fields = (String[]) entries.get(key); - sb = new StringBuffer(fields[0]); + sb = new CPStringBuilder(fields[0]); for (i = 1; i < fields.length; i++) sb.append(":").append(fields[i]); pw.println(sb.toString()); diff --git a/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java b/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java index b6fb3f8..4888214d8 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.plain; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.action.GetPropertyAction; import gnu.javax.crypto.sasl.NoSuchUserException; import gnu.javax.crypto.sasl.UserAlreadyExistsException; @@ -205,13 +207,13 @@ public class PasswordFile pw = new PrintWriter(fos); String key; String[] fields; - StringBuffer sb; + CPStringBuilder sb; Enumeration keys = entries.keys(); while (keys.hasMoreElements()) { key = (String) keys.nextElement(); fields = (String[]) entries.get(key); - sb = new StringBuffer(fields[0]); + sb = new CPStringBuilder(fields[0]); for (int i = 1; i < fields.length; i++) sb.append(":" + fields[i]); pw.println(sb.toString()); diff --git a/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java b/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java index 5c60578..87fffa0 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.plain; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Registry; import gnu.javax.crypto.sasl.ClientMechanism; @@ -128,7 +130,7 @@ public class PlainClient } if (password == null) throw new SaslException("null password supplied"); - final StringBuffer sb = new StringBuffer(); + final CPStringBuilder sb = new CPStringBuilder(); if (authorizationID != null) sb.append(authorizationID); sb.append('\0'); diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java index 36888df..7946e84 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.srp; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.key.srp6.SRPAlgorithm; @@ -445,12 +447,12 @@ public class PasswordFile { String ndx; String[] mpi; - StringBuffer sb; + CPStringBuilder sb; for (Iterator it = configurations.keySet().iterator(); it.hasNext();) { ndx = (String) it.next(); mpi = (String[]) configurations.get(ndx); - sb = new StringBuffer(ndx) + sb = new CPStringBuilder(ndx) .append(":").append(mpi[0]) .append(":").append(mpi[1]); pw.println(sb.toString()); @@ -591,7 +593,7 @@ public class PasswordFile { String user, digestID; HashMap fields, verifiers; - StringBuffer sb1, sb2; + CPStringBuilder sb1, sb2; Iterator j; final Iterator i = entries.keySet().iterator(); while (i.hasNext()) @@ -601,7 +603,7 @@ public class PasswordFile if (! user.equals(fields.get(USER_FIELD))) throw new IOException("Inconsistent SRP password data"); verifiers = (HashMap) fields.get(VERIFIERS_FIELD); - sb1 = new StringBuffer(user) + sb1 = new CPStringBuilder(user) .append(":").append((String) verifiers.get("0")) .append(":").append((String) fields.get(SALT_FIELD)) .append(":").append((String) fields.get(CONFIG_FIELD)); @@ -614,7 +616,7 @@ public class PasswordFile if (! "0".equals(digestID)) { // #0 is the default digest, already present in tpasswd! - sb2 = new StringBuffer(digestID) + sb2 = new CPStringBuilder(digestID) .append(":").append(user) .append(":").append((String) verifiers.get(digestID)); pw2.println(sb2.toString()); diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java index f4ef4cc..3406c14 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.srp; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Configuration; import gnu.java.security.Registry; import gnu.java.security.hash.MD5; @@ -863,7 +865,7 @@ public class SRPClient // For now we just select the defaults. Later we need to add support for // properties (perhaps in a file) where a user can specify the list of // algorithms they would prefer to use. - final StringBuffer sb = new StringBuffer(); + final CPStringBuilder sb = new CPStringBuilder(); sb.append(SRPRegistry.OPTION_SRP_DIGEST) .append("=").append(mdName).append(","); if (replayDetection) diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java index ff7e4e9..3f000de 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.srp; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Configuration; import gnu.java.security.Registry; import gnu.java.security.util.PRNG; @@ -612,7 +614,7 @@ public class SRPServer s = (String) properties.get(SRPRegistry.SRP_REPLAY_DETECTION); final boolean replayDetection = (s == null ? SRPRegistry.DEFAULT_REPLAY_DETECTION : Boolean.valueOf(s).booleanValue()); - final StringBuffer sb = new StringBuffer(); + final CPStringBuilder sb = new CPStringBuilder(); sb.append(SRPRegistry.OPTION_SRP_DIGEST).append("=") .append(srp.getAlgorithm()).append(","); diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java index e9b1a72..9fa8329 100644 --- a/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java +++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.crypto.sasl.srp; +import gnu.java.lang.CPStringBuilder; + import java.util.HashMap; /** @@ -84,7 +86,7 @@ public class ServerStore static synchronized final byte[] getNewSessionID() { final String sid = String.valueOf(++counter); - return new StringBuffer("SID-") + return new CPStringBuilder("SID-") .append("0000000000".substring(0, 10 - sid.length())).append(sid) .toString().getBytes(); } diff --git a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java index 08b5041..be42ffa 100644 --- a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java +++ b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java @@ -178,7 +178,6 @@ public class BMPImageWriter encoder.encode(out, streamMetadata, image, param); else throw new BMPException("Encoder has not been initialized."); - out.close(); } /** diff --git a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java index b2a4273..32f9f59 100644 --- a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java +++ b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java @@ -51,7 +51,7 @@ public class BMPImageWriterSpi static final String vendorName = "GNU"; static final String version = "0.1"; static final String writerClassName = "gnu.javax.imageio.bmp.BMPImageWriter"; - static final String[] names = { "Microsoft Windows BMP" }; + static final String[] names = { "bmp", "BMP", "Microsoft Windows BMP" }; static final String[] suffixes = { ".bmp", ".bm" }; static final String[] MIMETypes = { "image/bmp", "image/x-windows-bmp" }; static final String[] readerSpiNames = { "gnu.javax.imageio.bmp.BMPImageReaderSpi" }; diff --git a/libjava/classpath/gnu/javax/management/Server.java b/libjava/classpath/gnu/javax/management/Server.java index 8e8d826..e35c3b1 100644 --- a/libjava/classpath/gnu/javax/management/Server.java +++ b/libjava/classpath/gnu/javax/management/Server.java @@ -48,12 +48,13 @@ import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Set; + import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.ConcurrentHashMap; import javax.management.Attribute; import javax.management.AttributeList; @@ -113,19 +114,20 @@ public class Server /** * The registered beans, represented as a map of * {@link javax.management.ObjectName}s to - * {@link java.lang.Object}s. + * {@link gnu.javax.management.Server.ServerInfo}s. */ - private final Map beans = new HashMap(); + private final ConcurrentHashMap<ObjectName,ServerInfo> beans = + new ConcurrentHashMap<ObjectName,ServerInfo>(); /** * The default domain. */ - private String defaultDomain; + private final String defaultDomain; /** * The outer server. */ - private MBeanServer outer; + private final MBeanServer outer; /** * The class loader repository. @@ -134,9 +136,15 @@ public class Server /** * The map of listener delegates to the true - * listener. + * listener. We wrap this in an inner class + * to delay initialisation until a listener + * is actually added. */ - private Map listeners; + private static class LazyListenersHolder + { + private static final Map<NotificationListener,NotificationListener> listeners = + new ConcurrentHashMap<NotificationListener,NotificationListener>(); + } /** * An MBean that emits notifications when an MBean is registered and @@ -145,7 +153,10 @@ public class Server */ private final MBeanServerDelegate delegate; - static private final AtomicLong sequenceNumber = new AtomicLong(1); + /** + * Provides sequencing for notifications about registrations. + */ + private static final AtomicLong sequenceNumber = new AtomicLong(1); /** * Initialise the delegate name. @@ -274,7 +285,7 @@ public class Server private Object getBean(ObjectName name) throws InstanceNotFoundException { - ServerInfo bean = (ServerInfo) beans.get(name); + ServerInfo bean = beans.get(name); if (bean == null) throw new InstanceNotFoundException("The bean, " + name + ", was not found."); @@ -319,12 +330,10 @@ public class Server if (bean instanceof NotificationBroadcaster) { NotificationBroadcaster bbean = (NotificationBroadcaster) bean; - if (listeners == null) - listeners = new HashMap(); NotificationListener indirection = new ServerNotificationListener(bean, name, listener); bbean.addNotificationListener(indirection, filter, passback); - listeners.put(listener, indirection); + LazyListenersHolder.listeners.put(listener, indirection); } } @@ -671,7 +680,7 @@ public class Server { try { - Class c = getClassLoaderRepository().loadClass(name); + Class<?> c = getClassLoaderRepository().loadClass(name); return new ServerInputStream(new ByteArrayInputStream(data), c.getClassLoader()); } @@ -717,7 +726,7 @@ public class Server { try { - Class c = getClassLoader(loader).loadClass(name); + Class<?> c = getClassLoader(loader).loadClass(name); return new ServerInputStream(new ByteArrayInputStream(data), c.getClassLoader()); } @@ -951,7 +960,6 @@ public class Server return defaultDomain; } - /** * Returns an array containing all the domains used by beans registered * with this server. The ordering of the array is undefined. @@ -975,11 +983,11 @@ public class Server public String[] getDomains() { checkSecurity(null, null, "getDomains"); - Set domains = new HashSet(); - Iterator iterator = beans.keySet().iterator(); + Set<String> domains = new HashSet<String>(); + Iterator<ObjectName> iterator = beans.keySet().iterator(); while (iterator.hasNext()) { - String d = ((ObjectName) iterator.next()).getDomain(); + String d = iterator.next().getDomain(); try { checkSecurity(new ObjectName(d + ":x=x"), null, "getDomains"); @@ -990,7 +998,7 @@ public class Server /* Ignored */ } } - return (String[]) domains.toArray(new String[domains.size()]); + return domains.toArray(new String[domains.size()]); } /** @@ -1077,7 +1085,7 @@ public class Server public ObjectInstance getObjectInstance(ObjectName name) throws InstanceNotFoundException { - ServerInfo bean = (ServerInfo) beans.get(name); + ServerInfo bean = beans.get(name); if (bean == null) throw new InstanceNotFoundException("The bean, " + name + ", was not found."); @@ -1158,7 +1166,7 @@ public class Server new IllegalArgumentException("The name was null."); throw new RuntimeOperationsException(e); } - Class[] sigTypes = new Class[sig.length]; + Class<?>[] sigTypes = new Class[sig.length]; for (int a = 0; a < sigTypes.length; ++a) { try @@ -1174,7 +1182,7 @@ public class Server } try { - Constructor cons = + Constructor<?> cons = repository.loadClass(name).getConstructor(sigTypes); return cons.newInstance(params); } @@ -1288,7 +1296,7 @@ public class Server throw new RuntimeOperationsException(e); } ClassLoader loader = getClassLoader(loaderName); - Class[] sigTypes = new Class[sig.length]; + Class<?>[] sigTypes = new Class[sig.length]; for (int a = 0; a < sig.length; ++a) { try @@ -1304,7 +1312,7 @@ public class Server } try { - Constructor cons = + Constructor<?> cons = Class.forName(name, true, loader).getConstructor(sigTypes); return cons.newInstance(params); } @@ -1433,10 +1441,10 @@ public class Server } if (info.getClassName().equals(className)) return true; - Class bclass = bean.getClass(); + Class<?> bclass = bean.getClass(); try { - Class oclass = Class.forName(className); + Class<?> oclass = Class.forName(className); return (bclass.getClassLoader().equals(oclass.getClassLoader()) && oclass.isAssignableFrom(bclass)); } @@ -1502,21 +1510,19 @@ public class Server * arise from the execution of the query, in which * case that particular bean will again be excluded. */ - public Set queryMBeans(ObjectName name, QueryExp query) + public Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query) { checkSecurity(name, null, "queryMBeans"); - Set results = new HashSet(); - Iterator iterator = beans.entrySet().iterator(); - while (iterator.hasNext()) + Set<ObjectInstance> results = new HashSet<ObjectInstance>(); + for (Map.Entry<ObjectName,ServerInfo> entry : beans.entrySet()) { - Map.Entry entry = (Map.Entry) iterator.next(); - ObjectName nextName = (ObjectName) entry.getKey(); + ObjectName nextName = entry.getKey(); checkSecurity(name, nextName.toString(), "queryMBeans"); try { if ((name == null || name.apply(nextName)) && (query == null || query.apply(nextName))) - results.add(((ServerInfo) entry.getValue()).getInstance()); + results.add(entry.getValue().getInstance()); } catch (BadStringOperationException e) { @@ -1575,15 +1581,12 @@ public class Server * Note that these permissions are implied if the * <code>queryMBeans</code> permissions are available. */ - public Set queryNames(ObjectName name, QueryExp query) + public Set<ObjectName> queryNames(ObjectName name, QueryExp query) { checkSecurity(name, null, "queryNames"); - Set results = new HashSet(); - Iterator iterator = beans.entrySet().iterator(); - while (iterator.hasNext()) + Set<ObjectName> results = new HashSet<ObjectName>(); + for (ObjectName nextName : beans.keySet()) { - Map.Entry entry = (Map.Entry) iterator.next(); - ObjectName nextName = (ObjectName) entry.getKey(); checkSecurity(name, nextName.toString(), "queryNames"); try { @@ -1656,7 +1659,7 @@ public class Server NotCompliantMBeanException { SecurityManager sm = System.getSecurityManager(); - Class cl = obj.getClass(); + Class<?> cl = obj.getClass(); String className = cl.getName(); if (sm != null) { @@ -1712,14 +1715,13 @@ public class Server throw new MBeanRegistrationException(e, "Pre-registration failed."); } } - if (beans.containsKey(name)) + ObjectInstance obji = new ObjectInstance(name, className); + if (beans.putIfAbsent(name, new ServerInfo(obji, obj)) != null) { if (register != null) register.postRegister(Boolean.FALSE); throw new InstanceAlreadyExistsException(name + "is already registered."); } - ObjectInstance obji = new ObjectInstance(name, className); - beans.put(name, new ServerInfo(obji, obj)); if (register != null) register.postRegister(Boolean.TRUE); notify(name, MBeanServerNotification.REGISTRATION_NOTIFICATION); @@ -1758,15 +1760,8 @@ public class Server if (bean instanceof NotificationBroadcaster) { NotificationBroadcaster bbean = (NotificationBroadcaster) bean; - NotificationListener indirection = (NotificationListener) - listeners.get(listener); - if (indirection == null) - bbean.removeNotificationListener(listener); - else - { - bbean.removeNotificationListener(indirection); - listeners.remove(listener); - } + bbean.removeNotificationListener(listener); + LazyListenersHolder.listeners.remove(listener); } } @@ -1809,15 +1804,8 @@ public class Server if (bean instanceof NotificationEmitter) { NotificationEmitter bbean = (NotificationEmitter) bean; - NotificationListener indirection = (NotificationListener) - listeners.get(listener); - if (indirection == null) - bbean.removeNotificationListener(listener, filter, passback); - else - { - bbean.removeNotificationListener(indirection, filter, passback); - listeners.remove(listener); - } + bbean.removeNotificationListener(listener, filter, passback); + LazyListenersHolder.listeners.remove(listener); } } @@ -2011,7 +1999,7 @@ public class Server Object abean = getBean(name); checkSecurity(name, null, "setAttribute"); AttributeList list = new AttributeList(attributes.size()); - Iterator it = attributes.iterator(); + Iterator<Object> it = attributes.iterator(); while (it.hasNext()) { try @@ -2113,6 +2101,15 @@ public class Server register.postDeregister(); } + /** + * Notifies the delegate of beans being registered + * and unregistered. + * + * @param name the bean being registered. + * @param type the type of notification; + * {@code REGISTRATION_NOTIFICATION} or + * {@code UNREGISTRATION_NOTIFICATION}. + */ private void notify(ObjectName name, String type) { delegate.sendNotification @@ -2136,7 +2133,7 @@ public class Server this.cl = cl; } - protected Class resolveClass(ObjectStreamClass osc) + protected Class<?> resolveClass(ObjectStreamClass osc) throws ClassNotFoundException, IOException { try diff --git a/libjava/classpath/gnu/javax/management/Translator.java b/libjava/classpath/gnu/javax/management/Translator.java index 4ede374..a159944 100644 --- a/libjava/classpath/gnu/javax/management/Translator.java +++ b/libjava/classpath/gnu/javax/management/Translator.java @@ -143,14 +143,14 @@ public final class Translator throw new IllegalArgumentException(jtype + " has a " + "non-comparable element " + "type, " + elemClass); - if (((SortedSet) jtype).comparator() != null) + if (((SortedSet<?>) jtype).comparator() != null) throw new IllegalArgumentException(jtype + " does not " + "use natural ordering."); } - Collection<Object> elems = (Collection<Object>) jtype; + Collection<?> elems = (Collection<?>) jtype; int numElems = elems.size(); Object[] celems = new Object[numElems]; - Iterator<Object> i = elems.iterator(); + Iterator<?> i = elems.iterator(); for (int a = 0; a < numElems; ++a) { Object elem = i.next(); @@ -159,7 +159,7 @@ public final class Translator return makeArraySpecific(celems); } if (jtype instanceof Enum) - return ((Enum) jtype).name(); + return ((Enum<?>) jtype).name(); if (jtype instanceof Map || jtype instanceof SortedMap) { int lparam = tName.indexOf("<"); @@ -177,13 +177,13 @@ public final class Translator throw new IllegalArgumentException(jtype + " has a " + "non-comparable element " + "type, " + keyClass); - if (((SortedMap) jtype).comparator() != null) + if (((SortedMap<?,?>) jtype).comparator() != null) throw new IllegalArgumentException(jtype + " does not " + "use natural ordering."); typeName = "java.util.SortedMap" + tName.substring(lparam); } - OpenType k = translate(key).getOpenType(); - OpenType v = translate(value).getOpenType(); + OpenType<?> k = translate(key).getOpenType(); + OpenType<?> v = translate(value).getOpenType(); CompositeType rowType = new CompositeType(typeName, typeName, new String[] { "key", "value" }, new String[] { "Map key", "Map value"}, @@ -191,7 +191,7 @@ public final class Translator TabularType tabType = new TabularType(typeName, typeName, rowType, new String[]{"key"}); TabularData data = new TabularDataSupport(tabType); - for (Map.Entry entry : (Set<Map.Entry>) ((Map) jtype).entrySet()) + for (Map.Entry<?,?> entry : ((Map<?,?>) jtype).entrySet()) { try { @@ -258,15 +258,15 @@ public final class Translator if (returnType.isEnum()) { String ename = (String) otype; - Enum[] constants = (Enum[]) returnType.getEnumConstants(); - for (Enum c : constants) + Enum<?>[] constants = (Enum[]) returnType.getEnumConstants(); + for (Enum<?> c : constants) if (c.name().equals(ename)) return c; } if (List.class.isAssignableFrom(returnType)) { Object[] elems = (Object[]) otype; - List l = new ArrayList(elems.length); + List<Object> l = new ArrayList<Object>(elems.length); for (Object elem : elems) l.add(elem); return l; @@ -274,7 +274,7 @@ public final class Translator if (Map.class.isAssignableFrom(returnType)) { TabularData data = (TabularData) otype; - Map m = new HashMap(data.size()); + Map<Object,Object> m = new HashMap<Object,Object>(data.size()); for (Object val : data.values()) { CompositeData vals = (CompositeData) val; @@ -401,8 +401,8 @@ public final class Translator int comma = type.indexOf(",", lparam); int rparam = type.indexOf(">", comma); String key = type.substring(lparam + 1, comma).trim(); - OpenType k = translate(key).getOpenType(); - OpenType v = translate(type.substring(comma + 1, rparam).trim()).getOpenType(); + OpenType<?> k = translate(key).getOpenType(); + OpenType<?> v = translate(type.substring(comma + 1, rparam).trim()).getOpenType(); CompositeType ctype = new CompositeType(Map.class.getName(), Map.class.getName(), new String[] { "key", "value" }, new String[] { "Map key", "Map value"}, @@ -417,13 +417,13 @@ public final class Translator { int lparam = type.indexOf("<"); int rparam = type.indexOf(">"); - OpenType e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType(); + OpenType<?> e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType(); return new OpenMBeanParameterInfoSupport("TransParam", "Translated parameter", - new ArrayType(1, e) + new ArrayType<OpenType<?>>(1, e) ); } - Class c; + Class<?> c; try { c = Class.forName(type); @@ -450,15 +450,15 @@ public final class Translator int depth; for (depth = 0; c.getName().charAt(depth) == '['; ++depth) ; - OpenType ot = getTypeFromClass(c.getComponentType()); + OpenType<?> ot = getTypeFromClass(c.getComponentType()); return new OpenMBeanParameterInfoSupport("TransParam", "Translated parameter", - new ArrayType(depth, ot) + new ArrayType<OpenType<?>>(depth, ot) ); } Method[] methods = c.getDeclaredMethods(); List<String> names = new ArrayList<String>(); - List<OpenType> types = new ArrayList<OpenType>(); + List<OpenType<?>> types = new ArrayList<OpenType<?>>(); for (int a = 0; a < methods.length; ++a) { String name = methods[a].getName(); @@ -495,7 +495,7 @@ public final class Translator * @return the appropriate instance. * @throws OpenDataException if the type is not open. */ - private static final OpenType getTypeFromClass(Class c) + private static final OpenType<?> getTypeFromClass(Class<?> c) throws OpenDataException { return Translator.translate(c.getName()).getOpenType(); diff --git a/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java b/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java index 397b1c7..95ebb8a 100644 --- a/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java +++ b/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java @@ -43,6 +43,8 @@ import gnu.CORBA.Unexpected; import gnu.CORBA.Version; import gnu.CORBA.NamingService.NameTransformer; +import gnu.java.lang.CPStringBuilder; + import java.io.File; import java.io.FileReader; import java.io.IOException; @@ -288,7 +290,7 @@ public class CorbalocParser ior.Internet.version = new Version(major, minor); // Then host data goes till '/' or ':'. - StringBuffer bhost = new StringBuffer(corbaloc.length()); + CPStringBuilder bhost = new CPStringBuilder(corbaloc.length()); while (!t[p].equals(":") && !t[p].equals("/") && !t[p].equals(",")) bhost.append(t[p++]); @@ -381,7 +383,7 @@ public class CorbalocParser { InputStreamReader r = new InputStreamReader(u.openStream()); - StringBuffer b = new StringBuffer(); + CPStringBuilder b = new CPStringBuilder(); int c; while ((c = r.read()) > 0) @@ -418,7 +420,7 @@ public class CorbalocParser + "' found"); } - StringBuffer bKey = new StringBuffer(); + CPStringBuilder bKey = new CPStringBuilder(); p++; while (p < t.length && !t[p].equals("#")) diff --git a/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java index 84aa324..6c22154 100644 --- a/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java +++ b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java @@ -40,6 +40,8 @@ package gnu.javax.naming.giop; import gnu.CORBA.OrbFunctional; +import gnu.java.lang.CPStringBuilder; + import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; @@ -161,7 +163,7 @@ public class GiopNamingServiceFactory { TreeMap map = new TreeMap(); map.putAll(props); - StringBuffer b = new StringBuffer(50*props.size()); + CPStringBuilder b = new CPStringBuilder(50*props.size()); Iterator iter = map.entrySet().iterator(); Map.Entry m; diff --git a/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java b/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java index 00f4a07..68ba49b 100644 --- a/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java +++ b/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.naming.giop; +import gnu.java.lang.CPStringBuilder; + import javax.naming.NamingEnumeration; import org.omg.CosNaming.Binding; @@ -92,7 +94,7 @@ public class ListBindingsEnumeration extends GiopNamingEnumeration implements */ public Object convert(Binding binding) { - StringBuffer name = new StringBuffer(); + CPStringBuilder name = new CPStringBuilder(); for (int i = 0; i < binding.binding_name.length; i++) { diff --git a/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java b/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java index 2e64e67..3fca1e0 100644 --- a/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java +++ b/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java @@ -29,7 +29,7 @@ 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 +odule. 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 @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.naming.giop; +import gnu.java.lang.CPStringBuilder; + import javax.naming.NameClassPair; import javax.naming.NamingEnumeration; @@ -85,7 +87,7 @@ public class ListEnumeration extends GiopNamingEnumeration implements */ public Object convert(Binding binding) { - StringBuffer name = new StringBuffer(); + CPStringBuilder name = new CPStringBuilder(); for (int i = 0; i < binding.binding_name.length; i++) { diff --git a/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java b/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java index b20bfa4..b423c72 100644 --- a/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java +++ b/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.javax.naming.ictxImpl.trans; +import gnu.java.lang.CPStringBuilder; + import java.util.Enumeration; import java.util.NoSuchElementException; @@ -455,7 +457,7 @@ public class GnuName */ public String toString() { - StringBuffer b = new StringBuffer(); + CPStringBuilder b = new CPStringBuilder(); for (int i = 0; i < length; i++) { b.append(get(i)); diff --git a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java index 4a37cd8..7fff253 100644 --- a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java +++ b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.net.ssl; +import gnu.java.lang.CPStringBuilder; + import java.io.EOFException; import java.io.InputStream; import java.io.IOException; @@ -137,7 +139,7 @@ public class PrivateCredentials implements ManagerFactoryParameters boolean encrypted = false; String cipher = null; String salt = null; - StringBuffer base64 = new StringBuffer(); + CPStringBuilder base64 = new CPStringBuilder(); while (true) { line = readLine(privateKey); @@ -235,7 +237,7 @@ public class PrivateCredentials implements ManagerFactoryParameters private String readLine(InputStream in) throws IOException { boolean eol_is_cr = System.getProperty("line.separator").equals("\r"); - StringBuffer str = new StringBuffer(); + CPStringBuilder str = new CPStringBuilder(); while (true) { int i = in.read(); diff --git a/libjava/classpath/gnu/javax/net/ssl/Session.java b/libjava/classpath/gnu/javax/net/ssl/Session.java index e2b21aa..09b50ee 100644 --- a/libjava/classpath/gnu/javax/net/ssl/Session.java +++ b/libjava/classpath/gnu/javax/net/ssl/Session.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.net.ssl; +import gnu.java.lang.CPStringBuilder; + import java.io.Serializable; import java.security.Principal; @@ -349,7 +351,7 @@ public abstract class Session implements SSLSession, Serializable public String toString() { - StringBuffer str = new StringBuffer (3 * id.length + 1); + CPStringBuilder str = new CPStringBuilder (3 * id.length + 1); for (int i = 0; i < id.length; i++) { int x = id[i] & 0xFF; @@ -361,4 +363,4 @@ public abstract class Session implements SSLSession, Serializable return str.toString (); } } -}
\ No newline at end of file +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java b/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java index 0ffc26c..81dfce5 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; +import gnu.java.lang.CPStringBuilder; + /** * The handshake body for a HelloRequest handshake message. * @@ -51,7 +53,7 @@ public final class HelloRequest implements Handshake.Body public String toString (final String prefix) { - StringBuffer str = new StringBuffer (); + CPStringBuilder str = new CPStringBuilder (); if (prefix != null) str.append (prefix); str.append ("HelloRequest { };"); diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Util.java b/libjava/classpath/gnu/javax/net/ssl/provider/Util.java index ba8ea7d..57f637c 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Util.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Util.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; +import gnu.java.lang.CPStringBuilder; + import java.io.PrintWriter; import java.io.StringWriter; @@ -128,7 +130,7 @@ public final class Util */ public static String toHexString(byte[] buf, int off, int len) { - StringBuffer str = new StringBuffer(); + CPStringBuilder str = new CPStringBuilder(); for (int i = 0; i < len; i++) { str.append(HEX.charAt(buf[i+off] >>> 4 & 0x0F)); @@ -157,7 +159,7 @@ public final class Util */ public static String toHexString(byte[] buf, int off, int len, char sep) { - StringBuffer str = new StringBuffer(); + CPStringBuilder str = new CPStringBuilder(); for (int i = 0; i < len; i++) { str.append(HEX.charAt(buf[i+off] >>> 4 & 0x0F)); @@ -194,7 +196,7 @@ public final class Util public static String hexDump(byte[] buf, int off, int len, String prefix) { String nl = getProperty("line.separator"); - StringBuffer str = new StringBuffer(); + CPStringBuilder str = new CPStringBuilder(); int i = 0; while (i < len) { @@ -294,7 +296,7 @@ public final class Util public static String formatInt(int i, int radix, int len) { String s = Integer.toString(i, radix); - StringBuffer buf = new StringBuffer(); + CPStringBuilder buf = new CPStringBuilder(); for (int j = 0; j < len - s.length(); j++) buf.append("0"); buf.append(s); diff --git a/libjava/classpath/gnu/javax/print/ipp/IppRequest.java b/libjava/classpath/gnu/javax/print/ipp/IppRequest.java index 05a6faa..3de8871 100644 --- a/libjava/classpath/gnu/javax/print/ipp/IppRequest.java +++ b/libjava/classpath/gnu/javax/print/ipp/IppRequest.java @@ -469,7 +469,7 @@ public class IppRequest } else { - new IppException("Unknown target operation attribute combination."); + throw new IppException("Unknown target operation attribute combination."); } writeAttributes(attributes); diff --git a/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java b/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java index ae9d32df..814fe2d 100644 --- a/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java +++ b/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.print.ipp.attribute; +import gnu.java.lang.CPStringBuilder; + import java.util.ArrayList; import java.util.List; @@ -117,7 +119,7 @@ public final class RequestedAttributes implements Attribute */ public String toString() { - StringBuffer b = new StringBuffer(); + CPStringBuilder b = new CPStringBuilder(); if (attributes.size() > 0) b.append(attributes.get(0)); diff --git a/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java b/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java index 91bfa37..5fa78b1 100644 --- a/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java +++ b/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java @@ -46,6 +46,8 @@ import gnu.CORBA.CDR.gnuRuntime; import gnu.CORBA.CDR.gnuValueStream; import gnu.CORBA.CDR.HeadlessInput; +import gnu.java.lang.CPStringBuilder; + import org.omg.CORBA.MARSHAL; import org.omg.CORBA.StringValueHelper; import org.omg.CORBA.WStringValueHelper; @@ -393,7 +395,7 @@ public class RmiUtilities */ public static String toHex(long l) { - StringBuffer b = new StringBuffer(); + CPStringBuilder b = new CPStringBuilder(); b.append(Long.toHexString(l).toUpperCase()); while (b.length() < 16) b.insert(0, '0'); @@ -425,7 +427,7 @@ public class RmiUtilities return "V"; else if (type.isArray()) { - StringBuffer l = new StringBuffer("["); + CPStringBuilder l = new CPStringBuilder("["); Class component = type.getComponentType(); while (component.isArray()) @@ -700,13 +702,14 @@ public class RmiUtilities if (in instanceof HeadlessInput) ((HeadlessInput) in).subsequentCalls = true; - gnuRuntime g; + gnuRuntime g = null; Serializable object = null; try { g = (gnuRuntime) sender; - object = g.target; + if (sender != null) + object = g.target; } catch (ClassCastException e) { diff --git a/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java b/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java index 539c4a1..d75ce41 100644 --- a/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java +++ b/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.security.auth.callback; +import gnu.java.lang.CPStringBuilder; + import java.awt.BorderLayout; import java.awt.Button; import java.awt.Dialog; @@ -238,8 +240,8 @@ public class AWTCallbackHandler extends AbstractCallbackHandler int defind = 0; for (int i = 0; i < locales.length; i++) { - StringBuffer lang = - new StringBuffer(locales[i].getDisplayLanguage(locales[i])); + CPStringBuilder lang = + new CPStringBuilder(locales[i].getDisplayLanguage(locales[i])); String country = locales[i].getDisplayCountry(locales[i]); String variant = locales[i].getDisplayVariant(locales[i]); if (country.length() > 0 && variant.length() > 0) diff --git a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java index 06a1d2c..0235c69 100644 --- a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java +++ b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.security.auth.login; +import gnu.java.lang.CPStringBuilder; + import gnu.java.security.Configuration; import java.io.BufferedReader; @@ -92,7 +94,7 @@ public class ConfigFileTokenizer private BufferedReader br; boolean initialised; - private StringBuffer sb; + private CPStringBuilder sb; private int sbNdx; // Constructor(s) @@ -185,7 +187,7 @@ public class ConfigFileTokenizer private void init() throws IOException { - sb = new StringBuffer(); + sb = new CPStringBuilder(); String line; while ((line = br.readLine()) != null) { diff --git a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java index b90caef..0514c93 100644 --- a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java +++ b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.javax.sound.sampled.gstreamer.io; +import gnu.java.lang.CPStringBuilder; + import gnu.javax.sound.sampled.gstreamer.GStreamerMixer; import java.io.BufferedInputStream; @@ -65,7 +67,7 @@ public class GstAudioFileReader public AudioFileFormat getAudioFileFormat(File file) throws UnsupportedAudioFileException, IOException { - StringBuffer name = new StringBuffer(file.getName()); + CPStringBuilder name = new CPStringBuilder(file.getName()); String _name = name.substring(name.lastIndexOf(".") + 1); return getAudioFileFormat( diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java b/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java index 7507850..7f16f1f 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.swing.text.html.parser; +import gnu.java.lang.CPStringBuilder; + import gnu.javax.swing.text.html.parser.models.node; import gnu.javax.swing.text.html.parser.models.transformer; @@ -499,11 +501,11 @@ public abstract class htmlValidator dtdAttribute = tag.getElement().getAttribute(foundAttribute.toString()); if (dtdAttribute == null) { - StringBuffer valid = - new StringBuffer("The tag <" + tag.getHTMLTag() + - "> cannot contain the attribute '" + foundAttribute + - "'. The valid attributes for this tag are: " - ); + CPStringBuilder valid = + new CPStringBuilder("The tag <" + tag.getHTMLTag() + + "> cannot contain the attribute '" + foundAttribute + + "'. The valid attributes for this tag are: " + ); AttributeList a = tag.getElement().getAttributes(); @@ -545,22 +547,22 @@ public abstract class htmlValidator !dtdAttribute.values.contains(value.toUpperCase()) ) { - StringBuffer valid; + CPStringBuilder valid; if (dtdAttribute.values.size() == 1) valid = - new StringBuffer("The attribute '" + foundAttribute + - "' of the tag <" + tag.getHTMLTag() + - "> cannot have the value '" + value + - "'. The only valid value is " - ); + new CPStringBuilder("The attribute '" + foundAttribute + + "' of the tag <" + tag.getHTMLTag() + + "> cannot have the value '" + value + + "'. The only valid value is " + ); else valid = - new StringBuffer("The attribute '" + foundAttribute + - "' of the tag <" + tag.getHTMLTag() + - "> cannot have the value '" + value + "'. The " + - dtdAttribute.values.size() + - " valid values are: " - ); + new CPStringBuilder("The attribute '" + foundAttribute + + "' of the tag <" + tag.getHTMLTag() + + "> cannot have the value '" + value + "'. The " + + dtdAttribute.values.size() + + " valid values are: " + ); Enumeration vv = dtdAttribute.values.elements(); while (vv.hasMoreElements()) diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java b/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java index b77ef7f..c303ae8 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.swing.text.html.parser.models; +import gnu.java.lang.CPStringBuilder; + import java.io.Serializable; /** @@ -296,7 +298,7 @@ public class list */ public String toString() { - StringBuffer b = new StringBuffer(); + CPStringBuilder b = new CPStringBuilder(); b.append(" ( "); for (int i = 0; i < nodes.length; i++) { diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java b/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java index 54469b3..f45a13b3 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.swing.text.html.parser.models; +import gnu.java.lang.CPStringBuilder; + import java.io.Serializable; /** @@ -239,7 +241,7 @@ public class node */ public String toString() { - StringBuffer b = new StringBuffer(); + CPStringBuilder b = new CPStringBuilder(); b.append(token); if (unary != 0) diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java index e99be32..b087c3c 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.swing.text.html.parser.support; +import gnu.java.lang.CPStringBuilder; + import gnu.javax.swing.text.html.parser.htmlAttributeSet; import gnu.javax.swing.text.html.parser.htmlValidator; import gnu.javax.swing.text.html.parser.support.low.Constants; @@ -132,12 +134,12 @@ public class Parser /** * The buffer to collect the incremental output like text or coment. */ - private StringBuffer buffer = new StringBuffer(); + private final StringBuffer buffer = new StringBuffer(); /** * The buffer to store the document title. */ - private StringBuffer title = new StringBuffer(); + private final StringBuffer title = new StringBuffer(); /** * The current token. @@ -994,7 +996,7 @@ public class Parser // character, not as a token. The character may be part of // the unquoted URL. { - StringBuffer image = new StringBuffer(value.getImage()); + CPStringBuilder image = new CPStringBuilder(value.getImage()); while (next.kind == NUMTOKEN || next.kind == SLASH || next.kind == OTHER) { @@ -1025,7 +1027,7 @@ public class Parser // character, not as a token. The slash may be part of // the unquoted URL. { - StringBuffer image = new StringBuffer(value.getImage()); + CPStringBuilder image = new CPStringBuilder(value.getImage()); while (next.kind == NUMTOKEN || next.kind == SLASH) { image.append(getNextToken().getImage()); |