2007-02-09 Mario Torre * vm/reference/java/io/VMFile.java: (canExecute): new 1.6 native method. (setReadable): likewise. (setWritable): likewise. (setExecutable): likewise. * java/io/File.java: added import for gnu.classpath.NotImplementedException. (setReadOnly): new 1.6 method. (canExecute): likewise. (setReadable): likewise. (setWritable): likewise. (setExecutable): likewise. (getUsableSpace): added stub for new 1.6 method. (getFreeSpace): likewise. (getTotalSpace): likewise. (checkExec): new private method to support new 1.6 additions. * native/jni/java-io/java_io_VMFile.c: set_file_permissions: new helper function. Java_java_io_VMFile_setReadable: new native method to bakcup 1.6 methods in VMFile.java. Java_java_io_VMFile_setWritable: likewise. Java_java_io_VMFile_setExecutable: likewise. Java_java_io_VMFile_canExecute: likewise. * native/jni/native-lib/cpio.h: added new flags: CPFILE_FLAG_EXEC, CPFILE_FLAG_USR and CPFILE_FLAG_OFF. cpio_chmod: new function declaration. cpio_checkAccess: likewise. * native/jni/native-lib/cpio.c: cpio_chmod: new function definition. cpio_checkAccess: likewise. 2007-02-09 Gary Benson * javax/management/ObjectName.java (quote): Initialize StringBuilder correctly. 2007-02-09 Francis Kung * java/awt/image/BufferedImage: Reformatted. 2007-02-09 Ito Kazumitsu Fixes bug #30732 * gnu/java/util/regex/RETokenChar.java(chain): Check whether the next token has a next token. 2007-02-08 Roman Kennke PR 30347 * javax/swing/JViewport.java (scrollRectToVisible): Use correct X/Y offset for calculations. (paintBackingStore): Update backbuffer when we are not the paint root. 2007-02-08 Roman Kennke * java/awt/image/SinglePixelPackedSampleModel.java (getDataElements(int,int,Object,DataBuffer)): Replace DataBuffer using method with simple switch. This does not check for the exact type (class) of the DataBuffer but instead checks the transfer type. (getDataElements(int,int,int,intObject,DataBuffer)): Removed. (setDataElements): Fixed indentation. (setPixels): Removed unused statement. 2007-02-07 Tom Tromey * tools/gnu/classpath/tools/javah/PathOptionGroup.java (PathOptionGroup): Allow '-cp' as well. 2007-02-07 Chris Burdess Fixes PR 30718. * gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators. * gnu/xml/transform/XSLURIResolver.java: Add support for custom SAXSources without a backing URL or stream. 2007-02-06 Tom Tromey PR libgcj/30707: * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass): Always print a header. 2007-02-06 Chris Burdess Fixes PR 27710. * gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous LSParser if implementation does not support asynchronous. * gnu/xml/stream/XMLParser.java, gnu/xml/stream/XIncludeFilter.java: Use custom code instead of java.net.URL to resolve to an an absolute URI, to avoid nonexistent protocol handler problems. 2007-02-05 Andrew Haley PR cp-tools/30706 * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: (printClass): Replace '/' in filenames with '_'. * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass): Likewise. 2007-02-05 Tom Tromey * java/net/Proxy.java (equals): Handle case where address==null. (hashCode): Likewise. (toString): Likewise. 2007-02-04 Jeroen Frijters * java/lang/Class.java (newInstance): Moved setAccessible call to helper method. (getEnumConstants): Call new helper method to allow values method to be called on non-public enum classes. (setAccessible): New helper method. * java/lang/Enum.java (valueOf): Call new helper method in class to allow field value to be read on non-public enum classes. 2007-02-04 Jeroen Frijters Fix for #30693 * gnu/java/nio/charset/ByteCharset.java (ByteCharset.Decoder.decodeLoop): Reset input buffer position if the byte read was unmappable. 2007-02-02 Kyle Galloway * gnu/classpath/jdwp/processor/StackFrameCommandSet.java (executeGetValues): Changed getFrame to use a jlong to pass frameID. (executeSetValues): Ditto. (executeThisObject): Ditto. * vm/reference/gnu/classpath/jdwp/VMFrame.java: Added thread field and a constructor used to create VMFrames. (getThread): New method. * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java(getFrame): Changed to take a long instead of a ByteBuffer to pass the frameID. 2007-02-01 Tom Tromey * java/util/logging/LogManager.java (reset): Remove bogus 'while'. 2007-01-31 Casey Marshall * gnu/javax/net/ssl/Base64.java: move to `gnu/java/util/Base64.java.' * gnu/javax/net/ssl/PrivateCredentials.java: clean up unused imports. (add): use `gnu.java.util.Base64.' * gnu/java/net/protocol/http/Request.java (authenticate): use `gnu.java.util.Base64.' * tools/gnu/classpath/tools/jarsigner/HashUtils.java (hashStream): likewise. * tools/gnu/classpath/tools/keytool/CertReqCmd.java (start): likewise. * tools/gnu/classpath/tools/keytool/ExportCmd.java (start): likewise. * tools/gnu/classpath/tools/keytool/ListCmd.java (printRFC1421): likewise. * gnu/java/net/Base64.java: removed. * gnu/java/security/util/Base64.java: removed. 2007-01-31 Casey Marshall Fixes PR classpath/24191. Fix suggested by Rafael Teixeira . * javax/crypto/CipherOutputStream.java (write): check return value of `update' for null. 2007-01-31 Tom Tromey * resource/gnu/classpath/tools/jar/messages.properties (Main.Stdin): New message. * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Add '-@' option. (readNames): New method. (run): Use it. 2007-01-30 Roman Kennke PR 20577 * javax/swing/DefaultDesktopManager.java (activateFrame): Added a bunch of null checks. Don't call JInternalFrame.setSelected() to avoid recursion. 2007-01-29 Andrew Haley * java/lang/SecurityManager.java (SecurityManager): Load and initialize java.security.Security. 2007-01-28 Ito Kazumitsu * native/jni/java-nio/gnu_java_nio_VMChannel.c (Java_gnu_java_nio_VMChannel_accept): Throw SocketTimeoutException in case of timeout. * native/jni/java-nio/javanio.c(cpnio_accept): Call select() if SO_RCVTIMEO is set. 2007-01-26 Tom Tromey * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print 'volatile' after field type. 2007-01-26 Chris Burdess Fixes #30597 * gnu/xml/dom/DomDocumentBuilder.java: Throw IOException where cause of LSException is an IOException. * gnu/xml/dom/ls/DomLSParser.java, gnu/xml/stream/SAXParser.java: Ensure coalescing feature is set correctly during LS parsing. 2007-01-21 Andrew John Hughes * javax/management/PersistentMBean.java: New file. 2007-01-21 Andrew John Hughes * javax/management/AttributeChangeNotificationFilter.java: Correct typo. * javax/management/NotificationFilterSupport.java: New file. 2007-01-21 Mark Wielaard * java/security/SecureClassLoader.java (defineClass): Method returns Class. * java/security/SignatureSpi.java (engineUpdate(ByteBuffer): Does not throw SignatureException. Chain SignatureException inside IllegalStateException. 2007-01-21 Andrew John Hughes * javax/management/NotificationBroadcasterSupport.java: New file. 2007-01-20 Ito Kazumitsu * java/text/DecimalFormat.java(parse): Corrected the ParsePosition settings. 2007-01-20 Ito Kazumitsu * java/text/SimpleDateFormat(parse): Corrected the usage of NumberFormat. 2007-01-20 Ito Kazumitsu Fixes bug #30488 * native/jni/native-lib/cpnet.c(SOCKET_NOSIGNAL): Deleted, (setsockopt_NOSIGPIPE): New function, (cpnet_send): Corrected the option setting to send(), (cpnet_sendTo): Corrected the option setting to sendto(). 2007-01-19 Marco Trudel * java/util/Arrays.java (binarySearch): Change comparison order. 2007-01-17 Keith Seitz * gnu/classpath/jdwp/events/filters/StepFilter.java: Update javadoc. (matches): Implement. * gnu/classpath/jdwp/event/EventManager.java (EventManager): Honor agent startup suspension for VM_INIT. 2007-01-17 Tom Tromey * tools/gnu/classpath/tools/javah/PathOptionGroup.java (PathOptionGroup): Set default boot class path. 2007-01-17 Mark Wielaard * javax/activity/ActivityCompletedException.java: Make constructors public. * javax/activity/ActivityRequiredException.java: Likewise. * javax/activity/InvalidActivityException.java: Likewise. 2007-01-17 Roman Kennke * javax/swing/plaf/basic/BasicRadioButtonUI.java (paint): Use helper method to figure out icon. Don't override the icon field in that class. Check for null icons. (getCurrentIcon): New helper function to determine icon to be painted. 2007-01-17 Mark Wielaard * javax/activity/ActivityCompletedException.java: New file. * javax/activity/ActivityRequiredException.java: Likewise. * javax/activity/InvalidActivityException.java: Likewise. * javax/activity/package.html: Likewise. 2007-01-15 Andrew John Hughes * javax/management/DefaultLoaderRepository.java: (loadClass(String)): Made static. (loadClassWithout(String,ClassLoader)): Likewise. 2007-01-15 Kyle Galloway * gnu/classpath/jdwp/exception/TypeMismatchException.java: New file. * gnu/classpath/jdwp/exception/InvalidFrameException.java: Fix indentation. * gnu/classpath/jdwp/exception/InvalidSlotException.java: Fix indentation. 2007-01-15 Andrew John Hughes * javax/management/AttributeValueExp.java: Corrected serialVersionUID typo. * javax/management/DefaultLoaderRepository.java: New file. * javax/management/MBeanServerFactory.java: Add generic typing. 2007-01-15 Kyle Galloway * gnu/classpath/jdwp/exception/InvalidFrameException.java: New file. 2007-01-15 Kyle Galloway * gnu/classpath/jdwp/exception/AbsentInformationException.java: New file. 2007-01-15 Kyle Galloway * gnu/classpath/jdwp/exception/InvalidSlotException.java: New file. 2007-01-14 Andrew John Hughes * javax/management/AttributeValueExp.java: New file. * javax/management/QueryEval.java: Likewise. * javax/management/StringValueExp.java: Likewise. 2007-01-14 Andrew John Hughes * javax/management/AttributeChangeNotificationFilter.java: New file. 2007-01-11 Andreas Tobler * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java (AicasGraphicsBenchmark): Load images from ../icons. * examples/gnu/classpath/examples/java2d/J2dBenchmark.java (init): Likewise. * examples/Makefile.am (EXAMPLE_ICONS): Add rule to copy *.gif files to icons. * examples/gnu/classpath/examples/awt/aicas.png: Move to ../icons. Delete here. * examples/gnu/classpath/examples/awt/palme.gif: Likewise. * examples/gnu/classpath/examples/java2d/aicas.png: Likewise. * examples/gnu/classpath/examples/java2d/palme.gif: Likewise. * examples/gnu/classpath/examples/icons/aicas.png: Moved. * examples/gnu/classpath/examples/icons/palme.gif: Likewise. 2007-01-09 Tania Bento * java/security/Permission.java: (toString): If there are no actions, then there should not be a space between its name and ')'. 2007-01-08 Andrew John Hughes * javax/management/AttributeChangeNotification.java: New file. 2007-01-08 Cameron McCormack PR 30355 * java/util/Arrays.java: (binarySearch(byte[],byte)): Added check for zero-length array. (binarySearch(short[],short)): Likewise. (binarySearch(int[],int)): Likewise. (binarySearch(long[],long)): Likewise. (binarySearch(char[],char)): Likewise. (binarySearch(float[],float)): Likewise. (binarySearch(double[],double)): Likewise. (binarySearch(Object[],Object)): Likewise. (binarySearch(T[],T,Comparator)): Likewise. 2007-01-08 Tom Tromey * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java (run): Fix length check. PR classpath/30346. 2007-01-09 Raif S. Naffah * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Updated copyright year. (sfEntries): Use generics. (writeDSA()): Likewise. (startSigning()): Likewise. (updateEntry()): Likewise. * tools/gnu/classpath/tools/jarsigner/Messages.java: Updated copyright year. (CACHED_FORMATS): Use generics. (getFormattedString()): Likewise. * tools/gnu/classpath/tools/jarsigner/Main.java: Updated copyright year. (fileAndAlias): Use generics. (ToolParser.validate()): Likewise. * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Updated copyright year. Re-ordered imports and removed unused entries. (entryHashes): Use generics. (start()): Likewise. (verifySFEntries()): Likewise. Use map's entrySet() instead of its keySet(). 2007-01-08 Andrew John Hughes * java/text/DateFormat.java: (computeInstance(int,int,Locale,boolean,boolean)): Throw an exception when locale info. is unavailable. (computeDefault(int,int,boolean,boolean)): New method. (getDateInstance(int,Locale)): Check providers. (getDateTimeInstance(int,int,Locale)): Likewise. (getTimeInstance(int,Locale)): Likewise. * java/text/DateFormatSymbols.java: Update documentation to match DecimalFormatSymbols. * java/text/DecimalFormatSymbols.java: (DecimalFormatSymbols(Locale)): Reordered. (getInstance()): Implemented. (getInstance(Locale)): Implemented. * java/text/NumberFormat.java: (computeInstance(Locale,String,String)): Throw an exception when locale info is unavailable. (getCurrencyInstance(Locale)): Check providers. (getIntegerInstance(Locale)): Likewise. (getNumberInstance(Locale)): Likewise. (getPercentInstance(Locale)): Likewise. * java/text/spi/DateFormatProvider.java: New file. * java/text/spi/DecimalFormatSymbolsProvider.java: Likewise. * java/text/spi/NumberFormatProvider.java: Likewise. 2007-01-07 Ito Kazumitsu Fixes bug #30377 * native/jni/native-lib/cpnet.h: Add some include files. 2007-01-07 Roman Kennke PR 30337 * java/awt/Component.java (getFontImpl): Return null when the component has no font set and also has no parent yet. * javax/swing/plaf/basic/BasicComboBoxUI.java (PropertyChangeHandler.propertyChange): Only add editor when combo box is editable. Avoid fetching the property name repeatedly. Invalidate when renderer or prototypeDisplayValue change. (uninstallComponents): Unconfigure everything and then remove all components. * javax/swing/plaf/basic/BasicComboPopup.java (uninstallingUI): Don't nullify list model. * javax/swing/plaf/metal/MetalComboBoxUI.java (createArrowButton): Pass currentValuePane to the MetalComboBoxButton constructor rather than a new (unconnected) CellRendererPane. 2007-01-06 Roman Kennke PR 30337 * javax/swing/plaf/basic/BasicComboBoxUI.java (installUI): Install popup and list here. Don't configure the arrow button and editor here. (installComponents): Don't install popup and list here. (Moved to installUI). Configure arrow button here and check for null. (addEditor): Configure editor here. (configureArrowButton): Directly fetch listeners from popup. (paintCurrentValue): Removed unused local variables. (layoutContainer): Removed unused local variables. (PropertyChangeHandler.propertyChange): Don't invalidate minimumSize on each property change. Avoid calling getPropertyName() repeatedly. Clean up. Call addEditor() when editor changes. Configure and unconfigure editor when editable changes. Use 'model' instead of non-existing 'dataModel' property. * javax/swing/plaf/basic/BasicComboPopup.java (uninstallingUI): Remove property change listener and item listener here. Uninstall list listeners. Set model to null to prevent leakage. (configureList): Don't sync list selection there. (uninstallComboBoxListeners): Moved to uninstallingUI. (uninstallListeners): Moved to uninstallingUI. * javax/swing/plaf/metal/MetalComboBoxUI.java (createPopup): Call super. (getMinimumSize): Removed unused statement. 2007-01-06 Andrew John Hughes * java/text/Collator.java: (getInstance(Locale)): Check providers. * java/text/spi/CollatorProvider.java: New file. 2007-01-04 Roman Kennke PR 30122 * java/awt/Component.java (getFont): Don't synchronize on tree lock here. The method is thread-safe 'enough' by fetching local variables in getFontImpl(). 2007-01-04 Roman Kennke * java/awt/AWTEvent.java (toString): Don't include the whole component in the output, only its name. * java/awt/Component.java (isShowing): Create local copy of parent field for better thread safety and efficiency. * java/awt/EventDispatchThread.java (EventDispatchThread): Make sure the event thread is not a daemon thread in case it gets started by a daemon thread. * java/awt/image/IndexColorModel.java (createColorMap): New helper method for creating the color map. (IndexColorModel): (all constructors) use createColorMap() helper method. 2007-01-04 Roman Kennke * gnu/java/awt/font/autofit/GlyphHints.java (alignStrongPoints): Don't special case the vertical dimension. (computeInflectionPoints): Corrected computation of inflection points. * gnu/java/awt/font/autofit/Utils.java (ANGLE_4PI): Removed. (ANGLE_PI2): New constant for PI/2. (ANGLE_PI4): New constant for PI/4. (angleDiff): Fixed. (atan): Fixed. 2007-01-03 Cameron McCormack Fixes bug #29246 * java/awt/Toolkit.java (getLockingKeyState): Use AWTUtilities isValidKey method. Throw UnsupportedOperationException on a valid key (for which no locking state can be given). * gnu/java/awt/AWTUtilities.java (isValidKey): New method. * gnu/java/awt/peer/gtk/GtkToolkit.java (getLockingKeyState): New method. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c (Java_gnu_java_awt_peer_gtk_GtkToolkit_getLockState): New method. * include/gnu_java_awt_peer_gtk_GtkToolkit.h: Regenerated. 2007-01-03 Andrew John Hughes * java/text/BreakIterator.java: (getCharacterInstance(Locale)): Check providers. (getLineInstance(Locale)): Likewise. (getSentenceInstance(Locale)): Likewise. (getWordInstance(Locale)): Likewise. * java/text/spi/BreakIteratorProvider.java: New file. * java/text/spi/DateFormatSymbolsProvider.java: Update header text. * java/util/ServiceConfigurationError.java: Add serialVersionUID. 2007-01-03 Francis Kung * gnu/java/awt/peer/gtk/CairoGraphics2D.java: (copy): Copy and set antialias value. 2007-01-03 Tania Bento * java/awt/CardLayout.java: (maximumLayoutSize): Return a new Dimension with a width of value Integer.MAX_VALUE and a height of value Integer.MAX_VALUE if Component has no components. 2007-01-03 Andrew John Hughes * java/text/DateFormatSymbols.java: (getZoneStrings(ResourceBundle)): Changed to... (getZoneStrings(ResourceBundle,Locale)): Added use of TimeZoneNamesProvider. (getZoneStrings()): Return either mutated zone strings or initial ones. (getInstance(Locale)): Check DateFormatSymbolsProvider instances. * java/text/spi/DateFormatSymbolsProvider.java: New file. * java/text/spi/package.html: New file. 2007-01-02 Andrew John Hughes * java/util/Currency.java: (getSymbol(Locale)): Removed unneeded variable and terminate loop early. * java/util/Locale.java: (getDisplayLanguage(Locale)): Fixed to use LocaleNameProvider. (getDisplayCountry(Locale)): Likewise. (getDisplayVariant(Locale)): Likewise. * java/util/spi/LocaleNameProvider.java: New file. * java/util/spi/TimeZoneNameProvider.java: Likewise. 2007-01-02 Andrew John Hughes * gnu/java/locale/LocaleHelper.java: (getLocalizedString(Locale,String,String,boolean, boolean)): Removed, no longer needed. (getFallbackLocale(Locale)): Implemented. * java/lang/String.java: (isEmpty()): Implemented. * java/util/Currency.java: (getSymbol(Locale)): Reimplemented to use SPI. * java/util/Locale.java: (ROOT): Added. * java/util/spi/CurrencyNameProvider.java: New file. * java/util/spi/LocaleServiceProvider.java: Likewise. * java/util/spi/package.html: Likewise. 2007-01-02 Roman Kennke * gnu/java/awt/java2d/AbstractGraphics2D.java (FONT): New constant field. This is the default font to use as long as nothing else is set. (paintContext): New field. Temporarily stores the paint context. (scanlineConverters): New field. Stores the scanline converters for each thread. (shapeCache): Genericified. (STANDARD_HINTS): New constant field. The standard rendering hints as long as nothing else is set. (STANDARD_STROKE): New constant field. The standard stroke as long as nothing else is set. (static_initializer): Initialize standard hints. (AbstractGraphics2D): Use constant fields for hints and stroke. (drawGlyphVector): Use simpler method to draw the outline. (fillScanline): Use paintContext field. (fillShape): Use new ScanlineConverter to fill shapes. (fillShapeAntialias): Removed. This will be done in fillShape. (fillShapeImpl): Removed. This is done now in the ScanlineConverter class. (getScanlineConverter): New method. Returns the scanline converter for each thread. (getSegments): Removed. This is now implemented in ScanlineConverter. (getShapeCache): Use genericified shapeCache field. (init): Use fixed default font. Don't fetch destination raster here. * gnu/java/awt/java2d/ActiveEdges.java: New class. Stores a set of active edges for scanline conversion. * gnu/java/awt/java2d/PolyEdge.java (poolNext): Implements linked list for edge pool. (scanlineNext): Implements linked list for scanline edge lists. (slope): Use fixed point decimal. (slope,x0,y0,x1,y1,xIntersection): Use fixed point decimal. (PolyEdge()): New constructor. (PolyEdge): Use fixed point decimals. (init): Use fixed point decimals. (intersect): New method. Intersects this edge with a scanline. * gnu/java/awt/java2d/Scanline.java: New class. A list of edges for a scanline plus utilities. * gnu/java/awt/java2d/ScanlineConverter.java: New class. Implements an efficient scanline converter for rendering Shape objects. 2007-01-02 Roman Kennke * gnu/java/math/Fixed.java: New class. Fixed point arithmetics utilities. 2007-01-01 Andrew John Hughes * ChangeLog-2006: New file. * gnu/classpath/ServiceFactory.java: Add option of throwing a ServiceConfigurationError. (lookupProviders(Class,ClassLoader,boolean)): Implemented. * java/util/ServiceConfigurationError.java: New file. * java/util/ServiceLoader.java: Likewise.