diff --git a/java/src/jmri/Manager.java b/java/src/jmri/Manager.java index 1dadc1575a5..3049f1c0819 100644 --- a/java/src/jmri/Manager.java +++ b/java/src/jmri/Manager.java @@ -319,7 +319,6 @@ public default String validateIntegerSystemNameFormat(@Nonnull String name, int return name; } - /** * Convenience implementation of * {@link #validateSystemNameFormat(java.lang.String, java.util.Locale)} diff --git a/java/src/jmri/NamedBeanHandleManager.java b/java/src/jmri/NamedBeanHandleManager.java index a59b0bb962c..0bc656ec4c8 100644 --- a/java/src/jmri/NamedBeanHandleManager.java +++ b/java/src/jmri/NamedBeanHandleManager.java @@ -208,8 +208,9 @@ public char typeLetter() { } @Override + @Nonnull @CheckReturnValue - public String makeSystemName(String s) { + public String makeSystemName(@Nonnull String s) { throw new UnsupportedOperationException("Not supported yet."); } @@ -244,7 +245,7 @@ protected void firePropertyChange(String p, Object old, Object n) { } @Override - public void register(NamedBean n) { + public void register(@Nonnull NamedBean n) { throw new UnsupportedOperationException("Not supported yet."); } @@ -260,10 +261,12 @@ public int getXMLOrder() { } @Override + @Nonnull @CheckReturnValue public String getBeanTypeHandled(boolean plural) { return Bundle.getMessage(plural ? "BeanNames" : "BeanName"); } private final static Logger log = LoggerFactory.getLogger(NamedBeanHandleManager.class); + } diff --git a/java/src/jmri/configurexml/BlockManagerXml.java b/java/src/jmri/configurexml/BlockManagerXml.java index d2081e60504..145946273e9 100644 --- a/java/src/jmri/configurexml/BlockManagerXml.java +++ b/java/src/jmri/configurexml/BlockManagerXml.java @@ -85,10 +85,6 @@ public Element store(Object o) { if (true) { // write out first set of blocks without contents for (Block b : blkList) { - if (b == null) { - log.error("Block null during store1, skipped"); - break; - } try { String bName = b.getSystemName(); Element elem = new Element("block"); @@ -115,10 +111,6 @@ public Element store(Object o) { // write out with contents for (Block b : blkList) { - if (b == null) { - log.error("Block null during store2, skipped"); - break; - } String bName = b.getSystemName(); String uName = b.getUserName(); if (uName == null) { @@ -183,7 +175,7 @@ public Element store(Object o) { return blocks; } - void addPath(Element e, Path p) { + private void addPath(Element e, Path p) { // for now, persist two directions and a bean setting Element pe = new Element("path"); pe.setAttribute("todir", "" + p.getToBlockDirection()); @@ -193,14 +185,14 @@ void addPath(Element e, Path p) { } List l = p.getSettings(); if (l != null) { - for (int i = 0; i < l.size(); i++) { - addBeanSetting(pe, l.get(i)); + for (BeanSetting bSet : l) { + addBeanSetting(pe, bSet); } } e.addContent(pe); } - void addBeanSetting(Element e, BeanSetting bs) { + private void addBeanSetting(Element e, BeanSetting bs) { // persist bean name, type and value Element bse = new Element("beansetting"); // for now, assume turnout diff --git a/java/src/jmri/configurexml/TransitManagerXml.java b/java/src/jmri/configurexml/TransitManagerXml.java index 24af635323b..a4fb7710606 100644 --- a/java/src/jmri/configurexml/TransitManagerXml.java +++ b/java/src/jmri/configurexml/TransitManagerXml.java @@ -31,7 +31,6 @@ public TransitManagerXml() { * @return Element containing the complete info */ @Override - @SuppressWarnings("deprecation") // needs careful unwinding for Set operations public Element store(Object o) { Element transits = new Element("transits"); setStoreElementClass(transits); @@ -45,10 +44,6 @@ public Element store(Object o) { // store the Transit for (Transit transit : tstList) { - if (transit == null) { - log.error("Transit null during store, skipped"); - break; - } String tstName = transit.getSystemName(); log.debug("Transit system name is {}", tstName); diff --git a/java/src/jmri/jmrix/dcc4pc/Dcc4PcSensorManager.java b/java/src/jmri/jmrix/dcc4pc/Dcc4PcSensorManager.java index 83fd7510091..accb6fe978b 100644 --- a/java/src/jmri/jmrix/dcc4pc/Dcc4PcSensorManager.java +++ b/java/src/jmri/jmrix/dcc4pc/Dcc4PcSensorManager.java @@ -13,6 +13,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; + /** * Implement SensorManager for Dcc4Pc systems. The Manager handles all the state * changes. @@ -49,7 +51,7 @@ public boolean execute() { Dcc4PcTrafficController tc; @Override - public Dcc4PcSensor getSensor(String name) { + public Dcc4PcSensor getSensor(@Nonnull String name) { return (Dcc4PcSensor) super.getSensor(name); } @@ -58,6 +60,7 @@ public Dcc4PcSensor getSensor(String name) { * {@inheritDoc} */ @Override + @Nonnull public Dcc4PcSystemConnectionMemo getMemo() { return (Dcc4PcSystemConnectionMemo) memo; } @@ -91,13 +94,14 @@ void extractBoardID(String systemName) { } @Override - public boolean allowMultipleAdditions(String systemName) { + public boolean allowMultipleAdditions(@Nonnull String systemName) { return true; } //we want the system name to be in the format of board:input @Override - public String createSystemName(String curAddress, String prefix) throws JmriException { + @Nonnull + public String createSystemName(String curAddress, @Nonnull String prefix) throws JmriException { String iName; if (curAddress.contains(":")) { board = 0; diff --git a/java/src/jmri/jmrix/roco/z21/Z21SensorManager.java b/java/src/jmri/jmrix/roco/z21/Z21SensorManager.java index ab1591985c6..e54cb3b8506 100644 --- a/java/src/jmri/jmrix/roco/z21/Z21SensorManager.java +++ b/java/src/jmri/jmrix/roco/z21/Z21SensorManager.java @@ -8,6 +8,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; + /** * Manage the Z21Specific Sensor implementation. *

@@ -43,6 +45,7 @@ public Z21SensorManager(Z21SystemConnectionMemo memo) { * {@inheritDoc} */ @Override + @Nonnull public Z21SystemConnectionMemo getMemo() { return (Z21SystemConnectionMemo) memo; } @@ -135,7 +138,8 @@ public void message(Z21Message l) { * {@inheritDoc} */ @Override - public String validateSystemNameFormat(String name, Locale locale) { + @Nonnull + public String validateSystemNameFormat(@Nonnull String name, @Nonnull Locale locale) { name = validateSystemNamePrefix(name, locale); if (name.substring(getSystemNamePrefix().length()).contains(":")) { return Z21CanBusAddress.validateSystemNameFormat(name, this, locale); @@ -155,12 +159,13 @@ public NameValidity validSystemNameFormat(String systemName) { } @Override - public boolean allowMultipleAdditions(String systemName) { + public boolean allowMultipleAdditions(@Nonnull String systemName) { return true; } @Override - public synchronized String createSystemName(String curAddress, String prefix) throws JmriException { + @Nonnull + public synchronized String createSystemName(String curAddress, @Nonnull String prefix) throws JmriException { int encoderAddress = 0; int input = 0; @@ -200,7 +205,7 @@ public synchronized String createSystemName(String curAddress, String prefix) th * Does not enforce any rules on the encoder or input values. */ @Override - public synchronized String getNextValidAddress(String curAddress, String prefix) { + public synchronized String getNextValidAddress(@Nonnull String curAddress, @Nonnull String prefix) { String tmpSName = ""; @@ -234,7 +239,7 @@ public synchronized String getNextValidAddress(String curAddress, String prefix) * {@inheritDoc} */ @Override - public Sensor getBySystemName(String sName){ + public Sensor getBySystemName(@Nonnull String sName){ Z21SystemNameComparator comparator = new Z21SystemNameComparator(getSystemPrefix(),typeLetter()); return getBySystemName(sName,comparator); } diff --git a/java/src/jmri/managers/AbstractManager.java b/java/src/jmri/managers/AbstractManager.java index 785cee27ff2..897f5448dec 100644 --- a/java/src/jmri/managers/AbstractManager.java +++ b/java/src/jmri/managers/AbstractManager.java @@ -47,7 +47,7 @@ abstract public class AbstractManager implements Manager // The data model consists of several components: // * The primary reference is _beans, a SortedSet of NamedBeans, sorted automatically on system name. // Currently that's implemented as a TreeSet; further performance work might change that - // Live access is available as a unmodifiableSortedSet via getNamedBeanSet() + // Live access is available as an unmodifiableSortedSet via getNamedBeanSet() // * The manager also maintains synchronized maps from SystemName -> NamedBean (_tsys) and UserName -> NamedBean (_tuser) // These are not made available: get access through the manager calls // These use regular HashMaps instead of some sorted form for efficiency @@ -73,6 +73,7 @@ protected void registerSelf() { /** {@inheritDoc} */ @Override + @Nonnull public SystemConnectionMemo getMemo() { return memo; } @@ -110,7 +111,7 @@ public void dispose() { protected final SystemConnectionMemo memo; protected TreeSet _beans = new TreeSet<>(new jmri.util.NamedBeanComparator<>()); protected Hashtable _tsys = new Hashtable<>(); // stores known E (NamedBean, i.e. Turnout) instances by system name - protected Hashtable _tuser = new Hashtable<>(); // stores known E (NamedBean, i.e. Turnout) instances by user name + protected Hashtable _tuser = new Hashtable<>(); // stores known E (NamedBean, i.e. Turnout) instances by user name // caches private String[] cachedSystemNameArray = null; @@ -147,7 +148,7 @@ protected E getInstanceByUserName(String userName) { /** {@inheritDoc} */ @Override - public E getBeanBySystemName(String systemName) { + public E getBeanBySystemName(@Nonnull String systemName) { return _tsys.get(systemName); } @@ -170,14 +171,14 @@ protected E getBySystemName(String systemName,Comparator comparator){ /** {@inheritDoc} */ @Override - public E getBeanByUserName(String userName) { + public E getBeanByUserName(@Nonnull String userName) { String normalizedUserName = NamedBean.normalizeUserName(userName); return normalizedUserName != null ? _tuser.get(normalizedUserName) : null; } /** {@inheritDoc} */ @Override - public E getNamedBean(String name) { + public E getNamedBean(@Nonnull String name) { String normalizedUserName = NamedBean.normalizeUserName(name); if (normalizedUserName != null) { E b = getBeanByUserName(normalizedUserName); @@ -206,7 +207,7 @@ public void deleteBean(@Nonnull E bean, @Nonnull String property) throws Propert /** {@inheritDoc} */ @Override @OverridingMethodsMustInvokeSuper - public void register(E s) { + public void register(@Nonnull E s) { String systemName = s.getSystemName(); E existingBean = getBeanBySystemName(systemName); @@ -260,9 +261,10 @@ public void register(E s) { // not efficient, but does job for now private int getPosition(E s) { int position = 0; - Iterator iter = _beans.iterator(); - while (iter.hasNext()) { - if (s == iter.next()) return position; + for (E bean : _beans) { + if (s == bean) { + return position; + } position++; } return -1; @@ -339,6 +341,7 @@ public void deregister(E s) { * @return empty list */ @Override + @Nonnull public List> getKnownBeanProperties() { return new LinkedList<>(); } @@ -388,6 +391,7 @@ public void propertyChange(PropertyChangeEvent e) { /** {@inheritDoc} */ @Override + @Nonnull @Deprecated // will be removed when superclass method is removed due to @Override public String[] getSystemNameArray() { jmri.util.Log4JUtil.deprecationWarning(log, "getSystemNameArray"); @@ -401,6 +405,7 @@ public String[] getSystemNameArray() { /** {@inheritDoc} */ @Override + @Nonnull @Deprecated // will be removed when superclass method is removed due to @Override public List getSystemNameList() { // jmri.util.Log4JUtil.deprecationWarning(log, "getSystemNameList"); @@ -415,6 +420,7 @@ public List getSystemNameList() { /** {@inheritDoc} */ @Override + @Nonnull @Deprecated // will be removed when superclass method is removed due to @Override public List getNamedBeanList() { jmri.util.Log4JUtil.deprecationWarning(log, "getNamedBeanList"); @@ -426,15 +432,17 @@ public List getNamedBeanList() { /** {@inheritDoc} */ @Override + @Nonnull public SortedSet getNamedBeanSet() { return Collections.unmodifiableSortedSet(_beans); } /** {@inheritDoc} */ @Override + @Nonnull abstract public String getBeanTypeHandled(boolean plural); - PropertyChangeSupport pcs = new PropertyChangeSupport(this); + private PropertyChangeSupport pcs = new PropertyChangeSupport(this); /** {@inheritDoc} */ @Override @@ -459,6 +467,7 @@ public void addPropertyChangeListener(String propertyName, PropertyChangeListene /** {@inheritDoc} */ @Override + @Nonnull @OverridingMethodsMustInvokeSuper public PropertyChangeListener[] getPropertyChangeListeners() { return pcs.getPropertyChangeListeners(); @@ -466,6 +475,7 @@ public PropertyChangeListener[] getPropertyChangeListeners() { /** {@inheritDoc} */ @Override + @Nonnull @OverridingMethodsMustInvokeSuper public PropertyChangeListener[] getPropertyChangeListeners(String propertyName) { return pcs.getPropertyChangeListeners(propertyName); @@ -488,7 +498,7 @@ protected void fireIndexedPropertyChange(String propertyName, int index, Object pcs.fireIndexedPropertyChange(propertyName, index, oldValue, newValue); } - VetoableChangeSupport vcs = new VetoableChangeSupport(this); + private VetoableChangeSupport vcs = new VetoableChangeSupport(this); /** {@inheritDoc} */ @Override @@ -513,6 +523,7 @@ public void addVetoableChangeListener(String propertyName, VetoableChangeListene /** {@inheritDoc} */ @Override + @Nonnull @OverridingMethodsMustInvokeSuper public VetoableChangeListener[] getVetoableChangeListeners() { return vcs.getVetoableChangeListeners(); @@ -520,6 +531,7 @@ public VetoableChangeListener[] getVetoableChangeListeners() { /** {@inheritDoc} */ @Override + @Nonnull @OverridingMethodsMustInvokeSuper public VetoableChangeListener[] getVetoableChangeListeners(String propertyName) { return vcs.getVetoableChangeListeners(propertyName); @@ -626,7 +638,7 @@ public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException * not perform more specific validation to be considered valid. */ @Override - public NameValidity validSystemNameFormat(String systemName) { + public NameValidity validSystemNameFormat(@Nonnull String systemName) { return getSystemNamePrefix().equals(systemName) ? NameValidity.VALID_AS_PREFIX_ONLY : systemName.startsWith(getSystemNamePrefix()) @@ -641,6 +653,7 @@ public NameValidity validSystemNameFormat(String systemName) { * for four managers that have arbitrary prefixes. */ @Override + @Nonnull public final String getSystemPrefix() { return memo.getSystemPrefix(); } @@ -657,7 +670,7 @@ public void removeDataListener(ManagerDataListener e) { if (e != null) listeners.remove(e); } - final List> listeners = new ArrayList<>(); + private final List> listeners = new ArrayList<>(); private boolean muted = false; diff --git a/java/src/jmri/managers/AbstractSensorManager.java b/java/src/jmri/managers/AbstractSensorManager.java index 8d0341fe144..15f542c0323 100644 --- a/java/src/jmri/managers/AbstractSensorManager.java +++ b/java/src/jmri/managers/AbstractSensorManager.java @@ -8,6 +8,7 @@ import jmri.jmrix.SystemConnectionMemo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; /** * Abstract base implementation of the SensorManager interface. @@ -39,7 +40,8 @@ public char typeLetter() { /** {@inheritDoc} */ @Override - public Sensor provideSensor(String name) { + @Nonnull + public Sensor provideSensor(@Nonnull String name) { Sensor t = getSensor(name); if (t == null) { t = newSensor(makeSystemName(name), null); @@ -49,7 +51,7 @@ public Sensor provideSensor(String name) { /** {@inheritDoc} */ @Override - public Sensor getSensor(String name) { + public Sensor getSensor(@Nonnull String name) { Sensor t = getByUserName(name); if (t != null) { return t; @@ -67,13 +69,13 @@ boolean isNumber(String s) { /** {@inheritDoc} */ @Override - public Sensor getBeanBySystemName(String key) { + public Sensor getBeanBySystemName(@Nonnull String key) { return this.getBySystemName(key); } /** {@inheritDoc} */ @Override - public Sensor getBySystemName(String key) { + public Sensor getBySystemName(@Nonnull String key) { if (isNumber(key)) { key = makeSystemName(key); } @@ -82,13 +84,14 @@ public Sensor getBySystemName(String key) { /** {@inheritDoc} */ @Override - public Sensor getByUserName(String key) { + public Sensor getByUserName(@Nonnull String key) { return _tuser.get(key); } /** {@inheritDoc} */ @Override - public Sensor newSensor(String sysName, String userName) throws IllegalArgumentException { + @Nonnull + public Sensor newSensor(@Nonnull String sysName, String userName) throws IllegalArgumentException { log.debug(" newSensor(\"{}\", \"{}\")", sysName, userName); java.util.Objects.requireNonNull(sysName, "Generated systemName may not be null, started with "+sysName); @@ -128,6 +131,7 @@ public Sensor newSensor(String sysName, String userName) throws IllegalArgumentE /** {@inheritDoc} */ @Override + @Nonnull public String getBeanTypeHandled(boolean plural) { return Bundle.getMessage(plural ? "BeanNameSensors" : "BeanNameSensor"); } @@ -154,13 +158,14 @@ public void updateAll() { /** {@inheritDoc} */ @Override - public boolean allowMultipleAdditions(String systemName) { + public boolean allowMultipleAdditions(@Nonnull String systemName) { return false; } /** {@inheritDoc} */ @Override - public String createSystemName(String curAddress, String prefix) throws JmriException { + @Nonnull + public String createSystemName(@Nonnull String curAddress, @Nonnull String prefix) throws JmriException { try { Integer.parseInt(curAddress); } catch (java.lang.NumberFormatException ex) { @@ -172,7 +177,7 @@ public String createSystemName(String curAddress, String prefix) throws JmriExce /** {@inheritDoc} */ @Override - public String getNextValidAddress(String curAddress, String prefix) throws JmriException { + public String getNextValidAddress(@Nonnull String curAddress, @Nonnull String prefix) throws JmriException { // If the hardware address passed does not already exist then this can // be considered the next valid address. String tmpSName; diff --git a/java/src/jmri/managers/DefaultIdTagManager.java b/java/src/jmri/managers/DefaultIdTagManager.java index 949b939e032..98c0890fab3 100644 --- a/java/src/jmri/managers/DefaultIdTagManager.java +++ b/java/src/jmri/managers/DefaultIdTagManager.java @@ -103,12 +103,14 @@ public char typeLetter() { } @Override - public IdTag provide(String name) throws IllegalArgumentException { + @Nonnull + public IdTag provide(@Nonnull String name) throws IllegalArgumentException { return provideIdTag(name); } @Override - public IdTag provideIdTag(String name) throws IllegalArgumentException { + @Nonnull + public IdTag provideIdTag(@Nonnull String name) throws IllegalArgumentException { if (!initialised && !loading) { init(); } @@ -126,7 +128,7 @@ public IdTag provideIdTag(String name) throws IllegalArgumentException { } @Override - public IdTag getIdTag(String name) { + public IdTag getIdTag(@Nonnull String name) { if (!initialised && !loading) { init(); } @@ -145,7 +147,7 @@ public IdTag getIdTag(String name) { } @Override - public IdTag getBySystemName(String name) { + public IdTag getBySystemName(@Nonnull String name) { if (!initialised && !loading) { init(); } @@ -153,7 +155,7 @@ public IdTag getBySystemName(String name) { } @Override - public IdTag getByUserName(String key) { + public IdTag getByUserName(@Nonnull String key) { if (!initialised && !loading) { init(); } @@ -161,7 +163,7 @@ public IdTag getByUserName(String key) { } @Override - public IdTag getByTagID(String tagID) { + public IdTag getByTagID(@Nonnull String tagID) { if (!initialised && !loading) { init(); } @@ -178,6 +180,7 @@ protected IdTag createNewIdTag(String systemName, String userName) { } @Override + @Nonnull public IdTag newIdTag(@Nonnull String systemName, @CheckForNull String userName) { if (!initialised && !loading) { init(); @@ -217,13 +220,13 @@ public IdTag newIdTag(@Nonnull String systemName, @CheckForNull String userName) } @Override - public void register(IdTag s) { + public void register(@Nonnull IdTag s) { super.register(s); this.setDirty(true); } @Override - public void deregister(IdTag s) { + public void deregister(@Nonnull IdTag s) { super.deregister(s); this.setDirty(true); } @@ -249,7 +252,6 @@ public void readIdTagDetails() { log.debug("...done reading IdTag details"); } - @Override public void setStateStored(boolean state) { if (!initialised && !loading) { @@ -293,7 +295,8 @@ public boolean isFastClockUsed() { } @Override - public List getTagsForReporter(Reporter reporter, long threshold) { + @Nonnull + public List getTagsForReporter(@Nonnull Reporter reporter, long threshold) { List out = new ArrayList<>(); Date lastWhenLastSeen = new Date(0); diff --git a/java/src/jmri/managers/configurexml/AbstractLightManagerConfigXML.java b/java/src/jmri/managers/configurexml/AbstractLightManagerConfigXML.java index 24b907910b7..1ebfaf1de12 100644 --- a/java/src/jmri/managers/configurexml/AbstractLightManagerConfigXML.java +++ b/java/src/jmri/managers/configurexml/AbstractLightManagerConfigXML.java @@ -48,10 +48,6 @@ public Element store(Object o) { } for (Light lgt : lightList) { // store the lights - if (lgt == null) { - log.error("Light null during store, skipped"); - break; - } String lName = lgt.getSystemName(); log.debug("system name is {}", lName); Element elem = new Element("light"); diff --git a/java/src/jmri/managers/configurexml/AbstractMemoryManagerConfigXML.java b/java/src/jmri/managers/configurexml/AbstractMemoryManagerConfigXML.java index 939b3f6b2c2..0145b5ddd07 100644 --- a/java/src/jmri/managers/configurexml/AbstractMemoryManagerConfigXML.java +++ b/java/src/jmri/managers/configurexml/AbstractMemoryManagerConfigXML.java @@ -49,10 +49,6 @@ public Element store(Object o) { } // store the memories for (Memory m : memList) { - if (m == null) { - log.error("Memory null during store, skipped"); - break; - } String mName = m.getSystemName(); log.debug("system name is {}", mName); diff --git a/java/src/jmri/managers/configurexml/AbstractReporterManagerConfigXML.java b/java/src/jmri/managers/configurexml/AbstractReporterManagerConfigXML.java index 53066cce090..6636669038a 100644 --- a/java/src/jmri/managers/configurexml/AbstractReporterManagerConfigXML.java +++ b/java/src/jmri/managers/configurexml/AbstractReporterManagerConfigXML.java @@ -45,10 +45,6 @@ public Element store(Object o) { } // store the Reporters for (Reporter r : rList) { - if (r == null) { - log.error("Reporter null during store, skipped"); - break; - } String rName = r.getSystemName(); log.debug("system name is {}", rName); Element elem = new Element("reporter"); diff --git a/java/src/jmri/managers/configurexml/AbstractSensorManagerConfigXML.java b/java/src/jmri/managers/configurexml/AbstractSensorManagerConfigXML.java index b66f3f75cc6..c5453a4bfeb 100644 --- a/java/src/jmri/managers/configurexml/AbstractSensorManagerConfigXML.java +++ b/java/src/jmri/managers/configurexml/AbstractSensorManagerConfigXML.java @@ -55,10 +55,6 @@ public Element store(Object o, Element sensors) { } // store the sensors for (Sensor s : sensorList) { - if (s == null) { - log.error("Sensor null during store, skipped"); - break; - } String sName = s.getSystemName(); log.debug("system name is {}", sName); String inverted = (s.getInverted() ? "true" : "false"); diff --git a/java/src/jmri/managers/configurexml/AbstractSignalHeadManagerXml.java b/java/src/jmri/managers/configurexml/AbstractSignalHeadManagerXml.java index b396a008f08..c03b0d2369b 100644 --- a/java/src/jmri/managers/configurexml/AbstractSignalHeadManagerXml.java +++ b/java/src/jmri/managers/configurexml/AbstractSignalHeadManagerXml.java @@ -59,10 +59,6 @@ public Element store(Object o) { } for (SignalHead sh : shList) { // store the signalheads - if (sh == null) { - log.error("SignalHead null during store, skipped"); - break; - } String shName = sh.getSystemName(); log.debug("system name is {}", shName); Element e = ConfigXmlManager.elementFromObject(sh); diff --git a/java/src/jmri/managers/configurexml/AbstractTurnoutManagerConfigXML.java b/java/src/jmri/managers/configurexml/AbstractTurnoutManagerConfigXML.java index 4a110cfadb4..d6572d09164 100644 --- a/java/src/jmri/managers/configurexml/AbstractTurnoutManagerConfigXML.java +++ b/java/src/jmri/managers/configurexml/AbstractTurnoutManagerConfigXML.java @@ -60,10 +60,6 @@ public Element store(Object o) { turnouts.addContent(new Element("defaultthrownspeed").addContent(defaultthrown)); for (Turnout t : tList) { // store the turnouts - if (t == null) { - log.error("Turnout null during store, skipped"); - continue; - } String tName = t.getSystemName(); log.debug("system name is {}", tName); diff --git a/java/src/jmri/managers/configurexml/DefaultConditionalManagerXml.java b/java/src/jmri/managers/configurexml/DefaultConditionalManagerXml.java index 74103380f3f..51c6c3beaf6 100644 --- a/java/src/jmri/managers/configurexml/DefaultConditionalManagerXml.java +++ b/java/src/jmri/managers/configurexml/DefaultConditionalManagerXml.java @@ -51,10 +51,6 @@ public Element store(Object o) { // store the conditionals // numCond++; // long condTime = System.currentTimeMillis(); - if (c == null) { - log.error("Conditional null during store, skipped"); // NOI18N - break; - } String cName = c.getSystemName(); log.debug("conditional system name is {}", cName); // NOI18N diff --git a/java/src/jmri/managers/configurexml/DefaultIdTagManagerXml.java b/java/src/jmri/managers/configurexml/DefaultIdTagManagerXml.java index d99fc0ccb28..c5b3dcfdfbb 100644 --- a/java/src/jmri/managers/configurexml/DefaultIdTagManagerXml.java +++ b/java/src/jmri/managers/configurexml/DefaultIdTagManagerXml.java @@ -35,6 +35,17 @@ public DefaultIdTagManagerXml(IdTagManager tagMan, String baseFileName){ IDTAG_BASE_FILENAME = baseFileName; } + public void store() throws java.io.IOException { + log.debug("Storing..."); + log.debug("Using file: {}", getDefaultIdTagFileName()); + createFile(getDefaultIdTagFileName(), true); + try { + writeFile(getDefaultIdTagFileName()); + } catch (FileNotFoundException ex) { + log.error("File not found while writing IdTag file, may not be complete: {}", (Object) ex); + } + } + public void load() { log.debug("Loading..."); try { @@ -44,17 +55,6 @@ public void load() { } } - public void store() throws java.io.IOException { - log.debug("Storing..."); - log.debug("Using file: {}", getDefaultIdTagFileName()); - createFile(getDefaultIdTagFileName(), true); - try { - writeFile(getDefaultIdTagFileName()); - } catch (FileNotFoundException ex) { - log.error("File not found while writing IdTag file, may not be complete: {}", (Object) ex); - } - } - private File createFile(String fileName, boolean backup) { if (backup) { makeBackupFile(fileName); diff --git a/java/src/jmri/managers/configurexml/DefaultLogixManagerXml.java b/java/src/jmri/managers/configurexml/DefaultLogixManagerXml.java index a2c91774e70..0dc94c18bf7 100644 --- a/java/src/jmri/managers/configurexml/DefaultLogixManagerXml.java +++ b/java/src/jmri/managers/configurexml/DefaultLogixManagerXml.java @@ -41,10 +41,6 @@ public Element store(Object o) { } // store the Logix for (Logix x : logixList) { - if (x == null) { - log.error("Logix null during store, skipped"); // NOI18N - break; - } String xName = x.getSystemName(); log.debug("Logix system name is {}", xName); // NOI18N boolean enabled = x.getEnabled(); diff --git a/java/src/jmri/managers/configurexml/DefaultRouteManagerXml.java b/java/src/jmri/managers/configurexml/DefaultRouteManagerXml.java index 3d908baefd7..a8e13d4acee 100644 --- a/java/src/jmri/managers/configurexml/DefaultRouteManagerXml.java +++ b/java/src/jmri/managers/configurexml/DefaultRouteManagerXml.java @@ -44,10 +44,6 @@ public Element store(Object o) { } for (Route r : routeList) { // store the routes - if (r == null) { - log.error("Route null during store, skipped"); - break; - } String rName = r.getSystemName(); log.debug("system name is {}", rName); diff --git a/java/src/jmri/managers/configurexml/DefaultSignalGroupManagerXml.java b/java/src/jmri/managers/configurexml/DefaultSignalGroupManagerXml.java index ff35720d669..2634aaef255 100644 --- a/java/src/jmri/managers/configurexml/DefaultSignalGroupManagerXml.java +++ b/java/src/jmri/managers/configurexml/DefaultSignalGroupManagerXml.java @@ -40,12 +40,8 @@ public Element store(Object o) { if (sgList.isEmpty()) { return null; } - // include contents for (SignalGroup sg : sgList) { - if (sg == null) { - log.error("SignalGroup null during store, skipped"); // NOI18N - break; - } + // store the signalgroups String sgName = sg.getSystemName(); log.debug("SignalGroup system name is {}", sgName); // NOI18N @@ -233,29 +229,30 @@ public void load(Element element, Object o) { log.error("Invalid method called"); } - private int getIntFromColour(String colour) { - if (colour.equals("RED")) { - return SignalHead.RED; - } else if (colour.equals("YELLOW")) { - return SignalHead.YELLOW; - } else if (colour.equals("GREEN")) { - return SignalHead.GREEN; - } else if (colour.equals("LUNAR")) { - return SignalHead.LUNAR; - } else if (colour.equals("DARK")) { - return SignalHead.DARK; - } else if (colour.equals("FLASHRED")) { - return SignalHead.FLASHRED; - } else if (colour.equals("FLASHYELLOW")) { - return SignalHead.FLASHYELLOW; - } else if (colour.equals("FLASHGREEN")) { - return SignalHead.FLASHGREEN; - } else if (colour.equals("FLASHLUNAR")) { - return SignalHead.FLASHLUNAR; - } else { - log.warn("Unexpected appearance: {}", colour); + private int getIntFromColour(String color) { + switch (color) { + case "RED": + return SignalHead.RED; + case "YELLOW": + return SignalHead.YELLOW; + case "GREEN": + return SignalHead.GREEN; + case "LUNAR": + return SignalHead.LUNAR; + case "DARK": + return SignalHead.DARK; + case "FLASHRED": + return SignalHead.FLASHRED; + case "FLASHYELLOW": + return SignalHead.FLASHYELLOW; + case "FLASHGREEN": + return SignalHead.FLASHGREEN; + case "FLASHLUNAR": + return SignalHead.FLASHLUNAR; + default: + log.warn("Unexpected appearance: {}", color); + return SignalHead.DARK; } - return SignalHead.DARK; } @Override diff --git a/java/src/jmri/managers/configurexml/DefaultSignalMastManagerXml.java b/java/src/jmri/managers/configurexml/DefaultSignalMastManagerXml.java index 5805eaed7d4..81f909bc6f6 100644 --- a/java/src/jmri/managers/configurexml/DefaultSignalMastManagerXml.java +++ b/java/src/jmri/managers/configurexml/DefaultSignalMastManagerXml.java @@ -164,7 +164,6 @@ public boolean load(Element shared, Element perNode) { } m.initialiseRepeaters(); } - return result; } diff --git a/java/test/jmri/jmrit/display/configurexml/loadref/OldScaledIconTest.xml b/java/test/jmri/jmrit/display/configurexml/loadref/OldScaledIconTest.xml index 84c99b8b222..08f75a9936f 100644 --- a/java/test/jmri/jmrit/display/configurexml/loadref/OldScaledIconTest.xml +++ b/java/test/jmri/jmrit/display/configurexml/loadref/OldScaledIconTest.xml @@ -3,8 +3,8 @@ 4 - 7 - 4 + 17 + 5 ish @@ -14,20 +14,33 @@ - + IMCURRENTTIME IMRATEFACTOR - - - 500 - - - + + + + app + Tue Sep 10 21:44:34 CEST 2019 + JMRI program + + + Load OK + Tue Sep 10 21:45:24 CEST 2019 + /Users/egbertbroerse/Documents/Egbert/Computers/IntelliJ%20local/JMRI/java/test/jmri/jmrit/display/configurexml/load/OldScaledIconTest.xml + + + Store + Tue Sep 10 21:45:34 CEST 2019 + + + + diff --git a/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach-4.7.4.xml b/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach-4.7.4.xml index d6257ea522a..d5ec5bd9068 100644 --- a/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach-4.7.4.xml +++ b/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach-4.7.4.xml @@ -4,7 +4,7 @@ 4 17 - 4 + 5 ish @@ -218,40 +218,20 @@ - - - 500 - + - Load OK - Sat Sep 07 07:22:53 PDT 2019 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach-4.7.4.xml - - - Load OK - Sun Mar 18 22:11:35 PDT 2018 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach-4.7.4.xml - - - Load OK - Sun Mar 18 22:11:35 PDT 2018 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach-4.7.4.xml - - - Store - Sun Mar 18 22:11:35 PDT 2018 - - - + app + Tue Sep 10 21:46:07 CEST 2019 + JMRI program Load OK - Sat Sep 07 07:22:53 PDT 2019 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach-4.7.4.xml + Tue Sep 10 21:46:34 CEST 2019 + /Users/egbertbroerse/Documents/Egbert/Computers/IntelliJ%20local/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach-4.7.4.xml Load OK @@ -272,9 +252,9 @@ Store - Sat Sep 07 07:22:53 PDT 2019 + Tue Sep 10 21:46:50 CEST 2019 - + diff --git a/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.3.3.3.xml b/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.3.3.3.xml index 62f0d7a6471..3beac3868ef 100644 --- a/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.3.3.3.xml +++ b/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.3.3.3.xml @@ -4,7 +4,7 @@ 4 17 - 4 + 5 ish @@ -97,7 +97,7 @@ IM3 plain - + IMCURRENTTIME @@ -189,72 +189,20 @@ - - - 500 - + - Load OK - Sat Sep 07 07:22:54 PDT 2019 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach.3.3.3.xml - - - app - Thu Mar 07 10:49:49 PST 2013 - DecoderPro version 20130307-1849-jake starts under Java 1.6.0_43 at Thu Mar 07 10:49:48 PST 2013 - - - Load OK - Thu Mar 07 10:49:49 PST 2013 - /Users/jake/Library/Preferences/JMRI/UserPrefsDecoderProConfig2.xml - - - Load OK - Thu Mar 07 10:49:49 PST 2013 - /Users/jake/Library/Preferences/JMRI/DecoderProConfig2.xml - - - Load OK - Thu Mar 07 10:50:03 PST 2013 - /Users/jake/Documents/Trains/JMRI/projects/HEAD/java/test/jmri/jmrit/display/configurexml/OneOfEach.xml - - - app - Tue Nov 09 12:00:03 PST 2010 - PanelPro version 2.11.1+dev starts under Java 1.6.0_18 at Tue Nov 09 12:00:03 PST 2010 - - - Load OK - Tue Nov 09 12:00:09 PST 2010 - PanelProConfig2.xml - - - Load OK - Tue Nov 09 12:02:58 PST 2010 - OneOfEach2.xml - - - Store - Tue Nov 09 12:03:42 PST 2010 - - - - - - Store - Thu Mar 07 10:50:21 PST 2013 - - - + app + Tue Sep 10 21:47:22 CEST 2019 + JMRI program Load OK - Sat Sep 07 07:22:54 PDT 2019 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach.3.3.3.xml + Tue Sep 10 21:47:55 CEST 2019 + /Users/egbertbroerse/Documents/Egbert/Computers/IntelliJ%20local/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach.3.3.3.xml app @@ -307,9 +255,9 @@ Store - Sat Sep 07 07:22:54 PDT 2019 + Tue Sep 10 21:48:04 CEST 2019 - + diff --git a/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.xml b/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.xml index 4badd0eabfc..fff6e27797f 100644 --- a/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.xml +++ b/java/test/jmri/jmrit/display/configurexml/loadref/OneOfEach.xml @@ -4,7 +4,7 @@ 4 17 - 4 + 5 ish @@ -112,7 +112,7 @@ IM3 plain - + IMCURRENTTIME @@ -218,45 +218,20 @@ - - - 500 - + - Load OK - Sat Sep 07 07:22:54 PDT 2019 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach.xml - - - app - Tue Nov 09 12:00:03 PST 2010 - PanelPro version 2.11.1+dev starts under Java 1.6.0_18 at Tue Nov 09 12:00:03 PST 2010 - - - Load OK - Tue Nov 09 12:00:09 PST 2010 - PanelProConfig2.xml - - - Load OK - Tue Nov 09 12:02:58 PST 2010 - OneOfEach2.xml - - - Store - Tue Nov 09 12:03:42 PST 2010 - - - + app + Tue Sep 10 21:48:30 CEST 2019 + JMRI program Load OK - Sat Sep 07 07:22:54 PDT 2019 - /Users/jake/Documents/Trains/JMRI/projects/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach.xml + Tue Sep 10 21:48:53 CEST 2019 + /Users/egbertbroerse/Documents/Egbert/Computers/IntelliJ%20local/JMRI/java/test/jmri/jmrit/display/configurexml/load/OneOfEach.xml app @@ -282,9 +257,9 @@ Store - Sat Sep 07 07:22:54 PDT 2019 + Tue Sep 10 21:49:07 CEST 2019 - + diff --git a/java/test/jmri/jmrit/display/configurexml/loadref/ScaledIconTest-4.7.4.xml b/java/test/jmri/jmrit/display/configurexml/loadref/ScaledIconTest-4.7.4.xml new file mode 100644 index 00000000000..f9934607b45 --- /dev/null +++ b/java/test/jmri/jmrit/display/configurexml/loadref/ScaledIconTest-4.7.4.xml @@ -0,0 +1,47 @@ + + + + + 4 + 17 + 5 + ish + + + unknown + + ISCLOCKRUNNING + + + + + IMCURRENTTIME + + + IMRATEFACTOR + + + + 500 + + + + + app + Tue Sep 10 21:49:41 CEST 2019 + JMRI program + + + Load OK + Tue Sep 10 21:50:03 CEST 2019 + /Users/egbertbroerse/Documents/Egbert/Computers/IntelliJ%20local/JMRI/java/test/jmri/jmrit/display/configurexml/load/ScaledIconTest-4.7.4.xml + + + + Store + Tue Sep 10 21:50:13 CEST 2019 + + + + + diff --git a/java/test/jmri/jmrit/display/configurexml/loadref/ScaledIconTest.xml b/java/test/jmri/jmrit/display/configurexml/loadref/ScaledIconTest.xml index 6c5a6066bae..61ddfcdc44a 100644 --- a/java/test/jmri/jmrit/display/configurexml/loadref/ScaledIconTest.xml +++ b/java/test/jmri/jmrit/display/configurexml/loadref/ScaledIconTest.xml @@ -3,8 +3,8 @@ 4 - 7 - 4 + 17 + 5 ish @@ -14,21 +14,33 @@ - + IMCURRENTTIME IMRATEFACTOR - - - - 500 - - - + + + + app + Tue Sep 10 21:50:41 CEST 2019 + JMRI program + + + Load OK + Tue Sep 10 21:50:56 CEST 2019 + /Users/egbertbroerse/Documents/Egbert/Computers/IntelliJ%20local/JMRI/java/test/jmri/jmrit/display/configurexml/load/ScaledIconTest.xml + + + Store + Tue Sep 10 21:51:05 CEST 2019 + + + + diff --git a/java/test/jmri/util/managers/SensorManagerThrowExceptionScaffold.java b/java/test/jmri/util/managers/SensorManagerThrowExceptionScaffold.java index 60594351799..70dd39680ad 100644 --- a/java/test/jmri/util/managers/SensorManagerThrowExceptionScaffold.java +++ b/java/test/jmri/util/managers/SensorManagerThrowExceptionScaffold.java @@ -28,6 +28,7 @@ protected Sensor createNewSensor(String systemName, String userName) { /** {@inheritDoc} */ @Override + @Nonnull public Sensor provideSensor(@Nonnull String name) { throw new IllegalArgumentException("Illegal argument"); } @@ -46,12 +47,13 @@ public Sensor getBySystemName(@Nonnull String name) { /** {@inheritDoc} */ @Override - public Sensor getByUserName(String key) { + public Sensor getByUserName(@Nonnull String key) { throw new IllegalArgumentException("Illegal argument"); } /** {@inheritDoc} */ @Override + @Nonnull public Sensor newSensor(@Nonnull String systemName, @Nullable String userName) { throw new IllegalArgumentException("Illegal argument"); }