summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/gnu/javax
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/gnu/javax')
-rw-r--r--libjava/classpath/gnu/javax/activation/viewers/ImageViewer.java138
-rw-r--r--libjava/classpath/gnu/javax/activation/viewers/TextEditor.java119
-rw-r--r--libjava/classpath/gnu/javax/activation/viewers/TextViewer.java81
-rw-r--r--libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/mode/BaseMode.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/pad/BasePad.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java6
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java6
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java12
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java4
-rw-r--r--libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java4
-rw-r--r--libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java1
-rw-r--r--libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java2
-rw-r--r--libjava/classpath/gnu/javax/management/Server.java123
-rw-r--r--libjava/classpath/gnu/javax/management/Translator.java42
-rw-r--r--libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java8
-rw-r--r--libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java4
-rw-r--r--libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java4
-rw-r--r--libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java6
-rw-r--r--libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java4
-rw-r--r--libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java6
-rw-r--r--libjava/classpath/gnu/javax/net/ssl/Session.java6
-rw-r--r--libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java4
-rw-r--r--libjava/classpath/gnu/javax/net/ssl/provider/Util.java10
-rw-r--r--libjava/classpath/gnu/javax/print/ipp/IppRequest.java2
-rw-r--r--libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java4
-rw-r--r--libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java11
-rw-r--r--libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java6
-rw-r--r--libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java6
-rw-r--r--libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java4
-rw-r--r--libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java36
-rw-r--r--libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java4
-rw-r--r--libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java4
-rw-r--r--libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java10
40 files changed, 556 insertions, 157 deletions
diff --git a/libjava/classpath/gnu/javax/activation/viewers/ImageViewer.java b/libjava/classpath/gnu/javax/activation/viewers/ImageViewer.java
new file mode 100644
index 00000000000..829f40cbf84
--- /dev/null
+++ b/libjava/classpath/gnu/javax/activation/viewers/ImageViewer.java
@@ -0,0 +1,138 @@
+/* ImageViewer.java -- Simple image display component.
+ 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.javax.activation.viewers;
+
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Image;
+import java.awt.Graphics;
+import java.awt.MediaTracker;
+import java.awt.Toolkit;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.IOException;
+
+import javax.activation.CommandObject;
+import javax.activation.DataHandler;
+
+/**
+ * Simple image display component.
+ *
+ * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
+ * @version 1.0.2
+ */
+public class ImageViewer extends Component
+ implements CommandObject
+{
+
+ private Image image;
+
+ /**
+ * Returns the preferred size for this component (the image size).
+ */
+ public Dimension getPreferredSize()
+ {
+ Dimension ps = new Dimension(0, 0);
+ if (image != null)
+ {
+ ps.width = image.getWidth(this);
+ ps.height = image.getHeight(this);
+ }
+ return ps;
+ }
+
+ public void setCommandContext(String verb, DataHandler dh)
+ throws IOException
+ {
+ // Read image into a byte array
+ InputStream in = dh.getInputStream();
+ ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ byte[] buf = new byte[4096];
+ for (int len = in.read(buf); len != -1; len = in.read(buf))
+ bytes.write(buf, 0, len);
+ in.close();
+ // Create and prepare the image
+ Toolkit toolkit = getToolkit();
+ Image img = toolkit.createImage(bytes.toByteArray());
+ try
+ {
+ MediaTracker tracker = new MediaTracker(this);
+ tracker.addImage(img, 0);
+ tracker.waitForID(0);
+ }
+ catch (InterruptedException e)
+ {
+ }
+ toolkit.prepareImage(img, -1, -1, this);
+ }
+
+ /**
+ * Image bits arrive.
+ */
+ public boolean imageUpdate(Image image, int flags, int x, int y,
+ int width, int height)
+ {
+ if ((flags & ALLBITS) != 0)
+ {
+ this.image = image;
+ invalidate();
+ repaint();
+ return false;
+ }
+ return ((flags & ERROR) == 0);
+ }
+
+ /**
+ * Scale the image into this component's bounds.
+ */
+ public void paint(Graphics g)
+ {
+ if (image != null)
+ {
+ Dimension is = new Dimension(image.getWidth(this),
+ image.getHeight(this));
+ if (is.width > -1 && is.height > -1)
+ {
+ Dimension cs = getSize();
+ g.drawImage(image, 0, 0, cs.width, cs.height,
+ 0, 0, is.width, is.height, this);
+ }
+ }
+ }
+
+}
diff --git a/libjava/classpath/gnu/javax/activation/viewers/TextEditor.java b/libjava/classpath/gnu/javax/activation/viewers/TextEditor.java
new file mode 100644
index 00000000000..1995ae12282
--- /dev/null
+++ b/libjava/classpath/gnu/javax/activation/viewers/TextEditor.java
@@ -0,0 +1,119 @@
+/* TextEditor.java -- Simple text editor component.
+ 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.javax.activation.viewers;
+
+import java.awt.Dimension;
+import java.awt.TextArea;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import javax.activation.CommandObject;
+import javax.activation.DataHandler;
+
+/**
+ * Simple text editor component.
+ *
+ * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
+ * @version 1.0.2
+ */
+public class TextEditor extends TextArea
+ implements CommandObject, ActionListener
+{
+
+ private transient DataHandler dh;
+
+ public TextEditor()
+ {
+ super("", 24, 80, 1);
+ }
+
+ public Dimension getPreferredSize()
+ {
+ return getMinimumSize(24, 80);
+ }
+
+ public void setCommandContext(String verb, DataHandler dh)
+ throws IOException
+ {
+ this.dh = dh;
+ InputStream in = dh.getInputStream();
+ ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ byte[] buf = new byte[4096];
+ for (int len = in.read(buf); len != -1; len = in.read(buf))
+ bytes.write(buf, 0, len);
+ in.close();
+ setText(bytes.toString());
+ }
+
+ public void actionPerformed(ActionEvent event)
+ {
+ if ("save".equals(event.getActionCommand()) && dh != null)
+ {
+ OutputStream out = null;
+ try
+ {
+ out = dh.getOutputStream();
+ if (out != null)
+ out.write(getText().getBytes());
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace(System.err);
+ }
+ finally
+ {
+ if (out != null)
+ {
+ try
+ {
+
+ out.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace(System.err);
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/libjava/classpath/gnu/javax/activation/viewers/TextViewer.java b/libjava/classpath/gnu/javax/activation/viewers/TextViewer.java
new file mode 100644
index 00000000000..2b4aa90c58f
--- /dev/null
+++ b/libjava/classpath/gnu/javax/activation/viewers/TextViewer.java
@@ -0,0 +1,81 @@
+/* TextViewer.java -- Simple text viewer component.
+ 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.javax.activation.viewers;
+
+import java.awt.Dimension;
+import java.awt.TextArea;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import javax.activation.CommandObject;
+import javax.activation.DataHandler;
+
+/**
+ * Simple text display component.
+ *
+ * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
+ * @version 1.0.2
+ */
+public class TextViewer extends TextArea
+ implements CommandObject
+{
+
+ public TextViewer()
+ {
+ super("", 24, 80, 1);
+ setEditable(false);
+ }
+
+ public Dimension getPreferredSize()
+ {
+ return getMinimumSize(24, 80);
+ }
+
+ public void setCommandContext(String verb, DataHandler dh)
+ throws IOException
+ {
+ InputStream in = dh.getInputStream();
+ ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ byte[] buf = new byte[4096];
+ for (int len = in.read(buf); len != -1; len = in.read(buf))
+ bytes.write(buf, 0, len);
+ in.close();
+ setText(bytes.toString());
+ }
+
+}
diff --git a/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java b/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java
index 2c972f858d3..4e93322efb9 100644
--- a/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java
+++ b/libjava/classpath/gnu/javax/crypto/assembly/TransformerException.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.assembly;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.PrintStream;
import java.io.PrintWriter;
@@ -129,7 +131,7 @@ public class TransformerException
*/
public String toString()
{
- StringBuffer sb = new StringBuffer(this.getClass().getName())
+ CPStringBuilder sb = new CPStringBuilder(this.getClass().getName())
.append(": ").append(super.toString());
if (_exception != null)
sb.append("; caused by: ").append(_exception.toString());
diff --git a/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java b/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java
index a5bbe698769..bae142a638d 100644
--- a/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java
+++ b/libjava/classpath/gnu/javax/crypto/cipher/BaseCipher.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.cipher;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Configuration;
import java.security.InvalidKeyException;
@@ -88,7 +90,7 @@ public abstract class BaseCipher
public String name()
{
- StringBuffer sb = new StringBuffer(name).append('-');
+ CPStringBuilder sb = new CPStringBuilder(name).append('-');
if (currentKey == null)
sb.append(String.valueOf(8 * defaultBlockSize));
else
diff --git a/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java b/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java
index 0357c163d41..a917e223088 100644
--- a/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java
+++ b/libjava/classpath/gnu/javax/crypto/jce/sig/DHParameters.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.jce.sig;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Registry;
import gnu.java.security.der.DER;
import gnu.java.security.der.DERReader;
@@ -195,7 +197,7 @@ public class DHParameters
protected String engineToString()
{
- StringBuffer sb = new StringBuffer("p=");
+ CPStringBuilder sb = new CPStringBuilder("p=");
if (p == null)
sb.append("???");
else
diff --git a/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java b/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java
index f0fb1bb83f9..405f011adde 100644
--- a/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java
+++ b/libjava/classpath/gnu/javax/crypto/key/KeyAgreementException.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.key;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.Serializable;
@@ -157,7 +159,7 @@ public class KeyAgreementException
*/
public String toString()
{
- StringBuffer sb = new StringBuffer(this.getClass().getName()).append(": ")
+ CPStringBuilder sb = new CPStringBuilder(this.getClass().getName()).append(": ")
.append(super.toString());
if (cause != null)
sb.append("; caused by: ").append(cause.toString());
diff --git a/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java b/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java
index 6d9418ccafa..02e43229044 100644
--- a/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java
+++ b/libjava/classpath/gnu/javax/crypto/mode/BaseMode.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.mode;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.javax.crypto.cipher.IBlockCipher;
import java.security.InvalidKeyException;
@@ -110,7 +112,7 @@ public abstract class BaseMode
public String name()
{
- return new StringBuffer(name).append('(').append(cipher.name()).append(')')
+ return new CPStringBuilder(name).append('(').append(cipher.name()).append(')')
.toString();
}
diff --git a/libjava/classpath/gnu/javax/crypto/pad/BasePad.java b/libjava/classpath/gnu/javax/crypto/pad/BasePad.java
index 8b475d2d8cb..adc2c9bbc02 100644
--- a/libjava/classpath/gnu/javax/crypto/pad/BasePad.java
+++ b/libjava/classpath/gnu/javax/crypto/pad/BasePad.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.pad;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Configuration;
import java.util.Map;
@@ -67,7 +69,7 @@ public abstract class BasePad
public String name()
{
- final StringBuffer sb = new StringBuffer(name);
+ final CPStringBuilder sb = new CPStringBuilder(name);
if (blockSize != -1)
sb.append('-').append(String.valueOf(8 * blockSize));
return sb.toString();
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java
index 2145512215a..a6a06b6b849 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/CramMD5Util.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.crammd5;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Registry;
import gnu.java.security.util.Util;
import gnu.javax.crypto.mac.HMacFactory;
@@ -83,7 +85,7 @@ class CramMD5Util
final byte[] result;
try
{
- result = new StringBuffer("<")
+ result = new CPStringBuilder("<")
.append(encoded.substring(0,encoded.length()))
.append(".").append(String.valueOf(System.currentTimeMillis()))
.append("@").append(hostname).append(">")
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java
index df952111660..4900842a737 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/crammd5/PasswordFile.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.crammd5;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.javax.crypto.sasl.NoSuchUserException;
import gnu.javax.crypto.sasl.UserAlreadyExistsException;
@@ -201,13 +203,13 @@ public class PasswordFile
pw = new PrintWriter(fos);
String key;
String[] fields;
- StringBuffer sb;
+ CPStringBuilder sb;
int i;
for (Iterator it = entries.keySet().iterator(); it.hasNext();)
{
key = (String) it.next();
fields = (String[]) entries.get(key);
- sb = new StringBuffer(fields[0]);
+ sb = new CPStringBuilder(fields[0]);
for (i = 1; i < fields.length; i++)
sb.append(":").append(fields[i]);
pw.println(sb.toString());
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java b/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java
index b6fb3f87ead..4888214d821 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/plain/PasswordFile.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.plain;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.action.GetPropertyAction;
import gnu.javax.crypto.sasl.NoSuchUserException;
import gnu.javax.crypto.sasl.UserAlreadyExistsException;
@@ -205,13 +207,13 @@ public class PasswordFile
pw = new PrintWriter(fos);
String key;
String[] fields;
- StringBuffer sb;
+ CPStringBuilder sb;
Enumeration keys = entries.keys();
while (keys.hasMoreElements())
{
key = (String) keys.nextElement();
fields = (String[]) entries.get(key);
- sb = new StringBuffer(fields[0]);
+ sb = new CPStringBuilder(fields[0]);
for (int i = 1; i < fields.length; i++)
sb.append(":" + fields[i]);
pw.println(sb.toString());
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java b/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java
index 5c60578db67..87fffa01ee1 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/plain/PlainClient.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.plain;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Registry;
import gnu.javax.crypto.sasl.ClientMechanism;
@@ -128,7 +130,7 @@ public class PlainClient
}
if (password == null)
throw new SaslException("null password supplied");
- final StringBuffer sb = new StringBuffer();
+ final CPStringBuilder sb = new CPStringBuilder();
if (authorizationID != null)
sb.append(authorizationID);
sb.append('\0');
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java
index 36888df8724..7946e84fbcc 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/PasswordFile.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.srp;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Registry;
import gnu.java.security.util.Util;
import gnu.javax.crypto.key.srp6.SRPAlgorithm;
@@ -445,12 +447,12 @@ public class PasswordFile
{
String ndx;
String[] mpi;
- StringBuffer sb;
+ CPStringBuilder sb;
for (Iterator it = configurations.keySet().iterator(); it.hasNext();)
{
ndx = (String) it.next();
mpi = (String[]) configurations.get(ndx);
- sb = new StringBuffer(ndx)
+ sb = new CPStringBuilder(ndx)
.append(":").append(mpi[0])
.append(":").append(mpi[1]);
pw.println(sb.toString());
@@ -591,7 +593,7 @@ public class PasswordFile
{
String user, digestID;
HashMap fields, verifiers;
- StringBuffer sb1, sb2;
+ CPStringBuilder sb1, sb2;
Iterator j;
final Iterator i = entries.keySet().iterator();
while (i.hasNext())
@@ -601,7 +603,7 @@ public class PasswordFile
if (! user.equals(fields.get(USER_FIELD)))
throw new IOException("Inconsistent SRP password data");
verifiers = (HashMap) fields.get(VERIFIERS_FIELD);
- sb1 = new StringBuffer(user)
+ sb1 = new CPStringBuilder(user)
.append(":").append((String) verifiers.get("0"))
.append(":").append((String) fields.get(SALT_FIELD))
.append(":").append((String) fields.get(CONFIG_FIELD));
@@ -614,7 +616,7 @@ public class PasswordFile
if (! "0".equals(digestID))
{
// #0 is the default digest, already present in tpasswd!
- sb2 = new StringBuffer(digestID)
+ sb2 = new CPStringBuilder(digestID)
.append(":").append(user)
.append(":").append((String) verifiers.get(digestID));
pw2.println(sb2.toString());
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java
index f4ef4cc34c1..3406c14cec4 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPClient.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.srp;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Configuration;
import gnu.java.security.Registry;
import gnu.java.security.hash.MD5;
@@ -863,7 +865,7 @@ public class SRPClient
// For now we just select the defaults. Later we need to add support for
// properties (perhaps in a file) where a user can specify the list of
// algorithms they would prefer to use.
- final StringBuffer sb = new StringBuffer();
+ final CPStringBuilder sb = new CPStringBuilder();
sb.append(SRPRegistry.OPTION_SRP_DIGEST)
.append("=").append(mdName).append(",");
if (replayDetection)
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java
index ff7e4e9d689..3f000deefbf 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/SRPServer.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.srp;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Configuration;
import gnu.java.security.Registry;
import gnu.java.security.util.PRNG;
@@ -612,7 +614,7 @@ public class SRPServer
s = (String) properties.get(SRPRegistry.SRP_REPLAY_DETECTION);
final boolean replayDetection = (s == null ? SRPRegistry.DEFAULT_REPLAY_DETECTION
: Boolean.valueOf(s).booleanValue());
- final StringBuffer sb = new StringBuffer();
+ final CPStringBuilder sb = new CPStringBuilder();
sb.append(SRPRegistry.OPTION_SRP_DIGEST).append("=")
.append(srp.getAlgorithm()).append(",");
diff --git a/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java b/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java
index e9b1a728273..9fa83295a0f 100644
--- a/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java
+++ b/libjava/classpath/gnu/javax/crypto/sasl/srp/ServerStore.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.crypto.sasl.srp;
+import gnu.java.lang.CPStringBuilder;
+
import java.util.HashMap;
/**
@@ -84,7 +86,7 @@ public class ServerStore
static synchronized final byte[] getNewSessionID()
{
final String sid = String.valueOf(++counter);
- return new StringBuffer("SID-")
+ return new CPStringBuilder("SID-")
.append("0000000000".substring(0, 10 - sid.length())).append(sid)
.toString().getBytes();
}
diff --git a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java
index 08b5041c967..be42ffae1ee 100644
--- a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java
+++ b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriter.java
@@ -178,7 +178,6 @@ public class BMPImageWriter
encoder.encode(out, streamMetadata, image, param);
else
throw new BMPException("Encoder has not been initialized.");
- out.close();
}
/**
diff --git a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java
index b2a4273c93a..32f9f59d1ac 100644
--- a/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java
+++ b/libjava/classpath/gnu/javax/imageio/bmp/BMPImageWriterSpi.java
@@ -51,7 +51,7 @@ public class BMPImageWriterSpi
static final String vendorName = "GNU";
static final String version = "0.1";
static final String writerClassName = "gnu.javax.imageio.bmp.BMPImageWriter";
- static final String[] names = { "Microsoft Windows BMP" };
+ static final String[] names = { "bmp", "BMP", "Microsoft Windows BMP" };
static final String[] suffixes = { ".bmp", ".bm" };
static final String[] MIMETypes = { "image/bmp", "image/x-windows-bmp" };
static final String[] readerSpiNames = { "gnu.javax.imageio.bmp.BMPImageReaderSpi" };
diff --git a/libjava/classpath/gnu/javax/management/Server.java b/libjava/classpath/gnu/javax/management/Server.java
index 8e8d826c00f..e35c3b11745 100644
--- a/libjava/classpath/gnu/javax/management/Server.java
+++ b/libjava/classpath/gnu/javax/management/Server.java
@@ -48,12 +48,13 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+
import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.ConcurrentHashMap;
import javax.management.Attribute;
import javax.management.AttributeList;
@@ -113,19 +114,20 @@ public class Server
/**
* The registered beans, represented as a map of
* {@link javax.management.ObjectName}s to
- * {@link java.lang.Object}s.
+ * {@link gnu.javax.management.Server.ServerInfo}s.
*/
- private final Map beans = new HashMap();
+ private final ConcurrentHashMap<ObjectName,ServerInfo> beans =
+ new ConcurrentHashMap<ObjectName,ServerInfo>();
/**
* The default domain.
*/
- private String defaultDomain;
+ private final String defaultDomain;
/**
* The outer server.
*/
- private MBeanServer outer;
+ private final MBeanServer outer;
/**
* The class loader repository.
@@ -134,9 +136,15 @@ public class Server
/**
* The map of listener delegates to the true
- * listener.
+ * listener. We wrap this in an inner class
+ * to delay initialisation until a listener
+ * is actually added.
*/
- private Map listeners;
+ private static class LazyListenersHolder
+ {
+ private static final Map<NotificationListener,NotificationListener> listeners =
+ new ConcurrentHashMap<NotificationListener,NotificationListener>();
+ }
/**
* An MBean that emits notifications when an MBean is registered and
@@ -145,7 +153,10 @@ public class Server
*/
private final MBeanServerDelegate delegate;
- static private final AtomicLong sequenceNumber = new AtomicLong(1);
+ /**
+ * Provides sequencing for notifications about registrations.
+ */
+ private static final AtomicLong sequenceNumber = new AtomicLong(1);
/**
* Initialise the delegate name.
@@ -274,7 +285,7 @@ public class Server
private Object getBean(ObjectName name)
throws InstanceNotFoundException
{
- ServerInfo bean = (ServerInfo) beans.get(name);
+ ServerInfo bean = beans.get(name);
if (bean == null)
throw new InstanceNotFoundException("The bean, " + name +
", was not found.");
@@ -319,12 +330,10 @@ public class Server
if (bean instanceof NotificationBroadcaster)
{
NotificationBroadcaster bbean = (NotificationBroadcaster) bean;
- if (listeners == null)
- listeners = new HashMap();
NotificationListener indirection = new ServerNotificationListener(bean, name,
listener);
bbean.addNotificationListener(indirection, filter, passback);
- listeners.put(listener, indirection);
+ LazyListenersHolder.listeners.put(listener, indirection);
}
}
@@ -671,7 +680,7 @@ public class Server
{
try
{
- Class c = getClassLoaderRepository().loadClass(name);
+ Class<?> c = getClassLoaderRepository().loadClass(name);
return new ServerInputStream(new ByteArrayInputStream(data),
c.getClassLoader());
}
@@ -717,7 +726,7 @@ public class Server
{
try
{
- Class c = getClassLoader(loader).loadClass(name);
+ Class<?> c = getClassLoader(loader).loadClass(name);
return new ServerInputStream(new ByteArrayInputStream(data),
c.getClassLoader());
}
@@ -951,7 +960,6 @@ public class Server
return defaultDomain;
}
-
/**
* Returns an array containing all the domains used by beans registered
* with this server. The ordering of the array is undefined.
@@ -975,11 +983,11 @@ public class Server
public String[] getDomains()
{
checkSecurity(null, null, "getDomains");
- Set domains = new HashSet();
- Iterator iterator = beans.keySet().iterator();
+ Set<String> domains = new HashSet<String>();
+ Iterator<ObjectName> iterator = beans.keySet().iterator();
while (iterator.hasNext())
{
- String d = ((ObjectName) iterator.next()).getDomain();
+ String d = iterator.next().getDomain();
try
{
checkSecurity(new ObjectName(d + ":x=x"), null, "getDomains");
@@ -990,7 +998,7 @@ public class Server
/* Ignored */
}
}
- return (String[]) domains.toArray(new String[domains.size()]);
+ return domains.toArray(new String[domains.size()]);
}
/**
@@ -1077,7 +1085,7 @@ public class Server
public ObjectInstance getObjectInstance(ObjectName name)
throws InstanceNotFoundException
{
- ServerInfo bean = (ServerInfo) beans.get(name);
+ ServerInfo bean = beans.get(name);
if (bean == null)
throw new InstanceNotFoundException("The bean, " + name +
", was not found.");
@@ -1158,7 +1166,7 @@ public class Server
new IllegalArgumentException("The name was null.");
throw new RuntimeOperationsException(e);
}
- Class[] sigTypes = new Class[sig.length];
+ Class<?>[] sigTypes = new Class[sig.length];
for (int a = 0; a < sigTypes.length; ++a)
{
try
@@ -1174,7 +1182,7 @@ public class Server
}
try
{
- Constructor cons =
+ Constructor<?> cons =
repository.loadClass(name).getConstructor(sigTypes);
return cons.newInstance(params);
}
@@ -1288,7 +1296,7 @@ public class Server
throw new RuntimeOperationsException(e);
}
ClassLoader loader = getClassLoader(loaderName);
- Class[] sigTypes = new Class[sig.length];
+ Class<?>[] sigTypes = new Class[sig.length];
for (int a = 0; a < sig.length; ++a)
{
try
@@ -1304,7 +1312,7 @@ public class Server
}
try
{
- Constructor cons =
+ Constructor<?> cons =
Class.forName(name, true, loader).getConstructor(sigTypes);
return cons.newInstance(params);
}
@@ -1433,10 +1441,10 @@ public class Server
}
if (info.getClassName().equals(className))
return true;
- Class bclass = bean.getClass();
+ Class<?> bclass = bean.getClass();
try
{
- Class oclass = Class.forName(className);
+ Class<?> oclass = Class.forName(className);
return (bclass.getClassLoader().equals(oclass.getClassLoader()) &&
oclass.isAssignableFrom(bclass));
}
@@ -1502,21 +1510,19 @@ public class Server
* arise from the execution of the query, in which
* case that particular bean will again be excluded.
*/
- public Set queryMBeans(ObjectName name, QueryExp query)
+ public Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query)
{
checkSecurity(name, null, "queryMBeans");
- Set results = new HashSet();
- Iterator iterator = beans.entrySet().iterator();
- while (iterator.hasNext())
+ Set<ObjectInstance> results = new HashSet<ObjectInstance>();
+ for (Map.Entry<ObjectName,ServerInfo> entry : beans.entrySet())
{
- Map.Entry entry = (Map.Entry) iterator.next();
- ObjectName nextName = (ObjectName) entry.getKey();
+ ObjectName nextName = entry.getKey();
checkSecurity(name, nextName.toString(), "queryMBeans");
try
{
if ((name == null || name.apply(nextName)) &&
(query == null || query.apply(nextName)))
- results.add(((ServerInfo) entry.getValue()).getInstance());
+ results.add(entry.getValue().getInstance());
}
catch (BadStringOperationException e)
{
@@ -1575,15 +1581,12 @@ public class Server
* Note that these permissions are implied if the
* <code>queryMBeans</code> permissions are available.
*/
- public Set queryNames(ObjectName name, QueryExp query)
+ public Set<ObjectName> queryNames(ObjectName name, QueryExp query)
{
checkSecurity(name, null, "queryNames");
- Set results = new HashSet();
- Iterator iterator = beans.entrySet().iterator();
- while (iterator.hasNext())
+ Set<ObjectName> results = new HashSet<ObjectName>();
+ for (ObjectName nextName : beans.keySet())
{
- Map.Entry entry = (Map.Entry) iterator.next();
- ObjectName nextName = (ObjectName) entry.getKey();
checkSecurity(name, nextName.toString(), "queryNames");
try
{
@@ -1656,7 +1659,7 @@ public class Server
NotCompliantMBeanException
{
SecurityManager sm = System.getSecurityManager();
- Class cl = obj.getClass();
+ Class<?> cl = obj.getClass();
String className = cl.getName();
if (sm != null)
{
@@ -1712,14 +1715,13 @@ public class Server
throw new MBeanRegistrationException(e, "Pre-registration failed.");
}
}
- if (beans.containsKey(name))
+ ObjectInstance obji = new ObjectInstance(name, className);
+ if (beans.putIfAbsent(name, new ServerInfo(obji, obj)) != null)
{
if (register != null)
register.postRegister(Boolean.FALSE);
throw new InstanceAlreadyExistsException(name + "is already registered.");
}
- ObjectInstance obji = new ObjectInstance(name, className);
- beans.put(name, new ServerInfo(obji, obj));
if (register != null)
register.postRegister(Boolean.TRUE);
notify(name, MBeanServerNotification.REGISTRATION_NOTIFICATION);
@@ -1758,15 +1760,8 @@ public class Server
if (bean instanceof NotificationBroadcaster)
{
NotificationBroadcaster bbean = (NotificationBroadcaster) bean;
- NotificationListener indirection = (NotificationListener)
- listeners.get(listener);
- if (indirection == null)
- bbean.removeNotificationListener(listener);
- else
- {
- bbean.removeNotificationListener(indirection);
- listeners.remove(listener);
- }
+ bbean.removeNotificationListener(listener);
+ LazyListenersHolder.listeners.remove(listener);
}
}
@@ -1809,15 +1804,8 @@ public class Server
if (bean instanceof NotificationEmitter)
{
NotificationEmitter bbean = (NotificationEmitter) bean;
- NotificationListener indirection = (NotificationListener)
- listeners.get(listener);
- if (indirection == null)
- bbean.removeNotificationListener(listener, filter, passback);
- else
- {
- bbean.removeNotificationListener(indirection, filter, passback);
- listeners.remove(listener);
- }
+ bbean.removeNotificationListener(listener, filter, passback);
+ LazyListenersHolder.listeners.remove(listener);
}
}
@@ -2011,7 +1999,7 @@ public class Server
Object abean = getBean(name);
checkSecurity(name, null, "setAttribute");
AttributeList list = new AttributeList(attributes.size());
- Iterator it = attributes.iterator();
+ Iterator<Object> it = attributes.iterator();
while (it.hasNext())
{
try
@@ -2113,6 +2101,15 @@ public class Server
register.postDeregister();
}
+ /**
+ * Notifies the delegate of beans being registered
+ * and unregistered.
+ *
+ * @param name the bean being registered.
+ * @param type the type of notification;
+ * {@code REGISTRATION_NOTIFICATION} or
+ * {@code UNREGISTRATION_NOTIFICATION}.
+ */
private void notify(ObjectName name, String type)
{
delegate.sendNotification
@@ -2136,7 +2133,7 @@ public class Server
this.cl = cl;
}
- protected Class resolveClass(ObjectStreamClass osc)
+ protected Class<?> resolveClass(ObjectStreamClass osc)
throws ClassNotFoundException, IOException
{
try
diff --git a/libjava/classpath/gnu/javax/management/Translator.java b/libjava/classpath/gnu/javax/management/Translator.java
index 4ede3743088..a15994429a3 100644
--- a/libjava/classpath/gnu/javax/management/Translator.java
+++ b/libjava/classpath/gnu/javax/management/Translator.java
@@ -143,14 +143,14 @@ public final class Translator
throw new IllegalArgumentException(jtype + " has a " +
"non-comparable element " +
"type, " + elemClass);
- if (((SortedSet) jtype).comparator() != null)
+ if (((SortedSet<?>) jtype).comparator() != null)
throw new IllegalArgumentException(jtype + " does not " +
"use natural ordering.");
}
- Collection<Object> elems = (Collection<Object>) jtype;
+ Collection<?> elems = (Collection<?>) jtype;
int numElems = elems.size();
Object[] celems = new Object[numElems];
- Iterator<Object> i = elems.iterator();
+ Iterator<?> i = elems.iterator();
for (int a = 0; a < numElems; ++a)
{
Object elem = i.next();
@@ -159,7 +159,7 @@ public final class Translator
return makeArraySpecific(celems);
}
if (jtype instanceof Enum)
- return ((Enum) jtype).name();
+ return ((Enum<?>) jtype).name();
if (jtype instanceof Map || jtype instanceof SortedMap)
{
int lparam = tName.indexOf("<");
@@ -177,13 +177,13 @@ public final class Translator
throw new IllegalArgumentException(jtype + " has a " +
"non-comparable element " +
"type, " + keyClass);
- if (((SortedMap) jtype).comparator() != null)
+ if (((SortedMap<?,?>) jtype).comparator() != null)
throw new IllegalArgumentException(jtype + " does not " +
"use natural ordering.");
typeName = "java.util.SortedMap" + tName.substring(lparam);
}
- OpenType k = translate(key).getOpenType();
- OpenType v = translate(value).getOpenType();
+ OpenType<?> k = translate(key).getOpenType();
+ OpenType<?> v = translate(value).getOpenType();
CompositeType rowType = new CompositeType(typeName, typeName,
new String[] { "key", "value" },
new String[] { "Map key", "Map value"},
@@ -191,7 +191,7 @@ public final class Translator
TabularType tabType = new TabularType(typeName, typeName, rowType,
new String[]{"key"});
TabularData data = new TabularDataSupport(tabType);
- for (Map.Entry entry : (Set<Map.Entry>) ((Map) jtype).entrySet())
+ for (Map.Entry<?,?> entry : ((Map<?,?>) jtype).entrySet())
{
try
{
@@ -258,15 +258,15 @@ public final class Translator
if (returnType.isEnum())
{
String ename = (String) otype;
- Enum[] constants = (Enum[]) returnType.getEnumConstants();
- for (Enum c : constants)
+ Enum<?>[] constants = (Enum[]) returnType.getEnumConstants();
+ for (Enum<?> c : constants)
if (c.name().equals(ename))
return c;
}
if (List.class.isAssignableFrom(returnType))
{
Object[] elems = (Object[]) otype;
- List l = new ArrayList(elems.length);
+ List<Object> l = new ArrayList<Object>(elems.length);
for (Object elem : elems)
l.add(elem);
return l;
@@ -274,7 +274,7 @@ public final class Translator
if (Map.class.isAssignableFrom(returnType))
{
TabularData data = (TabularData) otype;
- Map m = new HashMap(data.size());
+ Map<Object,Object> m = new HashMap<Object,Object>(data.size());
for (Object val : data.values())
{
CompositeData vals = (CompositeData) val;
@@ -401,8 +401,8 @@ public final class Translator
int comma = type.indexOf(",", lparam);
int rparam = type.indexOf(">", comma);
String key = type.substring(lparam + 1, comma).trim();
- OpenType k = translate(key).getOpenType();
- OpenType v = translate(type.substring(comma + 1, rparam).trim()).getOpenType();
+ OpenType<?> k = translate(key).getOpenType();
+ OpenType<?> v = translate(type.substring(comma + 1, rparam).trim()).getOpenType();
CompositeType ctype = new CompositeType(Map.class.getName(), Map.class.getName(),
new String[] { "key", "value" },
new String[] { "Map key", "Map value"},
@@ -417,13 +417,13 @@ public final class Translator
{
int lparam = type.indexOf("<");
int rparam = type.indexOf(">");
- OpenType e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType();
+ OpenType<?> e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType();
return new OpenMBeanParameterInfoSupport("TransParam",
"Translated parameter",
- new ArrayType(1, e)
+ new ArrayType<OpenType<?>>(1, e)
);
}
- Class c;
+ Class<?> c;
try
{
c = Class.forName(type);
@@ -450,15 +450,15 @@ public final class Translator
int depth;
for (depth = 0; c.getName().charAt(depth) == '['; ++depth)
;
- OpenType ot = getTypeFromClass(c.getComponentType());
+ OpenType<?> ot = getTypeFromClass(c.getComponentType());
return new OpenMBeanParameterInfoSupport("TransParam",
"Translated parameter",
- new ArrayType(depth, ot)
+ new ArrayType<OpenType<?>>(depth, ot)
);
}
Method[] methods = c.getDeclaredMethods();
List<String> names = new ArrayList<String>();
- List<OpenType> types = new ArrayList<OpenType>();
+ List<OpenType<?>> types = new ArrayList<OpenType<?>>();
for (int a = 0; a < methods.length; ++a)
{
String name = methods[a].getName();
@@ -495,7 +495,7 @@ public final class Translator
* @return the appropriate instance.
* @throws OpenDataException if the type is not open.
*/
- private static final OpenType getTypeFromClass(Class c)
+ private static final OpenType<?> getTypeFromClass(Class<?> c)
throws OpenDataException
{
return Translator.translate(c.getName()).getOpenType();
diff --git a/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java b/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java
index 397b1c7d9e4..95ebb8a0689 100644
--- a/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java
+++ b/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java
@@ -43,6 +43,8 @@ import gnu.CORBA.Unexpected;
import gnu.CORBA.Version;
import gnu.CORBA.NamingService.NameTransformer;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
@@ -288,7 +290,7 @@ public class CorbalocParser
ior.Internet.version = new Version(major, minor);
// Then host data goes till '/' or ':'.
- StringBuffer bhost = new StringBuffer(corbaloc.length());
+ CPStringBuilder bhost = new CPStringBuilder(corbaloc.length());
while (!t[p].equals(":") && !t[p].equals("/") && !t[p].equals(","))
bhost.append(t[p++]);
@@ -381,7 +383,7 @@ public class CorbalocParser
{
InputStreamReader r = new InputStreamReader(u.openStream());
- StringBuffer b = new StringBuffer();
+ CPStringBuilder b = new CPStringBuilder();
int c;
while ((c = r.read()) > 0)
@@ -418,7 +420,7 @@ public class CorbalocParser
+ "' found");
}
- StringBuffer bKey = new StringBuffer();
+ CPStringBuilder bKey = new CPStringBuilder();
p++;
while (p < t.length && !t[p].equals("#"))
diff --git a/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java
index 84aa3241365..6c221548f47 100644
--- a/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java
+++ b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java
@@ -40,6 +40,8 @@ package gnu.javax.naming.giop;
import gnu.CORBA.OrbFunctional;
+import gnu.java.lang.CPStringBuilder;
+
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
@@ -161,7 +163,7 @@ public class GiopNamingServiceFactory
{
TreeMap map = new TreeMap();
map.putAll(props);
- StringBuffer b = new StringBuffer(50*props.size());
+ CPStringBuilder b = new CPStringBuilder(50*props.size());
Iterator iter = map.entrySet().iterator();
Map.Entry m;
diff --git a/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java b/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java
index 00f4a0779c7..68ba49b3fed 100644
--- a/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java
+++ b/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.naming.giop;
+import gnu.java.lang.CPStringBuilder;
+
import javax.naming.NamingEnumeration;
import org.omg.CosNaming.Binding;
@@ -92,7 +94,7 @@ public class ListBindingsEnumeration extends GiopNamingEnumeration implements
*/
public Object convert(Binding binding)
{
- StringBuffer name = new StringBuffer();
+ CPStringBuilder name = new CPStringBuilder();
for (int i = 0; i < binding.binding_name.length; i++)
{
diff --git a/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java b/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java
index 2e64e67d393..3fca1e0abc8 100644
--- a/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java
+++ b/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java
@@ -29,7 +29,7 @@ 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
+odule. 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
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.naming.giop;
+import gnu.java.lang.CPStringBuilder;
+
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
@@ -85,7 +87,7 @@ public class ListEnumeration extends GiopNamingEnumeration implements
*/
public Object convert(Binding binding)
{
- StringBuffer name = new StringBuffer();
+ CPStringBuilder name = new CPStringBuilder();
for (int i = 0; i < binding.binding_name.length; i++)
{
diff --git a/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java b/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java
index b20bfa4ea8b..b423c721bc0 100644
--- a/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java
+++ b/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java
@@ -37,6 +37,8 @@ exception statement from your version. */
package gnu.javax.naming.ictxImpl.trans;
+import gnu.java.lang.CPStringBuilder;
+
import java.util.Enumeration;
import java.util.NoSuchElementException;
@@ -455,7 +457,7 @@ public class GnuName
*/
public String toString()
{
- StringBuffer b = new StringBuffer();
+ CPStringBuilder b = new CPStringBuilder();
for (int i = 0; i < length; i++)
{
b.append(get(i));
diff --git a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java
index 4a37cd8b1f9..7fff253dd4f 100644
--- a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java
+++ b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.net.ssl;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.EOFException;
import java.io.InputStream;
import java.io.IOException;
@@ -137,7 +139,7 @@ public class PrivateCredentials implements ManagerFactoryParameters
boolean encrypted = false;
String cipher = null;
String salt = null;
- StringBuffer base64 = new StringBuffer();
+ CPStringBuilder base64 = new CPStringBuilder();
while (true)
{
line = readLine(privateKey);
@@ -235,7 +237,7 @@ public class PrivateCredentials implements ManagerFactoryParameters
private String readLine(InputStream in) throws IOException
{
boolean eol_is_cr = System.getProperty("line.separator").equals("\r");
- StringBuffer str = new StringBuffer();
+ CPStringBuilder str = new CPStringBuilder();
while (true)
{
int i = in.read();
diff --git a/libjava/classpath/gnu/javax/net/ssl/Session.java b/libjava/classpath/gnu/javax/net/ssl/Session.java
index e2b21aa1e81..09b50eef069 100644
--- a/libjava/classpath/gnu/javax/net/ssl/Session.java
+++ b/libjava/classpath/gnu/javax/net/ssl/Session.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.net.ssl;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.Serializable;
import java.security.Principal;
@@ -349,7 +351,7 @@ public abstract class Session implements SSLSession, Serializable
public String toString()
{
- StringBuffer str = new StringBuffer (3 * id.length + 1);
+ CPStringBuilder str = new CPStringBuilder (3 * id.length + 1);
for (int i = 0; i < id.length; i++)
{
int x = id[i] & 0xFF;
@@ -361,4 +363,4 @@ public abstract class Session implements SSLSession, Serializable
return str.toString ();
}
}
-} \ No newline at end of file
+}
diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java b/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java
index 0ffc26c2b5d..81dfce591e5 100644
--- a/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java
+++ b/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.net.ssl.provider;
+import gnu.java.lang.CPStringBuilder;
+
/**
* The handshake body for a HelloRequest handshake message.
*
@@ -51,7 +53,7 @@ public final class HelloRequest implements Handshake.Body
public String toString (final String prefix)
{
- StringBuffer str = new StringBuffer ();
+ CPStringBuilder str = new CPStringBuilder ();
if (prefix != null)
str.append (prefix);
str.append ("HelloRequest { };");
diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Util.java b/libjava/classpath/gnu/javax/net/ssl/provider/Util.java
index ba8ea7db70b..57f637c1849 100644
--- a/libjava/classpath/gnu/javax/net/ssl/provider/Util.java
+++ b/libjava/classpath/gnu/javax/net/ssl/provider/Util.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.net.ssl.provider;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -128,7 +130,7 @@ public final class Util
*/
public static String toHexString(byte[] buf, int off, int len)
{
- StringBuffer str = new StringBuffer();
+ CPStringBuilder str = new CPStringBuilder();
for (int i = 0; i < len; i++)
{
str.append(HEX.charAt(buf[i+off] >>> 4 & 0x0F));
@@ -157,7 +159,7 @@ public final class Util
*/
public static String toHexString(byte[] buf, int off, int len, char sep)
{
- StringBuffer str = new StringBuffer();
+ CPStringBuilder str = new CPStringBuilder();
for (int i = 0; i < len; i++)
{
str.append(HEX.charAt(buf[i+off] >>> 4 & 0x0F));
@@ -194,7 +196,7 @@ public final class Util
public static String hexDump(byte[] buf, int off, int len, String prefix)
{
String nl = getProperty("line.separator");
- StringBuffer str = new StringBuffer();
+ CPStringBuilder str = new CPStringBuilder();
int i = 0;
while (i < len)
{
@@ -294,7 +296,7 @@ public final class Util
public static String formatInt(int i, int radix, int len)
{
String s = Integer.toString(i, radix);
- StringBuffer buf = new StringBuffer();
+ CPStringBuilder buf = new CPStringBuilder();
for (int j = 0; j < len - s.length(); j++)
buf.append("0");
buf.append(s);
diff --git a/libjava/classpath/gnu/javax/print/ipp/IppRequest.java b/libjava/classpath/gnu/javax/print/ipp/IppRequest.java
index 05a6faae72e..3de88715a68 100644
--- a/libjava/classpath/gnu/javax/print/ipp/IppRequest.java
+++ b/libjava/classpath/gnu/javax/print/ipp/IppRequest.java
@@ -469,7 +469,7 @@ public class IppRequest
}
else
{
- new IppException("Unknown target operation attribute combination.");
+ throw new IppException("Unknown target operation attribute combination.");
}
writeAttributes(attributes);
diff --git a/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java b/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java
index ae9d32dfdbd..814fe2d0a74 100644
--- a/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java
+++ b/libjava/classpath/gnu/javax/print/ipp/attribute/RequestedAttributes.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute;
+import gnu.java.lang.CPStringBuilder;
+
import java.util.ArrayList;
import java.util.List;
@@ -117,7 +119,7 @@ public final class RequestedAttributes implements Attribute
*/
public String toString()
{
- StringBuffer b = new StringBuffer();
+ CPStringBuilder b = new CPStringBuilder();
if (attributes.size() > 0)
b.append(attributes.get(0));
diff --git a/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java b/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java
index 91bfa3776dc..5fa78b1e915 100644
--- a/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java
+++ b/libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java
@@ -46,6 +46,8 @@ import gnu.CORBA.CDR.gnuRuntime;
import gnu.CORBA.CDR.gnuValueStream;
import gnu.CORBA.CDR.HeadlessInput;
+import gnu.java.lang.CPStringBuilder;
+
import org.omg.CORBA.MARSHAL;
import org.omg.CORBA.StringValueHelper;
import org.omg.CORBA.WStringValueHelper;
@@ -393,7 +395,7 @@ public class RmiUtilities
*/
public static String toHex(long l)
{
- StringBuffer b = new StringBuffer();
+ CPStringBuilder b = new CPStringBuilder();
b.append(Long.toHexString(l).toUpperCase());
while (b.length() < 16)
b.insert(0, '0');
@@ -425,7 +427,7 @@ public class RmiUtilities
return "V";
else if (type.isArray())
{
- StringBuffer l = new StringBuffer("[");
+ CPStringBuilder l = new CPStringBuilder("[");
Class component = type.getComponentType();
while (component.isArray())
@@ -700,13 +702,14 @@ public class RmiUtilities
if (in instanceof HeadlessInput)
((HeadlessInput) in).subsequentCalls = true;
- gnuRuntime g;
+ gnuRuntime g = null;
Serializable object = null;
try
{
g = (gnuRuntime) sender;
- object = g.target;
+ if (sender != null)
+ object = g.target;
}
catch (ClassCastException e)
{
diff --git a/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java b/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java
index 539c4a17e1c..d75ce4104fa 100644
--- a/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java
+++ b/libjava/classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.security.auth.callback;
+import gnu.java.lang.CPStringBuilder;
+
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Dialog;
@@ -238,8 +240,8 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
int defind = 0;
for (int i = 0; i < locales.length; i++)
{
- StringBuffer lang =
- new StringBuffer(locales[i].getDisplayLanguage(locales[i]));
+ CPStringBuilder lang =
+ new CPStringBuilder(locales[i].getDisplayLanguage(locales[i]));
String country = locales[i].getDisplayCountry(locales[i]);
String variant = locales[i].getDisplayVariant(locales[i]);
if (country.length() > 0 && variant.length() > 0)
diff --git a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java
index 06a1d2c7ce9..0235c6971c3 100644
--- a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java
+++ b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileTokenizer.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.security.auth.login;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.java.security.Configuration;
import java.io.BufferedReader;
@@ -92,7 +94,7 @@ public class ConfigFileTokenizer
private BufferedReader br;
boolean initialised;
- private StringBuffer sb;
+ private CPStringBuilder sb;
private int sbNdx;
// Constructor(s)
@@ -185,7 +187,7 @@ public class ConfigFileTokenizer
private void init() throws IOException
{
- sb = new StringBuffer();
+ sb = new CPStringBuilder();
String line;
while ((line = br.readLine()) != null)
{
diff --git a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java
index b90caef24b5..0514c937a9f 100644
--- a/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java
+++ b/libjava/classpath/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java
@@ -37,6 +37,8 @@ exception statement from your version. */
package gnu.javax.sound.sampled.gstreamer.io;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.javax.sound.sampled.gstreamer.GStreamerMixer;
import java.io.BufferedInputStream;
@@ -65,7 +67,7 @@ public class GstAudioFileReader
public AudioFileFormat getAudioFileFormat(File file)
throws UnsupportedAudioFileException, IOException
{
- StringBuffer name = new StringBuffer(file.getName());
+ CPStringBuilder name = new CPStringBuilder(file.getName());
String _name = name.substring(name.lastIndexOf(".") + 1);
return getAudioFileFormat(
diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java b/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java
index 7507850e8f9..7f16f1f2dba 100644
--- a/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java
+++ b/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.swing.text.html.parser;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.javax.swing.text.html.parser.models.node;
import gnu.javax.swing.text.html.parser.models.transformer;
@@ -499,11 +501,11 @@ public abstract class htmlValidator
dtdAttribute = tag.getElement().getAttribute(foundAttribute.toString());
if (dtdAttribute == null)
{
- StringBuffer valid =
- new StringBuffer("The tag <" + tag.getHTMLTag() +
- "> cannot contain the attribute '" + foundAttribute +
- "'. The valid attributes for this tag are: "
- );
+ CPStringBuilder valid =
+ new CPStringBuilder("The tag <" + tag.getHTMLTag() +
+ "> cannot contain the attribute '" + foundAttribute +
+ "'. The valid attributes for this tag are: "
+ );
AttributeList a = tag.getElement().getAttributes();
@@ -545,22 +547,22 @@ public abstract class htmlValidator
!dtdAttribute.values.contains(value.toUpperCase())
)
{
- StringBuffer valid;
+ CPStringBuilder valid;
if (dtdAttribute.values.size() == 1)
valid =
- new StringBuffer("The attribute '" + foundAttribute +
- "' of the tag <" + tag.getHTMLTag() +
- "> cannot have the value '" + value +
- "'. The only valid value is "
- );
+ new CPStringBuilder("The attribute '" + foundAttribute +
+ "' of the tag <" + tag.getHTMLTag() +
+ "> cannot have the value '" + value +
+ "'. The only valid value is "
+ );
else
valid =
- new StringBuffer("The attribute '" + foundAttribute +
- "' of the tag <" + tag.getHTMLTag() +
- "> cannot have the value '" + value + "'. The " +
- dtdAttribute.values.size() +
- " valid values are: "
- );
+ new CPStringBuilder("The attribute '" + foundAttribute +
+ "' of the tag <" + tag.getHTMLTag() +
+ "> cannot have the value '" + value + "'. The " +
+ dtdAttribute.values.size() +
+ " valid values are: "
+ );
Enumeration vv = dtdAttribute.values.elements();
while (vv.hasMoreElements())
diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java b/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java
index b77ef7fd850..c303ae8571d 100644
--- a/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java
+++ b/libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.swing.text.html.parser.models;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.Serializable;
/**
@@ -296,7 +298,7 @@ public class list
*/
public String toString()
{
- StringBuffer b = new StringBuffer();
+ CPStringBuilder b = new CPStringBuilder();
b.append(" ( ");
for (int i = 0; i < nodes.length; i++)
{
diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java b/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java
index 54469b34995..f45a13b3e86 100644
--- a/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java
+++ b/libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.swing.text.html.parser.models;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.Serializable;
/**
@@ -239,7 +241,7 @@ public class node
*/
public String toString()
{
- StringBuffer b = new StringBuffer();
+ CPStringBuilder b = new CPStringBuilder();
b.append(token);
if (unary != 0)
diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java
index e99be3238e9..b087c3c003c 100644
--- a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java
+++ b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.swing.text.html.parser.support;
+import gnu.java.lang.CPStringBuilder;
+
import gnu.javax.swing.text.html.parser.htmlAttributeSet;
import gnu.javax.swing.text.html.parser.htmlValidator;
import gnu.javax.swing.text.html.parser.support.low.Constants;
@@ -132,12 +134,12 @@ public class Parser
/**
* The buffer to collect the incremental output like text or coment.
*/
- private StringBuffer buffer = new StringBuffer();
+ private final StringBuffer buffer = new StringBuffer();
/**
* The buffer to store the document title.
*/
- private StringBuffer title = new StringBuffer();
+ private final StringBuffer title = new StringBuffer();
/**
* The current token.
@@ -994,7 +996,7 @@ public class Parser
// character, not as a token. The character may be part of
// the unquoted URL.
{
- StringBuffer image = new StringBuffer(value.getImage());
+ CPStringBuilder image = new CPStringBuilder(value.getImage());
while (next.kind == NUMTOKEN || next.kind == SLASH
|| next.kind == OTHER)
{
@@ -1025,7 +1027,7 @@ public class Parser
// character, not as a token. The slash may be part of
// the unquoted URL.
{
- StringBuffer image = new StringBuffer(value.getImage());
+ CPStringBuilder image = new CPStringBuilder(value.getImage());
while (next.kind == NUMTOKEN || next.kind == SLASH)
{
image.append(getNextToken().getImage());
OpenPOWER on IntegriCloud