Skip to content

Commit

Permalink
explicitly dispose of WarrantManagers; stop all active warrants when …
Browse files Browse the repository at this point in the history
…this happens.
  • Loading branch information
pabender committed Sep 18, 2019
1 parent 8312deb commit 6dcbaf2
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 6 deletions.
16 changes: 12 additions & 4 deletions java/src/jmri/jmrit/logix/WarrantManager.java
Expand Up @@ -46,7 +46,7 @@ public char typeLetter() {
* @return an existing warrant if found or a new warrant
*/
public Warrant createNewWarrant(String systemName, String userName, boolean SCWa, long TTP) {
log.debug("createNewWarrant " + systemName + " SCWa="+SCWa);
log.debug("createNewWarrant {} SCWa= {}",systemName,SCWa);
// Check that Warrant does not already exist
Warrant r;
if (userName != null && userName.trim().length() > 0) {
Expand All @@ -55,12 +55,12 @@ public Warrant createNewWarrant(String systemName, String userName, boolean SCWa
r = getBySystemName(systemName);
}
if (r != null) {
log.warn("Warrant " + r.getDisplayName() + " exits.");
log.warn("Warrant {} exits.",r.getDisplayName());
return null;
}
}
if (!systemName.startsWith("IW") || systemName.length() < 3) {
log.error("Warrant system name \"" + systemName + "\" must begin with \"IW\".");
log.error("Warrant system name \"{}\" must begin with \"IW\".",systemName);
return null;
}
// Warrant does not exist, create a new Warrant
Expand Down Expand Up @@ -161,5 +161,13 @@ protected HashMap<String, RosterSpeedProfile> getSessionProfiles() {
return _sessionProfiles;
}

private final static Logger log = LoggerFactory.getLogger(WarrantManager.class);
@Override
public void dispose(){
for(Warrant w:_beans){
w.stopWarrant(true);
}
super.dispose();
}

private static final Logger log = LoggerFactory.getLogger(WarrantManager.class);
}
1 change: 1 addition & 0 deletions java/test/jmri/jmrit/logix/LearnWarrantTest.java
Expand Up @@ -238,6 +238,7 @@ public void setUp() throws Exception {

@After
public void tearDown() throws Exception {
InstanceManager.getDefault(WarrantManager.class).dispose();
JUnitUtil.tearDown();
}

Expand Down
7 changes: 5 additions & 2 deletions java/test/jmri/jmrit/logix/LinkedWarrantTest.java
Expand Up @@ -426,10 +426,13 @@ public void setUp() throws Exception {

@After
public void tearDown() throws Exception {
JUnitUtil.tearDown();
_warrantMgr.dispose();
_warrantMgr = null;
_OBlockMgr.dispose();
_OBlockMgr = null;
_sensorMgr.dispose();
_sensorMgr = null;
_warrantMgr = null;
JUnitUtil.tearDown();
}

}
1 change: 1 addition & 0 deletions java/test/jmri/jmrit/logix/LogixActionTest.java
Expand Up @@ -170,6 +170,7 @@ public void setUp() {

@After
public void tearDown() {
InstanceManager.getDefault(WarrantManager.class).dispose();
JUnitUtil.tearDown();
}
}
1 change: 1 addition & 0 deletions java/test/jmri/jmrit/logix/NXFrameTest.java
Expand Up @@ -448,6 +448,7 @@ public void setUp() throws Exception {

@After
public void tearDown() throws Exception {
InstanceManager.getDefault(WarrantManager.class).dispose();
JUnitUtil.tearDown();
}

Expand Down
1 change: 1 addition & 0 deletions java/test/jmri/jmrit/logix/WarrantManagerTest.java
Expand Up @@ -16,6 +16,7 @@ public class WarrantManagerTest {
public void testCTor() {
WarrantManager t = new WarrantManager();
Assert.assertNotNull("exists",t);
t.dispose();
}

// The minimal setup for log4J
Expand Down
1 change: 1 addition & 0 deletions java/test/jmri/jmrit/logix/WarrantTest.java
Expand Up @@ -324,6 +324,7 @@ public void setUp() {

@After
public void tearDown() {
Warrant.stopWarrant(true);
_OBlockMgr = null;
_portalMgr = null;
_sensorMgr = null;
Expand Down

0 comments on commit 6dcbaf2

Please sign in to comment.