6915797: Remove sun.tools.jar.JarImageSource that is not used
7090178: Move java.util.XMLUtils to another package to avoid split package Reviewed-by: alanb, sherman
This commit is contained in:
parent
81d33c4727
commit
16a24a909d
@ -208,7 +208,6 @@ JAVA_JAVA_java = \
|
|||||||
java/util/Observable.java \
|
java/util/Observable.java \
|
||||||
java/util/Observer.java \
|
java/util/Observer.java \
|
||||||
java/util/Properties.java \
|
java/util/Properties.java \
|
||||||
java/util/XMLUtils.java \
|
|
||||||
java/util/InvalidPropertiesFormatException.java \
|
java/util/InvalidPropertiesFormatException.java \
|
||||||
java/util/PropertyPermission.java \
|
java/util/PropertyPermission.java \
|
||||||
java/util/PropertyResourceBundle.java \
|
java/util/PropertyResourceBundle.java \
|
||||||
|
@ -68,7 +68,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# nio need to be compiled before awt to have all charsets ready
|
# nio need to be compiled before awt to have all charsets ready
|
||||||
SUBDIRS = jar security javazic misc net nio text launcher
|
SUBDIRS = jar security javazic misc net nio text util launcher
|
||||||
|
|
||||||
ifdef BUILD_HEADLESS_ONLY
|
ifdef BUILD_HEADLESS_ONLY
|
||||||
DISPLAY_LIBS = awt $(HEADLESS_SUBDIR)
|
DISPLAY_LIBS = awt $(HEADLESS_SUBDIR)
|
||||||
|
40
jdk/make/sun/util/Makefile
Normal file
40
jdk/make/sun/util/Makefile
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
#
|
||||||
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License version 2 only, as
|
||||||
|
# published by the Free Software Foundation. Oracle designates this
|
||||||
|
# particular file as subject to the "Classpath" exception as provided
|
||||||
|
# by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
#
|
||||||
|
# This code 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
|
||||||
|
# version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
# accompanied this code).
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License version
|
||||||
|
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
#
|
||||||
|
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
# or visit www.oracle.com if you need additional information or have any
|
||||||
|
# questions.
|
||||||
|
#
|
||||||
|
|
||||||
|
BUILDDIR = ../..
|
||||||
|
PACKAGE = sun.util
|
||||||
|
PRODUCT = sun
|
||||||
|
include $(BUILDDIR)/common/Defs.gmk
|
||||||
|
|
||||||
|
#
|
||||||
|
# Files
|
||||||
|
#
|
||||||
|
AUTO_FILES_JAVA_DIRS = sun/util/xml
|
||||||
|
|
||||||
|
#
|
||||||
|
# Rules
|
||||||
|
#
|
||||||
|
include $(BUILDDIR)/common/Classes.gmk
|
||||||
|
|
@ -34,6 +34,7 @@ import java.io.Reader;
|
|||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.io.OutputStreamWriter;
|
import java.io.OutputStreamWriter;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
|
import java.lang.reflect.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The <code>Properties</code> class represents a persistent set of
|
* The <code>Properties</code> class represents a persistent set of
|
||||||
@ -1111,4 +1112,60 @@ class Properties extends Hashtable<Object,Object> {
|
|||||||
private static final char[] hexDigit = {
|
private static final char[] hexDigit = {
|
||||||
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
|
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
private static class XMLUtils {
|
||||||
|
private static Method load = null;
|
||||||
|
private static Method save = null;
|
||||||
|
static {
|
||||||
|
try {
|
||||||
|
// reference sun.util.xml.Utils reflectively
|
||||||
|
// to allow the Properties class be compiled in
|
||||||
|
// the absence of XML
|
||||||
|
Class<?> c = Class.forName("sun.util.xml.XMLUtils", true, null);
|
||||||
|
load = c.getMethod("load", Properties.class, InputStream.class);
|
||||||
|
save = c.getMethod("save", Properties.class, OutputStream.class,
|
||||||
|
String.class, String.class);
|
||||||
|
} catch (ClassNotFoundException cnf) {
|
||||||
|
throw new AssertionError(cnf);
|
||||||
|
} catch (NoSuchMethodException e) {
|
||||||
|
throw new AssertionError(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void invoke(Method m, Object... args) throws IOException {
|
||||||
|
try {
|
||||||
|
m.invoke(null, args);
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new AssertionError(e);
|
||||||
|
} catch (InvocationTargetException e) {
|
||||||
|
Throwable t = e.getCause();
|
||||||
|
if (t instanceof RuntimeException)
|
||||||
|
throw (RuntimeException)t;
|
||||||
|
|
||||||
|
if (t instanceof IOException) {
|
||||||
|
throw (IOException)t;
|
||||||
|
} else {
|
||||||
|
throw new AssertionError(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void load(Properties props, InputStream in)
|
||||||
|
throws IOException, InvalidPropertiesFormatException
|
||||||
|
{
|
||||||
|
if (load == null)
|
||||||
|
throw new InternalError("sun.util.xml.XMLUtils not found");
|
||||||
|
invoke(load, props, in);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void save(Properties props, OutputStream os, String comment,
|
||||||
|
String encoding)
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
if (save == null)
|
||||||
|
throw new InternalError("sun.util.xml.XMLUtils not found");
|
||||||
|
invoke(save, props, os, comment, encoding);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,88 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1996, 1998, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License version 2 only, as
|
|
||||||
* published by the Free Software Foundation. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* This code 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
|
|
||||||
* version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
* accompanied this code).
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License version
|
|
||||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*
|
|
||||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
* or visit www.oracle.com if you need additional information or have any
|
|
||||||
* questions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
package sun.tools.jar;
|
|
||||||
|
|
||||||
import sun.awt.image.URLImageSource;
|
|
||||||
import sun.awt.image.ImageDecoder;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.net.JarURLConnection;
|
|
||||||
import java.util.jar.JarFile;
|
|
||||||
import java.util.jar.JarEntry;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
|
|
||||||
public class JarImageSource extends URLImageSource {
|
|
||||||
String mimeType;
|
|
||||||
String entryName = null;
|
|
||||||
URL url;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create an image source from a Jar entry URL with the specified
|
|
||||||
* mime type.
|
|
||||||
*/
|
|
||||||
public JarImageSource(URL u, String type) {
|
|
||||||
super(u);
|
|
||||||
url = u;
|
|
||||||
mimeType = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create an image source from a Jar file/entry URL
|
|
||||||
* with the specified entry name and mime type.
|
|
||||||
*/
|
|
||||||
public JarImageSource(URL u, String name, String type) {
|
|
||||||
this(u, type);
|
|
||||||
this.entryName = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ImageDecoder getDecoder() {
|
|
||||||
InputStream is = null;
|
|
||||||
try {
|
|
||||||
JarURLConnection c = (JarURLConnection)url.openConnection();
|
|
||||||
JarFile f = c.getJarFile();
|
|
||||||
JarEntry e = c.getJarEntry();
|
|
||||||
|
|
||||||
if (entryName != null && e == null) {
|
|
||||||
e = f.getJarEntry(entryName);
|
|
||||||
}
|
|
||||||
if (e == null || (e != null && entryName != null
|
|
||||||
&& (!(entryName.equals(e.getName()))))) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
is = f.getInputStream(e);
|
|
||||||
} catch (IOException e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
ImageDecoder id = decoderForType(is, mimeType);
|
|
||||||
if (id == null) {
|
|
||||||
id = getDecoder(is);
|
|
||||||
}
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
}
|
|
@ -23,9 +23,10 @@
|
|||||||
* questions.
|
* questions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package java.util;
|
package sun.util.xml;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.util.*;
|
||||||
import org.xml.sax.*;
|
import org.xml.sax.*;
|
||||||
import org.xml.sax.helpers.*;
|
import org.xml.sax.helpers.*;
|
||||||
import org.w3c.dom.*;
|
import org.w3c.dom.*;
|
||||||
@ -42,7 +43,7 @@ import javax.xml.transform.stream.*;
|
|||||||
* @author Michael McCloskey
|
* @author Michael McCloskey
|
||||||
* @since 1.3
|
* @since 1.3
|
||||||
*/
|
*/
|
||||||
class XMLUtils {
|
public class XMLUtils {
|
||||||
|
|
||||||
// XML loading and saving methods for Properties
|
// XML loading and saving methods for Properties
|
||||||
|
|
||||||
@ -66,7 +67,7 @@ class XMLUtils {
|
|||||||
*/
|
*/
|
||||||
private static final String EXTERNAL_XML_VERSION = "1.0";
|
private static final String EXTERNAL_XML_VERSION = "1.0";
|
||||||
|
|
||||||
static void load(Properties props, InputStream in)
|
public static void load(Properties props, InputStream in)
|
||||||
throws IOException, InvalidPropertiesFormatException
|
throws IOException, InvalidPropertiesFormatException
|
||||||
{
|
{
|
||||||
Document doc = null;
|
Document doc = null;
|
||||||
@ -120,7 +121,7 @@ class XMLUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void save(Properties props, OutputStream os, String comment,
|
public static void save(Properties props, OutputStream os, String comment,
|
||||||
String encoding)
|
String encoding)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
Loading…
x
Reference in New Issue
Block a user