From 57020ed3b3762e074b619c4767173890a8565d23 Mon Sep 17 00:00:00 2001 From: myk Date: Mon, 11 Mar 2013 19:51:06 +0000 Subject: [PATCH] simplify the data structure by using a map instead of a set of pairs (that was backed by a map anyway) --- .../java/forge/gui/DialogMigrateProfile.java | 60 +++++++++---------- .../forge/gui/MigrationSourceAnalyzer.java | 11 ++-- 2 files changed, 32 insertions(+), 39 deletions(-) diff --git a/src/main/java/forge/gui/DialogMigrateProfile.java b/src/main/java/forge/gui/DialogMigrateProfile.java index 0fe4e545ea3..7b5fe676096 100644 --- a/src/main/java/forge/gui/DialogMigrateProfile.java +++ b/src/main/java/forge/gui/DialogMigrateProfile.java @@ -24,12 +24,8 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel; -import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; @@ -179,8 +175,8 @@ public class DialogMigrateProfile { } private class _AnalyzerUpdater extends SwingWorker { - private final Map>>> _selections = - new HashMap>>>(); + private final Map>> _selections = + new HashMap>>(); ChangeListener _stateChangedListener = new ChangeListener() { @Override public void stateChanged(ChangeEvent arg0) { _updateUI(); } @@ -268,7 +264,7 @@ public class DialogMigrateProfile { cb.setSelected(true); cb.setEnabled(!forced); cb.addChangeListener(_stateChangedListener); - _selections.put(type, Pair.of(cb, Collections.newSetFromMap(new ConcurrentHashMap, Boolean>()))); + _selections.put(type, Pair.of(cb, new ConcurrentHashMap())); parent.add(cb); } @@ -277,9 +273,9 @@ public class DialogMigrateProfile { // set operation summary StringBuilder log = new StringBuilder(); int totalOps = 0; - for (Pair>> selection : _selections.values()) { - FCheckBox cb = selection.getLeft(); - Set> ops = selection.getRight(); + for (Pair> selection : _selections.values()) { + FCheckBox cb = selection.getLeft(); + Map ops = selection.getRight(); if (cb.isSelected()) { totalOps += ops.size(); @@ -290,17 +286,17 @@ public class DialogMigrateProfile { } log.append(_moveCheckbox.isSelected() ? "Moving" : "Copying"); log.append(" ").append(totalOps).append(" files\n\n"); - for (Map.Entry>>> entry : _selections.entrySet()) { - Pair>> selection = entry.getValue(); + for (Map.Entry>> entry : _selections.entrySet()) { + Pair> selection = entry.getValue(); if (selection.getLeft().isSelected()) { - for (Pair op : selection.getRight()) { - File dest = op.getRight(); + for (Map.Entry op : selection.getRight().entrySet()) { + File dest = op.getValue(); if (OpType.UNKNOWN_DECK == entry.getKey()) { _UnknownDeckChoice choice = (_UnknownDeckChoice)_unknownDeckCombo.getSelectedItem(); dest = new File(choice.path, dest.getName()); } log.append(String.format("%s -> %s\n", - op.getLeft().getAbsolutePath(), dest.getAbsolutePath())); + op.getKey().getAbsolutePath(), dest.getAbsolutePath())); } } } @@ -310,7 +306,7 @@ public class DialogMigrateProfile { } private void _disableAll() { - for (Pair>> selection : _selections.values()) { + for (Pair> selection : _selections.values()) { selection.getLeft().setEnabled(false); } _unknownDeckCombo.setEnabled(false); @@ -319,8 +315,8 @@ public class DialogMigrateProfile { @Override protected Void doInBackground() throws Exception { - Map>> selections = new HashMap>>(); - for (Map.Entry>>> entry : _selections.entrySet()) { + Map> selections = new HashMap>(); + for (Map.Entry>> entry : _selections.entrySet()) { selections.put(entry.getKey(), entry.getValue().getRight()); } @@ -381,40 +377,40 @@ public class DialogMigrateProfile { } private class _Importer extends SwingWorker { - private final List> _operations; + private final Map _operations; private final FTextArea _operationLog; private final JProgressBar _progressBar; private final boolean _move; - public _Importer(Map>>> selections, JComboBox unknownDeckCombo, + public _Importer(Map>> selections, JComboBox unknownDeckCombo, FTextArea operationLog, JProgressBar progressBar, boolean move) { _operationLog = operationLog; _progressBar = progressBar; _move = move; int totalOps = 0; - for (Pair>> selection : selections.values()) { + for (Pair> selection : selections.values()) { if (selection.getLeft().isSelected()) { totalOps += selection.getRight().size(); } } - _operations = new ArrayList>(totalOps); - for (Map.Entry>>> entry : selections.entrySet()) { - Pair>> selection = entry.getValue(); + _operations = new HashMap(totalOps); + for (Map.Entry>> entry : selections.entrySet()) { + Pair> selection = entry.getValue(); if (selection.getLeft().isSelected()) { if (OpType.UNKNOWN_DECK != entry.getKey()) { - _operations.addAll(selection.getRight()); + _operations.putAll(selection.getRight()); } else { - for (Pair op : selection.getRight()) { + for (Map.Entry op : selection.getRight().entrySet()) { _UnknownDeckChoice choice = (_UnknownDeckChoice)unknownDeckCombo.getSelectedItem(); - _operations.add(Pair.of(op.getLeft(), new File(choice.path, op.getRight().getName()))); + _operations.put(op.getKey(), new File(choice.path, op.getValue().getName())); } } } } - for (Pair>> selection : selections.values()) { + for (Pair> selection : selections.values()) { if (selection.getLeft().isSelected()) { - _operations.addAll(selection.getRight()); + _operations.putAll(selection.getRight()); } } @@ -432,14 +428,14 @@ public class DialogMigrateProfile { // assumes all destination directories have been created int numOps = 0; - for (Pair op : _operations) { + for (Map.Entry op : _operations.entrySet()) { final int curOpNum = ++numOps; SwingUtilities.invokeLater(new Runnable() { @Override public void run() { _progressBar.setValue(curOpNum); } }); - File srcFile = op.getLeft(); - File destFile = op.getRight(); + File srcFile = op.getKey(); + File destFile = op.getValue(); try { _copyFile(srcFile, destFile); diff --git a/src/main/java/forge/gui/MigrationSourceAnalyzer.java b/src/main/java/forge/gui/MigrationSourceAnalyzer.java index 5866c7d2031..bf0150e649a 100644 --- a/src/main/java/forge/gui/MigrationSourceAnalyzer.java +++ b/src/main/java/forge/gui/MigrationSourceAnalyzer.java @@ -19,11 +19,8 @@ package forge.gui; import java.io.File; import java.util.Map; -import java.util.Set; import java.util.concurrent.Callable; -import org.apache.commons.lang3.tuple.Pair; - public class MigrationSourceAnalyzer { public static enum OpType { CONSTRUCTED_DECK, @@ -37,14 +34,14 @@ public class MigrationSourceAnalyzer { PREFERENCE_FILE } - private final String _source; - private final Map>> _opDb; - private final Callable _checkCancel; + private final String _source; + private final Map> _opDb; + private final Callable _checkCancel; private int _numFilesToAnalyze; private int _numFilesAnalyzed; - public MigrationSourceAnalyzer(String source, Map>> opDb, Callable checkCancel) { + public MigrationSourceAnalyzer(String source, Map> opDb, Callable checkCancel) { _source = source; _opDb = opDb; _checkCancel = checkCancel;