Skip to content

Commit

Permalink
Where used changes
Browse files Browse the repository at this point in the history
  • Loading branch information
dsand47 committed Apr 14, 2021
1 parent 317d333 commit 6986b09
Show file tree
Hide file tree
Showing 15 changed files with 74 additions and 13 deletions.
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/BlockWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find Block references.
Expand All @@ -19,14 +20,15 @@ public class BlockWhereUsed {
static public JTextArea getWhereUsed(NamedBean block) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameBlock")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, block.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, block.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", block.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLayoutBlocks(block));
textArea.append(WhereUsedCollectors.checkSignalMastLogic(block));
textArea.append(WhereUsedCollectors.checkSections(block));
textArea.append(WhereUsedCollectors.checkPanels(block));
textArea.append(WhereUsedCollectors.checkCTC(block));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(block));
return textArea;
}
}
5 changes: 5 additions & 0 deletions java/src/jmri/jmrit/whereused/Bundle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ ReferenceHeadSSL = Signal head SSL references
ReferenceMastSML = Signal mast SML references
ReferenceSignalGroup = Signal Group references
ReferenceConditionals = Logix Conditional references
ReferenceNGConditionals = LogixNG Conditional references
ReferenceSections = Section references
ReferenceTransits = Transit references
ReferencePanels = Panel references
Expand All @@ -39,6 +40,7 @@ ReferenceLinePair = \n\t\t{0} -> {1}\t
ReferenceLineShort = \n\t\t{0}\t
ReferenceLineAction = \n\t\t{0}, action for \"{1}\" section\t
ReferenceLineConditional = \n\t\t{0}, {1}, {2}: {3}\t
ReferenceLineModule = \n\t\t{0}, {1}: {2}\t

# Save to file
SaveFileName = {0} Where Used.txt
Expand All @@ -55,3 +57,6 @@ DestMast = Destination
ConditionalVariable = antecedent
ConditionalVariableData = antecedent
ConditionalAction = action

ConditionalNGAction = action
ConditionalNGExpression = expression
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/EntryExitWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find entry/exit references.
Expand All @@ -19,10 +20,11 @@ public class EntryExitWhereUsed {
static public JTextArea getWhereUsed(NamedBean entryexit) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameEntryExit")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, entryexit.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, entryexit.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", entryexit.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLogixConditionals(entryexit));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(entryexit));
textArea.append(WhereUsedCollectors.checkEntryExit(entryexit));
return textArea;
}
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/LightWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find light references.
Expand All @@ -19,10 +20,11 @@ public class LightWhereUsed {
static public JTextArea getWhereUsed(NamedBean light) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameLight")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, light.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, light.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", light.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLogixConditionals(light));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(light));
textArea.append(WhereUsedCollectors.checkPanels(light));
return textArea;
}
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/MemoryWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find memory references.
Expand All @@ -19,11 +20,12 @@ public class MemoryWhereUsed {
static public JTextArea getWhereUsed(NamedBean memory) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameMemory")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, memory.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, memory.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", memory.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLayoutBlocks(memory));
textArea.append(WhereUsedCollectors.checkLogixConditionals(memory));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(memory));
textArea.append(WhereUsedCollectors.checkPanels(memory));
return textArea;
}
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/OBlockWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find OBlock references.
Expand All @@ -19,10 +20,11 @@ public class OBlockWhereUsed {
static public JTextArea getWhereUsed(NamedBean oblock) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameOBlock")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, oblock.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, oblock.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", oblock.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLogixConditionals(oblock));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(oblock));
textArea.append(WhereUsedCollectors.checkOBlocks(oblock));
textArea.append(WhereUsedCollectors.checkWarrants(oblock));
textArea.append(WhereUsedCollectors.checkPanels(oblock));
Expand Down
3 changes: 2 additions & 1 deletion java/src/jmri/jmrit/whereused/ReporterWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find Reporter references.
Expand All @@ -19,7 +20,7 @@ public class ReporterWhereUsed {
static public JTextArea getWhereUsed(NamedBean reporter) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameReporter")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, reporter.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, reporter.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", reporter.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkBlocks(reporter));
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/RouteWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find Route references.
Expand All @@ -19,10 +20,11 @@ public class RouteWhereUsed {
static public JTextArea getWhereUsed(NamedBean route) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameRoute")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, route.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, route.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", route.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLogixConditionals(route));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(route));
return textArea;
}
}
3 changes: 2 additions & 1 deletion java/src/jmri/jmrit/whereused/SectionWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find Section references.
Expand All @@ -19,7 +20,7 @@ public class SectionWhereUsed {
static public JTextArea getWhereUsed(NamedBean section) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameSection")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, section.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, section.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", section.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkTransits(section));
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/SensorWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find sensor references.
Expand All @@ -18,7 +19,7 @@ public class SensorWhereUsed {
static public JTextArea getWhereUsed(NamedBean sensor) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameSensor")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, sensor.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, sensor.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", sensor.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkTurnouts(sensor));
Expand All @@ -32,6 +33,7 @@ static public JTextArea getWhereUsed(NamedBean sensor) {
textArea.append(WhereUsedCollectors.checkOBlocks(sensor));
textArea.append(WhereUsedCollectors.checkEntryExit(sensor));
textArea.append(WhereUsedCollectors.checkLogixConditionals(sensor));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(sensor));
textArea.append(WhereUsedCollectors.checkSections(sensor));
textArea.append(WhereUsedCollectors.checkTransits(sensor));
textArea.append(WhereUsedCollectors.checkPanels(sensor));
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/SignalHeadWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find signal head references.
Expand All @@ -19,7 +20,7 @@ public class SignalHeadWhereUsed {
static public JTextArea getWhereUsed(NamedBean signalHead) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameSignalHead")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, signalHead.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, signalHead.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", signalHead.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkSignalHeadLogic(signalHead));
Expand All @@ -28,6 +29,7 @@ static public JTextArea getWhereUsed(NamedBean signalHead) {
textArea.append(WhereUsedCollectors.checkWarrants(signalHead));
textArea.append(WhereUsedCollectors.checkEntryExit(signalHead));
textArea.append(WhereUsedCollectors.checkLogixConditionals(signalHead));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(signalHead));
textArea.append(WhereUsedCollectors.checkPanels(signalHead));
textArea.append(WhereUsedCollectors.checkCTC(signalHead));
return textArea;
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/SignalMastWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find signal mast references.
Expand All @@ -19,7 +20,7 @@ public class SignalMastWhereUsed {
static public JTextArea getWhereUsed(NamedBean signalMast) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameSignalMast")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, signalMast.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, signalMast.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", signalMast.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkSignalMastLogic(signalMast));
Expand All @@ -28,6 +29,7 @@ static public JTextArea getWhereUsed(NamedBean signalMast) {
textArea.append(WhereUsedCollectors.checkWarrants(signalMast));
textArea.append(WhereUsedCollectors.checkEntryExit(signalMast));
textArea.append(WhereUsedCollectors.checkLogixConditionals(signalMast));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(signalMast));
textArea.append(WhereUsedCollectors.checkPanels(signalMast));
textArea.append(WhereUsedCollectors.checkCTC(signalMast));
return textArea;
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/TurnoutWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find turnout references.
Expand All @@ -19,7 +20,7 @@ public class TurnoutWhereUsed {
static public JTextArea getWhereUsed(NamedBean turnout) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameTurnout")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, turnout.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, turnout.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", turnout.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLights(turnout));
Expand All @@ -30,6 +31,7 @@ static public JTextArea getWhereUsed(NamedBean turnout) {
textArea.append(WhereUsedCollectors.checkSignalGroups(turnout));
textArea.append(WhereUsedCollectors.checkOBlocks(turnout));
textArea.append(WhereUsedCollectors.checkLogixConditionals(turnout));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(turnout));
textArea.append(WhereUsedCollectors.checkPanels(turnout));
textArea.append(WhereUsedCollectors.checkCTC(turnout));
return textArea;
Expand Down
4 changes: 3 additions & 1 deletion java/src/jmri/jmrit/whereused/WarrantWhereUsed.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JTextArea;
import jmri.NamedBean;
import jmri.NamedBean.DisplayOptions;

/**
* Find Warrant references.
Expand All @@ -19,10 +20,11 @@ public class WarrantWhereUsed {
static public JTextArea getWhereUsed(NamedBean warrant) {
JTextArea textArea = new JTextArea();
String label = Bundle.getMessage("MakeLabel", Bundle.getMessage("BeanNameWarrant")); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, warrant.getDisplayName())); // NOI18N
textArea.append(Bundle.getMessage("ReferenceTitle", label, warrant.getDisplayName(DisplayOptions.USERNAME_SYSTEMNAME))); // NOI18N
textArea.append(Bundle.getMessage("ListenerCount", warrant.getNumPropertyChangeListeners())); // NOI18N

textArea.append(WhereUsedCollectors.checkLogixConditionals(warrant));
textArea.append(WhereUsedCollectors.checkLogixNGConditionals(warrant));
textArea.append(WhereUsedCollectors.checkOBlocks(warrant));
textArea.append(WhereUsedCollectors.checkWarrants(warrant));
return textArea;
Expand Down
32 changes: 32 additions & 0 deletions java/src/jmri/jmrit/whereused/WhereUsedCollectors.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
import jmri.jmrit.entryexit.EntryExitPairs;
import jmri.jmrit.logix.OBlockManager;
import jmri.jmrit.logix.WarrantManager;
import jmri.jmrit.logixng.LogixNG_Manager;
import jmri.jmrit.logixng.ModuleManager;
import jmri.jmrit.display.layoutEditor.LayoutBlockManager;
/**
* Find references. Each collector method calls a corresponding getUsageReport(NamedBean)
Expand All @@ -33,6 +35,7 @@
* <li>checkWarrants</li>
* <li>checkEntryExit</li>
* <li>checkLogixConditionals</li>
* <li>checkLogixNGConditionals</li>
* <li>checkSections</li>
* <li>checkTransits</li>
* <li>checkPanels</li>
Expand Down Expand Up @@ -351,6 +354,35 @@ static String checkLogixConditionals(NamedBean bean) {
return addHeader(sb, "ReferenceConditionals"); // NOI18N
}

/**
* Create the LogixNG/ConditionalNG usage string.
* Usage keys:
* <ul>
* <li>ConditionalNGAction</li>
* <li>ConditionalNGExpression</li>
* <li>ConditionalNGVariableData (future?)</li>
* </ul>
* @param bean The requesting bean: Many.
* @return usage string
*/
static String checkLogixNGConditionals(NamedBean bean) {
StringBuilder sb = new StringBuilder();
InstanceManager.getDefault(LogixNG_Manager.class).getNamedBeanSet().forEach((logixng) -> logixng.getUsageReport(bean).forEach((report) -> {
if (report.usageKey.startsWith("ConditionalNGExpression") || report.usageKey.startsWith("ConditionalNGAction")) { // NOI18N
String name = logixng.getDisplayName(NamedBean.DisplayOptions.USERNAME_SYSTEMNAME);
String cdlName = report.usageBean != null ? report.usageBean.getDisplayName() : "";
sb.append(Bundle.getMessage("ReferenceLineConditional", name, cdlName, Bundle.getMessage(report.usageKey), report.usageData)); // NOI18N
}
}));
InstanceManager.getDefault(ModuleManager.class).getNamedBeanSet().forEach((module) -> module.getUsageReport(bean).forEach((report) -> {
if (report.usageKey.startsWith("ConditionalNGExpression") || report.usageKey.startsWith("ConditionalNGAction")) { // NOI18N
String name = module.getDisplayName(NamedBean.DisplayOptions.USERNAME_SYSTEMNAME);
sb.append(Bundle.getMessage("ReferenceLineModule", name, Bundle.getMessage(report.usageKey), report.usageData)); // NOI18N
}
}));
return addHeader(sb, "ReferenceNGConditionals"); // NOI18N
}

/**
* Create the Section usage string.
* Usage keys:
Expand Down

0 comments on commit 6986b09

Please sign in to comment.