Search in sources :

Example 21 with Logix

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(), ""));
}
Also used : Logix(jmri.Logix) LogixManager(jmri.LogixManager)

Example 22 with Logix

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(), ""));
}
Also used : Logix(jmri.Logix) LogixManager(jmri.LogixManager)

Example 23 with Logix

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);
    }
}
Also used : Memory(jmri.Memory) SignalHead(jmri.SignalHead) Conditional(jmri.Conditional) Logix(jmri.Logix) Light(jmri.Light) Turnout(jmri.Turnout) Route(jmri.Route) Sensor(jmri.Sensor)

Example 24 with Logix

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);
    }
}
Also used : Logix(jmri.Logix)

Example 25 with Logix

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;
}
Also used : Logix(jmri.Logix) ConditionalManager(jmri.ConditionalManager) Conditional(jmri.Conditional) DefaultConditional(jmri.implementation.DefaultConditional)

Aggregations

Logix (jmri.Logix)39 Conditional (jmri.Conditional)15 ConditionalVariable (jmri.ConditionalVariable)8 ConditionalAction (jmri.ConditionalAction)7 ArrayList (java.util.ArrayList)6 LogixManager (jmri.LogixManager)6 ConditionalManager (jmri.ConditionalManager)5 DefaultConditionalAction (jmri.implementation.DefaultConditionalAction)5 SensorGroupConditional (jmri.implementation.SensorGroupConditional)5 DefaultListModel (javax.swing.DefaultListModel)4 DefaultConditional (jmri.implementation.DefaultConditional)4 ActionEvent (java.awt.event.ActionEvent)3 ActionListener (java.awt.event.ActionListener)3 JButton (javax.swing.JButton)3 Route (jmri.Route)3 Sensor (jmri.Sensor)3 UserPreferencesManager (jmri.UserPreferencesManager)3 Element (org.jdom2.Element)3 BoxLayout (javax.swing.BoxLayout)2 JLabel (javax.swing.JLabel)2