use of jmri.Logix in project JMRI by JMRI.
the class DefaultLogixManagerTest method testCreateForms.
public void testCreateForms() {
LogixManager m = new DefaultLogixManager();
Logix l1 = m.createNewLogix("User name 1");
Logix l2 = m.createNewLogix("User name 2");
Assert.assertNotNull(m.getByUserName("User name 1"));
Assert.assertNotNull(m.getByUserName("User name 2"));
Assert.assertTrue(l1 != l2);
Assert.assertTrue(!l1.equals(l2));
Assert.assertNotNull(m.getBySystemName(l1.getSystemName()));
Assert.assertNotNull(m.getBySystemName(l2.getSystemName()));
Logix l3 = m.createNewLogix("IX03", "User name 3");
Assert.assertTrue(l1 != l3);
Assert.assertTrue(l2 != l3);
Assert.assertTrue(!l1.equals(l3));
Assert.assertTrue(!l2.equals(l3));
// test of some fails
Assert.assertNull(m.createNewLogix(l1.getUserName()));
Assert.assertNull(m.createNewLogix(l1.getSystemName(), ""));
}
use of jmri.Logix in project JMRI by JMRI.
the class DefaultLogixManagerTest method testEmptyUserName.
public void testEmptyUserName() {
LogixManager m = new DefaultLogixManager();
Logix l1 = m.createNewLogix("IX01", "");
Logix l2 = m.createNewLogix("IX02", "");
Assert.assertTrue(l1 != l2);
Assert.assertTrue(!l1.equals(l2));
Assert.assertNotNull(m.getBySystemName(l1.getSystemName()));
Assert.assertNotNull(m.getBySystemName(l2.getSystemName()));
Logix l3 = m.createNewLogix("IX03", "User name 3");
// test of some fails
Assert.assertNull(m.createNewLogix(l1.getSystemName(), ""));
}
use of jmri.Logix in project JMRI by JMRI.
the class LogixTableActionTest method setUp.
// The minimal setup for log4J
@Override
protected void setUp() throws Exception {
apps.tests.Log4JFixture.setUp();
super.setUp();
JUnitUtil.resetInstanceManager();
JUnitUtil.initDefaultUserMessagePreferences();
JUnitUtil.initInternalTurnoutManager();
JUnitUtil.initInternalLightManager();
JUnitUtil.initInternalSensorManager();
JUnitUtil.initInternalSignalHeadManager();
_logixTable = new LogixTableAction() {
// skip dialog box if in edit mode, just assume OK pressed
@Override
boolean checkEditConditional() {
return inEditConditionalMode;
}
};
// test has begun
assertNotNull("LogixTableAction is null!", _logixTable);
_logixTable._suppressReminder = true;
Logix x1 = new jmri.implementation.DefaultLogix("IX01");
assertNotNull("Logix x1 is null!", x1);
InstanceManager.getDefault(jmri.LogixManager.class).register(x1);
for (int i = 0; i < 10; i++) {
Sensor s = InstanceManager.sensorManagerInstance().newSensor("IS" + i, "Sensor" + i);
assertNotNull(i + "th Sensor is null!", s);
Turnout t = InstanceManager.turnoutManagerInstance().newTurnout("IT" + i, "Turnout" + i);
assertNotNull(i + "th Turnout is null!", t);
Light l = InstanceManager.lightManagerInstance().newLight("IL" + (i), "Light" + i);
assertNotNull(i + "th Light is null!", l);
Conditional c = InstanceManager.getDefault(jmri.ConditionalManager.class).createNewConditional("IX01C" + i, "Conditional " + i);
assertNotNull(i + "th Conditional is null!", c);
Memory m = InstanceManager.memoryManagerInstance().provideMemory("IMemory" + i);
assertNotNull(i + "th Memory is null!", m);
SignalHead sh = new jmri.implementation.VirtualSignalHead("SignalHead" + i);
assertNotNull(i + "th SignalHead is null!", sh);
InstanceManager.getDefault(jmri.SignalHeadManager.class).register(sh);
Route r = new jmri.implementation.DefaultRoute("Route" + i);
assertNotNull(i + "th Route is null!", r);
InstanceManager.getDefault(jmri.RouteManager.class).register(r);
}
}
use of jmri.Logix in project JMRI by JMRI.
the class LogixTableAction method enableAll.
void enableAll(boolean enable) {
List<String> sysNameList = _logixManager.getSystemNameList();
for (int i = 0; i < sysNameList.size(); i++) {
Logix x = _logixManager.getBySystemName(sysNameList.get(i));
x.setEnabled(enable);
}
}
use of jmri.Logix in project JMRI by JMRI.
the class LogixTableAction method checkConditionalReferences.
/**
* Check for conditional references
*
* @since 4.7.4
* @param logixName The Logix under consideration
* @return true if no references
*/
boolean checkConditionalReferences(String logixName) {
_saveTargetList.clear();
Logix x = _logixManager.getLogix(logixName);
int numConditionals = x.getNumConditionals();
if (numConditionals > 0) {
for (int i = 0; i < numConditionals; i++) {
String csName = x.getConditionalByNumberOrder(i);
// If the conditional is a where used source, retain it for later
ArrayList<String> targetList = InstanceManager.getDefault(jmri.ConditionalManager.class).getTargetList(csName);
if (targetList.size() > 0) {
_saveTargetList.put(csName, targetList);
}
// If the conditional is a where used target, check scope
ArrayList<String> refList = InstanceManager.getDefault(jmri.ConditionalManager.class).getWhereUsed(csName);
if (refList != null) {
for (String refName : refList) {
Logix xRef = _conditionalManager.getParentLogix(refName);
String xsName = xRef.getSystemName();
if (logixName.equals(xsName)) {
// Member of the same Logix
continue;
}
// External references have to be removed before the Logix can be deleted.
Conditional c = x.getConditional(csName);
Conditional cRef = xRef.getConditional(refName);
String[] msgs = new String[] { c.getUserName(), c.getSystemName(), cRef.getUserName(), cRef.getSystemName(), xRef.getUserName(), xRef.getSystemName() };
javax.swing.JOptionPane.showMessageDialog(editLogixFrame, java.text.MessageFormat.format(rbx.getString("Error11"), (Object[]) msgs), Bundle.getMessage("ErrorTitle"), javax.swing.JOptionPane.ERROR_MESSAGE);
return false;
}
}
}
}
return true;
}
Aggregations