libjava/classpath/ChangeLog.gcj:

2007-05-31  Matthias Klose  <doko@ubuntu.com>

        * javax/management/NotificationBroadcasterSupport.java
        (getNotificationInfo): Add cast.
        * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include
        directories.
        * native/jni/qt-peer/Makefile.in: Regenerate.

libjava/ChangeLog:

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        * java/io/natFileWin32.cc (setFilePermissions): New (stub only).
        _access: Handle EXEC query, stub only.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        Merged from classpath:
        * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge.
        * java/lang/System.java(inheritedChannel): New.
        * java/lang/Character.java: Remove stray`;'.
        * java/net/MulticastSocket.java: Merged.
        * java/text/DateFormatSymbols.java(getInstance): New, comment updates.
        * java/text/Collator.java(getInstance): Merged.
        * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG.
        getDisplayName, getDisplayNames: New.
        * java/util/logging/Logger.java: Merged.
        * Regenerate .class and .h files.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        * java/io/File.java: Merge with classpath-0.95, new method
        setFilePermissions, new attribute EXEC.
        * java/io/natFilePosix.cc (setFilePermissions): New.
        _access: Handle EXEC query.
        * classpath/lib/java/io/File.class, java/io/File.h: Regenerate.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        Imported GNU Classpath 0.95.

        * classpath/Makefile.in,
        classpath/native/jni/midi-dssi/Makefile.in,
        classpath/native/jni/classpath/Makefile.in,
        classpath/native/jni/Makefile.in,
        classpath/native/jni/gconf-peer/Makefile.in,
        classpath/native/jni/java-io/Makefile.in,
        classpath/native/jni/native-lib/Makefile.in,
        classpath/native/jni/java-util/Makefile.in,
        classpath/native/jni/midi-alsa/Makefile.in,
        classpath/native/jni/java-lang/Makefile.in,
        classpath/native/jni/java-nio/Makefile.in,
        classpath/native/jni/java-net/Makefile.in,
        classpath/native/jni/xmlj/Makefile.in,
        classpath/native/jni/qt-peer/Makefile.in,
        classpath/native/jni/gtk-peer/Makefile.in,
        classpath/native/Makefile.in, classpath/native/jawt/Makefile.in,
        classpath/native/fdlibm/Makefile.in,
        classpath/native/plugin/Makefile.in,
        classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
        classpath/tools/Makefile.in, classpath/doc/Makefile.in,
        classpath/doc/api/Makefile.in, classpath/lib/Makefile.in,
        classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in,
        classpath/external/sax/Makefile.in,
        classpath/external/w3c_dom/Makefile.in,
        classpath/external/relaxngDatatype/Makefile.in,
        classpath/include/Makefile.in,
        classpath/examples/Makefile.in: Regenerate.
        * classpath/config.guess, classpath/config.sub,
        classpath/ltmain.sh : Update.
        * classpath/configure, classpath/depcomp, classpath/missing,
        classpath/aclocal.m4, classpath/install-sh: Regenerate.

        * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95.
        * sources.am: Regenerate.
        * Makefile.in: Regenerate.

        * Update the .class files and generated CNI header files, add new
        .class and generated CNI header files.
        * Remove generated files for removed java source files:
        classpath/gnu/java/net/BASE64.java,
        classpath/gnu/java/security/util/Base64.java,
        classpath/gnu/java/awt/peer/gtk/GThreadMutex.java,
        classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
        classpath/gnu/java/awt/font/autofit/Scaler.java,
        classpath/gnu/classpath/jdwp/util/Value.java,
        classpath/gnu/javax/net/ssl/Base64.java.
        * Remove empty directories.

        * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc.
        * java/lang/Class.java(setAccessible): Merge from classpath.
        * java/util/Locale.java: Remove.
        * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java,
        gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New.
        * gcj/javaprims.h: Update class declarations.
        * scripts/classes.pl: Update usage.
        * HACKING: Mention to build all peers.

From-SVN: r125302
This commit is contained in:
Matthias Klose 2007-06-03 23:18:43 +00:00
parent af333b9a7f
commit e1bea0c068
2951 changed files with 80982 additions and 68583 deletions

View file

@ -38,12 +38,21 @@ exception statement from your version. */
package java.awt.datatransfer;
import gnu.classpath.NotImplementedException;
import java.awt.Toolkit;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.WeakHashMap;
/**
@ -72,19 +81,102 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable
* This map maps native <code>String</code>s to lists of
* <code>DataFlavor</code>s
*/
private HashMap nativeToFlavorMap = new HashMap();
private HashMap<String,List<DataFlavor>> nativeToFlavorMap =
new HashMap<String,List<DataFlavor>>();
/**
* This map maps <code>DataFlavor</code>s to lists of native
* <code>String</code>s
*/
private HashMap flavorToNativeMap = new HashMap();
private HashMap<DataFlavor, List<String>> flavorToNativeMap =
new HashMap<DataFlavor, List<String>>();
/**
* Private constructor.
*/
private SystemFlavorMap ()
{
AccessController.doPrivileged
(new PrivilegedAction<Object>()
{
public Object run()
{
try
{
// Load installed flavormap.properties first.
String sep = File.separator;
File propsFile =
new File(System.getProperty("gnu.classpath.home.url")
+ sep + "accessibility.properties");
InputStream in = new FileInputStream(propsFile);
Properties props = new Properties();
props.load(in);
in.close();
String augmented = Toolkit.getProperty("AWT.DnD.flavorMapFileURL",
null);
if (augmented != null)
{
URL url = new URL(augmented);
in = url.openStream();
props.load(in);
}
setupMapping(props);
}
catch (IOException ex)
{
// Can't do anything about it.
}
return null;
}
});
}
/**
* Sets up the mapping from native to mime types and vice versa as specified
* in the flavormap.properties file.
*
* This is package private to avoid an accessor method.
*
* @param props the properties file
*/
void setupMapping(Properties props)
{
Enumeration propNames = props.propertyNames();
while (propNames.hasMoreElements())
{
try
{
String nat = (String) propNames.nextElement();
String mime = (String) props.getProperty(nat);
// Check valid mime type.
MimeType type = new MimeType(mime);
DataFlavor flav = new DataFlavor(mime);
List<DataFlavor> flavs = nativeToFlavorMap.get(nat);
if (flavs == null)
{
flavs = new ArrayList<DataFlavor>();
nativeToFlavorMap.put(nat, flavs);
}
List<String> nats = flavorToNativeMap.get(flav);
if (nats == null)
{
nats = new ArrayList<String>();
flavorToNativeMap.put(flav, nats);
}
flavs.add(flav);
nats.add(nat);
}
catch (ClassNotFoundException ex)
{
// Skip.
}
catch (MimeTypeParseException ex)
{
// Skip.
}
}
}
/**
@ -263,16 +355,52 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable
* specified native and a DataFlavor whose MIME type is a decoded
* version of the native.
*/
public List<DataFlavor> getFlavorsForNative (String nat)
throws NotImplementedException
public List<DataFlavor> getFlavorsForNative(String nat)
{
throw new Error ("Not implemented");
List<DataFlavor> ret = new ArrayList<DataFlavor>();
if (nat == null)
{
Collection<List<DataFlavor>> all = nativeToFlavorMap.values();
for (List<DataFlavor> list : all)
{
for (DataFlavor flav : list)
{
if (! ret.contains(flav))
ret.add(flav);
}
}
}
else
{
List<DataFlavor> list = nativeToFlavorMap.get(nat);
if (list != null)
ret.addAll(list);
}
return ret;
}
public List<String> getNativesForFlavor (DataFlavor flav)
throws NotImplementedException
{
throw new Error ("Not implemented");
List<String> ret = new ArrayList<String>();
if (flav == null)
{
Collection<List<String>> all = flavorToNativeMap.values();
for (List<String> list : all)
{
for (String nat : list)
{
if (! ret.contains(nat))
ret.add(nat);
}
}
}
else
{
List<String> list = flavorToNativeMap.get(flav);
if (list != null)
ret.addAll(list);
}
return ret;
}
/**
@ -298,10 +426,10 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable
{
if ((nativeStr == null) || (flavor == null))
throw new NullPointerException();
List flavors = (List) nativeToFlavorMap.get(nativeStr);
List<DataFlavor> flavors = nativeToFlavorMap.get(nativeStr);
if (flavors == null)
{
flavors = new ArrayList();
flavors = new ArrayList<DataFlavor>();
nativeToFlavorMap.put(nativeStr, flavors);
}
else
@ -336,10 +464,10 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable
{
if ((nativeStr == null) || (flavor == null))
throw new NullPointerException();
List natives = (List) flavorToNativeMap.get(flavor);
List<String> natives = flavorToNativeMap.get(flavor);
if (natives == null)
{
natives = new ArrayList();
natives = new ArrayList<String>();
flavorToNativeMap.put(flavor, natives);
}
else