From 8cf681dff21681447f4a6e51184687fe6547cf9d Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Sun, 17 Feb 2019 16:12:57 +0400 Subject: [PATCH] Updated libraries to latest versions and code compatibility fixes; --- Mage.Client/pom.xml | 14 ++-- .../java/mage/client/table/TablesPanel.java | 74 ++++++++++--------- .../org/mage/card/arcane/ManaSymbols.java | 2 +- Mage.Common/pom.xml | 6 +- Mage.Server/pom.xml | 18 +++-- .../mage/server/AuthorizedUserRepository.java | 9 ++- .../server/record/TableRecordRepository.java | 7 +- .../server/record/UserStatsRepository.java | 18 ++--- Mage.Stats/pom.xml | 18 ++--- Mage.Tests/pom.xml | 11 +++ Mage/pom.xml | 6 +- .../mage/cards/repository/CardRepository.java | 2 +- pom.xml | 4 +- 13 files changed, 106 insertions(+), 83 deletions(-) diff --git a/Mage.Client/pom.xml b/Mage.Client/pom.xml index e9846d4204c..ae03ce324de 100644 --- a/Mage.Client/pom.xml +++ b/Mage.Client/pom.xml @@ -51,7 +51,7 @@ com.mortennobel java-image-scaling - 0.8.5 + 0.8.6 com.google.collections @@ -66,12 +66,12 @@ org.jetlang jetlang - 0.2.9 + 0.2.23 com.amazonaws aws-java-sdk-s3 - 1.11.286 + 1.11.498 com.jgoodies @@ -114,7 +114,7 @@ truevfs-profile-base net.java.truevfs jar - 0.10.8 + 0.11.1 truevfs-access-swing @@ -129,7 +129,7 @@ com.googlecode.soundlibs mp3spi - 1.9.5-1 + 1.9.5.4 javazoom @@ -154,13 +154,13 @@ org.apache.xmlgraphics batik-transcoder - 1.7 + 1.11 org.ocpsoft.prettytime prettytime - 3.2.7.Final + 4.0.2.Final diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index ef98c013a2a..bcf85923efb 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -24,6 +24,7 @@ import org.apache.log4j.Logger; import org.mage.card.arcane.CardRendererUtils; import org.ocpsoft.prettytime.Duration; import org.ocpsoft.prettytime.PrettyTime; +import org.ocpsoft.prettytime.TimeFormat; import org.ocpsoft.prettytime.units.JustNow; import javax.swing.*; @@ -82,7 +83,7 @@ public class TablesPanel extends javax.swing.JPanel { final JToggleButton[] filterButtons; // time formater - private PrettyTime timeFormater = new PrettyTime(); + private PrettyTime timeFormater = new PrettyTime(Locale.ENGLISH); // time ago renderer TableCellRenderer timeAgoCellRenderer = new DefaultTableCellRenderer() { @@ -219,9 +220,12 @@ public class TablesPanel extends javax.swing.JPanel { // tableModel.setSession(session); // formater - timeFormater.setLocale(Locale.ENGLISH); - JustNow jn = timeFormater.getUnit(JustNow.class); - jn.setMaxQuantity(1000L * 30L); // 30 seconds gap (show "just now" from 0 to 30 secs) + // change default just now from 60 to 30 secs + // see workaround for 4.0 versions: https://github.com/ocpsoft/prettytime/issues/152 + TimeFormat timeFormat = timeFormater.removeUnit(JustNow.class); + JustNow newJustNow = new JustNow(); + newJustNow.setMaxQuantity(1000L * 30L); // 30 seconds gap (show "just now" from 0 to 30 secs) + timeFormater.registerUnit(newJustNow, timeFormat); // 1. TABLE CURRENT tableTables.createDefaultColumnsFromModel(); @@ -1377,35 +1381,35 @@ public class TablesPanel extends javax.swing.JPanel { javax.swing.GroupLayout jPanelTopLayout = new javax.swing.GroupLayout(jPanelTop); jPanelTop.setLayout(jPanelTopLayout); jPanelTopLayout.setHorizontalGroup( - jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanelTopLayout.createSequentialGroup() - .addContainerGap() - .addComponent(btnNewTable) - .addGap(6, 6, 6) - .addComponent(btnNewTournament) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(filterBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(filterBar2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(btnQuickStart) - .addContainerGap(792, Short.MAX_VALUE)) + jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanelTopLayout.createSequentialGroup() + .addContainerGap() + .addComponent(btnNewTable) + .addGap(6, 6, 6) + .addComponent(btnNewTournament) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(filterBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(filterBar2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(btnQuickStart) + .addContainerGap(792, Short.MAX_VALUE)) ); jPanelTopLayout.setVerticalGroup( - jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanelTopLayout.createSequentialGroup() - .addContainerGap() - .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(btnNewTable) - .addComponent(btnNewTournament)) - .addGroup(jPanelTopLayout.createSequentialGroup() - .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(filterBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(btnQuickStart)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(filterBar2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addContainerGap()) + jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanelTopLayout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(btnNewTable) + .addComponent(btnNewTournament)) + .addGroup(jPanelTopLayout.createSequentialGroup() + .addGroup(jPanelTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(filterBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(btnQuickStart)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(filterBar2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addContainerGap()) ); gridBagConstraints = new java.awt.GridBagConstraints(); @@ -1442,12 +1446,12 @@ public class TablesPanel extends javax.swing.JPanel { javax.swing.GroupLayout jPanelTablesLayout = new javax.swing.GroupLayout(jPanelTables); jPanelTables.setLayout(jPanelTablesLayout); jPanelTablesLayout.setHorizontalGroup( - jPanelTablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSplitPaneTables, javax.swing.GroupLayout.DEFAULT_SIZE, 23, Short.MAX_VALUE) + jPanelTablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSplitPaneTables, javax.swing.GroupLayout.DEFAULT_SIZE, 23, Short.MAX_VALUE) ); jPanelTablesLayout.setVerticalGroup( - jPanelTablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSplitPaneTables, javax.swing.GroupLayout.DEFAULT_SIZE, 672, Short.MAX_VALUE) + jPanelTablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSplitPaneTables, javax.swing.GroupLayout.DEFAULT_SIZE, 672, Short.MAX_VALUE) ); jSplitPane1.setLeftComponent(jPanelTables); diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java b/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java index 9de2219d32d..0a847bf92a5 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java @@ -12,7 +12,7 @@ import mage.client.util.gui.BufferedImageBuilder; import mage.client.util.gui.GuiDisplayUtil; import mage.constants.Rarity; import mage.utils.StreamUtils; -import org.apache.batik.dom.svg.SVGDOMImplementation; +import org.apache.batik.anim.dom.SVGDOMImplementation; import org.apache.batik.transcoder.TranscoderException; import org.apache.batik.transcoder.TranscoderInput; import org.apache.batik.transcoder.TranscoderOutput; diff --git a/Mage.Common/pom.xml b/Mage.Common/pom.xml index f1535ccfae1..1347b155386 100644 --- a/Mage.Common/pom.xml +++ b/Mage.Common/pom.xml @@ -34,12 +34,12 @@ org.jboss jboss-common-core - 2.2.22.GA + 2.5.0.Final jboss jboss-serialization - 1.0.3.GA + 4.2.2.GA concurrent @@ -54,7 +54,7 @@ com.google.code.gson gson - 2.8.2 + 2.8.5 diff --git a/Mage.Server/pom.xml b/Mage.Server/pom.xml index 4b762aa1d1a..d1f63fcfa66 100644 --- a/Mage.Server/pom.xml +++ b/Mage.Server/pom.xml @@ -42,7 +42,13 @@ com.sun.xml.bind jaxb-impl - 2.1.17 + 2.3.2 + + + + org.glassfish.jaxb + jaxb-runtime + 2.3.2 log4j @@ -200,31 +206,31 @@ com.google.api-client google-api-client - 1.25.0 + 1.28.0 jar com.google.apis google-api-services-gmail - v1-rev82-1.23.0 + v1-rev20190120-1.28.0 jar com.google.oauth-client google-oauth-client-java6 - 1.25.0 + 1.28.0 jar com.google.oauth-client google-oauth-client-jetty - 1.25.0 + 1.28.0 jar javax.mail mail - 1.4.7 + 1.5.0-b01 jar diff --git a/Mage.Server/src/main/java/mage/server/AuthorizedUserRepository.java b/Mage.Server/src/main/java/mage/server/AuthorizedUserRepository.java index a0817049441..f1915e72f11 100644 --- a/Mage.Server/src/main/java/mage/server/AuthorizedUserRepository.java +++ b/Mage.Server/src/main/java/mage/server/AuthorizedUserRepository.java @@ -9,9 +9,6 @@ import com.j256.ormlite.stmt.SelectArg; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.support.DatabaseConnection; import com.j256.ormlite.table.TableUtils; -import java.io.File; -import java.sql.SQLException; -import java.util.List; import mage.cards.repository.CardRepository; import mage.cards.repository.RepositoryUtil; import org.apache.log4j.Logger; @@ -21,6 +18,10 @@ import org.apache.shiro.crypto.hash.Hash; import org.apache.shiro.crypto.hash.Sha256Hash; import org.apache.shiro.crypto.hash.SimpleHash; +import java.io.File; +import java.sql.SQLException; +import java.util.List; + public enum AuthorizedUserRepository { instance; @@ -108,7 +109,7 @@ public enum AuthorizedUserRepository { public void closeDB() { try { if (dao != null && dao.getConnectionSource() != null) { - DatabaseConnection conn = dao.getConnectionSource().getReadWriteConnection(); + DatabaseConnection conn = dao.getConnectionSource().getReadWriteConnection(dao.getTableName()); conn.executeStatement("shutdown compact", 0); } } catch (SQLException ex) { diff --git a/Mage.Server/src/main/java/mage/server/record/TableRecordRepository.java b/Mage.Server/src/main/java/mage/server/record/TableRecordRepository.java index a1f8a00d2db..6c7cbd49ea2 100644 --- a/Mage.Server/src/main/java/mage/server/record/TableRecordRepository.java +++ b/Mage.Server/src/main/java/mage/server/record/TableRecordRepository.java @@ -8,11 +8,12 @@ import com.j256.ormlite.stmt.SelectArg; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.support.DatabaseConnection; import com.j256.ormlite.table.TableUtils; +import mage.cards.repository.RepositoryUtil; +import org.apache.log4j.Logger; + import java.io.File; import java.sql.SQLException; import java.util.List; -import mage.cards.repository.RepositoryUtil; -import org.apache.log4j.Logger; public enum TableRecordRepository { @@ -68,7 +69,7 @@ public enum TableRecordRepository { public void closeDB() { try { if (dao != null && dao.getConnectionSource() != null) { - DatabaseConnection conn = dao.getConnectionSource().getReadWriteConnection(); + DatabaseConnection conn = dao.getConnectionSource().getReadWriteConnection(dao.getTableName()); conn.executeStatement("shutdown compact", 0); } } catch (SQLException ex) { diff --git a/Mage.Server/src/main/java/mage/server/record/UserStatsRepository.java b/Mage.Server/src/main/java/mage/server/record/UserStatsRepository.java index 36e239c89a1..a7b47617d8a 100644 --- a/Mage.Server/src/main/java/mage/server/record/UserStatsRepository.java +++ b/Mage.Server/src/main/java/mage/server/record/UserStatsRepository.java @@ -94,12 +94,12 @@ public enum UserStatsRepository { public long getLatestEndTimeMs() { try { - QueryBuilder qb = dao.queryBuilder(); + QueryBuilder qb = dao.queryBuilder(); qb.orderBy("endTimeMs", false).limit(1L); - List users = dao.query(qb.prepare()); + List users = dao.query(qb.prepare()); if (!users.isEmpty()) { - return users.get(0).getEndTimeMs(); - } + return users.get(0).getEndTimeMs(); + } } catch (SQLException ex) { Logger.getLogger(UserStatsRepository.class).error("Error getting the latest end time from DB - ", ex); } @@ -111,7 +111,7 @@ public enum UserStatsRepository { public List updateUserStats() { Set updatedUsers = new HashSet<>(); // Lock the DB so that no other updateUserStats runs at the same time. - synchronized(this) { + synchronized (this) { long latestEndTimeMs = this.getLatestEndTimeMs(); List records = TableRecordRepository.instance.getAfter(latestEndTimeMs); for (TableRecord record : records) { @@ -126,9 +126,9 @@ public enum UserStatsRepository { for (ResultProtos.MatchPlayerProto player : match.getPlayersList()) { UserStats userStats = this.getUser(player.getName()); ResultProtos.UserStatsProto proto = - userStats != null - ? userStats.getProto() - : ResultProtos.UserStatsProto.newBuilder().setName(player.getName()).build(); + userStats != null + ? userStats.getProto() + : ResultProtos.UserStatsProto.newBuilder().setName(player.getName()).build(); ResultProtos.UserStatsProto.Builder builder = ResultProtos.UserStatsProto.newBuilder(proto) .setMatches(proto.getMatches() + 1); switch (player.getQuit()) { @@ -370,7 +370,7 @@ public enum UserStatsRepository { public void closeDB() { try { if (dao != null && dao.getConnectionSource() != null) { - DatabaseConnection conn = dao.getConnectionSource().getReadWriteConnection(); + DatabaseConnection conn = dao.getConnectionSource().getReadWriteConnection(dao.getTableName()); conn.executeStatement("shutdown compact", 0); } } catch (SQLException ex) { diff --git a/Mage.Stats/pom.xml b/Mage.Stats/pom.xml index 086ecc8fa59..7c10572d3cf 100644 --- a/Mage.Stats/pom.xml +++ b/Mage.Stats/pom.xml @@ -43,13 +43,13 @@ net.minidev json-smart - 2.1.1 + 2.3 org.aspectj aspectjrt - 1.8.2 + 1.9.2 @@ -62,26 +62,26 @@ org.jboss.resteasy resteasy-jaxrs - 2.3.7.Final + 4.0.0.Beta5 provided ch.qos.logback logback-classic - 1.2.3 + 1.3.0-alpha4 org.apache.sling org.apache.sling.commons.json - 2.0.10 + 2.0.20 org.jboss.resteasy resteasy-multipart-provider - 2.3.1.GA + 4.0.0.Beta8 @@ -93,19 +93,19 @@ commons-httpclient commons-httpclient - 3.1 + 3.1-jbossorg-1 javax.servlet servlet-api - 2.5 + 3.0-alpha-1 joda-time joda-time - 2.7 + 2.10.1 diff --git a/Mage.Tests/pom.xml b/Mage.Tests/pom.xml index 06830c290ef..39abb0fc86f 100644 --- a/Mage.Tests/pom.xml +++ b/Mage.Tests/pom.xml @@ -64,6 +64,17 @@ mage-game-freeforall ${project.version} + + com.sun.xml.bind + jaxb-impl + 2.3.2 + + + + org.glassfish.jaxb + jaxb-runtime + 2.3.2 + diff --git a/Mage/pom.xml b/Mage/pom.xml index 51753a31e31..80815f55ace 100644 --- a/Mage/pom.xml +++ b/Mage/pom.xml @@ -23,13 +23,13 @@ com.h2database h2 - 1.4.187 + 1.4.197 runtime com.j256.ormlite ormlite-jdbc - 4.48 + 5.1 junit @@ -38,7 +38,7 @@ com.google.protobuf protobuf-java - 3.6.0 + 3.7.0-rc1 diff --git a/Mage/src/main/java/mage/cards/repository/CardRepository.java b/Mage/src/main/java/mage/cards/repository/CardRepository.java index 6b1267bc897..8eb0b50093d 100644 --- a/Mage/src/main/java/mage/cards/repository/CardRepository.java +++ b/Mage/src/main/java/mage/cards/repository/CardRepository.java @@ -506,7 +506,7 @@ public enum CardRepository { public void closeDB() { try { if (cardDao != null && cardDao.getConnectionSource() != null) { - DatabaseConnection conn = cardDao.getConnectionSource().getReadWriteConnection(); + DatabaseConnection conn = cardDao.getConnectionSource().getReadWriteConnection(cardDao.getTableName()); conn.executeStatement("shutdown compact", 0); } } catch (SQLException ex) { diff --git a/pom.xml b/pom.xml index bc1f3ad553c..f0a5ddc41c9 100644 --- a/pom.xml +++ b/pom.xml @@ -98,7 +98,7 @@ junit junit - 4.12 + 4.13-beta-2 log4j @@ -108,7 +108,7 @@ org.slf4j slf4j-log4j12 - 1.7.25 + 1.8.0-beta2