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/Observer.java \
|
||||
java/util/Properties.java \
|
||||
java/util/XMLUtils.java \
|
||||
java/util/InvalidPropertiesFormatException.java \
|
||||
java/util/PropertyPermission.java \
|
||||
java/util/PropertyResourceBundle.java \
|
||||
|
@ -68,7 +68,7 @@ else
|
||||
endif
|
||||
|
||||
# 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
|
||||
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.OutputStreamWriter;
|
||||
import java.io.BufferedWriter;
|
||||
import java.lang.reflect.*;
|
||||
|
||||
/**
|
||||
* 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 = {
|
||||
'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.
|
||||
*/
|
||||
|
||||
package java.util;
|
||||
package sun.util.xml;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import org.xml.sax.*;
|
||||
import org.xml.sax.helpers.*;
|
||||
import org.w3c.dom.*;
|
||||
@ -42,7 +43,7 @@ import javax.xml.transform.stream.*;
|
||||
* @author Michael McCloskey
|
||||
* @since 1.3
|
||||
*/
|
||||
class XMLUtils {
|
||||
public class XMLUtils {
|
||||
|
||||
// XML loading and saving methods for Properties
|
||||
|
||||
@ -66,7 +67,7 @@ class XMLUtils {
|
||||
*/
|
||||
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
|
||||
{
|
||||
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)
|
||||
throws IOException
|
||||
{
|
Loading…
x
Reference in New Issue
Block a user