Search in sources :

Example 1 with ConnectionConfig

use of jmri.jmrix.ConnectionConfig in project JMRI by JMRI.

the class WebAppServlet method processAbout.

private void processAbout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(UTF8_APPLICATION_JSON);
    Profile profile = ProfileManager.getDefault().getActiveProfile();
    ObjectMapper mapper = new ObjectMapper();
    ObjectNode about = mapper.createObjectNode();
    // NOI18N
    about.put("additionalInfo", "TRADEMARKS AND LICENSE GO HERE");
    // NOI18N
    about.put("copyright", Version.getCopyright());
    // NOI18N
    about.put("title", WebServerPreferences.getDefault().getRailRoadName());
    // NOI18N
    about.put("imgAlt", Application.getApplicationName());
    // assuming Application.getLogo() is relative to program:
    // NOI18N
    about.put("imgSrc", "/" + Application.getLogo());
    // NOI18N
    ArrayNode productInfo = about.putArray("productInfo");
    productInfo.add(mapper.createObjectNode().put(NAME, Application.getApplicationName()).put(VALUE, Version.name()));
    // NOI18N
    productInfo.add(mapper.createObjectNode().put(NAME, Bundle.getMessage(request.getLocale(), "ActiveProfile")).put(VALUE, profile.getName()));
    productInfo.add(mapper.createObjectNode().put(NAME, // NOI18N
    "Java").put(VALUE, Bundle.getMessage(request.getLocale(), "JavaVersion", // NOI18N
    System.getProperty("java.version", Bundle.getMessage(request.getLocale(), "Unknown")), // NOI18N
    System.getProperty("java.vm.name", Bundle.getMessage(request.getLocale(), "Unknown")), // NOI18N
    System.getProperty("java.vm.version", ""), // NOI18N
    System.getProperty("java.vendor", Bundle.getMessage(request.getLocale(), "Unknown")))));
    productInfo.add(mapper.createObjectNode().put(NAME, Bundle.getMessage(request.getLocale(), "Runtime")).put(VALUE, Bundle.getMessage(request.getLocale(), "RuntimeVersion", // NOI18N
    System.getProperty("java.runtime.name", Bundle.getMessage(request.getLocale(), "Unknown")), // NOI18N
    System.getProperty("java.runtime.version", ""))));
    for (ConnectionConfig conn : InstanceManager.getDefault(ConnectionConfigManager.class)) {
        if (!conn.getDisabled()) {
            productInfo.add(mapper.createObjectNode().put(NAME, Bundle.getMessage(request.getLocale(), "ConnectionName", conn.getConnectionName())).put(VALUE, Bundle.getMessage(request.getLocale(), "ConnectionValue", conn.name(), conn.getInfo())));
        }
    }
    response.getWriter().print(mapper.writeValueAsString(about));
}
Also used : ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) Profile(jmri.profile.Profile) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) ConnectionConfig(jmri.jmrix.ConnectionConfig)

Example 2 with ConnectionConfig

use of jmri.jmrix.ConnectionConfig in project JMRI by JMRI.

the class AboutDialog method infoPane.

protected JPanel infoPane() {
    JPanel pane1 = new JPanel();
    pane1.setLayout(new BoxLayout(pane1, BoxLayout.Y_AXIS));
    log.debug("start labels");
    // add listener for Com port updates
    for (ConnectionConfig conn : InstanceManager.getDefault(ConnectionConfigManager.class)) {
        if (!conn.getDisabled()) {
            pane1.add(new ConnectionLabel(conn));
        }
    }
    pane1.add(Box.createRigidArea(new Dimension(0, 15)));
    pane1.add(new JLabel(Bundle.getMessage("DefaultVersionCredit", Version.name())));
    pane1.add(new JLabel(Version.getCopyright()));
    pane1.add(new JLabel(Bundle.getMessage("JavaVersionCredit", System.getProperty("java.version", "<unknown>"), Locale.getDefault().toString())));
    pane1.setAlignmentX(Component.CENTER_ALIGNMENT);
    return pane1;
}
Also used : JPanel(javax.swing.JPanel) BoxLayout(javax.swing.BoxLayout) JLabel(javax.swing.JLabel) Dimension(java.awt.Dimension) ConnectionConfig(jmri.jmrix.ConnectionConfig)

Example 3 with ConnectionConfig

use of jmri.jmrix.ConnectionConfig in project JMRI by JMRI.

the class JsonUtilHttpService method getSystemConnections.

/**
     *
     * @param locale the client's Locale.
     * @return the JSON systemConnections message.
     */
public ArrayNode getSystemConnections(Locale locale) {
    ArrayNode root = mapper.createArrayNode();
    ArrayList<String> prefixes = new ArrayList<>();
    for (ConnectionConfig config : InstanceManager.getDefault(ConnectionConfigManager.class)) {
        if (!config.getDisabled()) {
            ObjectNode connection = mapper.createObjectNode().put(JSON.TYPE, JSON.SYSTEM_CONNECTION);
            ObjectNode data = connection.putObject(JSON.DATA);
            data.put(JSON.NAME, config.getConnectionName());
            data.put(JSON.MFG, config.getManufacturer());
            data.put(JSON.PREFIX, config.getAdapter().getSystemConnectionMemo().getSystemPrefix());
            data.put(JSON.DESCRIPTION, Bundle.getMessage(locale, "ConnectionSucceeded", config.getConnectionName(), config.name(), config.getInfo()));
            prefixes.add(config.getAdapter().getSystemConnectionMemo().getSystemPrefix());
            root.add(connection);
        }
    }
    InstanceManager.getList(SystemConnectionMemo.class).stream().map((instance) -> instance).filter((memo) -> (!memo.getDisabled() && !prefixes.contains(memo.getSystemPrefix()))).forEach((memo) -> {
        ObjectNode connection = mapper.createObjectNode().put(JSON.TYPE, JSON.SYSTEM_CONNECTION);
        ObjectNode data = connection.putObject(JSON.DATA);
        data.put(JSON.NAME, memo.getUserName());
        data.put(JSON.PREFIX, memo.getSystemPrefix());
        data.putNull(JSON.MFG);
        data.putNull(JSON.DESCRIPTION);
        prefixes.add(memo.getSystemPrefix());
        root.add(connection);
    });
    // Following is required because despite there being a SystemConnectionMemo
    // for the default internal connection, it is not used for the default internal
    // connection. This allows a client to map the server's internal objects.
    String prefix = "I";
    if (!prefixes.contains(prefix)) {
        ObjectNode connection = mapper.createObjectNode().put(JSON.TYPE, JSON.SYSTEM_CONNECTION);
        ObjectNode data = connection.putObject(JSON.DATA);
        data.put(JSON.NAME, ConnectionNameFromSystemName.getConnectionName(prefix));
        data.put(JSON.PREFIX, prefix);
        data.putNull(JSON.MFG);
        data.putNull(JSON.DESCRIPTION);
        root.add(connection);
    }
    return root;
}
Also used : ControlPanelEditor(jmri.jmrit.display.controlPanelEditor.ControlPanelEditor) Arrays(java.util.Arrays) Enumeration(java.util.Enumeration) ConnectionConfig(jmri.jmrix.ConnectionConfig) URL(jmri.server.json.JSON.URL) ProfileManager(jmri.profile.ProfileManager) DccLocoAddress(jmri.DccLocoAddress) JmriJFrame(jmri.util.JmriJFrame) PANEL(jmri.server.json.JSON.PANEL) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) Editor(jmri.jmrit.display.Editor) JsonException(jmri.server.json.JsonException) SWITCHBOARD_PANEL(jmri.server.json.JSON.SWITCHBOARD_PANEL) ArrayList(java.util.ArrayList) TYPE(jmri.server.json.JSON.TYPE) JsonServerPreferences(jmri.jmris.json.JsonServerPreferences) ConnectionConfigManager(jmri.jmrix.ConnectionConfigManager) Locale(java.util.Locale) Profile(jmri.profile.Profile) SwitchboardEditor(jmri.jmrit.display.switchboardEditor.SwitchboardEditor) PanelEditor(jmri.jmrit.display.panelEditor.PanelEditor) JsonNode(com.fasterxml.jackson.databind.JsonNode) NAME(jmri.server.json.JSON.NAME) InstanceManager(jmri.InstanceManager) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) HttpServletResponse(javax.servlet.http.HttpServletResponse) JsonHttpService(jmri.server.json.JsonHttpService) Metadata(jmri.Metadata) LayoutEditor(jmri.jmrit.display.layoutEditor.LayoutEditor) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) WebServerPreferences(jmri.web.server.WebServerPreferences) SystemConnectionMemo(jmri.jmrix.SystemConnectionMemo) CONTROL_PANEL(jmri.server.json.JSON.CONTROL_PANEL) ConnectionNameFromSystemName(jmri.util.ConnectionNameFromSystemName) DATA(jmri.server.json.JSON.DATA) USERNAME(jmri.server.json.JSON.USERNAME) JSON(jmri.server.json.JSON) NodeIdentity(jmri.util.node.NodeIdentity) ZeroConfService(jmri.util.zeroconf.ZeroConfService) LAYOUT_PANEL(jmri.server.json.JSON.LAYOUT_PANEL) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) ArrayList(java.util.ArrayList) ArrayNode(com.fasterxml.jackson.databind.node.ArrayNode) ConnectionConfig(jmri.jmrix.ConnectionConfig)

Example 4 with ConnectionConfig

use of jmri.jmrix.ConnectionConfig in project JMRI by JMRI.

the class AppsLaunchPane method statusPanel.

/**
     * Fill in the logo and status panel
     *
     * @return Properly-filled out JPanel
     */
protected JPanel statusPanel() {
    JPanel pane1 = new JPanel();
    pane1.setLayout(new BoxLayout(pane1, BoxLayout.X_AXIS));
    log.debug("Fetch main logo: {}", logo());
    pane1.add(new JLabel(new ImageIcon(getToolkit().getImage(FileUtil.findURL(logo(), FileUtil.Location.INSTALLED)), "JMRI logo"), JLabel.LEFT));
    // Some spacing between logo and status panel
    pane1.add(Box.createRigidArea(new Dimension(15, 0)));
    log.debug("start labels");
    JPanel pane2 = new JPanel();
    pane2.setLayout(new BoxLayout(pane2, BoxLayout.Y_AXIS));
    pane2.add(new JLabel(line1()));
    pane2.add(new JLabel(line2()));
    pane2.add(new JLabel(line3()));
    // add listerner for Com port updates
    ConnectionStatus.instance().addPropertyChangeListener(this);
    int i = 0;
    for (ConnectionConfig conn : InstanceManager.getDefault(ConnectionConfigManager.class)) {
        if (!conn.getDisabled()) {
            connection[i] = conn;
            i++;
        }
        if (i > 3) {
            break;
        }
    }
    buildLine4(pane2);
    buildLine5(pane2);
    buildLine6(pane2);
    buildLine7(pane2);
    pane2.add(new JLabel(line8()));
    pane2.add(new JLabel(line9()));
    pane1.add(pane2);
    return pane1;
}
Also used : JPanel(javax.swing.JPanel) ImageIcon(javax.swing.ImageIcon) BoxLayout(javax.swing.BoxLayout) JLabel(javax.swing.JLabel) Dimension(java.awt.Dimension) ConnectionConfig(jmri.jmrix.ConnectionConfig)

Example 5 with ConnectionConfig

use of jmri.jmrix.ConnectionConfig in project JMRI by JMRI.

the class Apps method statusPanel.

/**
     * Fill in the logo and status panel
     *
     * @return Properly-filled out JPanel
     */
protected JPanel statusPanel() {
    JPanel pane1 = new JPanel();
    pane1.setLayout(new BoxLayout(pane1, BoxLayout.X_AXIS));
    log.debug("Fetch main logo: {}", logo());
    pane1.add(new JLabel(new ImageIcon(getToolkit().getImage(FileUtil.findURL(logo(), FileUtil.Location.INSTALLED)), "JMRI logo"), JLabel.LEFT));
    // Some spacing between logo and status panel
    pane1.add(Box.createRigidArea(new Dimension(15, 0)));
    log.debug("start labels");
    JPanel pane2 = new JPanel();
    pane2.setLayout(new BoxLayout(pane2, BoxLayout.Y_AXIS));
    pane2.add(new JLabel(line1()));
    pane2.add(new JLabel(line2()));
    pane2.add(new JLabel(line3()));
    if (ProfileManager.getDefault() != null && ProfileManager.getDefault().getActiveProfile() != null) {
        pane2.add(new JLabel(Bundle.getMessage("ActiveProfile", ProfileManager.getDefault().getActiveProfile().getName())));
    } else {
        pane2.add(new JLabel(Bundle.getMessage("FailedProfile")));
    }
    // add listener for Com port updates
    ConnectionStatus.instance().addPropertyChangeListener(this);
    int i = 0;
    for (ConnectionConfig conn : InstanceManager.getDefault(ConnectionConfigManager.class)) {
        if (!conn.getDisabled()) {
            connection[i] = conn;
            i++;
        }
        if (i > 3) {
            break;
        }
    }
    buildLine4(pane2);
    buildLine5(pane2);
    buildLine6(pane2);
    buildLine7(pane2);
    pane2.add(new JLabel(line8()));
    pane2.add(new JLabel(line9()));
    pane1.add(pane2);
    return pane1;
}
Also used : JPanel(javax.swing.JPanel) ImageIcon(javax.swing.ImageIcon) BoxLayout(javax.swing.BoxLayout) JLabel(javax.swing.JLabel) Dimension(java.awt.Dimension) ConnectionConfig(jmri.jmrix.ConnectionConfig)

Aggregations

ConnectionConfig (jmri.jmrix.ConnectionConfig)11 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)3 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)3 Dimension (java.awt.Dimension)3 ArrayList (java.util.ArrayList)3 BoxLayout (javax.swing.BoxLayout)3 JLabel (javax.swing.JLabel)3 JPanel (javax.swing.JPanel)3 ConnectionConfigManager (jmri.jmrix.ConnectionConfigManager)3 Profile (jmri.profile.Profile)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 ImageIcon (javax.swing.ImageIcon)2 SystemConnectionMemo (jmri.jmrix.SystemConnectionMemo)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 Color (java.awt.Color)1 File (java.io.File)1 Arrays (java.util.Arrays)1 Enumeration (java.util.Enumeration)1 HashMap (java.util.HashMap)1 List (java.util.List)1