diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index 4718c150b29..80e259dabd3 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -818,9 +818,6 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { currentConnection.setPassword(password); currentConnection.setHost(server); currentConnection.setPort(port); - // force to redownload db on updates - boolean redownloadDatabase = (ExpansionRepository.instance.getSetByCode("GRN") == null || CardRepository.instance.findCard("Island") == null); - currentConnection.setForceDBComparison(redownloadDatabase); String allMAC = ""; try { allMAC = Connection.getMAC(); diff --git a/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.form b/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.form index 147e9b8c653..69fb8faaffc 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.form +++ b/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.form @@ -34,7 +34,6 @@ - @@ -97,7 +96,7 @@ - + @@ -106,14 +105,12 @@ - - - + - + @@ -180,15 +177,6 @@ - - - - - - - - - @@ -441,6 +429,7 @@ + diff --git a/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java b/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java index 261bedcda23..ed643e1c675 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java @@ -67,7 +67,6 @@ public class ConnectDialog extends MageDialog { this.txtUserName.setText(MagePreferences.getUserName(serverAddress)); this.txtPassword.setText(MagePreferences.getPassword(serverAddress)); this.chkAutoConnect.setSelected(Boolean.parseBoolean(MageFrame.getPreferences().get(KEY_CONNECT_AUTO_CONNECT, "false"))); - this.chkForceUpdateDB.setSelected(false); // has always to be set manually to force comparison String selectedFlag = MageFrame.getPreferences().get(KEY_CONNECT_FLAG, "world"); // set the selected country/flag @@ -223,7 +222,6 @@ public class ConnectDialog extends MageDialog { txtPassword = new javax.swing.JPasswordField(); lblFlag = new javax.swing.JLabel(); chkAutoConnect = new javax.swing.JCheckBox(); - chkForceUpdateDB = new javax.swing.JCheckBox(); jProxySettingsButton = new javax.swing.JButton(); btnConnect = new javax.swing.JButton(); btnCancel = new javax.swing.JButton(); @@ -277,14 +275,6 @@ public class ConnectDialog extends MageDialog { } }); - chkForceUpdateDB.setText("Force update of card database"); - chkForceUpdateDB.setToolTipText("If active the comparison of the server cards database to the client database will be enforced.
If not, the comparison will only done if the database version of the client is lower than the version of the server."); - chkForceUpdateDB.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - chkForceUpdateDBActionPerformed(evt); - } - }); - jProxySettingsButton.setText("Proxy Settings..."); jProxySettingsButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -409,6 +399,7 @@ public class ConnectDialog extends MageDialog { btnFindOther.setText("Other..."); btnFindOther.setToolTipText("Choose server from full servers list"); + btnFindOther.setEnabled(false); btnFindOther.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnFindOther.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -535,7 +526,6 @@ public class ConnectDialog extends MageDialog { .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblStatus, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(chkForceUpdateDB, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(chkAutoConnect, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(txtUserName) .addComponent(panelFlag, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) @@ -585,20 +575,18 @@ public class ConnectDialog extends MageDialog { .addComponent(txtPassword) .addComponent(jLabel1)) .addComponent(lblPassword, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addComponent(filler2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(filler2, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(panelFlag, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblFlag, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(chkAutoConnect) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(chkForceUpdateDB) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jProxySettingsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnWhatsNew, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGap(29, 29, 29) .addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) @@ -654,11 +642,10 @@ public class ConnectDialog extends MageDialog { connection.setPort(Integer.parseInt(this.txtPort.getText().trim())); connection.setUsername(this.txtUserName.getText().trim()); connection.setPassword(String.valueOf(this.txtPassword.getPassword()).trim()); - connection.setForceDBComparison(this.chkForceUpdateDB.isSelected() || RepositoryUtil.isDatabaseEmpty()); String allMAC = ""; try { allMAC = Connection.getMAC(); - } catch (SocketException ex) { + } catch (SocketException ignore) { } connection.setUserIdStr(System.getProperty("user.name") + ":" + System.getProperty("os.name") + ":" + MagePreferences.getUserNames() + ":" + allMAC); MageFrame.getPreferences().put(KEY_CONNECT_FLAG, ((CountryItemEditor) cbFlag.getEditor()).getImageItem()); @@ -749,10 +736,6 @@ public class ConnectDialog extends MageDialog { PreferencesDialog.main(new String[]{PreferencesDialog.OPEN_CONNECTION_TAB}); }//GEN-LAST:event_jProxySettingsButtonActionPerformed - private void chkForceUpdateDBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkForceUpdateDBActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_chkForceUpdateDBActionPerformed - private void txtUserNameActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtUserNameActionPerformed // TODO add your handling code here: }//GEN-LAST:event_txtUserNameActionPerformed @@ -907,7 +890,6 @@ public class ConnectDialog extends MageDialog { private javax.swing.JButton btnWhatsNew; private mage.client.util.gui.countryBox.CountryComboBox cbFlag; private javax.swing.JCheckBox chkAutoConnect; - private javax.swing.JCheckBox chkForceUpdateDB; private javax.swing.Box.Filler filler1; private javax.swing.Box.Filler filler2; private javax.swing.JLabel jLabel1; diff --git a/Mage.Common/src/main/java/mage/interfaces/MageServer.java b/Mage.Common/src/main/java/mage/interfaces/MageServer.java index be020467844..4cd2f64ac32 100644 --- a/Mage.Common/src/main/java/mage/interfaces/MageServer.java +++ b/Mage.Common/src/main/java/mage/interfaces/MageServer.java @@ -44,12 +44,6 @@ public interface MageServer { Object serverGetPromotionMessages(String sessionId) throws MageException; - // sync cards send sets db - @Deprecated // TODO: outdated, no more client/server sync, can be removed? - List syncGetMissingExpansionData(List codes); - @Deprecated // TODO: outdated, no more client/server sync, can be removed? - List syncGetMissingCardsData(List classNames); - ServerState getServerState() throws MageException; // TODO: need stable update process, so rename it after few releases // TODO: miss session diff --git a/Mage.Common/src/main/java/mage/remote/Connection.java b/Mage.Common/src/main/java/mage/remote/Connection.java index 28b60f18611..ac9acfaf1bc 100644 --- a/Mage.Common/src/main/java/mage/remote/Connection.java +++ b/Mage.Common/src/main/java/mage/remote/Connection.java @@ -28,7 +28,6 @@ public class Connection { private String proxyUsername; private String proxyPassword; private int clientCardDatabaseVersion; - private boolean forceDBComparison; private String userIdStr; private int socketWriteTimeout; @@ -261,15 +260,6 @@ public class Connection { return userData; } - @Deprecated // TODO: server side cards do not supports now, so remove outdated code (db sync with server) - public boolean isForceDBComparison() { - return forceDBComparison; - } - - public void setForceDBComparison(boolean forceDBComparison) { - this.forceDBComparison = forceDBComparison; - } - public int getSocketWriteTimeout() { return socketWriteTimeout; } diff --git a/Mage.Common/src/main/java/mage/remote/SessionImpl.java b/Mage.Common/src/main/java/mage/remote/SessionImpl.java index 3443b3d7e48..91ac15a4fb2 100644 --- a/Mage.Common/src/main/java/mage/remote/SessionImpl.java +++ b/Mage.Common/src/main/java/mage/remote/SessionImpl.java @@ -269,7 +269,6 @@ public class SessionImpl implements Session { if (!connection.getUsername().equals("Admin")) { server.connectSetUserData(connection.getUsername(), sessionId, connection.getUserData(), client.getVersion().toString(), connection.getUserIdStr()); - updateDatabase(connection.isForceDBComparison(), serverState); } logger.info("Logging: DONE"); @@ -469,29 +468,6 @@ public class SessionImpl implements Session { } } - private void updateDatabase(boolean forceDBComparison, ServerState serverState) { - // download NEW cards/sets, but do not download data fixes (it's an old and rare feature from old clients, e.g. one client for different servers with different cards) - // use case: server gets new minor version with new cards, old client can get that cards too without donwload new version - - // sets - long expansionDBVersion = ExpansionRepository.instance.getContentVersionFromDB(); - if (forceDBComparison || serverState.getExpansionsContentVersion() > expansionDBVersion) { - List setCodes = ExpansionRepository.instance.getSetCodes(); - List expansions = server.syncGetMissingExpansionData(setCodes); - logger.info("DB: updating sets... Found new: " + expansions.size()); - ExpansionRepository.instance.saveSets(expansions, null, serverState.getExpansionsContentVersion()); - } - - // cards - long cardDBVersion = CardRepository.instance.getContentVersionFromDB(); - if (forceDBComparison || serverState.getCardsContentVersion() > cardDBVersion) { - List classNames = CardRepository.instance.getClassNames(); - List cards = server.syncGetMissingCardsData(classNames); - logger.info("DB: updating cards... Found new: " + cards.size()); - CardRepository.instance.saveCards(cards, serverState.getCardsContentVersion()); - } - } - private void handleCannotConnectException(CannotConnectException ex) { logger.warn("Cannot connect", ex); Throwable t = ex.getCause(); diff --git a/Mage.Server/src/main/java/mage/server/MageServerImpl.java b/Mage.Server/src/main/java/mage/server/MageServerImpl.java index bb39a2c1bcb..0f738646113 100644 --- a/Mage.Server/src/main/java/mage/server/MageServerImpl.java +++ b/Mage.Server/src/main/java/mage/server/MageServerImpl.java @@ -1188,25 +1188,6 @@ public class MageServerImpl implements MageServer { return action.negativeResult(); } - @Override - public List syncGetMissingExpansionData(List codes) { - List result = new ArrayList<>(); - for (ExpansionInfo expansionInfo : ExpansionRepository.instance.getAll()) { - if (!codes.contains(expansionInfo.getCode())) { - result.add(expansionInfo); - } - } - logger.info("Missing exp downloaded: " + result.size()); - return result; - } - - @Override - public List syncGetMissingCardsData(List classNames) { - List res = CardRepository.instance.getMissingCards(classNames); - logger.info("Missing cards downloaded: " + res.size()); - return res; - } - private static class GetPromotionMessagesAction extends ActionWithNullNegativeResult { @Override public Object execute() throws MageException {