mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-07 12:24:58 +10:00
error handling for analyzer
This commit is contained in:
@@ -47,8 +47,9 @@ public interface INetlistAnalyzer {
|
||||
* @param netlists
|
||||
* @param preferredOutput optional, needed only where there's more than one possible output node.
|
||||
* @return
|
||||
* @throws TreeException
|
||||
*/
|
||||
List<Summary> summarize(List<Netlist> netlists, Node preferredOutput);
|
||||
List<Summary> summarize(List<Netlist> netlists, Node preferredOutput) throws TreeException;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -159,7 +159,7 @@ public class NetlistAnalyzer {
|
||||
boolean canMerge = true;
|
||||
unique = pathsToMerge.get(0).getChildren().get(backward ? i : pathsToMerge.get(0).getChildren().size() - i - 1);
|
||||
for (Tree t : pathsToMerge) {
|
||||
if (t.getChildren().size() <= i || !t.getChildren().get(backward ? 0 : pathsToMerge.get(0).getChildren().size() - 1).equals(unique)) {
|
||||
if (t.getChildren().size() <= i || !t.getChildren().get(backward ? 0 : t.getChildren().size() - 1).equals(unique)) {
|
||||
canMerge = false;
|
||||
break;
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -65,7 +65,7 @@ public class GuitarDiagramAnalyzer extends NetlistAnalyzer implements INetlistAn
|
||||
return "Guitar";
|
||||
}
|
||||
|
||||
public List<Summary> summarize(List<Netlist> netlists, Node preferredOutput) {
|
||||
public List<Summary> summarize(List<Netlist> netlists, Node preferredOutput) throws TreeException {
|
||||
List<Summary> summaries = new ArrayList<Summary>();
|
||||
for (Netlist n : netlists)
|
||||
summaries.add(summarize(n, preferredOutput));
|
||||
@@ -73,7 +73,7 @@ public class GuitarDiagramAnalyzer extends NetlistAnalyzer implements INetlistAn
|
||||
return summaries;
|
||||
}
|
||||
|
||||
private Summary summarize(Netlist netlist, Node preferredOutput) {
|
||||
private Summary summarize(Netlist netlist, Node preferredOutput) throws TreeException {
|
||||
List<String> notes = new ArrayList<String>();
|
||||
List<Group> jackTipGroups = findGroups(JACK_TYPES, "Tip", netlist);
|
||||
List<Group> jackSleeveGroups = findGroups(JACK_TYPES, "Sleeve", netlist);
|
||||
@@ -96,13 +96,8 @@ public class GuitarDiagramAnalyzer extends NetlistAnalyzer implements INetlistAn
|
||||
// }
|
||||
// }
|
||||
|
||||
try {
|
||||
return new Summary(netlist, notes, constructTree(netlist));
|
||||
} catch (TreeException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
|
||||
return new Summary(netlist, notes, constructTree(netlist));
|
||||
}
|
||||
|
||||
private Netlist findAndEliminatePots(Netlist netlist, Group jackTipGroup, Group jackSleeveGroup, List<String> notes) {
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1707,7 +1707,14 @@ public class ActionFactory {
|
||||
return;
|
||||
}
|
||||
|
||||
List<Summary> res = summarizer.summarize(netlists, null);
|
||||
List<Summary> res = null;
|
||||
try {
|
||||
res = summarizer.summarize(netlists, null);
|
||||
} catch (Exception ex) {
|
||||
swingUI.showMessage(ex.getMessage(), "Analyze " + summarizer.getName(), ISwingUI.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (res == null) {
|
||||
swingUI.showMessage("The generated summary is empty, nothing to show.", "Analyze " + summarizer.getName(), ISwingUI.INFORMATION_MESSAGE);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user