From f2c52cfc823486d6bc1c169f3a88b7e7696777a5 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 4 Jul 2016 15:25:46 +1000 Subject: Fixed Obf Class list order --- .../java/cuchaz/enigma/gui/ClassMatchingGui.java | 4 +-- src/main/java/cuchaz/enigma/gui/ClassSelector.java | 30 +++++----------------- .../java/cuchaz/enigma/gui/MemberMatchingGui.java | 2 +- .../java/cuchaz/enigma/gui/panels/PanelDeobf.java | 2 +- .../java/cuchaz/enigma/gui/panels/PanelObf.java | 13 +++++++++- .../java/cuchaz/enigma/mapping/MappingsReader.java | 2 +- 6 files changed, 23 insertions(+), 30 deletions(-) (limited to 'src/main/java/cuchaz') diff --git a/src/main/java/cuchaz/enigma/gui/ClassMatchingGui.java b/src/main/java/cuchaz/enigma/gui/ClassMatchingGui.java index a069bca..e813688 100644 --- a/src/main/java/cuchaz/enigma/gui/ClassMatchingGui.java +++ b/src/main/java/cuchaz/enigma/gui/ClassMatchingGui.java @@ -128,7 +128,7 @@ public class ClassMatchingGui { sourceTypePanel.add(button); } - this.sourceClasses = new ClassSelector(ClassSelector.DeobfuscatedClassEntryComparator); + this.sourceClasses = new ClassSelector(ClassSelector.DEOBF_CLASS_COMPARATOR); this.sourceClasses.setListener(this::setSourceClass); JScrollPane sourceScroller = new JScrollPane(this.sourceClasses); sourcePanel.add(sourceScroller); @@ -144,7 +144,7 @@ public class ClassMatchingGui { destPanel.add(this.top10Matches); this.top10Matches.addActionListener(event -> toggleTop10Matches()); - this.destClasses = new ClassSelector(ClassSelector.DeobfuscatedClassEntryComparator); + this.destClasses = new ClassSelector(ClassSelector.DEOBF_CLASS_COMPARATOR); this.destClasses.setListener(this::setDestClass); JScrollPane destScroller = new JScrollPane(this.destClasses); destPanel.add(destScroller); diff --git a/src/main/java/cuchaz/enigma/gui/ClassSelector.java b/src/main/java/cuchaz/enigma/gui/ClassSelector.java index f6abd51..2ee3b2a 100644 --- a/src/main/java/cuchaz/enigma/gui/ClassSelector.java +++ b/src/main/java/cuchaz/enigma/gui/ClassSelector.java @@ -29,35 +29,17 @@ import cuchaz.enigma.mapping.ClassEntry; public class ClassSelector extends JTree { private static final long serialVersionUID = -7632046902384775977L; + public static final Comparator DEOBF_CLASS_COMPARATOR = (a, b) -> { + if (a instanceof ScoredClassEntry && b instanceof ScoredClassEntry) { + return Float.compare(((ScoredClassEntry) b).getScore(), ((ScoredClassEntry) a).getScore()); + } + return a.getName().compareTo(b.getName()); + }; public interface ClassSelectionListener { void onSelectClass(ClassEntry classEntry); } - public static Comparator ObfuscatedClassEntryComparator; - public static Comparator DeobfuscatedClassEntryComparator; - - static { - ObfuscatedClassEntryComparator = (a, b) -> { - String aname = a.getName(); - String bname = a.getName(); - if (aname.length() != bname.length()) { - return aname.length() - bname.length(); - } - return aname.compareTo(bname); - }; - - DeobfuscatedClassEntryComparator = (a, b) -> { - if (a instanceof ScoredClassEntry && b instanceof ScoredClassEntry) { - return Float.compare( - ((ScoredClassEntry) b).getScore(), - ((ScoredClassEntry) a).getScore() - ); - } - return a.getName().compareTo(b.getName()); - }; - } - private ClassSelectionListener listener; private Comparator comparator; diff --git a/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java b/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java index f083e50..0713ad5 100644 --- a/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java +++ b/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java @@ -129,7 +129,7 @@ public class MemberMatchingGui { sourceTypePanel.add(button); } - m_sourceClasses = new ClassSelector(ClassSelector.DeobfuscatedClassEntryComparator); + m_sourceClasses = new ClassSelector(ClassSelector.DEOBF_CLASS_COMPARATOR); m_sourceClasses.setListener(this::setSourceClass); JScrollPane sourceScroller = new JScrollPane(m_sourceClasses); classesPanel.add(sourceScroller); diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java index d89de36..2cc8b76 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelDeobf.java @@ -17,7 +17,7 @@ public class PanelDeobf extends JPanel { public PanelDeobf(Gui gui) { this.gui = gui; - this.deobfClasses = new ClassSelector(ClassSelector.DeobfuscatedClassEntryComparator); + this.deobfClasses = new ClassSelector(ClassSelector.DEOBF_CLASS_COMPARATOR); this.deobfClasses.setListener(gui::navigateTo); this.setLayout(new BorderLayout()); diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java index 745cb2e..3e0374e 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelObf.java @@ -1,6 +1,7 @@ package cuchaz.enigma.gui.panels; import java.awt.BorderLayout; +import java.util.Comparator; import javax.swing.JLabel; import javax.swing.JPanel; @@ -8,6 +9,7 @@ import javax.swing.JScrollPane; import cuchaz.enigma.gui.ClassSelector; import cuchaz.enigma.gui.Gui; +import cuchaz.enigma.mapping.ClassEntry; public class PanelObf extends JPanel { @@ -17,7 +19,16 @@ public class PanelObf extends JPanel { public PanelObf(Gui gui) { this.gui = gui; - this.obfClasses = new ClassSelector(ClassSelector.ObfuscatedClassEntryComparator); + Comparator obfClassComparator = (a, b) -> { + String aname = a.getName(); + String bname = b.getName(); + if (aname.length() != bname.length()) { + return aname.length() - bname.length(); + } + return aname.compareTo(bname); + }; + + this.obfClasses = new ClassSelector(obfClassComparator); this.obfClasses.setListener(gui::navigateTo); this.setLayout(new BorderLayout()); diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsReader.java b/src/main/java/cuchaz/enigma/mapping/MappingsReader.java index 3b06e92..7aedc5b 100644 --- a/src/main/java/cuchaz/enigma/mapping/MappingsReader.java +++ b/src/main/java/cuchaz/enigma/mapping/MappingsReader.java @@ -34,7 +34,7 @@ public class MappingsReader { File[] fList = in.listFiles(); if (fList != null) { for (File file : fList) { - if (file.isFile()&& Files.getFileExtension(file.getName()).equalsIgnoreCase("json")) { + if (file.isFile() && Files.getFileExtension(file.getName()).equalsIgnoreCase("json")) { readFile(mappings, new BufferedReader(new FileReader(file))); } else if (file.isDirectory()) { readDirectory(mappings, file.getAbsoluteFile()); -- cgit v1.2.3