From 665ae4e5422293c50400b3ab778311e199d3a5f5 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Thu, 19 Mar 2009 19:16:05 +0100 Subject: classpath-native: Clean up - removed 0.96.1, 0.97.2: Unable to guarantee that these work with current VMs - added 0.98 - removed superfluous patches --- .../classpath-0.98/sun-security-getproperty.patch | 503 +++++++++++++++++++++ recipes/classpath/classpath-native.inc | 1 + recipes/classpath/classpath-native_0.96.1.bb | 11 - recipes/classpath/classpath-native_0.97.2.bb | 32 -- recipes/classpath/classpath-native_0.98.bb | 28 ++ recipes/classpath/files/getopt-filelist.patch | 271 ----------- .../files/sun-security-getproperty_0.96.1.patch | 503 --------------------- 7 files changed, 532 insertions(+), 817 deletions(-) create mode 100644 recipes/classpath/classpath-0.98/sun-security-getproperty.patch delete mode 100644 recipes/classpath/classpath-native_0.96.1.bb delete mode 100644 recipes/classpath/classpath-native_0.97.2.bb create mode 100644 recipes/classpath/classpath-native_0.98.bb delete mode 100644 recipes/classpath/files/getopt-filelist.patch delete mode 100644 recipes/classpath/files/sun-security-getproperty_0.96.1.patch (limited to 'recipes') diff --git a/recipes/classpath/classpath-0.98/sun-security-getproperty.patch b/recipes/classpath/classpath-0.98/sun-security-getproperty.patch new file mode 100644 index 0000000000..fb9cd9df25 --- /dev/null +++ b/recipes/classpath/classpath-0.98/sun-security-getproperty.patch @@ -0,0 +1,503 @@ +Index: gnu/classpath/debug/Simple1LineFormatter.java +=================================================================== +--- gnu/classpath/debug/Simple1LineFormatter.java.orig 2006-07-11 18:03:59.000000000 +0200 ++++ gnu/classpath/debug/Simple1LineFormatter.java 2009-03-19 19:00:47.000000000 +0100 +@@ -38,8 +38,6 @@ + + package gnu.classpath.debug; + +-import gnu.java.security.action.GetPropertyAction; +- + import java.io.PrintWriter; + import java.io.StringWriter; + import java.security.AccessController; +@@ -51,6 +49,8 @@ + import java.util.logging.Formatter; + import java.util.logging.LogRecord; + ++import sun.security.action.GetPropertyAction; ++ + /** + * A simple 1-line formatter to use instead of the 2-line SimpleFormatter used + * by default in the JDK logging handlers. +Index: gnu/classpath/debug/SystemLogger.java +=================================================================== +--- gnu/classpath/debug/SystemLogger.java.orig 2006-12-10 21:25:41.000000000 +0100 ++++ gnu/classpath/debug/SystemLogger.java 2009-03-19 19:00:47.000000000 +0100 +@@ -38,13 +38,13 @@ + + package gnu.classpath.debug; + +-import gnu.java.security.action.GetPropertyAction; +- + import java.security.AccessController; + import java.util.StringTokenizer; + import java.util.logging.Level; + import java.util.logging.Logger; + ++import sun.security.action.GetPropertyAction; ++ + public final class SystemLogger extends Logger + { + public static final SystemLogger SYSTEM = new SystemLogger(); +Index: gnu/java/security/PolicyFile.java +=================================================================== +--- gnu/java/security/PolicyFile.java.orig 2008-06-16 00:07:30.000000000 +0200 ++++ gnu/java/security/PolicyFile.java 2009-03-19 19:01:31.000000000 +0100 +@@ -41,7 +41,6 @@ + import gnu.classpath.debug.SystemLogger; + + import gnu.java.lang.CPStringBuilder; +-import gnu.java.security.action.GetPropertyAction; + + import java.io.File; + import java.io.IOException; +@@ -74,6 +73,8 @@ + import java.util.StringTokenizer; + import java.util.logging.Logger; + ++import sun.security.action.GetPropertyAction; ++ + /** + * An implementation of a {@link java.security.Policy} object whose + * permissions are specified by a policy file. +Index: gnu/java/security/action/GetPropertyAction.java +=================================================================== +--- gnu/java/security/action/GetPropertyAction.java 2006-12-10 21:25:42.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,89 +0,0 @@ +-/* GetPropertyAction.java +- 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.java.security.action; +- +-import java.security.PrivilegedAction; +- +-/** +- * PrivilegedAction implementation that calls System.getProperty() with +- * the property name passed to its constructor. +- * +- * Example of use: +- * +- * GetPropertyAction action = new GetPropertyAction("http.proxyPort"); +- * String port = AccessController.doPrivileged(action); +- * +- */ +-public class GetPropertyAction implements PrivilegedAction +-{ +- String name; +- String value = null; +- +- public GetPropertyAction() +- { +- } +- +- public GetPropertyAction(String propName) +- { +- setParameters(propName); +- } +- +- public GetPropertyAction(String propName, String defaultValue) +- { +- setParameters(propName, defaultValue); +- } +- +- public String run() +- { +- return System.getProperty(name, value); +- } +- +- public GetPropertyAction setParameters(String propName) +- { +- this.name = propName; +- this.value = null; +- return this; +- } +- +- public GetPropertyAction setParameters(String propName, String defaultValue) +- { +- this.name = propName; +- this.value = defaultValue; +- return this; +- } +-} +Index: gnu/java/security/key/dss/DSSKey.java +=================================================================== +--- gnu/java/security/key/dss/DSSKey.java.orig 2008-03-16 23:04:49.000000000 +0100 ++++ gnu/java/security/key/dss/DSSKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -41,7 +41,6 @@ + import gnu.java.lang.CPStringBuilder; + + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.util.FormatUtil; + + import java.math.BigInteger; +@@ -51,6 +50,8 @@ + import java.security.interfaces.DSAParams; + import java.security.spec.DSAParameterSpec; + ++import sun.security.action.GetPropertyAction; ++ + /** + * A base asbtract class for both public and private DSS (Digital Signature + * Standard) keys. It encapsulates the three DSS numbers: p, +Index: gnu/java/security/key/dss/DSSPrivateKey.java +=================================================================== +--- gnu/java/security/key/dss/DSSPrivateKey.java.orig 2008-03-16 23:04:49.000000000 +0100 ++++ gnu/java/security/key/dss/DSSPrivateKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -42,7 +42,6 @@ + + import gnu.java.security.Configuration; + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.key.IKeyPairCodec; + + import java.math.BigInteger; +@@ -50,6 +49,8 @@ + import java.security.PrivateKey; + import java.security.interfaces.DSAPrivateKey; + ++import sun.security.action.GetPropertyAction; ++ + /** + * An object that embodies a DSS (Digital Signature Standard) private key. + * +Index: gnu/java/security/key/dss/DSSPublicKey.java +=================================================================== +--- gnu/java/security/key/dss/DSSPublicKey.java.orig 2008-03-16 23:04:49.000000000 +0100 ++++ gnu/java/security/key/dss/DSSPublicKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -41,7 +41,6 @@ + import gnu.java.lang.CPStringBuilder; + + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.key.IKeyPairCodec; + + import java.math.BigInteger; +@@ -49,6 +48,8 @@ + import java.security.PublicKey; + import java.security.interfaces.DSAPublicKey; + ++import sun.security.action.GetPropertyAction; ++ + /** + * An object that embodies a DSS (Digital Signature Standard) public key. + * +Index: gnu/java/security/key/rsa/GnuRSAKey.java +=================================================================== +--- gnu/java/security/key/rsa/GnuRSAKey.java.orig 2008-03-16 23:04:49.000000000 +0100 ++++ gnu/java/security/key/rsa/GnuRSAKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -41,7 +41,6 @@ + import gnu.java.lang.CPStringBuilder; + + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.util.FormatUtil; + + import java.math.BigInteger; +@@ -49,6 +48,8 @@ + import java.security.Key; + import java.security.interfaces.RSAKey; + ++import sun.security.action.GetPropertyAction; ++ + /** + * A base asbtract class for both public and private RSA keys. + */ +Index: gnu/java/security/key/rsa/GnuRSAPrivateKey.java +=================================================================== +--- gnu/java/security/key/rsa/GnuRSAPrivateKey.java.orig 2008-03-16 23:04:50.000000000 +0100 ++++ gnu/java/security/key/rsa/GnuRSAPrivateKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -41,7 +41,6 @@ + import gnu.java.lang.CPStringBuilder; + + import gnu.java.security.Configuration; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.Registry; + import gnu.java.security.key.IKeyPairCodec; + +@@ -51,6 +50,8 @@ + import java.security.interfaces.RSAPrivateCrtKey; + import java.security.interfaces.RSAPrivateKey; + ++import sun.security.action.GetPropertyAction; ++ + /** + * An object that embodies an RSA private key. + *

+Index: gnu/java/security/key/rsa/GnuRSAPublicKey.java +=================================================================== +--- gnu/java/security/key/rsa/GnuRSAPublicKey.java.orig 2008-03-16 23:04:50.000000000 +0100 ++++ gnu/java/security/key/rsa/GnuRSAPublicKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -41,7 +41,6 @@ + import gnu.java.lang.CPStringBuilder; + + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.key.IKeyPairCodec; + + import java.math.BigInteger; +@@ -49,6 +48,8 @@ + import java.security.PublicKey; + import java.security.interfaces.RSAPublicKey; + ++import sun.security.action.GetPropertyAction; ++ + /** + * An object that encapsulates an RSA public key. + *

+Index: gnu/javax/crypto/key/dh/GnuDHKey.java +=================================================================== +--- gnu/javax/crypto/key/dh/GnuDHKey.java.orig 2006-07-11 18:03:59.000000000 +0200 ++++ gnu/javax/crypto/key/dh/GnuDHKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -39,7 +39,6 @@ + package gnu.javax.crypto.key.dh; + + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.util.FormatUtil; + + import java.math.BigInteger; +@@ -49,6 +48,8 @@ + import javax.crypto.interfaces.DHKey; + import javax.crypto.spec.DHParameterSpec; + ++import sun.security.action.GetPropertyAction; ++ + /** + * A base asbtract class for both public and private Diffie-Hellman keys. It + * encapsulates the two DH numbers: p, and g. +Index: gnu/javax/crypto/key/dh/GnuDHPrivateKey.java +=================================================================== +--- gnu/javax/crypto/key/dh/GnuDHPrivateKey.java.orig 2006-07-11 18:03:59.000000000 +0200 ++++ gnu/javax/crypto/key/dh/GnuDHPrivateKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -40,7 +40,6 @@ + + import gnu.java.security.Configuration; + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.key.IKeyPairCodec; + + import java.math.BigInteger; +@@ -48,6 +47,8 @@ + + import javax.crypto.interfaces.DHPrivateKey; + ++import sun.security.action.GetPropertyAction; ++ + /** + * An implementation of the Diffie-Hellman private key. + *

+Index: gnu/javax/crypto/key/dh/GnuDHPublicKey.java +=================================================================== +--- gnu/javax/crypto/key/dh/GnuDHPublicKey.java.orig 2006-07-11 18:03:59.000000000 +0200 ++++ gnu/javax/crypto/key/dh/GnuDHPublicKey.java 2009-03-19 19:00:47.000000000 +0100 +@@ -39,7 +39,6 @@ + package gnu.javax.crypto.key.dh; + + import gnu.java.security.Registry; +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.key.IKeyPairCodec; + + import java.math.BigInteger; +@@ -47,6 +46,8 @@ + + import javax.crypto.interfaces.DHPublicKey; + ++import sun.security.action.GetPropertyAction; ++ + /** + * An implementation of the Diffie-Hellman public key. + *

+Index: gnu/javax/crypto/sasl/plain/PasswordFile.java +=================================================================== +--- gnu/javax/crypto/sasl/plain/PasswordFile.java.orig 2008-05-05 23:29:46.000000000 +0200 ++++ gnu/javax/crypto/sasl/plain/PasswordFile.java 2009-03-19 19:00:47.000000000 +0100 +@@ -40,7 +40,6 @@ + + import gnu.java.lang.CPStringBuilder; + +-import gnu.java.security.action.GetPropertyAction; + import gnu.javax.crypto.sasl.NoSuchUserException; + import gnu.javax.crypto.sasl.UserAlreadyExistsException; + +@@ -58,6 +57,8 @@ + import java.util.NoSuchElementException; + import java.util.StringTokenizer; + ++import sun.security.action.GetPropertyAction; ++ + /** + * A representation of a Plain password file. + */ +Index: gnu/javax/net/ssl/provider/X509TrustManagerFactory.java +=================================================================== +--- gnu/javax/net/ssl/provider/X509TrustManagerFactory.java.orig 2006-12-10 21:25:43.000000000 +0100 ++++ gnu/javax/net/ssl/provider/X509TrustManagerFactory.java 2009-03-19 19:00:47.000000000 +0100 +@@ -66,11 +66,12 @@ + import javax.net.ssl.TrustManagerFactorySpi; + import javax.net.ssl.X509TrustManager; + +-import gnu.java.security.action.GetPropertyAction; + import gnu.java.security.x509.X509CertPath; + import gnu.javax.net.ssl.NullManagerParameters; + import gnu.javax.net.ssl.StaticTrustAnchors; + ++import sun.security.action.GetPropertyAction; ++ + /** + * This class implements a {@link javax.net.ssl.TrustManagerFactory} engine + * for the ``JessieX509'' algorithm. +Index: gnu/xml/aelfred2/XmlParser.java +=================================================================== +--- gnu/xml/aelfred2/XmlParser.java.orig 2008-01-11 22:22:59.000000000 +0100 ++++ gnu/xml/aelfred2/XmlParser.java 2009-03-19 19:00:47.000000000 +0100 +@@ -53,8 +53,6 @@ + + package gnu.xml.aelfred2; + +-import gnu.java.security.action.GetPropertyAction; +- + import java.io.BufferedInputStream; + import java.io.CharConversionException; + import java.io.EOFException; +@@ -74,6 +72,7 @@ + import org.xml.sax.InputSource; + import org.xml.sax.SAXException; + ++import sun.security.action.GetPropertyAction; + + /** + * Parse XML documents and return parse events through call-backs. +Index: sun/security/action/GetPropertyAction.java +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ sun/security/action/GetPropertyAction.java 2009-03-19 19:00:47.000000000 +0100 +@@ -0,0 +1,92 @@ ++/* GetPropertyAction.java ++ Copyright (C) 2004, 2008 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 sun.security.action; ++ ++import java.security.PrivilegedAction; ++ ++/** ++ * PrivilegedAction implementation that calls System.getProperty() with ++ * the property name passed to its constructor. ++ * ++ * Example of use: ++ * ++ * GetPropertyAction action = new GetPropertyAction("http.proxyPort"); ++ * String port = AccessController.doPrivileged(action); ++ * ++ * ++ * Note: Usage of this class is discouraged as it is not a part of the ++ * J2SE API. ++ */ ++public class GetPropertyAction implements PrivilegedAction ++{ ++ String name; ++ String value = null; ++ ++ public GetPropertyAction() ++ { ++ } ++ ++ public GetPropertyAction(String propName) ++ { ++ setParameters(propName); ++ } ++ ++ public GetPropertyAction(String propName, String defaultValue) ++ { ++ setParameters(propName, defaultValue); ++ } ++ ++ public String run() ++ { ++ return System.getProperty(name, value); ++ } ++ ++ public GetPropertyAction setParameters(String propName) ++ { ++ this.name = propName; ++ this.value = null; ++ return this; ++ } ++ ++ public GetPropertyAction setParameters(String propName, String defaultValue) ++ { ++ this.name = propName; ++ this.value = defaultValue; ++ return this; ++ } ++} diff --git a/recipes/classpath/classpath-native.inc b/recipes/classpath/classpath-native.inc index bee62fae91..dba97769e7 100644 --- a/recipes/classpath/classpath-native.inc +++ b/recipes/classpath/classpath-native.inc @@ -13,6 +13,7 @@ do_configure_prepend () { cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S} } +export JAVA="${STAGING_BINDIR_NATIVE}/java-initial" export JAVAC="${STAGING_BINDIR_NATIVE}/ecj-initial" export JAVACFLAGS="-nowarn" diff --git a/recipes/classpath/classpath-native_0.96.1.bb b/recipes/classpath/classpath-native_0.96.1.bb deleted file mode 100644 index 2d7ebad76f..0000000000 --- a/recipes/classpath/classpath-native_0.96.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -require classpath-native.inc - -PR = "r4" - -SRC_URI += "\ - file://gjar-prefix-patch.diff;patch=1;pnum=0 \ - file://xmlstream-fix.patch;patch=1;pnum=0 \ - file://getopt-filelist.patch;patch=1;pnum=0 \ - file://sun-security-getproperty_0.96.1.patch;patch=1;pnum=0 \ - " - diff --git a/recipes/classpath/classpath-native_0.97.2.bb b/recipes/classpath/classpath-native_0.97.2.bb deleted file mode 100644 index 0024136b97..0000000000 --- a/recipes/classpath/classpath-native_0.97.2.bb +++ /dev/null @@ -1,32 +0,0 @@ -require classpath-native.inc - -PR = "r4" - -# The code affected by the javanet-local patch -# is usually not compiled. However if someone changes -# to --enable-local-sockets it will. -SRC_URI += "\ - file://netif_16.patch;patch=1;pnum=0 \ - file://SimpleName.diff;patch=1;pnum=0 \ - file://javanet-local.patch;patch=1;pnum=0 \ - file://sun-security-getproperty_0.96.1.patch;patch=1;pnum=0 \ - file://ecj_java_dir.patch;patch=1 \ - file://autotools.patch;patch=1 \ - file://decimalformat.patch;patch=1 \ - file://cp-byte-loophelper.patch;patch=1;pnum=0 \ - file://miscompilation.patch;patch=1 \ - " - -do_unpackpost() { - # Kind of patch: Moves package "org.w3c.dom.html2" to "org.w3c.dom.html" - mv external/w3c_dom/org/w3c/dom/html2 \ - external/w3c_dom/org/w3c/dom/html - - find examples/gnu/classpath/examples/html gnu/xml/dom/html2 external/w3c_dom/org/w3c/dom/html -name "*.java" \ - -exec sed -i -e"s|org.w3c.dom.html2|org.w3c.dom.html|" {} \; - - sed -i -e"s|org/w3c/dom/html2|org/w3c/dom/html|" external/w3c_dom/Makefile.am -} - -addtask unpackpost after do_unpack before do_patch - diff --git a/recipes/classpath/classpath-native_0.98.bb b/recipes/classpath/classpath-native_0.98.bb new file mode 100644 index 0000000000..dfbaad8369 --- /dev/null +++ b/recipes/classpath/classpath-native_0.98.bb @@ -0,0 +1,28 @@ +require classpath-native.inc + +PR = "r0" + +# The code affected by the javanet-local patch +# is usually not compiled. However if someone changes +# to --enable-local-sockets it will. +SRC_URI += "\ + file://SimpleName.diff;patch=1;pnum=0 \ + file://sun-security-getproperty.patch;patch=1;pnum=0 \ + file://ecj_java_dir.patch;patch=1 \ + file://autotools.patch;patch=1 \ + file://miscompilation.patch;patch=1 \ + " + +do_unpackpost() { + # Kind of patch: Moves package "org.w3c.dom.html2" to "org.w3c.dom.html" + mv external/w3c_dom/org/w3c/dom/html2 \ + external/w3c_dom/org/w3c/dom/html + + find examples/gnu/classpath/examples/html gnu/xml/dom/html2 external/w3c_dom/org/w3c/dom/html -name "*.java" \ + -exec sed -i -e"s|org.w3c.dom.html2|org.w3c.dom.html|" {} \; + + sed -i -e"s|org/w3c/dom/html2|org/w3c/dom/html|" external/w3c_dom/Makefile.am +} + +addtask unpackpost after do_unpack before do_patch + diff --git a/recipes/classpath/files/getopt-filelist.patch b/recipes/classpath/files/getopt-filelist.patch deleted file mode 100644 index 7b5e2740bf..0000000000 --- a/recipes/classpath/files/getopt-filelist.patch +++ /dev/null @@ -1,271 +0,0 @@ -? tools/generated -Index: tools/gnu/classpath/tools/common/ClasspathToolParser.java -=================================================================== -RCS file: /sources/classpath/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java,v -retrieving revision 1.1 -diff -u -r1.1 ClasspathToolParser.java ---- tools/gnu/classpath/tools/common/ClasspathToolParser.java 22 Sep 2006 01:01:26 -0000 1.1 -+++ tools/gnu/classpath/tools/common/ClasspathToolParser.java 3 Jun 2008 16:34:45 -0000 -@@ -38,9 +38,16 @@ - - package gnu.classpath.tools.common; - -+import java.io.BufferedReader; -+import java.io.IOException; -+import java.io.FileNotFoundException; -+import java.io.FileReader; -+import java.io.Reader; - import java.text.MessageFormat; -+import java.util.ArrayList; - - import gnu.classpath.Configuration; -+import gnu.classpath.tools.getopt.FileArgumentCallback; - import gnu.classpath.tools.getopt.Option; - import gnu.classpath.tools.getopt.OptionException; - import gnu.classpath.tools.getopt.Parser; -@@ -84,4 +91,137 @@ - } - }); - } -+ -+ public void parse(String[] inArgs, FileArgumentCallback files, -+ boolean handleFileLists) -+ { -+ FileArgumentCallback cb; -+ -+ if (handleFileLists) -+ cb = new AtFileArgumentCallback(files); -+ else -+ cb = files; -+ -+ parse(inArgs, cb); -+ } -+ -+ public String[] parse(String[] inArgs, boolean handleFileLists) -+ { -+ final ArrayList fileResult = new ArrayList(); -+ -+ final FileArgumentCallback cb = new FileArgumentCallback() -+ { -+ public void notifyFile(String fileArgument) -+ { -+ fileResult.add(fileArgument); -+ } -+ }; -+ -+ if (handleFileLists) -+ parse(inArgs, new AtFileArgumentCallback(cb)); -+ else -+ parse(inArgs, cb); -+ -+ return (String[]) fileResult.toArray(new String[0]); -+ } -+ -+ -+ /** Simple function that takes the given {@link Reader}, treats it like -+ * a textfile and reads all the whitespace separated entries from it -+ * and adds them to the @{link FileArgumentCallback} instance. -+ */ -+ public void parseFileList(Reader reader, FileArgumentCallback cb) -+ throws OptionException -+ { -+ BufferedReader breader = new BufferedReader(reader); -+ String line = null; -+ -+ try -+ { -+ while ((line = breader.readLine()) != null) -+ parseLine(line, cb); -+ -+ reader.close(); -+ } -+ catch (IOException ioe) -+ { -+ System.err.println(programName + ": IO error while reading from inputstream"); -+ System.exit(1); -+ } -+ -+ } -+ -+ /** Parses whitespace separated file entries. -+ * -+ * Note: This is not coping with whitespace in files or quoting. -+ */ -+ private void parseLine(String line, FileArgumentCallback cb) -+ throws IOException, OptionException -+ { -+ final int length = line.length(); -+ int start = 0; -+ int end = 0; -+ -+ // While not reached end of line ... -+ while (start < length) -+ { -+ // Search for first non-whitespace character for the start of a word. -+ while (Character.isWhitespace(line.codePointAt(start))) -+ { -+ start++; -+ -+ if (start == length) -+ return; -+ } -+ -+ end = start + 1; -+ -+ // Search for first whitespace character for the end of a word. -+ while (end < length && !Character.isWhitespace(line.codePointAt(end))) -+ end++; -+ -+ cb.notifyFile(line.substring(start, end)); -+ -+ start = end + 1; -+ } -+ } -+ -+ /** Implementation of {@link FileArgumentCallback} that handles -+ * file arguments in {@link #notifyFile} starting with a @ -+ * through {@link ClasspathToolParser#parseFileList}. -+ */ -+ class AtFileArgumentCallback extends FileArgumentCallback -+ { -+ FileArgumentCallback cb; -+ -+ AtFileArgumentCallback(FileArgumentCallback cb) -+ { -+ this.cb = cb; -+ } -+ -+ public void notifyFile(String fileArgument) -+ throws OptionException -+ { -+ if (fileArgument.codePointAt(0) == '@') -+ { -+ FileReader fr = null; -+ -+ try -+ { -+ fr = new FileReader(fileArgument.substring(1)); -+ } -+ catch (FileNotFoundException fnfe) -+ { -+ System.err.println(programName + ": file not found " + fileArgument.substring(1)); -+ System.exit(1); -+ } -+ -+ ClasspathToolParser.this.parseFileList(fr, cb); -+ } -+ else -+ cb.notifyFile(fileArgument); -+ } -+ -+ } -+ - } -Index: tools/gnu/classpath/tools/getopt/Parser.java -=================================================================== -RCS file: /sources/classpath/classpath/tools/gnu/classpath/tools/getopt/Parser.java,v -retrieving revision 1.10 -diff -u -r1.10 Parser.java ---- tools/gnu/classpath/tools/getopt/Parser.java 20 Mar 2008 18:04:44 -0000 1.10 -+++ tools/gnu/classpath/tools/getopt/Parser.java 3 Jun 2008 16:34:45 -0000 -@@ -58,7 +58,7 @@ - /** The maximum right column position. */ - public static final int MAX_LINE_LENGTH = 80; - -- private String programName; -+ protected String programName; - - private String headerText; - -Index: tools/gnu/classpath/tools/jar/Main.java -=================================================================== -RCS file: /sources/classpath/classpath/tools/gnu/classpath/tools/jar/Main.java,v -retrieving revision 1.11 -diff -u -r1.11 Main.java ---- tools/gnu/classpath/tools/jar/Main.java 3 Jun 2008 14:02:13 -0000 1.11 -+++ tools/gnu/classpath/tools/jar/Main.java 3 Jun 2008 16:34:45 -0000 -@@ -172,9 +172,9 @@ - } - } - -- private Parser initializeParser() -+ private ClasspathToolParser initializeParser() - { -- Parser p = new JarParser("jar"); //$NON-NLS-1$ -+ ClasspathToolParser p = new JarParser("jar"); //$NON-NLS-1$ - p.setHeader(Messages.getString("Main.Usage")); //$NON-NLS-1$ - - OptionGroup grp = new OptionGroup(Messages.getString("Main.OpMode")); //$NON-NLS-1$ -@@ -265,11 +265,11 @@ - private void run(String[] args) - throws InstantiationException, IllegalAccessException, IOException - { -- Parser p = initializeParser(); -+ ClasspathToolParser p = initializeParser(); - // Special hack to emulate old tar-style commands. - if (args.length > 0 && args[0].charAt(0) != '-') - args[0] = '-' + args[0]; -- p.parse(args, new HandleFile()); -+ p.parse(args, new HandleFile(), true); - if (readNamesFromStdin) - readNames(); - Action t = (Action) operationMode.newInstance(); -Index: tools/gnu/classpath/tools/javah/GcjhMain.java -=================================================================== -RCS file: /sources/classpath/classpath/tools/gnu/classpath/tools/javah/GcjhMain.java,v -retrieving revision 1.1 -diff -u -r1.1 GcjhMain.java ---- tools/gnu/classpath/tools/javah/GcjhMain.java 6 Mar 2007 18:52:34 -0000 1.1 -+++ tools/gnu/classpath/tools/javah/GcjhMain.java 3 Jun 2008 16:34:46 -0000 -@@ -38,10 +38,11 @@ - - package gnu.classpath.tools.javah; - -+import gnu.classpath.tools.common.ClasspathToolParser; -+ - import gnu.classpath.tools.getopt.Option; - import gnu.classpath.tools.getopt.OptionException; - import gnu.classpath.tools.getopt.OptionGroup; --import gnu.classpath.tools.getopt.Parser; - - import java.io.IOException; - import java.util.ArrayList; -@@ -60,9 +61,9 @@ - return "gcjh"; - } - -- protected Parser getParser() -+ protected ClasspathToolParser getParser() - { -- Parser result = super.getParser(); -+ ClasspathToolParser result = super.getParser(); - - result.setHeader("usage: gcjh [OPTION]... CLASS..."); - -Index: tools/gnu/classpath/tools/javah/Main.java -=================================================================== -RCS file: /sources/classpath/classpath/tools/gnu/classpath/tools/javah/Main.java,v -retrieving revision 1.10 -diff -u -r1.10 Main.java ---- tools/gnu/classpath/tools/javah/Main.java 31 Jul 2007 16:15:53 -0000 1.10 -+++ tools/gnu/classpath/tools/javah/Main.java 3 Jun 2008 16:34:46 -0000 -@@ -188,7 +188,7 @@ - return "javah"; - } - -- protected Parser getParser() -+ protected ClasspathToolParser getParser() - { - ClasspathToolParser result = new ClasspathToolParser(getName(), true); - result.setHeader("usage: javah [OPTIONS] CLASS..."); -@@ -339,8 +339,8 @@ - - protected void run(String[] args) throws IOException - { -- Parser p = getParser(); -- String[] classNames = p.parse(args); -+ ClasspathToolParser p = getParser(); -+ String[] classNames = p.parse(args, true); - postParse(classNames); - loader = classpath.getLoader(); - diff --git a/recipes/classpath/files/sun-security-getproperty_0.96.1.patch b/recipes/classpath/files/sun-security-getproperty_0.96.1.patch deleted file mode 100644 index 6af03e75ea..0000000000 --- a/recipes/classpath/files/sun-security-getproperty_0.96.1.patch +++ /dev/null @@ -1,503 +0,0 @@ -Index: gnu/classpath/debug/Simple1LineFormatter.java -=================================================================== ---- gnu/classpath/debug/Simple1LineFormatter.java.orig 2006-07-11 18:03:59.000000000 +0200 -+++ gnu/classpath/debug/Simple1LineFormatter.java 2008-06-04 11:14:14.000000000 +0200 -@@ -38,8 +38,6 @@ - - package gnu.classpath.debug; - --import gnu.java.security.action.GetPropertyAction; -- - import java.io.PrintWriter; - import java.io.StringWriter; - import java.security.AccessController; -@@ -51,6 +49,8 @@ - import java.util.logging.Formatter; - import java.util.logging.LogRecord; - -+import sun.security.action.GetPropertyAction; -+ - /** - * A simple 1-line formatter to use instead of the 2-line SimpleFormatter used - * by default in the JDK logging handlers. -Index: gnu/classpath/debug/SystemLogger.java -=================================================================== ---- gnu/classpath/debug/SystemLogger.java.orig 2006-12-10 21:25:41.000000000 +0100 -+++ gnu/classpath/debug/SystemLogger.java 2008-06-04 11:14:14.000000000 +0200 -@@ -38,13 +38,13 @@ - - package gnu.classpath.debug; - --import gnu.java.security.action.GetPropertyAction; -- - import java.security.AccessController; - import java.util.StringTokenizer; - import java.util.logging.Level; - import java.util.logging.Logger; - -+import sun.security.action.GetPropertyAction; -+ - public final class SystemLogger extends Logger - { - public static final SystemLogger SYSTEM = new SystemLogger(); -Index: gnu/java/security/PolicyFile.java -=================================================================== ---- gnu/java/security/PolicyFile.java.orig 2006-07-11 18:03:59.000000000 +0200 -+++ gnu/java/security/PolicyFile.java 2008-06-04 11:14:50.000000000 +0200 -@@ -39,7 +39,6 @@ - - import gnu.classpath.debug.Component; - import gnu.classpath.debug.SystemLogger; --import gnu.java.security.action.GetPropertyAction; - - import java.io.File; - import java.io.IOException; -@@ -72,6 +71,8 @@ - import java.util.StringTokenizer; - import java.util.logging.Logger; - -+import sun.security.action.GetPropertyAction; -+ - /** - * An implementation of a {@link java.security.Policy} object whose - * permissions are specified by a policy file. -Index: gnu/java/security/action/GetPropertyAction.java -=================================================================== ---- gnu/java/security/action/GetPropertyAction.java 2006-12-10 21:25:42.000000000 +0100 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,89 +0,0 @@ --/* GetPropertyAction.java -- 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.java.security.action; -- --import java.security.PrivilegedAction; -- --/** -- * PrivilegedAction implementation that calls System.getProperty() with -- * the property name passed to its constructor. -- * -- * Example of use: -- * -- * GetPropertyAction action = new GetPropertyAction("http.proxyPort"); -- * String port = AccessController.doPrivileged(action); -- * -- */ --public class GetPropertyAction implements PrivilegedAction --{ -- String name; -- String value = null; -- -- public GetPropertyAction() -- { -- } -- -- public GetPropertyAction(String propName) -- { -- setParameters(propName); -- } -- -- public GetPropertyAction(String propName, String defaultValue) -- { -- setParameters(propName, defaultValue); -- } -- -- public String run() -- { -- return System.getProperty(name, value); -- } -- -- public GetPropertyAction setParameters(String propName) -- { -- this.name = propName; -- this.value = null; -- return this; -- } -- -- public GetPropertyAction setParameters(String propName, String defaultValue) -- { -- this.name = propName; -- this.value = defaultValue; -- return this; -- } --} -Index: gnu/java/security/key/dss/DSSKey.java -=================================================================== ---- gnu/java/security/key/dss/DSSKey.java.orig 2006-08-05 05:23:27.000000000 +0200 -+++ gnu/java/security/key/dss/DSSKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -39,7 +39,6 @@ - package gnu.java.security.key.dss; - - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.util.FormatUtil; - - import java.math.BigInteger; -@@ -49,6 +48,8 @@ - import java.security.interfaces.DSAParams; - import java.security.spec.DSAParameterSpec; - -+import sun.security.action.GetPropertyAction; -+ - /** - * A base asbtract class for both public and private DSS (Digital Signature - * Standard) keys. It encapsulates the three DSS numbers: p, -Index: gnu/java/security/key/dss/DSSPrivateKey.java -=================================================================== ---- gnu/java/security/key/dss/DSSPrivateKey.java.orig 2006-07-11 18:04:00.000000000 +0200 -+++ gnu/java/security/key/dss/DSSPrivateKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -40,7 +40,6 @@ - - import gnu.java.security.Configuration; - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.key.IKeyPairCodec; - - import java.math.BigInteger; -@@ -48,6 +47,8 @@ - import java.security.PrivateKey; - import java.security.interfaces.DSAPrivateKey; - -+import sun.security.action.GetPropertyAction; -+ - /** - * An object that embodies a DSS (Digital Signature Standard) private key. - * -Index: gnu/java/security/key/dss/DSSPublicKey.java -=================================================================== ---- gnu/java/security/key/dss/DSSPublicKey.java.orig 2006-07-11 18:04:00.000000000 +0200 -+++ gnu/java/security/key/dss/DSSPublicKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -39,7 +39,6 @@ - package gnu.java.security.key.dss; - - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.key.IKeyPairCodec; - - import java.math.BigInteger; -@@ -47,6 +46,8 @@ - import java.security.PublicKey; - import java.security.interfaces.DSAPublicKey; - -+import sun.security.action.GetPropertyAction; -+ - /** - * An object that embodies a DSS (Digital Signature Standard) public key. - * -Index: gnu/java/security/key/rsa/GnuRSAKey.java -=================================================================== ---- gnu/java/security/key/rsa/GnuRSAKey.java.orig 2006-07-11 18:04:00.000000000 +0200 -+++ gnu/java/security/key/rsa/GnuRSAKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -39,7 +39,6 @@ - package gnu.java.security.key.rsa; - - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.util.FormatUtil; - - import java.math.BigInteger; -@@ -47,6 +46,8 @@ - import java.security.Key; - import java.security.interfaces.RSAKey; - -+import sun.security.action.GetPropertyAction; -+ - /** - * A base asbtract class for both public and private RSA keys. - */ -Index: gnu/java/security/key/rsa/GnuRSAPrivateKey.java -=================================================================== ---- gnu/java/security/key/rsa/GnuRSAPrivateKey.java.orig 2006-07-11 18:04:00.000000000 +0200 -+++ gnu/java/security/key/rsa/GnuRSAPrivateKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -39,7 +39,6 @@ - package gnu.java.security.key.rsa; - - import gnu.java.security.Configuration; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.Registry; - import gnu.java.security.key.IKeyPairCodec; - -@@ -49,6 +48,8 @@ - import java.security.interfaces.RSAPrivateCrtKey; - import java.security.interfaces.RSAPrivateKey; - -+import sun.security.action.GetPropertyAction; -+ - /** - * An object that embodies an RSA private key. - *

-Index: gnu/java/security/key/rsa/GnuRSAPublicKey.java -=================================================================== ---- gnu/java/security/key/rsa/GnuRSAPublicKey.java.orig 2006-07-11 18:04:00.000000000 +0200 -+++ gnu/java/security/key/rsa/GnuRSAPublicKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -39,7 +39,6 @@ - package gnu.java.security.key.rsa; - - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.key.IKeyPairCodec; - - import java.math.BigInteger; -@@ -47,6 +46,8 @@ - import java.security.PublicKey; - import java.security.interfaces.RSAPublicKey; - -+import sun.security.action.GetPropertyAction; -+ - /** - * An object that encapsulates an RSA public key. - *

-Index: gnu/javax/crypto/key/dh/GnuDHKey.java -=================================================================== ---- gnu/javax/crypto/key/dh/GnuDHKey.java.orig 2006-07-11 18:03:59.000000000 +0200 -+++ gnu/javax/crypto/key/dh/GnuDHKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -39,7 +39,6 @@ - package gnu.javax.crypto.key.dh; - - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.util.FormatUtil; - - import java.math.BigInteger; -@@ -49,6 +48,8 @@ - import javax.crypto.interfaces.DHKey; - import javax.crypto.spec.DHParameterSpec; - -+import sun.security.action.GetPropertyAction; -+ - /** - * A base asbtract class for both public and private Diffie-Hellman keys. It - * encapsulates the two DH numbers: p, and g. -Index: gnu/javax/crypto/key/dh/GnuDHPrivateKey.java -=================================================================== ---- gnu/javax/crypto/key/dh/GnuDHPrivateKey.java.orig 2006-07-11 18:03:59.000000000 +0200 -+++ gnu/javax/crypto/key/dh/GnuDHPrivateKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -40,7 +40,6 @@ - - import gnu.java.security.Configuration; - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.key.IKeyPairCodec; - - import java.math.BigInteger; -@@ -48,6 +47,8 @@ - - import javax.crypto.interfaces.DHPrivateKey; - -+import sun.security.action.GetPropertyAction; -+ - /** - * An implementation of the Diffie-Hellman private key. - *

-Index: gnu/javax/crypto/key/dh/GnuDHPublicKey.java -=================================================================== ---- gnu/javax/crypto/key/dh/GnuDHPublicKey.java.orig 2006-07-11 18:03:59.000000000 +0200 -+++ gnu/javax/crypto/key/dh/GnuDHPublicKey.java 2008-06-04 11:14:14.000000000 +0200 -@@ -39,7 +39,6 @@ - package gnu.javax.crypto.key.dh; - - import gnu.java.security.Registry; --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.key.IKeyPairCodec; - - import java.math.BigInteger; -@@ -47,6 +46,8 @@ - - import javax.crypto.interfaces.DHPublicKey; - -+import sun.security.action.GetPropertyAction; -+ - /** - * An implementation of the Diffie-Hellman public key. - *

-Index: gnu/javax/crypto/sasl/plain/PasswordFile.java -=================================================================== ---- gnu/javax/crypto/sasl/plain/PasswordFile.java.orig 2006-07-11 18:03:59.000000000 +0200 -+++ gnu/javax/crypto/sasl/plain/PasswordFile.java 2008-06-04 11:14:14.000000000 +0200 -@@ -38,7 +38,6 @@ - - package gnu.javax.crypto.sasl.plain; - --import gnu.java.security.action.GetPropertyAction; - import gnu.javax.crypto.sasl.NoSuchUserException; - import gnu.javax.crypto.sasl.UserAlreadyExistsException; - -@@ -56,6 +55,8 @@ - import java.util.NoSuchElementException; - import java.util.StringTokenizer; - -+import sun.security.action.GetPropertyAction; -+ - /** - * A representation of a Plain password file. - */ -Index: gnu/javax/net/ssl/provider/X509TrustManagerFactory.java -=================================================================== ---- gnu/javax/net/ssl/provider/X509TrustManagerFactory.java.orig 2006-12-10 21:25:43.000000000 +0100 -+++ gnu/javax/net/ssl/provider/X509TrustManagerFactory.java 2008-06-04 11:14:14.000000000 +0200 -@@ -66,11 +66,12 @@ - import javax.net.ssl.TrustManagerFactorySpi; - import javax.net.ssl.X509TrustManager; - --import gnu.java.security.action.GetPropertyAction; - import gnu.java.security.x509.X509CertPath; - import gnu.javax.net.ssl.NullManagerParameters; - import gnu.javax.net.ssl.StaticTrustAnchors; - -+import sun.security.action.GetPropertyAction; -+ - /** - * This class implements a {@link javax.net.ssl.TrustManagerFactory} engine - * for the ``JessieX509'' algorithm. -Index: gnu/xml/aelfred2/XmlParser.java -=================================================================== ---- gnu/xml/aelfred2/XmlParser.java.orig 2007-09-21 20:05:21.000000000 +0200 -+++ gnu/xml/aelfred2/XmlParser.java 2008-06-04 11:14:14.000000000 +0200 -@@ -53,8 +53,6 @@ - - package gnu.xml.aelfred2; - --import gnu.java.security.action.GetPropertyAction; -- - import java.io.BufferedInputStream; - import java.io.CharConversionException; - import java.io.EOFException; -@@ -74,6 +72,7 @@ - import org.xml.sax.InputSource; - import org.xml.sax.SAXException; - -+import sun.security.action.GetPropertyAction; - - /** - * Parse XML documents and return parse events through call-backs. -Index: sun/security/action/GetPropertyAction.java -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ sun/security/action/GetPropertyAction.java 2008-06-04 11:14:14.000000000 +0200 -@@ -0,0 +1,92 @@ -+/* GetPropertyAction.java -+ Copyright (C) 2004, 2008 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 sun.security.action; -+ -+import java.security.PrivilegedAction; -+ -+/** -+ * PrivilegedAction implementation that calls System.getProperty() with -+ * the property name passed to its constructor. -+ * -+ * Example of use: -+ * -+ * GetPropertyAction action = new GetPropertyAction("http.proxyPort"); -+ * String port = AccessController.doPrivileged(action); -+ * -+ * -+ * Note: Usage of this class is discouraged as it is not a part of the -+ * J2SE API. -+ */ -+public class GetPropertyAction implements PrivilegedAction -+{ -+ String name; -+ String value = null; -+ -+ public GetPropertyAction() -+ { -+ } -+ -+ public GetPropertyAction(String propName) -+ { -+ setParameters(propName); -+ } -+ -+ public GetPropertyAction(String propName, String defaultValue) -+ { -+ setParameters(propName, defaultValue); -+ } -+ -+ public String run() -+ { -+ return System.getProperty(name, value); -+ } -+ -+ public GetPropertyAction setParameters(String propName) -+ { -+ this.name = propName; -+ this.value = null; -+ return this; -+ } -+ -+ public GetPropertyAction setParameters(String propName, String defaultValue) -+ { -+ this.name = propName; -+ this.value = defaultValue; -+ return this; -+ } -+} -- cgit 1.2.3-korg