Swing Dev [9] Review Request: 8068374 setAlignmentX, setAlignmentY, getAlignmentX, getAlignmentY javadoc of JComponent

2015-01-12 Thread Sergey Bylokhov

Hello.
Please review a small fix for jdk 9.
Incorrect description in JComponent.set/getAlignmentX/Y were aligned 
with Component.getAlignmentX/Y.


Bug: https://bugs.openjdk.java.net/browse/JDK-8068374
Webrev can be found at: http://cr.openjdk.java.net/~serb/8068374/webrev.00

--
Best regards, Sergey.



Re: Swing Dev JDK 9 RFR of JDK-8055059: JDK9b22 public API exposes package private classes, take 2

2015-01-12 Thread Sergey Bylokhov

Hi, Joe.
The fix looks good.

On 10.01.2015 3:23, Joseph D. Darcy wrote:

Hello,

The previously proposed fix for

JDK-8055059: JDK9b22 public API exposes package private classes

was rejected during code review:

http://mail.openjdk.java.net/pipermail/swing-dev/2014-August/003829.html
http://mail.openjdk.java.net/pipermail/swing-dev/2014-August/003830.html

Here is a new proposed fix that reverts the VectorUndoPosRef 
variable and values to a raw Vector to avoid exposing the UndoPosRef 
types more widely:


http://cr.openjdk.java.net/~darcy/8055059.1/

Patch inline below.

The code as amended still compiles without rawtypes or unchecked 
warnings.


Thanks,

-Joe

--- 
old/src/java.desktop/share/classes/javax/swing/text/GapContent.java 
2015-01-09 14:48:54.394781325 -0800
+++ 
new/src/java.desktop/share/classes/javax/swing/text/GapContent.java 
2015-01-09 14:48:54.122781325 -0800

@@ -710,8 +710,9 @@
  * @param length the length gt;= 0
  * @return the set of instances
  */
-protected VectorUndoPosRef 
getPositionsInRange(VectorUndoPosRef v,
- int offset, int 
length) {
+@SuppressWarnings({rawtypes, unchecked}) // UndoPosRef type 
cannot be exposed

+protected Vector getPositionsInRange(Vector v,
+ int offset, int length) {
 int endOffset = offset + length;
 int startIndex;
 int endIndex;
@@ -758,7 +759,8 @@
  *
  * @param positions the UndoPosRef instances to reset
  */
-protected void updateUndoPositions(VectorUndoPosRef positions, 
int offset,

+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be exposed
+protected void updateUndoPositions(Vector positions, int offset,
int length) {
 // Find the indexs of the end points.
 int endOffset = offset + length;
@@ -775,7 +777,7 @@

 // Reset the location of the refenences.
 for(int counter = positions.size() - 1; counter = 0; 
counter--) {

-UndoPosRef ref = positions.elementAt(counter);
+UndoPosRef ref = (UndoPosRef)positions.elementAt(counter);
 ref.resetLocation(endOffset, g1);
 }
 // We have to resort the marks in the range startIndex to 
endIndex.

@@ -902,7 +904,8 @@
 protected String string;
 /** An array of instances of UndoPosRef for the Positions in the
  * range that was removed, valid after undo. */
-protected VectorUndoPosRef posRefs;
+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be 
exposed

+protected Vector posRefs;
 } // GapContent.InsertUndo


@@ -911,6 +914,7 @@
  */
 @SuppressWarnings(serial) // JDK-implementation class
 class RemoveUndo extends AbstractUndoableEdit {
+@SuppressWarnings(unchecked)
 protected RemoveUndo(int offset, String string) {
 super();
 this.offset = offset;
@@ -934,6 +938,7 @@
 }
 }

+@SuppressWarnings(unchecked)
 public void redo() throws CannotRedoException {
 super.redo();
 try {
--- 
old/src/java.desktop/share/classes/javax/swing/text/StringContent.java 
2015-01-09 14:48:55.178781325 -0800
+++ 
new/src/java.desktop/share/classes/javax/swing/text/StringContent.java 
2015-01-09 14:48:54.918781325 -0800

@@ -271,11 +271,12 @@
  * @param length the length gt;= 0
  * @return the set of instances
  */
-protected VectorUndoPosRef 
getPositionsInRange(VectorUndoPosRef v, int offset,

-  int length) {
+@SuppressWarnings({rawtypes, unchecked}) // UndoPosRef type 
cannot be exposed

+protected Vector getPositionsInRange(Vector v, int offset,
+ int length) {
 int n = marks.size();
 int end = offset + length;
-VectorUndoPosRef placeIn = (v == null) ? new Vector() : v;
+Vector placeIn = (v == null) ? new Vector() : v;
 for (int i = 0; i  n; i++) {
 PosRec mark = marks.elementAt(i);
 if (mark.unused) {
@@ -298,9 +299,10 @@
  *
  * @param positions the positions of the instances
  */
-protected void updateUndoPositions(VectorUndoPosRef positions) {
+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be exposed
+protected void updateUndoPositions(Vector positions) {
 for(int counter = positions.size() - 1; counter = 0; 
counter--) {

-UndoPosRef ref = positions.elementAt(counter);
+UndoPosRef ref = (UndoPosRef)positions.elementAt(counter);
 // Check if the Position is still valid.
 if(ref.rec.unused) {
 positions.removeElementAt(counter);
@@ -437,7 +439,8 @@
 protected String string;
 // An array of instances of UndoPosRef for the Positions in the
 // range that was 

Re: Swing Dev [9] Review Request: 8068374 setAlignmentX, setAlignmentY, getAlignmentX, getAlignmentY javadoc of JComponent

2015-01-12 Thread Alexander Scherbatiy


  The fix looks good to me.

  Thanks,
  Alexandr.

On 1/12/2015 11:44 AM, Sergey Bylokhov wrote:

Hello.
Please review a small fix for jdk 9.
Incorrect description in JComponent.set/getAlignmentX/Y were aligned 
with Component.getAlignmentX/Y.


Bug: https://bugs.openjdk.java.net/browse/JDK-8068374
Webrev can be found at: 
http://cr.openjdk.java.net/~serb/8068374/webrev.00






Swing Dev [9] Review request for 8068040 [macosx] Combo box consuming ENTER key events

2015-01-12 Thread Alexander Scherbatiy


Hello,

Could you review the fix:
  bug: https://bugs.openjdk.java.net/browse/JDK-8068040
  webrev: http://cr.openjdk.java.net/~alexsch/8068040/webrev.00

  BasicComboBoxUI has a special workaround to forward the enter pressed 
event
  on the editable combo box to the default button. The combobox editor 
handler quires the enterPressed action

  and executes it.

  AquaComboBoxUI registers the enter action only with the 
aquaEnterPressed key.


  The possible solutions are:
  - BasicComboBoxUI could use LF dependent key for an enter action. It 
may require adding some public API.
  - Register a new handler to the comboboc editor. The actionPerformed 
method of this handler will duplicate

Handler code from BasicComboBoxUI.

  The proposed solution just registers the AquaComboBoxUI enter action 
with the enterPressed key.


Thanks,
Alexandr.



Re: Swing Dev JDK 9 RFR of JDK-8055059: JDK9b22 public API exposes package private classes, take 2

2015-01-12 Thread Alexander Scherbatiy


  The fix looks good to me.

  Could you formate the code to have a space between type cast 
(UndoPosRef) and the positions variable?
 780 UndoPosRef ref = 
(UndoPosRef)positions.elementAt(counter);


 Thanks,
 Alexandr.



On 1/10/2015 3:23 AM, Joseph D. Darcy wrote:

Hello,

The previously proposed fix for

JDK-8055059: JDK9b22 public API exposes package private classes

was rejected during code review:

http://mail.openjdk.java.net/pipermail/swing-dev/2014-August/003829.html
http://mail.openjdk.java.net/pipermail/swing-dev/2014-August/003830.html

Here is a new proposed fix that reverts the VectorUndoPosRef 
variable and values to a raw Vector to avoid exposing the UndoPosRef 
types more widely:


http://cr.openjdk.java.net/~darcy/8055059.1/

Patch inline below.

The code as amended still compiles without rawtypes or unchecked 
warnings.


Thanks,

-Joe

--- 
old/src/java.desktop/share/classes/javax/swing/text/GapContent.java 
2015-01-09 14:48:54.394781325 -0800
+++ 
new/src/java.desktop/share/classes/javax/swing/text/GapContent.java 
2015-01-09 14:48:54.122781325 -0800

@@ -710,8 +710,9 @@
  * @param length the length gt;= 0
  * @return the set of instances
  */
-protected VectorUndoPosRef 
getPositionsInRange(VectorUndoPosRef v,
- int offset, int 
length) {
+@SuppressWarnings({rawtypes, unchecked}) // UndoPosRef type 
cannot be exposed

+protected Vector getPositionsInRange(Vector v,
+ int offset, int length) {
 int endOffset = offset + length;
 int startIndex;
 int endIndex;
@@ -758,7 +759,8 @@
  *
  * @param positions the UndoPosRef instances to reset
  */
-protected void updateUndoPositions(VectorUndoPosRef positions, 
int offset,

+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be exposed
+protected void updateUndoPositions(Vector positions, int offset,
int length) {
 // Find the indexs of the end points.
 int endOffset = offset + length;
@@ -775,7 +777,7 @@

 // Reset the location of the refenences.
 for(int counter = positions.size() - 1; counter = 0; 
counter--) {

-UndoPosRef ref = positions.elementAt(counter);
+UndoPosRef ref = (UndoPosRef)positions.elementAt(counter);
 ref.resetLocation(endOffset, g1);
 }
 // We have to resort the marks in the range startIndex to 
endIndex.

@@ -902,7 +904,8 @@
 protected String string;
 /** An array of instances of UndoPosRef for the Positions in the
  * range that was removed, valid after undo. */
-protected VectorUndoPosRef posRefs;
+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be 
exposed

+protected Vector posRefs;
 } // GapContent.InsertUndo


@@ -911,6 +914,7 @@
  */
 @SuppressWarnings(serial) // JDK-implementation class
 class RemoveUndo extends AbstractUndoableEdit {
+@SuppressWarnings(unchecked)
 protected RemoveUndo(int offset, String string) {
 super();
 this.offset = offset;
@@ -934,6 +938,7 @@
 }
 }

+@SuppressWarnings(unchecked)
 public void redo() throws CannotRedoException {
 super.redo();
 try {
--- 
old/src/java.desktop/share/classes/javax/swing/text/StringContent.java 
2015-01-09 14:48:55.178781325 -0800
+++ 
new/src/java.desktop/share/classes/javax/swing/text/StringContent.java 
2015-01-09 14:48:54.918781325 -0800

@@ -271,11 +271,12 @@
  * @param length the length gt;= 0
  * @return the set of instances
  */
-protected VectorUndoPosRef 
getPositionsInRange(VectorUndoPosRef v, int offset,

-  int length) {
+@SuppressWarnings({rawtypes, unchecked}) // UndoPosRef type 
cannot be exposed

+protected Vector getPositionsInRange(Vector v, int offset,
+ int length) {
 int n = marks.size();
 int end = offset + length;
-VectorUndoPosRef placeIn = (v == null) ? new Vector() : v;
+Vector placeIn = (v == null) ? new Vector() : v;
 for (int i = 0; i  n; i++) {
 PosRec mark = marks.elementAt(i);
 if (mark.unused) {
@@ -298,9 +299,10 @@
  *
  * @param positions the positions of the instances
  */
-protected void updateUndoPositions(VectorUndoPosRef positions) {
+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be exposed
+protected void updateUndoPositions(Vector positions) {
 for(int counter = positions.size() - 1; counter = 0; 
counter--) {

-UndoPosRef ref = positions.elementAt(counter);
+UndoPosRef ref = (UndoPosRef)positions.elementAt(counter);
 // Check if the Position is still valid.
 

Swing Dev [9] Review Request: 8015085 [macosx] Label shortening via ... broken when String contains combining diaeresis

2015-01-12 Thread Sergey Bylokhov

Hello.
Please review a fix for jdk 9.
Description:
The problem is that we consider the string which contains a combining 
diaeresis as string which needs TextLayout. In such case 
SwingUtilities2.clipString will use LineBreakMeasurer to calculate the 
characters inside some advance. But by default LineBreakMeasurer will 
use LineSeparator instead of CharSeparator, and this causes a difference 
against a normal case where we use per character 
calculation(SwingUtilities2 lines 453 - 461).
Note that in the test I paint two strings one with combining 
diaeresis/one without, and expect that they will be rendered in the same 
way.


Bug: https://bugs.openjdk.java.net/browse/JDK-8015085
Webrev can be found at: http://cr.openjdk.java.net/~serb/8015085/webrev.01

--
Best regards, Sergey.



Re: Swing Dev [8u-dev] Review request for bug 8068301 : [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java fails with ArrayIndexOutOfBoundsException with GTKLF

2015-01-12 Thread Sergey Bylokhov

Hello,
Can you confirm that the test still fails before the fix for 4177735 was 
integrated, using both LF?


On 12.01.2015 18:45, shobhit gupta wrote:

|Hi,|
|Please review a fix ||for| |the issue:|

8068301 : [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java 
fails with ArrayIndexOutOfBoundsException with GTKLF

|Test bug fix.|
|https://bugs.openjdk.java.net/browse/JDK-8068301|||
|The webrev is: |http://cr.openjdk.java.net/~kshefov/8068301/webrev.00/ ||
|Thanks  Regards,
|
|Shobhit Gupta| 



--
Best regards, Sergey.



Re: Swing Dev [8u-dev] Review request for bug 8068301 : [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java fails with ArrayIndexOutOfBoundsException with GTKLF

2015-01-12 Thread shobhit gupta

Hi Sergey,
Before the fix for 4177735 was integrated, test failed with the 
GTKLookAndFeel but passed with the MetalLookAndFeel.

On 12-Jan-15 9:25 PM, Sergey Bylokhov wrote:

Hello,
Can you confirm that the test still fails before the fix for 4177735 
was integrated, using both LF?


On 12.01.2015 18:45, shobhit gupta wrote:

|Hi,|
|Please review a fix ||for| |the issue:|

8068301 : [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java 
fails with ArrayIndexOutOfBoundsException with GTKLF

|Test bug fix.|
|https://bugs.openjdk.java.net/browse/JDK-8068301|||
|The webrev is: 
|http://cr.openjdk.java.net/~kshefov/8068301/webrev.00/ ||

|Thanks  Regards,
|
|Shobhit Gupta| 



--
Best regards, Sergey.

Regards,
Shobhit Gupta


Swing Dev [9] Review Request: 6338077 link back to self in javadoc JTextArea.replaceRange()

2015-01-12 Thread Sergey Bylokhov

Hello.
Please review a small fix for jdk 9. Unnecessary link was removed.

Bug: https://bugs.openjdk.java.net/browse/JDK-6338077
Webrev can be found at: http://cr.openjdk.java.net/~serb/6338077/webrev.00

--
Best regards, Sergey.



Swing Dev [8u-dev] Review request for bug 8068301 : [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java fails with ArrayIndexOutOfBoundsException with GTKLF

2015-01-12 Thread shobhit gupta

|Hi,|
|Please review a fix ||for| |the issue:|

8068301 : [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java 
fails with ArrayIndexOutOfBoundsException with GTKLF

|Test bug fix.|
|https://bugs.openjdk.java.net/browse/JDK-8068301|||
|The webrev is: |http://cr.openjdk.java.net/~kshefov/8068301/webrev.00/ ||
|Thanks  Regards,
|
|Shobhit Gupta|


Swing Dev IndexOf with Char instead of String

2015-01-12 Thread Otávio Gonçalves de Santana
These String literals may be replaced by equivalent character literals[1],
gaining some performance enhancement.

Webrev:
https://dl.dropboxusercontent.com/u/16109193/open_jdk/jdk/index_of_character/index.html


[1]
@State(Scope.Thread)
@OutputTimeUnit(TimeUnit.SECONDS)
public class IndexOfBenchmark {

private static final String WORDS = I love java Language 8 because has
Lambda, Stream and MetaSpace;

@Param(1)
private int param;

@GenerateMicroBenchmark
public void indexOfString(BlackHole bh) {

for (int i = 0; i = param; i++) {
int index = WORDS.indexOf(,);
bh.consume(index);
}
}

@GenerateMicroBenchmark
public void indexOfChar(BlackHole bh) {

for (int i = 0; i = param; i++) {
int index = WORDS.indexOf(',');
bh.consume(index);
}
}
}

Benchmark   (param)   Mode   Samples Mean
Mean errorUnits
m.IndexOfBenchmark.indexOfChar1  thrpt10 5579.120
   114.179ops/s
m.IndexOfBenchmark.indexOfString  1  thrpt10 4562.178
46.751ops/s

-- 
Otávio Gonçalves de Santana

blog: http://otaviosantana.blogspot.com.br/
twitter: http://twitter.com/otaviojava
site: *http://about.me/otaviojava http://about.me/otaviojava*
55 (11) 98255-3513
# HG changeset patch
# User Otavio Santana otavioj...@java.net
# Date 1421101042 7200
#  Mon Jan 12 20:17:22 2015 -0200
# Node ID a30b25a498f51a6de42a278c27612817925ff941
# Parent  c06b6d58e6a9c10cea9f0b8946846c3de4f59feb
uses indexOf with Character indexOf String

diff --git a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
--- a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
+++ b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
@@ -547,7 +547,7 @@
 i = strLowerCase.indexOf(stringvalue, i);
 if (i  0) {
 i += stringvalue.length();
-int i2 = str.indexOf(, i);
+int i2 = str.indexOf('', i);
 return str.substring(i, i2);
 }
 }
diff --git a/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java b/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
--- a/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
+++ b/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
@@ -512,7 +512,7 @@
 }
 static String qualifiedStringValue(String s1, String s234) {
 // Qualification by dot must decompose uniquely.  Second string might already be qualified.
-assert(s1.indexOf(.)  0);
+assert(s1.indexOf('.')  0);
 return s1+.+s234;
 }
 
diff --git a/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java b/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java
--- a/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java
+++ b/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java
@@ -102,7 +102,7 @@
 }
 location = url.substring(addrStart, addrEnd);
 
-int keyStart = location.indexOf(/);
+int keyStart = location.indexOf('/');
 if (keyStart = 0) {
 // Has key string
 if (keyStart == (location.length() -1)) {
diff --git a/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java b/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
--- a/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
+++ b/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
@@ -336,7 +336,7 @@
 String url = rmi://;
 
 // Enclose IPv6 literal address in '[' and ']'
-url = (host.indexOf(:)  -1) ? url + [ + host + ] :
+url = (host.indexOf(':')  -1) ? url + [ + host + ] :
  url + host;
 if (port  0) {
 url += : + Integer.toString(port);
diff --git a/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java b/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
--- a/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
+++ b/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
@@ -149,7 +149,7 @@
   * foo:rest/of/namefoo:
   */
 protected String getURLPrefix(String url) throws NamingException {
-int start = url.indexOf(:);
+int start = url.indexOf(':');
 
 if (start  0) {
 throw new OperationNotSupportedException(Invalid URL:  + url);
@@ -160,7 +160,7 @@

Swing Dev [9] Review Request: 6573305 Animated icon is not visible by click on menu

2015-01-12 Thread Sergey Bylokhov

Hello.
Please review a fix for jdk 9.
When we paint some image on component we use this component as an 
observer, which will be called when the image should be repainted(in 
case of animated gif for example). But our code in the 
AbstractButton.imageUpdate() will replace correct Icon to null if button 
is pressed, disabled, etc(if such icon was not set of course). After the 
fix we will use default icon only if more specific image was not found.


Bug: https://bugs.openjdk.java.net/browse/JDK-6573305
Webrev can be found at: http://cr.openjdk.java.net/~serb/6573305/webrev.00

--
Best regards, Sergey.



Swing Dev [9] Review Request: 6459800 Some Swing classes violate encapsulation by returning internal Insets

2015-01-12 Thread Sergey Bylokhov

Hello.
Please review a fix for jdk 9.
Most of the problems, which were found by the test, were fixed already, 
but one issue was found in Aqua.


Bug: https://bugs.openjdk.java.net/browse/JDK-6459800
Webrev can be found at: http://cr.openjdk.java.net/~serb/6459800/webrev.00

--
Best regards, Sergey.



Re: Swing Dev JDK 9 RFR of JDK-8055059: JDK9b22 public API exposes package private classes, take 2

2015-01-12 Thread Phil Race

+1

-phil.

On 1/12/2015 1:13 AM, Sergey Bylokhov wrote:

Hi, Joe.
The fix looks good.

On 10.01.2015 3:23, Joseph D. Darcy wrote:

Hello,

The previously proposed fix for

JDK-8055059: JDK9b22 public API exposes package private classes

was rejected during code review:

http://mail.openjdk.java.net/pipermail/swing-dev/2014-August/003829.html
http://mail.openjdk.java.net/pipermail/swing-dev/2014-August/003830.html

Here is a new proposed fix that reverts the VectorUndoPosRef 
variable and values to a raw Vector to avoid exposing the UndoPosRef 
types more widely:


http://cr.openjdk.java.net/~darcy/8055059.1/

Patch inline below.

The code as amended still compiles without rawtypes or unchecked 
warnings.


Thanks,

-Joe

--- 
old/src/java.desktop/share/classes/javax/swing/text/GapContent.java 
2015-01-09 14:48:54.394781325 -0800
+++ 
new/src/java.desktop/share/classes/javax/swing/text/GapContent.java 
2015-01-09 14:48:54.122781325 -0800

@@ -710,8 +710,9 @@
  * @param length the length gt;= 0
  * @return the set of instances
  */
-protected VectorUndoPosRef 
getPositionsInRange(VectorUndoPosRef v,
- int offset, int 
length) {
+@SuppressWarnings({rawtypes, unchecked}) // UndoPosRef type 
cannot be exposed

+protected Vector getPositionsInRange(Vector v,
+ int offset, int length) {
 int endOffset = offset + length;
 int startIndex;
 int endIndex;
@@ -758,7 +759,8 @@
  *
  * @param positions the UndoPosRef instances to reset
  */
-protected void updateUndoPositions(VectorUndoPosRef positions, 
int offset,

+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be exposed
+protected void updateUndoPositions(Vector positions, int offset,
int length) {
 // Find the indexs of the end points.
 int endOffset = offset + length;
@@ -775,7 +777,7 @@

 // Reset the location of the refenences.
 for(int counter = positions.size() - 1; counter = 0; 
counter--) {

-UndoPosRef ref = positions.elementAt(counter);
+UndoPosRef ref = (UndoPosRef)positions.elementAt(counter);
 ref.resetLocation(endOffset, g1);
 }
 // We have to resort the marks in the range startIndex to 
endIndex.

@@ -902,7 +904,8 @@
 protected String string;
 /** An array of instances of UndoPosRef for the Positions in 
the

  * range that was removed, valid after undo. */
-protected VectorUndoPosRef posRefs;
+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be 
exposed

+protected Vector posRefs;
 } // GapContent.InsertUndo


@@ -911,6 +914,7 @@
  */
 @SuppressWarnings(serial) // JDK-implementation class
 class RemoveUndo extends AbstractUndoableEdit {
+@SuppressWarnings(unchecked)
 protected RemoveUndo(int offset, String string) {
 super();
 this.offset = offset;
@@ -934,6 +938,7 @@
 }
 }

+@SuppressWarnings(unchecked)
 public void redo() throws CannotRedoException {
 super.redo();
 try {
--- 
old/src/java.desktop/share/classes/javax/swing/text/StringContent.java 2015-01-09 
14:48:55.178781325 -0800
+++ 
new/src/java.desktop/share/classes/javax/swing/text/StringContent.java 2015-01-09 
14:48:54.918781325 -0800

@@ -271,11 +271,12 @@
  * @param length the length gt;= 0
  * @return the set of instances
  */
-protected VectorUndoPosRef 
getPositionsInRange(VectorUndoPosRef v, int offset,

-  int length) {
+@SuppressWarnings({rawtypes, unchecked}) // UndoPosRef type 
cannot be exposed

+protected Vector getPositionsInRange(Vector v, int offset,
+ int length) {
 int n = marks.size();
 int end = offset + length;
-VectorUndoPosRef placeIn = (v == null) ? new Vector() : v;
+Vector placeIn = (v == null) ? new Vector() : v;
 for (int i = 0; i  n; i++) {
 PosRec mark = marks.elementAt(i);
 if (mark.unused) {
@@ -298,9 +299,10 @@
  *
  * @param positions the positions of the instances
  */
-protected void updateUndoPositions(VectorUndoPosRef positions) {
+@SuppressWarnings(rawtypes) // UndoPosRef type cannot be exposed
+protected void updateUndoPositions(Vector positions) {
 for(int counter = positions.size() - 1; counter = 0; 
counter--) {

-UndoPosRef ref = positions.elementAt(counter);
+UndoPosRef ref = (UndoPosRef)positions.elementAt(counter);
 // Check if the Position is still valid.
 if(ref.rec.unused) {
 positions.removeElementAt(counter);
@@ -437,7 +439,8 @@
 protected String string;
 // An array of instances of