From nobody Tue Dec 16 11:00:36 2025 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dVv9K0Txxz6Kl9K for ; Tue, 16 Dec 2025 11:00:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dVv9J6t6gz3NYW for ; Tue, 16 Dec 2025 11:00:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765882837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qlzrLGdqiZqDc1dOKrvrwfjvvMQxNMvH1qW5k+Q1uBM=; b=DMtbnAjvF4DdN6yDTgjc3CwmZXSegInTRq43E9QJxyl1797/TwcUF3JuTlXuH5hc16XM1U 43P9S+eXL8nsniaZdY2cP6Dn2+rXKTA5ZXk5qgNtia0fOjE7TGrpKtf6efzgUDWEKPEOd5 tZUI03SRHU3irCUsdaxmJbwB5xEI6ARJPGx9nHfkKi/6qjWmILin8bI3YHX1vg1DVILxJx UqtwRbtdyGKLrJ/DTcFg1oyU8jE80Q98zu5ia/E0KjEy0Wq2MzPjmtegqK1KyxaAq/CuZk q7W8g/my1bwvVD8OVqgh4jPDYvlXPAh7ARqWMAj3xCo45SfmSGbeSVGzCOjhfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765882836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qlzrLGdqiZqDc1dOKrvrwfjvvMQxNMvH1qW5k+Q1uBM=; b=sCWyePriuQ4mIBwTBVlcy+T7oloa2HW0zBTmHBhmlcfV1aNFU1/ilWDW8bIVeDhR8IIkXm e1eqaAyXty+bLHlAtHJNxIYIFSKijcB3/Ozz0LBmMWiXv5u2wVErLN+vWcrjhzaxpl601M 5I5d/8TcHYNmw9kNqkl+r7BTHvzMjatLlaThcSQRVSdw3wgUsrRyjaEsDZbtOhRWovPTQB KpbSiUrGeJBrf9lFeMzhsT/sEFC+SESQs73kUszW0e+GT86xfJFx5j4LD2/4OW77NETKfd scNx8Xdzlw04LbtuCLzVpqXo9nWPyJuJYae/hsgmoS6mhK+HihuhuQprMmUM2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765882836; a=rsa-sha256; cv=none; b=EfMTDyU9jC9WIZkrnxtXlGZr6CosfYl3qRw3zHS1OoTfuHnF3ZqrI06rzQqiDlRsyTZ6Xu wkO5341DmWFZs04D6u/xdSVABydDH5s98QMNE9zwZ48F/hHwyhPLSC3Od9hrNaYJymh3JE +HQ/Px6uwCbZqEtt2RQAaoNK0m0b9yDb6S7q+7lY+6uJ/d/KAFDNMByxni3hzL3VOKPt5b dXew3ljrdW1+VEm882IbS9XqcckQfy4VE/FGaR7OgqLDHpZSOjzo3w0GBc/BC0fD3j6dTU dmoxvRXhYEKe83+xqnX93B8Ub8XKZ9ifb2zpMBz41Dya1SwgENqHtInK87tR0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dVv9J6MWxz12xN for ; Tue, 16 Dec 2025 11:00:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 205b8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 16 Dec 2025 11:00:36 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: Mikhail Teterin From: Ronald Klop Subject: git: dd3de98073b1 - main - games/jin: refresh, make work with newer Java List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ronald X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd3de98073b115d64f0144ca9911b46a28804538 Auto-Submitted: auto-generated Date: Tue, 16 Dec 2025 11:00:36 +0000 Message-Id: <69413bd4.205b8.6c951c5@gitrepo.freebsd.org> The branch main has been updated by ronald: URL: https://cgit.FreeBSD.org/ports/commit/?id=dd3de98073b115d64f0144ca9911b46a28804538 commit dd3de98073b115d64f0144ca9911b46a28804538 Author: Mikhail Teterin AuthorDate: 2025-12-16 10:58:14 +0000 Commit: Ronald Klop CommitDate: 2025-12-16 10:59:58 +0000 games/jin: refresh, make work with newer Java In particular: - don't try to compile the Sun's audio interface -- apparently, we never used it and it becomes a problem with newer JDKs, where the long obsolete sun.audio.* is finally removed ^ - try harder to find an audio format suitable for the bundled sounds; this may still not be enough on modern hardware, which expects sampling rates much higher than 8kHz. - don't use AWT's getPeer() method -- long obsolete, it is now removed too. - constructing Integer from int and the likes are obsolete too, generally, the primitives can be used directly -- all of these are concentrated in the (large) patch-warnings. - use standard java.awt.Desktop function to open pages in the user's web-browser. PR: 291693 --- games/jin/Makefile | 5 +- games/jin/files/patch-audio | 76 ++++ games/jin/files/patch-browser | 81 ++++ games/jin/files/patch-new-awt | 38 ++ games/jin/files/patch-warnings | 985 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1184 insertions(+), 1 deletion(-) diff --git a/games/jin/Makefile b/games/jin/Makefile index e11f27cba17a..b2f83995b00d 100644 --- a/games/jin/Makefile +++ b/games/jin/Makefile @@ -1,6 +1,6 @@ PORTNAME= jin PORTVERSION= 2.14.1 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= games java MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION} DISTNAME= ${PORTNAME}-${PORTVERSION}-source @@ -27,6 +27,9 @@ DATADIR= ${JAVASHAREDIR}/${PORTNAME} EXTRACT_AFTER_ARGS= --exclude 'bsh*.jar' \ --exclude os-specific/unix/jin \ + --exclude os-specific/macosx \ + --exclude SunAudioPlayer.java \ + --exclude *Applet*.java \ --exclude jgoodies-windows.jar JINJAR= ${PORTNAME}.jar diff --git a/games/jin/files/patch-audio b/games/jin/files/patch-audio new file mode 100644 index 000000000000..74b806e1094d --- /dev/null +++ b/games/jin/files/patch-audio @@ -0,0 +1,76 @@ +Try harder to find an audio format suitable for the bundled +collection of 8kHz sounds... Still likely to fail on modern +hardware, which expects much higher sampling rates... + + -mi (December 2025) + +--- src/free/util/audio/GenericJavaxSampledAudioPlayer.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/util/audio/GenericJavaxSampledAudioPlayer.java 2025-12-15 18:39:40.763246000 -0500 +@@ -38,4 +38,5 @@ + public void run(){ + SourceDataLine dataLine = null; ++ DataLine.Info info = null; + while (true){ + try{ +@@ -43,10 +44,12 @@ + byte [] data = audioClip.getData(); + AudioFormat format = getFormatForPlaying(data); ++ System.err.println("Trying autio format: " + format); + data = convertAudioData(data, format); + + if (dataLine == null){ +- DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); ++ info = new DataLine.Info(SourceDataLine.class, format); + dataLine = (SourceDataLine)AudioSystem.getLine(info); + } ++ System.err.println("Trying autio with: " + info); + + if (!dataLine.isOpen()) +--- src/free/util/audio/JavaxSampledAudioPlayer.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/util/audio/JavaxSampledAudioPlayer.java 2025-12-15 18:54:51.876119000 -0500 +@@ -95,19 +95,28 @@ + protected static AudioFormat getFormatForPlaying(byte [] audioData) + throws UnsupportedAudioFileException, IOException{ +- AudioFormat format = AudioSystem.getAudioFileFormat( +- new ByteArrayInputStream(audioData)).getFormat(); ++ ByteArrayInputStream bais = new ByteArrayInputStream(audioData); ++ AudioFormat format = AudioSystem.getAudioFileFormat(bais).getFormat(); ++ DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); + +- // At present, ALAW and ULAW encodings must be converted +- // to PCM_SIGNED before it can be played +- if (format.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) +- return new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, +- format.getSampleRate(), format.getSampleSizeInBits() * 2, +- format.getChannels(), format.getFrameSize() * 2, +- format.getFrameRate(), true); +- else ++ if (AudioSystem.isLineSupported(info)) { ++ System.err.println("Audio format ``" + format + "'' can be used straight"); + return format; +- } ++ } ++ System.err.println("Audio format ``" + format + "'' can not be used straight"); + ++ AudioFormat[] possibleFormats = AudioSystem.getTargetFormats( ++ AudioFormat.Encoding.PCM_SIGNED, format); + ++ for (AudioFormat newFormat : possibleFormats) { ++ info = new DataLine.Info(SourceDataLine.class, newFormat); ++ if (AudioSystem.isLineSupported(info)) { ++ System.err.println("Will try audio format " + newFormat + " instead of " + format); ++ return newFormat; ++ } ++ System.err.println("Format ``" + newFormat + "'' cannot be used"); ++ } ++ throw new UnsupportedAudioFileException("No suitable audio format among " + ++ possibleFormats.length + " possibilities"); ++ } + + /** +@@ -128,3 +137,3 @@ + } + +-} +\ No newline at end of file ++} diff --git a/games/jin/files/patch-browser b/games/jin/files/patch-browser new file mode 100644 index 000000000000..9c9f447f9344 --- /dev/null +++ b/games/jin/files/patch-browser @@ -0,0 +1,81 @@ +Use java.awt.Desktop instead of trying (and failing) to invoke +some kind of browser ourselves. + + -mi + +--- src/free/util/BrowserControl.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/util/BrowserControl.java 2025-12-15 21:39:55.153096000 -0500 +@@ -31,4 +31,6 @@ + import java.io.InputStream; + import java.io.InterruptedIOException; ++import java.awt.Desktop; ++import java.net.URI; + import java.net.URL; + import java.util.Properties; +@@ -81,63 +82,8 @@ + if (appletContext != null){ // Running in an applet. + appletContext.showDocument(new URL(url), "_blank"); ++ } else { ++ Desktop.getDesktop().browse(new URI(url)); + } +- else if (PlatformUtils.isWindows()){ +- if (url.endsWith(".html")||url.endsWith(".htm")){ +- +- // url-encode the last character because windows refuses to display URLs +- // ending with ".html" or ".htm", but works fine +- // for ".htm%6c" or ".ht%6d" +- int lastChar = url.charAt(url.length() -1); +- url = url.substring(0, url.length() - 1) + "%" + Integer.toHexString(lastChar); +- } +- String cmd = "rundll32 url.dll,FileProtocolHandler "+url; +- Runtime.getRuntime().exec(cmd); +- } +- else if (PlatformUtils.isMacOSX()){ +- String [] commandLine = new String[]{"open", url}; +- Runtime.getRuntime().exec(commandLine); +- } +- else if (PlatformUtils.isMacOS()){ +- String [] commandLine = new String[]{"netscape", url}; +- Runtime.getRuntime().exec(commandLine); +- } +- else{ +- synchronized(BrowserControl.class){ +- if (environment == null){ +- environment = new Properties(); +- try{ +- Process env = Runtime.getRuntime().exec("env"); +- InputStream in = env.getInputStream(); +- try{ +- environment.load(in); +- } finally{ +- in.close(); +- } +- } catch (IOException e){e.printStackTrace();} +- } +- } +- +- String browsers = environment.getProperty("BROWSER"); +- if ((browsers == null) || ("".equals(browsers))){ +- return tryMozilla(url); +- } +- +- StringTokenizer tokenizer = new StringTokenizer(browsers, ":"); +- if (!tokenizer.hasMoreTokens()) +- return false; +- +- String browser = tokenizer.nextToken(); +- int percentPercentIndex; +- while ((percentPercentIndex = browser.indexOf("%%")) != -1) +- browser = browser.substring(0, percentPercentIndex)+"%"+browser.substring(percentPercentIndex+3); +- int urlIndex = browser.indexOf("%s"); +- String commandline; +- if (urlIndex != -1) +- commandline = browser.substring(0, urlIndex)+url+browser.substring(urlIndex+2); +- else +- commandline = browser+" "+url; +- Runtime.getRuntime().exec(commandline); +- } +- } catch (IOException e){ ++ } catch (Exception e){ + return false; + } diff --git a/games/jin/files/patch-new-awt b/games/jin/files/patch-new-awt new file mode 100644 index 000000000000..70183e393c74 --- /dev/null +++ b/games/jin/files/patch-new-awt @@ -0,0 +1,38 @@ +getPeer() has been obsolete for a while and is removed in JDK-23... + + -mi + +--- src/free/jin/ui/AbstractUiProvider.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/jin/ui/AbstractUiProvider.java 2025-12-15 14:54:53.050790000 -0500 +@@ -266,5 +266,5 @@ + // Bugfix for Java bug 4464714 - setExtendedState only works once the + // the window is realized. +- if (frame.getPeer() == null) ++ if (!frame.isDisplayable()) + frame.addNotify(); + +--- src/free/jin/ui/AbstractPluginUIContainer.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/jin/ui/AbstractPluginUIContainer.java 2025-12-15 14:54:45.330812000 -0500 +@@ -246,5 +246,5 @@ + // This makes the insets of the frame known, which is important for + // determining its real preferred size +- if ((container instanceof Frame) && (container.getPeer() == null)) ++ if (container instanceof Frame && !container.isDisplayable()) + ((Frame)container).pack(); + +--- src/free/jin/console/Console.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/console/Console.java 2025-12-15 15:06:29.671569000 -0500 +@@ -686,5 +686,5 @@ + if (scrollToBottom && didScrollToBottom){ + // This may be false if the frame containing us (for example), is iconified +- if (getPeer() != null){ ++ if (isDisplayable()) { + didScrollToBottom = false; + SwingUtilities.invokeLater(new BottomScroller(numAddToOutputCalls)); +@@ -977,5 +977,5 @@ + + String fontFamily = (String)prefs.lookup("font-family." + textType, "Monospaced"); +- Integer fontSize = (Integer)prefs.lookup("font-size." + textType, new Integer(14)); ++ Integer fontSize = (Integer)prefs.lookup("font-size." + textType, 14); + Boolean bold = (Boolean)prefs.lookup("font-bold." + textType, Boolean.FALSE); + Boolean italic = (Boolean)prefs.lookup("font-italic." + textType, Boolean.FALSE); diff --git a/games/jin/files/patch-warnings b/games/jin/files/patch-warnings new file mode 100644 index 000000000000..fe1cc84e0041 --- /dev/null +++ b/games/jin/files/patch-warnings @@ -0,0 +1,985 @@ +Fix most (not all) compiler warnings raised by Java-23. + + -mi +--- src/free/chess/ImagePiecePainter.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/chess/ImagePiecePainter.java 2025-12-15 15:31:53.748755000 -0500 +@@ -299,5 +299,5 @@ + return images; + else{ +- ImageDataReceiver receiver = (ImageDataReceiver)imageDataReceivers.get(new Integer(imageSize)); ++ ImageDataReceiver receiver = (ImageDataReceiver)imageDataReceivers.get(imageSize); + if (receiver != null){ // We're already loading the images + receiver.addComponentToRepaint(target); +@@ -318,5 +318,5 @@ + Map shadedImages = shadedPieceImages[imageSize]; + receiver = new ImageDataReceiver(asyncImageLoad ? target : null, imageSize, normalImages, shadedImages); +- imageDataReceivers.put(new Integer(imageSize), receiver); ++ imageDataReceivers.put(imageSize, receiver); + + if (asyncImageLoad){ +@@ -480,5 +480,5 @@ + } + +- imageDataReceivers.remove(new Integer(imageSize)); ++ imageDataReceivers.remove(imageSize); + + for (Iterator i = componentsToRepaint.iterator(); i.hasNext();){ +--- src/free/chess/SquareImagesBoardPainter.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/chess/SquareImagesBoardPainter.java 2025-12-15 15:40:08.918160000 -0500 +@@ -250,5 +250,5 @@ + + if (def.getProperty("scaleSquares") != null) // Backward compatibility +- mode = new Boolean(def.getProperty("scaleSquares", "false")).booleanValue() ? SCALE_MODE : SLICE_MODE; ++ mode = Boolean.parseBoolean(def.getProperty("scaleSquares", "false")) ? SCALE_MODE : SLICE_MODE; + else{ + String modeString = def.getProperty("imageUseMode", "slice"); +--- src/free/chessclub/ChessclubConnection.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/chessclub/ChessclubConnection.java 2025-12-15 15:48:03.677166000 -0500 +@@ -661,5 +661,5 @@ + + public String getRatingCategoryName(int index){ +- return (String)ratingCategoryNames.get(new Integer(index)); ++ return (String)ratingCategoryNames.get(index); + } + +@@ -676,5 +676,5 @@ + + public String getVariantName(int number){ +- return (String)variantNames.get(new Integer(number)); ++ return (String)variantNames.get(number); + } + +@@ -701,10 +701,10 @@ + int index = datagram.getInteger(0); + String name = datagram.getString(1); +- ratingCategoryNames.put(new Integer(index), name); ++ ratingCategoryNames.put(index, name); + } + else if (id == Datagram.DG_WILD_KEY){ + int number = datagram.getInteger(0); + String name = datagram.getString(1); +- variantNames.put(new Integer(number), name); ++ variantNames.put(number, name); + } + else if (id == Datagram.DG_SET2){ +--- src/free/util/Struct.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/util/Struct.java 2025-12-15 15:49:35.081597000 -0500 +@@ -91,5 +91,5 @@ + + protected final void setIntegerProperty(String propertyName, int propertyValue){ +- setProperty(propertyName, new Integer(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +@@ -102,5 +102,5 @@ + + protected final void setCharProperty(String propertyName, char propertyValue){ +- setProperty(propertyName, new Character(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +--- src/free/freechess/Ivar.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/freechess/Ivar.java 2025-12-15 15:50:36.482285000 -0500 +@@ -364,7 +364,7 @@ + this.index = index; + +- Object ivar = INDEX_TO_IVAR.put(new Integer(index), this); ++ Object ivar = INDEX_TO_IVAR.put(index, this); + if (ivar != null){ +- INDEX_TO_IVAR.put(new Integer(index), ivar); ++ INDEX_TO_IVAR.put(index, ivar); + throw new IllegalArgumentException("The index "+index+" is already taken by "+ivar); + } +@@ -405,5 +405,5 @@ + + public static Ivar getByIndex(int index){ +- return (Ivar)INDEX_TO_IVAR.get(new Integer(index)); ++ return (Ivar)INDEX_TO_IVAR.get(index); + } + +--- src/free/jin/Preferences.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/jin/Preferences.java 2025-12-15 15:55:56.517227000 -0500 +@@ -221,5 +221,5 @@ + + public int getInt(String prefName, int defaultValue){ +- return ((Integer)get(prefName, new Integer(defaultValue))).intValue(); ++ return (int)get(prefName, defaultValue); + } + +@@ -233,5 +233,5 @@ + + public int getInt(String prefName){ +- return ((Integer)get(prefName)).intValue(); ++ return (int)get(prefName); + } + +@@ -244,5 +244,5 @@ + + public double getDouble(String prefName, double defaultValue){ +- return ((Double)get(prefName, new Double(defaultValue))).doubleValue(); ++ return (double)get(prefName, defaultValue); + } + +@@ -256,5 +256,5 @@ + + public double getDouble(String prefName){ +- return ((Double)get(prefName)).doubleValue(); ++ return (double)get(prefName); + } + +@@ -391,5 +391,5 @@ + + public void setInt(String prefName, int prefValue){ +- set(prefName, new Integer(prefValue)); ++ set(prefName, prefValue); + } + +@@ -401,5 +401,5 @@ + + public void setDouble(String prefName, double prefValue){ +- set(prefName, new Double(prefValue)); ++ set(prefName, prefValue); + } + +@@ -655,7 +655,7 @@ + return Boolean.valueOf(s.substring("boolean;".length())); + else if (s.startsWith("integer;")) +- return new Integer(s.substring("integer;".length())); ++ return Integer.parseInt(s.substring("integer;".length())); + else if (s.startsWith("double;")) +- return new Double(s.substring("double;".length())); ++ return Double.parseDouble(s.substring("double;".length())); + else if (s.startsWith("string;")) + return StringParser.parseString(s.substring("string;".length())); +--- src/free/jin/Game.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/Game.java 2025-12-15 16:00:03.250357000 -0500 +@@ -767,5 +767,5 @@ + throw new IllegalStateException("Unable to set the result more than once"); + +- props.setProperty("result", new Integer(result)); ++ props.setProperty("result", result); + } + +--- src/free/util/BeanProperties.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/util/BeanProperties.java 2025-12-15 16:04:51.507724000 -0500 +@@ -222,5 +222,5 @@ + + public void setByteProperty(String propertyName, byte propertyValue){ +- setProperty(propertyName, new Byte(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +@@ -262,5 +262,5 @@ + + public void setShortProperty(String propertyName, short propertyValue){ +- setProperty(propertyName, new Short(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +@@ -302,5 +302,5 @@ + + public void setIntegerProperty(String propertyName, int propertyValue){ +- setProperty(propertyName, new Integer(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +@@ -342,5 +342,5 @@ + + public void setLongProperty(String propertyName, int propertyValue){ +- setProperty(propertyName, new Long(propertyValue)); ++ setProperty(propertyName, (long)(propertyValue)); + } + +@@ -382,5 +382,5 @@ + + public void setFloatProperty(String propertyName, float propertyValue){ +- setProperty(propertyName, new Float(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +@@ -422,5 +422,5 @@ + + public void setDoubleProperty(String propertyName, double propertyValue){ +- setProperty(propertyName, new Double(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +@@ -462,5 +462,5 @@ + + public void setCharacterProperty(String propertyName, char propertyValue){ +- setProperty(propertyName, new Character(propertyValue)); ++ setProperty(propertyName, propertyValue); + } + +--- src/free/jin/ConnectionManager.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/jin/ConnectionManager.java 2025-12-15 16:06:49.016423000 -0500 +@@ -155,5 +155,5 @@ + + // Application parameters +- boolean isGuest = new Boolean(jin.getParameter("login.guest")).booleanValue(); ++ boolean isGuest = Boolean.parseBoolean(jin.getParameter("login.guest")); + String username = jin.getParameter("login.username"); + if (isGuest) +@@ -210,5 +210,5 @@ + + String savePassString = jin.getParameter("login.savepassword"); +- boolean savePassword = new Boolean(savePassString).booleanValue(); ++ boolean savePassword = Boolean.parseBoolean(savePassString); + if ((savePassString == null) && !connDetails.isGuest()) + savePassword = connDetails.isSavePassword(); +@@ -232,5 +232,5 @@ + connDetails = ConnectionDetails.create(server, user, user.getUsername(), password, savePassword, hostname, ports); + +- if (!(new Boolean(jin.getParameter("autologin")).booleanValue())) ++ if (!(Boolean.parseBoolean(jin.getParameter("autologin")))) + connDetails = new LoginPanel(connDetails).askConnectionDetails(); + +--- src/free/jin/GameListItem.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/GameListItem.java 2025-12-15 16:08:17.799524000 -0500 +@@ -78,5 +78,5 @@ + boolean isRated, String variantName, String ratingCategoryName, String eco){ + +- setProperty("Index", new Integer(index)); ++ setProperty("Index", index); + setProperty("GameID", gameID); + setProperty("DateString", dateString); +@@ -84,10 +84,10 @@ + setProperty("WhiteName", whiteName); + setProperty("BlackName", blackName); +- setProperty("WhiteTime", new Integer(whiteTime)); +- setProperty("WhiteInc", new Integer(whiteInc)); +- setProperty("BlackTime", new Integer(blackTime)); +- setProperty("BlackInc", new Integer(blackInc)); +- setProperty("WhiteRating", new Integer(whiteRating)); +- setProperty("BlackRating", new Integer(blackRating)); ++ setProperty("WhiteTime", whiteTime); ++ setProperty("WhiteInc", whiteInc); ++ setProperty("BlackTime", blackTime); ++ setProperty("BlackInc", blackInc); ++ setProperty("WhiteRating", whiteRating); ++ setProperty("BlackRating", blackRating); + setProperty("IsRated", isRated ? Boolean.TRUE : Boolean.FALSE); + setProperty("VariantName", variantName); +--- src/free/jin/HistoryListItem.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/HistoryListItem.java 2025-12-15 16:09:28.478521000 -0500 +@@ -50,5 +50,5 @@ + + setProperty("EndExplanationString", endExplanationString); +- setProperty("ResultStatus", new Integer(resultStatus)); ++ setProperty("ResultStatus", resultStatus); + setProperty("Player", player); + } +--- src/free/jin/LibListItem.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/LibListItem.java 2025-12-15 16:22:10.288560000 -0500 +@@ -47,5 +47,5 @@ + + setProperty("EndExplanationString", endExplanationString); +- setProperty("ResultStatus", new Integer(resultStatus)); ++ setProperty("ResultStatus", resultStatus); + setProperty("Note", note); + } +--- src/free/jin/SearchListItem.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/SearchListItem.java 2025-12-15 16:23:32.007890000 -0500 +@@ -47,5 +47,5 @@ + + setProperty("EndExplanationString", endExplanationString); +- setProperty("ResultStatus", new Integer(resultStatus)); ++ setProperty("ResultStatus", resultStatus); + } + +--- src/free/jin/board/BoardPanel.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/jin/board/BoardPanel.java 2025-12-15 16:28:07.987648000 -0500 +@@ -414,11 +414,6 @@ + // Fullscreen mode is broken under Java 1.5.0 when used as an Applet, see + // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5085648 +- if (!PlatformUtils.isJavaBetterThan("1.4") || +- (PlatformUtils.isMacOSX() && !PlatformUtils.isJavaBetterThan("1.4.2")) || +- ((System.getSecurityManager() != null) && PlatformUtils.isJavaBetterThan("1.5"))){ +- fullscreenButton.setEnabled(false); +- fullscreenButton.setToolTipText(I18n.get(BoardPanel.class).getString("fullscreenUnavailableMessage")); +- } +- else{ ++ /* The checks used deprecated API, always enable full screen now: */ ++ { + KeyStroke fullscreenKeyStroke = + KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); +--- src/free/jin/board/PlayedGameButtonPanel.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/jin/board/PlayedGameButtonPanel.java 2025-12-15 16:30:32.553679000 -0500 +@@ -408,7 +408,7 @@ + Vector offers = isOppsOffer ? oppTakebacks : userTakebacks; + if (isOffered) +- offers.addElement(new Integer(plyCount)); ++ offers.addElement(plyCount); + else +- offers.removeElement(new Integer(plyCount)); ++ offers.removeElement(plyCount); + + int newState; +@@ -644,5 +644,5 @@ + I18n i18n = I18n.get(PlayedGameButtonPanel.class); + +- Object [] plyCountArr = new Object[]{new Integer(plyCount)}; ++ Object [] plyCountArr = new Object[]{plyCount}; + + String buttonTextPattern = i18n.getFormattedString("multipleTakebackButton.text", plyCountArr); +--- src/free/jin/board/fics/FreechessBoardManager.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/board/fics/FreechessBoardManager.java 2025-12-15 16:56:15.309837000 -0500 +@@ -74,5 +74,5 @@ + Integer oldValue = (Integer)evt.getOldValue(); + Integer newValue = (Integer)evt.getNewValue(); +- Integer premoveValue = new Integer(PREMOVE_MOVE_SENDING_MODE); ++ Integer premoveValue = PREMOVE_MOVE_SENDING_MODE; + + if (!newValue.equals(oldValue) && +--- src/free/jin/freechess/JinFreechessConnection.java 2007-03-04 19:55:00.000000000 -0500 ++++ src/free/jin/freechess/JinFreechessConnection.java 2025-12-15 17:25:51.169363000 -0500 +@@ -232,5 +232,5 @@ + Class tsSocketClass = Class.forName("free.freechess.timeseal.TimesealingSocket"); + Constructor tsSocketConstructor = tsSocketClass.getConstructor(new Class[]{String.class, int.class}); +- result = (Socket)tsSocketConstructor.newInstance(new Object[]{hostname, new Integer(port)}); ++ result = (Socket)tsSocketConstructor.newInstance(new Object[]{hostname, port}); + } catch (ClassNotFoundException e){} + catch (SecurityException e){} +@@ -303,5 +303,5 @@ + protected boolean processSayTell(String username, String titles, int gameNumber, String message){ + listenerManager.fireChatEvent(new ChatEvent(this, "say", ChatEvent.PERSON_TO_PERSON_CHAT_CATEGORY, +- username, (titles == null ? "" : titles), -1, message, new Integer(gameNumber))); ++ username, (titles == null ? "" : titles), -1, message, gameNumber)); + + return true; +@@ -333,5 +333,5 @@ + + listenerManager.fireChatEvent(new ChatEvent(this, "channel-tell", ChatEvent.ROOM_CHAT_CATEGORY, +- username, (titles == null ? "" : titles), -1, message, new Integer(channelNumber))); ++ username, (titles == null ? "" : titles), -1, message, channelNumber)); + + return true; +@@ -352,5 +352,5 @@ + + listenerManager.fireChatEvent(new ChatEvent(this, "kibitz", ChatEvent.GAME_CHAT_CATEGORY, +- username, titles, rating, message, new Integer(gameNumber))); ++ username, titles, rating, message, gameNumber)); + + return true; +@@ -370,5 +370,5 @@ + + listenerManager.fireChatEvent(new ChatEvent(this, "whisper", ChatEvent.GAME_CHAT_CATEGORY, +- username, titles, rating, message, new Integer(gameNumber))); ++ username, titles, rating, message, gameNumber)); + + return true; +@@ -398,5 +398,5 @@ + if (title == null) + title = ""; +- Integer tourneyIndex = new Integer(matcher.group(3)); ++ int tourneyIndex = Integer.parseInt(matcher.group(3)); + message = matcher.group(4); + evt = new ChatEvent(this, "qtell.tourney", ChatEvent.TOURNEY_CHAT_CATEGORY, +@@ -667,5 +667,5 @@ + + private InternalGameData getGameData(int gameNumber) throws NoSuchGameException{ +- InternalGameData gameData = (InternalGameData)ongoingGamesData.get(new Integer(gameNumber)); ++ InternalGameData gameData = (InternalGameData)ongoingGamesData.get(gameNumber); + if (gameData == null) + throw new NoSuchGameException(); +@@ -687,5 +687,5 @@ + Enumeration gameNumbers = ongoingGamesData.keys(); + while (gameNumbers.hasMoreElements()){ +- Integer gameNumber = (Integer)gameNumbers.nextElement(); ++ int gameNumber = (int)gameNumbers.nextElement(); + InternalGameData gameData = (InternalGameData)ongoingGamesData.get(gameNumber); + Game game = gameData.game; +@@ -707,5 +707,5 @@ + Enumeration gameNumbers = ongoingGamesData.keys(); + while (gameNumbers.hasMoreElements()){ +- Integer gameNumber = (Integer)gameNumbers.nextElement(); ++ int gameNumber = (int)gameNumbers.nextElement(); + InternalGameData gameData = (InternalGameData)ongoingGamesData.get(gameNumber); + Game game = gameData.game; +@@ -730,5 +730,5 @@ + + protected boolean processGameInfo(GameInfoStruct data){ +- unstartedGamesData.put(new Integer(data.getGameNumber()), data); ++ unstartedGamesData.put(data.getGameNumber(), data); + + return true; +@@ -742,5 +742,5 @@ + + protected boolean processStyle12(Style12Struct boardData){ +- Integer gameNumber = new Integer(boardData.getGameNumber()); ++ int gameNumber = boardData.getGameNumber(); + InternalGameData gameData = (InternalGameData)ongoingGamesData.get(gameNumber); + GameInfoStruct unstartedGameInfo = (GameInfoStruct)unstartedGamesData.remove(gameNumber); +@@ -809,5 +809,5 @@ + + protected boolean processDeltaBoard(DeltaBoardStruct data){ +- Integer gameNumber = new Integer(data.getGameNumber()); ++ int gameNumber = data.getGameNumber(); + InternalGameData gameData = (InternalGameData)ongoingGamesData.get(gameNumber); + +@@ -872,5 +872,5 @@ + Style12Struct boardData = new Style12Struct(boardLexigraphic, currentPlayer, doublePawnPushFile, + canWhiteCastleKingside, canWhiteCastleQueenside, canBlackCastleKingside, canBlackCastleQueenside, +- pliesSinceIrreversible, gameNumber.intValue(), whiteName, blackName, gameType, isPlayedGame, ++ pliesSinceIrreversible, gameNumber, whiteName, blackName, gameType, isPlayedGame, + isMyTurn, initTime, inc, whiteStrength, blackStrength, whiteTime, blackTime, nextMoveNumber, + moveVerbose, moveSAN, moveTime, isBoardFlipped, isClockRunning, lag); +@@ -1103,5 +1103,5 @@ + + public boolean isOffered(int offerId, Player player){ +- return offers.containsKey(new Pair(player, new Integer(offerId))); ++ return offers.containsKey(new Pair(player, offerId)); + } + +@@ -1114,5 +1114,5 @@ + + public void setOffer(int offerId, Player player, boolean isMade){ +- Pair offer = new Pair(player, new Integer(offerId)); ++ Pair offer = new Pair(player, offerId); + if (isMade) + offers.put(offer, offer); +@@ -1281,5 +1281,5 @@ + if (variant == null){ + warnVariantUnsupported(categoryName); +- unsupportedGames.addElement(new Integer(gameInfo.getGameNumber())); ++ unsupportedGames.addElement(gameInfo.getGameNumber()); + return null; + } +@@ -1330,5 +1330,5 @@ + InternalGameData gameData = new InternalGameData(game); + +- ongoingGamesData.put(new Integer(gameInfo.getGameNumber()), gameData); ++ ongoingGamesData.put(gameInfo.getGameNumber(), gameData); + + listenerManager.fireGameEvent(new GameStartEvent(this, game)); +@@ -1479,12 +1479,11 @@ + + private void closeGame(int gameNumber, int result){ +- Integer gameID = new Integer(gameNumber); + +- if (gameID.intValue() == primaryPlayedGame) ++ if (gameNumber == primaryPlayedGame) + primaryPlayedGame = -1; +- else if (gameID.intValue() == primaryObservedGame) ++ else if (gameNumber == primaryObservedGame) + primaryObservedGame = -1; + +- InternalGameData gameData = (InternalGameData)ongoingGamesData.remove(gameID); ++ InternalGameData gameData = (InternalGameData)ongoingGamesData.remove(gameNumber); + if (gameData != null){ + Game game = gameData.game; +@@ -1497,5 +1496,5 @@ + } + else +- unsupportedGames.removeElement(gameID); ++ unsupportedGames.removeElement(gameNumber); + } + +@@ -1708,5 +1707,5 @@ + !seekInfo.isAutomaticAccept(), seekInfo.isFormulaUsed()); + +- Integer seekIndex = new Integer(seekInfo.getSeekIndex()); ++ int seekIndex = seekInfo.getSeekIndex(); + + Seek oldSeek = (Seek)seeks.get(seekIndex); +@@ -1731,5 +1730,5 @@ + protected boolean processSeeksRemoved(int [] removedSeeks){ + for (int i = 0; i < removedSeeks.length; i++){ +- Integer seekIndex = new Integer(removedSeeks[i]); ++ int seekIndex = removedSeeks[i]; + Seek seek = (Seek)seeks.get(seekIndex); + if (seek == null) // Happens if the seek is one we didn't fire an event for, +@@ -1867,7 +1866,7 @@ + Player player = toUser ? userPlayer.getOpponent() : userPlayer; + +- offerIndicesToGameData.put(new Integer(offerIndex), gameData); +- gameData.indicesToTakebackOffers.put(new Integer(offerIndex), +- new Pair(player, new Integer(takebackCount))); ++ offerIndicesToGameData.put(offerIndex, gameData); ++ gameData.indicesToTakebackOffers.put(offerIndex, ++ new Pair(player, takebackCount)); + + updateTakebackOffer(gameData, player, takebackCount); +@@ -1933,7 +1932,7 @@ + Player player = toUser ? userPlayer.getOpponent() : userPlayer; + +- offerIndicesToGameData.put(new Integer(offerIndex), gameData); +- gameData.indicesToOffers.put(new Integer(offerIndex), +- new Pair(player, new Integer(offerId))); ++ offerIndicesToGameData.put(offerIndex, gameData); ++ gameData.indicesToOffers.put(offerIndex, ++ new Pair(player, offerId)); + + updateOffers(gameData, offerId, player, true); +@@ -1951,17 +1950,17 @@ + + InternalGameData gameData = +- (InternalGameData)offerIndicesToGameData.remove(new Integer(offerIndex)); ++ (InternalGameData)offerIndicesToGameData.remove(offerIndex); + + if (gameData != null){ + // Check regular offers +- Pair offer = (Pair)gameData.indicesToOffers.remove(new Integer(offerIndex)); ++ Pair offer = (Pair)gameData.indicesToOffers.remove(offerIndex); + if (offer != null){ + Player player = (Player)offer.getFirst(); +- int offerId = ((Integer)offer.getSecond()).intValue(); ++ int offerId = (int)offer.getSecond(); + updateOffers(gameData, offerId, player, false); + } + else{ + // Check takeback offers +- offer = (Pair)gameData.indicesToTakebackOffers.remove(new Integer(offerIndex)); ++ offer = (Pair)gameData.indicesToTakebackOffers.remove(offerIndex); + if (offer != null){ + Player player = (Player)offer.getFirst(); +--- src/free/jin/chessclub/JinChessclubConnection.java 2007-03-04 19:54:59.000000000 -0500 ++++ src/free/jin/chessclub/JinChessclubConnection.java 2025-12-15 17:33:24.032823000 -0500 +@@ -269,5 +269,5 @@ + Class tsSocketClass = Class.forName("free.chessclub.timestamp.TimestampingSocket"); + Constructor tsSocketConstructor = tsSocketClass.getConstructor(new Class[]{String.class, int.class}); +- result = (Socket)tsSocketConstructor.newInstance(new Object[]{hostname, new Integer(port)}); ++ result = (Socket)tsSocketConstructor.newInstance(new Object[]{hostname, port}); + } catch (ClassNotFoundException e){} + catch (SecurityException e){} +@@ -677,5 +677,5 @@ + + ChatEvent evt = new ChatEvent(this, tellTypeString, ChatEvent.ROOM_CHAT_CATEGORY, +- playerName, title, -1, message, new Integer(channel)); ++ playerName, title, -1, message, channel); + + listenerManager.fireChatEvent(evt); +@@ -702,5 +702,5 @@ + protected void processChannelQTell(int channel, String name, String titles, String message){ + ChatEvent evt = new ChatEvent(this, "channel-qtell", ChatEvent.ROOM_CHAT_CATEGORY, +- name, displayableTitle(titles), -1, message, new Integer(channel)); ++ name, displayableTitle(titles), -1, message, channel); + + listenerManager.fireChatEvent(evt); +@@ -731,5 +731,5 @@ + + ChatEvent evt = new ChatEvent(this, tellTypeString, ChatEvent.GAME_CHAT_CATEGORY, +- playerName, title, -1, message, new Integer(gameNumber)); ++ playerName, title, -1, message, gameNumber); + listenerManager.fireChatEvent(evt); + } +@@ -813,5 +813,5 @@ + + private GameInfo getGameInfo(int gameNumber) throws NoSuchGameException{ +- GameInfo gameInfo = (GameInfo)gameNumbersToGameInfo.get(new Integer(gameNumber)); ++ GameInfo gameInfo = (GameInfo)gameNumbersToGameInfo.get(gameNumber); + if (gameInfo == null) + throw new NoSuchGameException(); +@@ -829,5 +829,5 @@ + + private void addGameInfo(int gameNumber, GameInfo gameInfo){ +- gameNumbersToGameInfo.put(new Integer(gameNumber), gameInfo); ++ gameNumbersToGameInfo.put(gameNumber, gameInfo); + if (gameInfo.game.getGameType() == Game.MY_GAME) + userGamesCount++; +@@ -843,5 +843,5 @@ + + private GameInfo removeGameInfo(int gameNumber){ +- GameInfo gameInfo = (GameInfo)gameNumbersToGameInfo.remove(new Integer(gameNumber)); ++ GameInfo gameInfo = (GameInfo)gameNumbersToGameInfo.remove(gameNumber); + if ((gameInfo != null) && (gameInfo.game.getGameType() == Game.MY_GAME)) + userGamesCount--; +@@ -859,5 +859,5 @@ + + private boolean gameExists(int gameNumber){ +- return gameNumbersToGameInfo.containsKey(new Integer(gameNumber)); ++ return gameNumbersToGameInfo.containsKey(gameNumber); + } + +@@ -887,17 +887,17 @@ + gameProps.put("RatingCategoryString", ratingCategoryString); + gameProps.put("IsRated", isRated ? Boolean.TRUE : Boolean.FALSE); +- gameProps.put("WhiteInitial", new Integer(whiteInitial)); +- gameProps.put("WhiteIncrement", new Integer(whiteIncrement)); +- gameProps.put("BlackInitial", new Integer(blackInitial)); +- gameProps.put("BlackIncrement", new Integer(blackIncrement)); ++ gameProps.put("WhiteInitial", whiteInitial); ++ gameProps.put("WhiteIncrement", whiteIncrement); ++ gameProps.put("BlackInitial", blackInitial); ++ gameProps.put("BlackIncrement", blackIncrement); + gameProps.put("IsPlayedGame", isPlayedGame ? Boolean.TRUE : Boolean.FALSE); +- gameProps.put("WhiteRating", new Integer(whiteRating)); +- gameProps.put("BlackRating", new Integer(blackRating)); ++ gameProps.put("WhiteRating", whiteRating); ++ gameProps.put("BlackRating", blackRating); + gameProps.put("WhiteTitles", displayableTitle(whiteTitles)); + gameProps.put("BlackTitles", displayableTitle(blackTitles)); + +- gameProps.put("GameType", new Integer(gameType)); ++ gameProps.put("GameType", gameType); + +- nonStartedGames.put(new Integer(gameNumber), gameProps); ++ nonStartedGames.put(gameNumber, gameProps); + } + +@@ -910,5 +910,5 @@ + + private boolean existsNonStarted(int gameNumber){ +- return nonStartedGames.containsKey(new Integer(gameNumber)); ++ return nonStartedGames.containsKey(gameNumber); + } + +@@ -921,5 +921,5 @@ + + private Object getPropertyForNonStarted(int gameNumber, String propertyName){ +- Hashtable gameProps = (Hashtable)nonStartedGames.get(new Integer(gameNumber)); ++ Hashtable gameProps = (Hashtable)nonStartedGames.get(gameNumber); + return gameProps.get(propertyName); + } +@@ -933,5 +933,5 @@ + + private void putPropertyForNonStarted(int gameNumber, String propertyName, Object propertyValue){ +- Hashtable gameProps = (Hashtable)nonStartedGames.get(new Integer(gameNumber)); ++ Hashtable gameProps = (Hashtable)nonStartedGames.get(gameNumber); + gameProps.put(propertyName, propertyValue); + } +@@ -950,5 +950,5 @@ + private Game createGameFromNonStarted(int gameNumber, Position initialPosition){ + +- Hashtable gameProps = (Hashtable)nonStartedGames.remove(new Integer(gameNumber)); ++ Hashtable gameProps = (Hashtable)nonStartedGames.remove(gameNumber); + + String whiteName = (String)gameProps.get("WhiteName"); +@@ -987,5 +987,5 @@ + return new Game(gameType, initialPosition, 0, whiteName, blackName, whiteInitial, + whiteIncrement, blackInitial, blackIncrement, whiteRating, blackRating, +- new Integer(gameNumber), ratingCategoryString, isRated, isPlayedGame, whiteTitles, ++ gameNumber, ratingCategoryString, isRated, isPlayedGame, whiteTitles, + blackTitles, isInitiallyFlipped, userPlayer); + } +@@ -1313,5 +1313,5 @@ + + game.setGameType(gameType); +- game.setId(new Integer(gameNumber)); ++ game.setId(gameNumber); + game.setWhiteName(whiteName); + game.setBlackName(blackName); +@@ -1447,5 +1447,5 @@ + + if (existsNonStarted(gameNumber)) // This way we know it's a non-started game. +- putPropertyForNonStarted(gameNumber, "GameType", new Integer(newGameType)); ++ putPropertyForNonStarted(gameNumber, "GameType", newGameType); + else + return; +@@ -2557,5 +2557,5 @@ + + public void setOffer(int offerId, Player player, boolean isMade){ +- Pair offer = new Pair(player, new Integer(offerId)); ++ Pair offer = new Pair(player, offerId); + if (isMade) + offers.put(offer, offer); +@@ -2586,5 +2586,5 @@ + + public boolean isOfferred(int offerId, Player player){ +- return offers.containsKey(new Pair(player, new Integer(offerId))); ++ return offers.containsKey(new Pair(player, offerId)); + } + +@@ -2717,5 +2717,5 @@ + ratingCategoryString, time*60*1000, inc*1000, isRated, player, isRatingLimited, minRating, maxRating, !autoaccept, formula); + +- seeks.put(new Integer(index), seek); ++ seeks.put(index, seek); + + listenerManager.fireSeekEvent(new SeekEvent(this, SeekEvent.SEEK_ADDED, seek)); +@@ -2738,5 +2738,5 @@ + + protected void processSeekRemoved(int index, int reasonCode){ +- Seek seek = (Seek)seeks.remove(new Integer(index)); ++ Seek seek = (Seek)seeks.remove(index); + + if (seek == null) +@@ -3240,5 +3240,5 @@ + ChessEvent newEvent = new ChessEvent(id, description, joinCommands.length == 0 ? null : joinCommands, + watchCommands.length == 0 ? null : watchCommands, infoCommands.length == 0 ? null : infoCommands, confirmText); +- ChessEvent existingEvent = (ChessEvent)chessEvents.put(new Integer(id), newEvent); ++ ChessEvent existingEvent = (ChessEvent)chessEvents.put(id, newEvent); + + if (existingEvent != null) +@@ -3266,5 +3266,5 @@ + + protected void processRemoveTourney(int id){ +- ChessEvent evt = (ChessEvent)chessEvents.get(new Integer(id)); ++ ChessEvent evt = (ChessEvent)chessEvents.get(id); *** 277 LINES SKIPPED ***