Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/JMRI/JMRI
Browse files Browse the repository at this point in the history
  • Loading branch information
pabender committed Oct 31, 2018
2 parents 22d4f52 + 78f7dee commit 36103a1
Show file tree
Hide file tree
Showing 197 changed files with 2,253 additions and 499 deletions.
5 changes: 1 addition & 4 deletions .spotbugs-check.xml
Expand Up @@ -17,14 +17,11 @@
<Confidence value="2" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
<Or>
<Bug pattern="IS2_INCONSISTENT_SYNC" />
<Bug pattern="NN_NAKED_NOTIFY" />
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" />
<Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
<Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD" />
<Bug pattern="UW_UNCOND_WAIT" />
<Bug pattern="VO_VOLATILE_INCREMENT" />
<Bug pattern="WA_NOT_IN_LOOP" />
<Bug pattern="WMI_WRONG_MAP_ITERATOR" />
</Or>
</Match>
Expand All @@ -47,10 +44,10 @@
<Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD" />
<Bug pattern="UCF_USELESS_CONTROL_FLOW" />
<Bug pattern="UC_USELESS_CONDITION" />
<Bug pattern="UW_UNCOND_WAIT" />
<Bug pattern="UPM_UNCALLED_PRIVATE_METHOD" />
<Bug pattern="URF_UNREAD_FIELD" />
<Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" />
<Bug pattern="UW_UNCOND_WAIT" />
<Bug pattern="WA_NOT_IN_LOOP" />
</Or>
</Match>
Expand Down
5 changes: 3 additions & 2 deletions java/src/apps/GuiLafConfigPane.java
Expand Up @@ -117,15 +117,16 @@ void doLAF(JPanel panel) {
installedLAFs.put(plaf.getName(), plaf.getClassName());
}
// make the radio buttons
for (String name : installedLAFs.keySet()) {
for (java.util.Map.Entry<String, String> entry : installedLAFs.entrySet()) {
String name = entry.getKey();
JRadioButton jmi = new JRadioButton(name);
panel.add(jmi);
LAFGroup.add(jmi);
jmi.setActionCommand(name);
jmi.addActionListener((ActionEvent e) -> {
InstanceManager.getDefault(GuiLafPreferencesManager.class).setLookAndFeel(name);
});
if (installedLAFs.get(name).equals(UIManager.getLookAndFeel().getClass().getName())) {
if ( entry.getValue().equals(UIManager.getLookAndFeel().getClass().getName())) {
jmi.setSelected(true);
}
}
Expand Down
5 changes: 5 additions & 0 deletions java/src/jmri/NamedBeanBundle_cs.properties
Expand Up @@ -333,3 +333,8 @@ PacketLabel=Paket:
SendToolTip=Poslat zadan\u00fd paket (zpr\u00e1vu)
EnterHexToolTip=Zadejte p\u0159\u00edkaz jako \u0161estn\u00e1stkov\u00fd \u0159et\u011bzec (0xnnn)
EnterHexBytesToolTip=Zadejte p\u0159\u00edkaz jako \u0161estn\u00e1skov\u00e9 byty odd\u011blen\u00e9 mezerou, nap\u0159\u00edklad: 82 7D
BeanStateClosed=P\u0159\u00edmo
BeanStateThrown=Do odbo\u010dky
StartServer=Spustit Server
StopServer=Zastavit Server
Brown=Hn\u011bd\u00e1
3 changes: 1 addition & 2 deletions java/src/jmri/implementation/DccSignalMast.java
Expand Up @@ -196,8 +196,7 @@ public CommandStation getCommandStation() {
protected int dccSignalDecoderAddress;

public static String isDCCAddressUsed(int addr) {
for (String val : InstanceManager.getDefault(jmri.SignalMastManager.class).getSystemNameList()) {
SignalMast mast = InstanceManager.getDefault(jmri.SignalMastManager.class).getSignalMast(val);
for (SignalMast mast : InstanceManager.getDefault(jmri.SignalMastManager.class).getNamedBeanSet()) {
if (mast instanceof jmri.implementation.DccSignalMast) {
if (((DccSignalMast) mast).getDccSignalMastAddress() == addr) {
return ((DccSignalMast) mast).getDisplayName();
Expand Down
Expand Up @@ -39,3 +39,10 @@ InitExMessageLogs = Pro podrobnosti pros\u00edm zkontrolujte log.
InitExMessagePrefs = Bude otev\u0159eno okno p\u0159edvoleb, tak\u017ee toto m\u016f\u017ee b\u00fdt opraveno.
# header for list when there are multiple initialization exceptions
InitExMessageListHeader=N\u00e1sleduj\u00edc\u00ed chyby se vyskytly v uveden\u00e9m po\u0159ad\u00ed:

## Connection ErrorDialog - These messages is shown when JMRI is unable to connect to a predefined connection ##
ErrorDialogTitle = JMRI se nem\u016f\u017ee p\u0159ipojit
ErrorDialogButtonExitProgram = Ukon\u010dit program
ErrorDialogButtonRestartProgram = Restartovat program
ErrorDialogButtonNewProfile = Spustit s nov\u00fdm profilem
ErrorDialogButtonEditConnections = Upravit p\u0159ipojen\u00ed
6 changes: 2 additions & 4 deletions java/src/jmri/implementation/SignalHeadSignalMast.java
Expand Up @@ -269,8 +269,7 @@ public void run() {

public static List<SignalHead> getSignalHeadsUsed() {
List<SignalHead> headsUsed = new ArrayList<SignalHead>();
for (String val : InstanceManager.getDefault(jmri.SignalMastManager.class).getSystemNameList()) {
SignalMast mast = InstanceManager.getDefault(jmri.SignalMastManager.class).getSignalMast(val);
for (SignalMast mast : InstanceManager.getDefault(jmri.SignalMastManager.class).getNamedBeanSet()) {
if (mast instanceof jmri.implementation.SignalHeadSignalMast) {
java.util.List<NamedBeanHandle<SignalHead>> masthead = ((jmri.implementation.SignalHeadSignalMast) mast).getHeadsUsed();
for (NamedBeanHandle<SignalHead> bean : masthead) {
Expand All @@ -282,8 +281,7 @@ public static List<SignalHead> getSignalHeadsUsed() {
}

public static String isHeadUsed(SignalHead head) {
for (String val : InstanceManager.getDefault(jmri.SignalMastManager.class).getSystemNameList()) {
SignalMast mast = InstanceManager.getDefault(jmri.SignalMastManager.class).getSignalMast(val);
for (SignalMast mast : InstanceManager.getDefault(jmri.SignalMastManager.class).getNamedBeanSet()) {
if (mast instanceof jmri.implementation.SignalHeadSignalMast) {
java.util.List<NamedBeanHandle<SignalHead>> masthead = ((jmri.implementation.SignalHeadSignalMast) mast).getHeadsUsed();
for (NamedBeanHandle<SignalHead> bean : masthead) {
Expand Down
5 changes: 3 additions & 2 deletions java/src/jmri/jmrit/Bundle_cs.properties
Expand Up @@ -101,7 +101,7 @@ total_(MB,_of_ = celkem (MB, z
free_(MB) = voln\u00e9 (MB)
used_(MB) = pou\u017eit\u00e9 (MB)
Test = Test
Collect_Memory = Collect Memory
Collect_Memory = Pro\u010distit pam\u011b\u0165
Update = Aktualizovat

# common throttle strings among throttle and logix packages
Expand Down Expand Up @@ -152,7 +152,7 @@ SelectAll = Vybrat v\u0161e
ClearAll = Vynulovat v\u0161e

# used in Display, Maintenance
MultiSensor = V\u00edcen\u00e1sobn\u00fd sn\u00edma\u010d
MultiSensor = V\u00edcepolohov\u00fd p\u0159ep\u00edna\u010d
IndicatorTrack = Indik\u00e1tor koleje
IndicatorTO = Indik\u00e1tor v\u00fdhybky

Expand Down Expand Up @@ -232,3 +232,4 @@ WaitMsec=\u010cekat (msec)
LabelLayoutScale=M\u011b\u0159\u00edtko koleji\u0161t\u011b:
ScaleBoxHint=M\u011b\u0159en\u00ed proudu v kolej\u00edch
WarrantRoute=Povolen\u00ed cesty
MenuItemTimeTable=J\u00edzdn\u00ed \u0159\u00e1d...
18 changes: 6 additions & 12 deletions java/src/jmri/jmrit/audio/JavaSoundAudioFactory.java
Expand Up @@ -100,38 +100,32 @@ public void cleanup() {
AudioManager am = InstanceManager.getDefault(jmri.AudioManager.class);

// Retrieve list of Audio Objects and remove the sources
List<String> audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.SOURCE) {
if (log.isDebugEnabled()) {
log.debug("Removing JavaSoundAudioSource: " + audioName);
log.debug("Removing JavaSoundAudioSource: " + audio.getSystemName());
}
// Cast to JavaSoundAudioSource and cleanup
((JavaSoundAudioSource) audio).cleanup();
}
}

// Now, re-retrieve list of Audio objects and remove the buffers
audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.BUFFER) {
if (log.isDebugEnabled()) {
log.debug("Removing JavaSoundAudioBuffer: " + audioName);
log.debug("Removing JavaSoundAudioBuffer: " + audio.getSystemName());
}
// Cast to JavaSoundAudioBuffer and cleanup
((JavaSoundAudioBuffer) audio).cleanup();
}
}

// Lastly, re-retrieve list and remove listener.
audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.LISTENER) {
if (log.isDebugEnabled()) {
log.debug("Removing JavaSoundAudioListener: " + audioName);
log.debug("Removing JavaSoundAudioListener: " + audio.getSystemName());
}
// Cast to JavaSoundAudioListener and cleanup
((JavaSoundAudioListener) audio).cleanup();
Expand Down
3 changes: 1 addition & 2 deletions java/src/jmri/jmrit/audio/JavaSoundAudioListener.java
Expand Up @@ -74,8 +74,7 @@ public void setGain(float gain) {
private void recalculateSources() {
// Loop through each AudioSource and recalculate their gain & pan
AudioManager am = InstanceManager.getDefault(jmri.AudioManager.class);
for (String sysName : am.getSystemNameList()) {
Audio audio = am.getBySystemName(sysName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.SOURCE
&& audio instanceof JavaSoundAudioSource) {
((JavaSoundAudioSource) audio).calculateGain();
Expand Down
18 changes: 6 additions & 12 deletions java/src/jmri/jmrit/audio/JoalAudioFactory.java
Expand Up @@ -357,38 +357,32 @@ public void cleanup() {
AudioManager am = InstanceManager.getDefault(jmri.AudioManager.class);

// Retrieve list of Audio Objects and remove the sources
List<String> audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.SOURCE) {
if (log.isDebugEnabled()) {
log.debug("Removing JoalAudioSource: " + audioName);
log.debug("Removing JoalAudioSource: " + audio.getSystemName());
}
// Cast to JoalAudioSource and cleanup
((JoalAudioSource) audio).cleanup();
}
}

// Now, re-retrieve list of Audio objects and remove the buffers
audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.BUFFER) {
if (log.isDebugEnabled()) {
log.debug("Removing JoalAudioBuffer: " + audioName);
log.debug("Removing JoalAudioBuffer: " + audio.getSystemName());
}
// Cast to JoalAudioBuffer and cleanup
((JoalAudioBuffer) audio).cleanup();
}
}

// Lastly, re-retrieve list and remove listener.
audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.LISTENER) {
if (log.isDebugEnabled()) {
log.debug("Removing JoalAudioListener: " + audioName);
log.debug("Removing JoalAudioListener: " + audio.getSystemName());
}
// Cast to JoalAudioListener and cleanup
((JoalAudioListener) audio).cleanup();
Expand Down
18 changes: 6 additions & 12 deletions java/src/jmri/jmrit/audio/NullAudioFactory.java
Expand Up @@ -63,38 +63,32 @@ public void cleanup() {
AudioManager am = InstanceManager.getDefault(jmri.AudioManager.class);

// Retrieve list of Audio Objects and remove the sources
List<String> audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.SOURCE) {
if (log.isDebugEnabled()) {
log.debug("Removing NullAudioSource: " + audioName);
log.debug("Removing NullAudioSource: " + audio.getSystemName());
}
// Cast to NullAudioSource and cleanup
((NullAudioSource) audio).cleanup();
}
}

// Now, re-retrieve list of Audio objects and remove the buffers
audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.BUFFER) {
if (log.isDebugEnabled()) {
log.debug("Removing NullAudioBuffer: " + audioName);
log.debug("Removing NullAudioBuffer: " + audio.getSystemName());
}
// Cast to NullAudioBuffer and cleanup
((NullAudioBuffer) audio).cleanup();
}
}

// Lastly, re-retrieve list and remove listener.
audios = am.getSystemNameList();
for (String audioName : audios) {
Audio audio = am.getAudio(audioName);
for (Audio audio : am.getNamedBeanSet()) {
if (audio.getSubType() == Audio.LISTENER) {
if (log.isDebugEnabled()) {
log.debug("Removing NullAudioListener: " + audioName);
log.debug("Removing NullAudioListener: " + audio.getSystemName());
}
// Cast to NullAudioListener and cleanup
((NullAudioListener) audio).cleanup();
Expand Down
4 changes: 4 additions & 0 deletions java/src/jmri/jmrit/beantable/BeanTableBundle_cs.properties
Expand Up @@ -670,3 +670,7 @@ LogixError32 = Nemohu upravovat dva Logix v jeden okam\u017eik. Pros\u00edm doko
LogixWarn8 = Podm\u00ednky v Logix "{0}" ({1}) nemohou b\u00fdt upraveny.\nJd\u011bte do Tabulky skupina sn\u00edma\u010d\u016f a upravte skupinu sn\u00edma\u010d\u016f.
# Messages prefs pane item
DeleteLogix = P\u0159i maz\u00e1n\u00ed Logix
LabelMaxSpeed=Maxim\u00e1ln\u00ed rychlost
SensorDebounceActOutOfRange=Hodnota pro aktivn\u00ed dobu trv\u00e1n\u00ed mus\u00ed b\u00fdt 0 nebo kladn\u00e1 a men\u0161\u00ed ne\u017e
SensorDebounceInActOutOfRange=Hodnota pro neaktivn\u00ed dobu trv\u00e1n\u00ed mus\u00ed b\u00fdt 0 nebo kladn\u00e1 a men\u0161\u00ed ne\u017e
LNCPMast=LNCP dekod\u00e9r n\u00e1v\u011bstidla
3 changes: 1 addition & 2 deletions java/src/jmri/jmrit/beantable/LRouteTableAction.java
Expand Up @@ -1750,7 +1750,6 @@ void updatePressed() {
}
}
///////////////// Make Lock Conditional //////////////////////////
numConds = 1;
if (_lock) {
ArrayList<ConditionalAction> aList = new ArrayList<>();
for (int k = 0; k < _includedOutputList.size(); k++) {
Expand All @@ -1772,7 +1771,7 @@ void updatePressed() {
Conditional.ACTION_LOCK_TURNOUT,
eltName, Turnout.UNLOCKED, ""));
}
numConds = makeRouteConditional(numConds, /*false,*/ aList, oneTriggerList,
makeRouteConditional(numConds, /*false,*/ aList, oneTriggerList,
vetoList, logix, sName, uName, "L");
}
log.debug("Conditionals added= " + logix.getNumConditionals());
Expand Down
2 changes: 1 addition & 1 deletion java/src/jmri/jmrit/beantable/LogixTableAction.java
Expand Up @@ -1314,7 +1314,7 @@ public void setMessagePreferencesDetails() {
options.put(0x00, Bundle.getMessage("DeleteAsk")); // NOI18N
options.put(0x01, Bundle.getMessage("DeleteNever")); // NOI18N
options.put(0x02, Bundle.getMessage("DeleteAlways")); // NOI18N
jmri.InstanceManager.getDefault(jmri.UserPreferencesManager.class).messageItemDetails(getClassName(), "delete", Bundle.getMessage("DeleteLogix"), options, 0x00); // NOI18N
jmri.InstanceManager.getDefault(jmri.UserPreferencesManager.class).setMessageItemDetails(getClassName(), "delete", Bundle.getMessage("DeleteLogix"), options, 0x00); // NOI18N
jmri.InstanceManager.getDefault(jmri.UserPreferencesManager.class).setPreferenceItemDetails(getClassName(), "remindSaveLogix", Bundle.getMessage("HideSaveReminder")); // NOI18N
super.setMessagePreferencesDetails();
}
Expand Down
2 changes: 1 addition & 1 deletion java/src/jmri/jmrit/beantable/MemoryTableAction.java
Expand Up @@ -225,7 +225,7 @@ void okPressed(ActionEvent e) {
}

String uName = NamedBean.normalizeUserName(userNameField.getText());
if (uName.isEmpty()) {
if (uName == null || uName.isEmpty()) {
uName = null;
}
String sName = jmri.InstanceManager.memoryManagerInstance().normalizeSystemName(sysNameField.getText());
Expand Down

0 comments on commit 36103a1

Please sign in to comment.