Search in sources :

Example 36 with Attribute

use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.

the class LayoutTurnoutXml method load.

/**
     * Load, starting with the levelxing element, then all the other data
     *
     * @param element Top level Element to unpack.
     * @param o       LayoutEditor as an Object
     */
@Override
public void load(Element element, Object o) {
    // create the objects
    LayoutEditor p = (LayoutEditor) o;
    // get center point
    String name = element.getAttribute("ident").getValue();
    double x = 0.0;
    double y = 0.0;
    int tType = LayoutTurnout.RH_TURNOUT;
    try {
        x = element.getAttribute("xcen").getFloatValue();
        y = element.getAttribute("ycen").getFloatValue();
        tType = element.getAttribute("type").getIntValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert layoutturnout attribute");
    }
    int version = 1;
    try {
        version = element.getAttribute("ver").getIntValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert layoutturnout b coords attribute");
    } catch (java.lang.NullPointerException e) {
    //can be ignored as panel file may not support method
    }
    // create the new LayoutTurnout
    LayoutTurnout l = new LayoutTurnout(name, tType, new Point2D.Double(x, y), 0.0, 1.0, 1.0, p, version);
    // get remaining attributes
    Attribute a = element.getAttribute("blockname");
    if (a != null) {
        l.tBlockName = a.getValue();
    }
    a = element.getAttribute("blockbname");
    if (a != null) {
        l.tBlockBName = a.getValue();
    }
    a = element.getAttribute("blockcname");
    if (a != null) {
        l.tBlockCName = a.getValue();
    }
    a = element.getAttribute("blockdname");
    if (a != null) {
        l.tBlockDName = a.getValue();
    }
    a = element.getAttribute("turnoutname");
    if (a != null) {
        l.tTurnoutName = a.getValue();
    }
    a = element.getAttribute("secondturnoutname");
    if (a != null) {
        l.tSecondTurnoutName = a.getValue();
    }
    a = element.getAttribute("connectaname");
    if (a != null) {
        l.connectAName = a.getValue();
    }
    a = element.getAttribute("connectbname");
    if (a != null) {
        l.connectBName = a.getValue();
    }
    a = element.getAttribute("connectcname");
    if (a != null) {
        l.connectCName = a.getValue();
    }
    a = element.getAttribute("connectdname");
    if (a != null) {
        l.connectDName = a.getValue();
    }
    a = element.getAttribute("signala1name");
    if (a != null) {
        l.setSignalA1Name(a.getValue());
    }
    a = element.getAttribute("signala2name");
    if (a != null) {
        l.setSignalA2Name(a.getValue());
    }
    a = element.getAttribute("signala3name");
    if (a != null) {
        l.setSignalA3Name(a.getValue());
    }
    a = element.getAttribute("signalb1name");
    if (a != null) {
        l.setSignalB1Name(a.getValue());
    }
    a = element.getAttribute("signalb2name");
    if (a != null) {
        l.setSignalB2Name(a.getValue());
    }
    a = element.getAttribute("signalc1name");
    if (a != null) {
        l.setSignalC1Name(a.getValue());
    }
    a = element.getAttribute("signalc2name");
    if (a != null) {
        l.setSignalC2Name(a.getValue());
    }
    a = element.getAttribute("signald1name");
    if (a != null) {
        l.setSignalD1Name(a.getValue());
    }
    a = element.getAttribute("signald2name");
    if (a != null) {
        l.setSignalD2Name(a.getValue());
    }
    a = element.getAttribute("linkedturnoutname");
    if (a != null) {
        l.linkedTurnoutName = a.getValue();
        try {
            l.linkType = element.getAttribute("linktype").getIntValue();
        } catch (org.jdom2.DataConversionException e) {
            log.error("failed to convert linked layout turnout type");
        }
    }
    a = element.getAttribute("continuing");
    if (a != null) {
        int continuing = Turnout.CLOSED;
        try {
            continuing = element.getAttribute("continuing").getIntValue();
        } catch (org.jdom2.DataConversionException e) {
            log.error("failed to convert continuingsense attribute");
        }
        l.setContinuingSense(continuing);
    }
    boolean value = false;
    if ((a = element.getAttribute("disabled")) != null && a.getValue().equals("yes")) {
        value = true;
    }
    l.setDisabled(value);
    value = false;
    if ((a = element.getAttribute("disableWhenOccupied")) != null && a.getValue().equals("yes")) {
        value = true;
    }
    l.setDisableWhenOccupied(value);
    boolean hide = false;
    if (element.getAttribute("hidden") != null) {
        if (element.getAttribute("hidden").getValue().equals("yes")) {
            hide = true;
        }
    }
    l.setHidden(hide);
    if (version == 2) {
        try {
            x = element.getAttribute("xa").getFloatValue();
            y = element.getAttribute("ya").getFloatValue();
            l.setCoordsA(new Point2D.Double(x, y));
        } catch (org.jdom2.DataConversionException e) {
            log.error("failed to convert layoutturnout b coords attribute");
        } catch (java.lang.NullPointerException e) {
        //can be ignored as panel file may not support method
        }
    }
    try {
        x = element.getAttribute("xb").getFloatValue();
        y = element.getAttribute("yb").getFloatValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert layoutturnout b coords attribute");
    }
    l.setCoordsB(new Point2D.Double(x, y));
    try {
        x = element.getAttribute("xc").getFloatValue();
        y = element.getAttribute("yc").getFloatValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert layoutturnout c coords attribute");
    }
    l.setCoordsC(new Point2D.Double(x, y));
    if (version == 2) {
        try {
            x = element.getAttribute("xd").getFloatValue();
            y = element.getAttribute("yd").getFloatValue();
            l.setCoordsD(new Point2D.Double(x, y));
        } catch (org.jdom2.DataConversionException e) {
            log.error("failed to convert layoutturnout c coords attribute");
        } catch (java.lang.NullPointerException e) {
        //can be ignored as panel file may not support method
        }
    }
    if (element.getChild("signalAMast") != null) {
        String mast = element.getChild("signalAMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalAMast(mast);
        }
    }
    if (element.getChild("signalBMast") != null) {
        String mast = element.getChild("signalBMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalBMast(mast);
        }
    }
    if (element.getChild("signalCMast") != null) {
        String mast = element.getChild("signalCMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalCMast(mast);
        }
    }
    if (element.getChild("signalDMast") != null) {
        String mast = element.getChild("signalDMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalDMast(mast);
        }
    }
    if (element.getChild("sensorA") != null) {
        String sensor = element.getChild("sensorA").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorA(sensor);
        }
    }
    if (element.getChild("sensorB") != null) {
        String sensor = element.getChild("sensorB").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorB(sensor);
        }
    }
    if (element.getChild("sensorC") != null) {
        String sensor = element.getChild("sensorC").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorC(sensor);
        }
    }
    if (element.getChild("sensorD") != null) {
        String sensor = element.getChild("sensorD").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorD(sensor);
        }
    }
    p.turnoutList.add(l);
}
Also used : LayoutEditor(jmri.jmrit.display.layoutEditor.LayoutEditor) Attribute(org.jdom2.Attribute) LayoutTurnout(jmri.jmrit.display.layoutEditor.LayoutTurnout) Point2D(java.awt.geom.Point2D)

Example 37 with Attribute

use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.

the class LevelXingXml method load.

/**
     * Load, starting with the levelxing element, then all the other data
     *
     * @param element Top level Element to unpack.
     * @param o       LayoutEditor as an Object
     */
@Override
public void load(Element element, Object o) {
    // create the objects
    LayoutEditor p = (LayoutEditor) o;
    // get center point
    String name = element.getAttribute("ident").getValue();
    double x = 0.0;
    double y = 0.0;
    try {
        x = element.getAttribute("xcen").getFloatValue();
        y = element.getAttribute("ycen").getFloatValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert levelxing center  attribute");
    }
    // create the new LevelXing
    LevelXing l = new LevelXing(name, new Point2D.Double(x, y), p);
    // get remaining attributes
    Attribute a = element.getAttribute("blocknameac");
    if (a != null) {
        l.tBlockNameAC = a.getValue();
    }
    a = element.getAttribute("blocknamebd");
    if (a != null) {
        l.tBlockNameBD = a.getValue();
    }
    a = element.getAttribute("connectaname");
    if (a != null) {
        l.connectAName = a.getValue();
    }
    a = element.getAttribute("connectbname");
    if (a != null) {
        l.connectBName = a.getValue();
    }
    a = element.getAttribute("connectcname");
    if (a != null) {
        l.connectCName = a.getValue();
    }
    a = element.getAttribute("connectdname");
    if (a != null) {
        l.connectDName = a.getValue();
    }
    a = element.getAttribute("signalaname");
    if (a != null) {
        l.setSignalAName(a.getValue());
    }
    a = element.getAttribute("signalbname");
    if (a != null) {
        l.setSignalBName(a.getValue());
    }
    a = element.getAttribute("signalcname");
    if (a != null) {
        l.setSignalCName(a.getValue());
    }
    a = element.getAttribute("signaldname");
    if (a != null) {
        l.setSignalDName(a.getValue());
    }
    try {
        x = element.getAttribute("xa").getFloatValue();
        y = element.getAttribute("ya").getFloatValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert levelxing a coords attribute");
    }
    l.setCoordsA(new Point2D.Double(x, y));
    try {
        x = element.getAttribute("xb").getFloatValue();
        y = element.getAttribute("yb").getFloatValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert levelxing b coords attribute");
    }
    l.setCoordsB(new Point2D.Double(x, y));
    if (element.getChild("signalAMast") != null) {
        String mast = element.getChild("signalAMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalAMast(mast);
        }
    }
    if (element.getChild("signalBMast") != null) {
        String mast = element.getChild("signalBMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalBMast(mast);
        }
    }
    if (element.getChild("signalCMast") != null) {
        String mast = element.getChild("signalCMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalCMast(mast);
        }
    }
    if (element.getChild("signalDMast") != null) {
        String mast = element.getChild("signalDMast").getText();
        if (mast != null && !mast.equals("")) {
            l.setSignalDMast(mast);
        }
    }
    if (element.getChild("sensorA") != null) {
        String sensor = element.getChild("sensorA").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorAName(sensor);
        }
    }
    if (element.getChild("sensorB") != null) {
        String sensor = element.getChild("sensorB").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorBName(sensor);
        }
    }
    if (element.getChild("sensorC") != null) {
        String sensor = element.getChild("sensorC").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorCName(sensor);
        }
    }
    if (element.getChild("sensorD") != null) {
        String sensor = element.getChild("sensorD").getText();
        if (sensor != null && !sensor.equals("")) {
            l.setSensorDName(sensor);
        }
    }
    p.xingList.add(l);
}
Also used : LayoutEditor(jmri.jmrit.display.layoutEditor.LayoutEditor) LevelXing(jmri.jmrit.display.layoutEditor.LevelXing) Point2D(java.awt.geom.Point2D) Attribute(org.jdom2.Attribute)

Example 38 with Attribute

use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.

the class TrackSegmentXml method load.

/**
     * Load, starting with the tracksegment element, then all all attributes
     *
     * @param element Top level Element to unpack.
     * @param o       LayoutEditor as an Object
     */
@Override
public void load(Element element, Object o) {
    // create the objects
    LayoutEditor p = (LayoutEditor) o;
    // get attributes
    String name = element.getAttribute("ident").getValue();
    int type1 = LayoutTrack.NONE;
    int type2 = LayoutTrack.NONE;
    try {
        type1 = element.getAttribute("type1").getIntValue();
        type2 = element.getAttribute("type2").getIntValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert tracksegment attribute");
    }
    boolean dash = true;
    if (element.getAttribute("dashed").getValue().equals("no")) {
        dash = false;
    }
    boolean main = true;
    if (element.getAttribute("mainline").getValue().equals("no")) {
        main = false;
    }
    boolean hide = true;
    if (element.getAttribute("hidden").getValue().equals("no")) {
        hide = false;
    }
    String con1Name = element.getAttribute("connect1name").getValue();
    String con2Name = element.getAttribute("connect2name").getValue();
    // create the new TrackSegment
    TrackSegment l = new TrackSegment(name, con1Name, type1, con2Name, type2, dash, main, hide, p);
    try {
        if (element.getAttribute("arc").getValue().equals("yes")) {
            l.setArc(true);
        }
    } catch (NullPointerException e) {
    }
    if (l.getArc()) {
        //int startangle = 0;
        try {
            if (element.getAttribute("flip").getValue().equals("yes")) {
                l.setFlip(true);
            }
        } catch (NullPointerException e) {
        }
        //considered normal if the attribute is not present }
        try {
            if (element.getAttribute("circle").getValue().equals("yes")) {
                l.setCircle(true);
            }
        } catch (NullPointerException e) {
        }
        if (l.getCircle()) {
            try {
                l.setAngle(element.getAttribute("angle").getDoubleValue());
            } catch (org.jdom2.DataConversionException e) {
                log.error("failed to convert tracksegment attribute");
            } catch (NullPointerException e) {
            // considered normal if the attribute not present
            }
        }
        try {
            if (element.getAttribute("hideConLines").getValue().equals("yes")) {
                l.hideConstructionLines(TrackSegment.HIDECON);
            }
        } catch (NullPointerException e) {
        }
    //considered normal if the attribute is not present }
    }
    try {
        if (element.getAttribute("bezier").getValue().equals("yes")) {
            // load control points
            Element controlpointsElement = element.getChild("controlpoints");
            if (null != controlpointsElement) {
                List<Element> elementList = controlpointsElement.getChildren("controlpoint");
                if (null != elementList) {
                    if (elementList.size() >= 2) {
                        for (int i = 0; i < elementList.size(); i++) {
                            double x = 0.0;
                            double y = 0.0;
                            int index = 0;
                            Element relem = elementList.get(i);
                            try {
                                index = (relem.getAttribute("index")).getIntValue();
                                x = (relem.getAttribute("x")).getFloatValue();
                                y = (relem.getAttribute("y")).getFloatValue();
                            } catch (org.jdom2.DataConversionException e) {
                                log.error("failed to convert controlpoint coordinates or index attributes");
                            }
                            l.setBezierControlPoint(new Point2D.Double(x, y), index);
                        }
                    } else {
                        log.error("Track segment Bezier two controlpoint elements not found. (found " + elementList.size() + ")");
                    }
                } else {
                    log.error("Track segment Bezier controlpoint elements not found.");
                }
            } else {
                log.error("Track segment Bezier controlpoints element not found.");
            }
            // NOTE: do this LAST (so reCenter won't be called yet)
            l.setBezier(true);
        }
    } catch (NullPointerException e) {
    }
    //considered normal if the attribute is not present }
    // get remaining attribute
    Attribute a = element.getAttribute("blockname");
    if (a != null) {
        l.tBlockName = a.getValue();
    }
    p.trackList.add(l);
}
Also used : LayoutEditor(jmri.jmrit.display.layoutEditor.LayoutEditor) Attribute(org.jdom2.Attribute) Element(org.jdom2.Element) TrackSegment(jmri.jmrit.display.layoutEditor.TrackSegment) Point2D(java.awt.geom.Point2D)

Example 39 with Attribute

use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.

the class LayoutTurntableXml method load.

/**
     * Load, starting with the layoutturntable element, then all the other data
     *
     * @param element Top level Element to unpack.
     * @param o       LayoutEditor as an Object
     */
@Override
public void load(Element element, Object o) {
    // create the objects
    LayoutEditor p = (LayoutEditor) o;
    // get center point
    String name = element.getAttribute("ident").getValue();
    double x = 0.0;
    double y = 0.0;
    double radius = 25.0;
    try {
        x = element.getAttribute("xcen").getFloatValue();
        y = element.getAttribute("ycen").getFloatValue();
        radius = element.getAttribute("radius").getFloatValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert layoutturntable center or radius attributes");
    }
    // create the new LayoutTurntable
    LayoutTurntable l = new LayoutTurntable(name, new Point2D.Double(x, y), p);
    l.setRadius(radius);
    boolean turnoutControl = false;
    if (element.getAttribute("turnoutControlled") != null) {
        if (element.getAttribute("turnoutControlled").getValue().equals("yes")) {
            turnoutControl = true;
        }
    }
    l.setTurnoutControlled(turnoutControl);
    // load ray tracks 
    List<Element> rayTrackList = element.getChildren("raytrack");
    if (rayTrackList.size() > 0) {
        for (int i = 0; i < rayTrackList.size(); i++) {
            double angle = 0.0;
            int index = 0;
            Element relem = rayTrackList.get(i);
            try {
                angle = (relem.getAttribute("angle")).getFloatValue();
                index = (relem.getAttribute("index")).getIntValue();
            } catch (org.jdom2.DataConversionException e) {
                log.error("failed to convert ray track angle or index attributes");
            }
            String connectName = "";
            Attribute a = relem.getAttribute("connectname");
            if (a != null) {
                connectName = a.getValue();
            }
            l.addRayTrack(angle, index, connectName);
            if (turnoutControl && relem.getAttribute("turnout") != null) {
                //Turnout t = jmri.InstanceManager.turnoutManagerInstance().getTurnout();
                if (relem.getAttribute("turnoutstate").getValue().equals("thrown")) {
                    l.setRayTurnout(index, relem.getAttribute("turnout").getValue(), Turnout.THROWN);
                } else {
                    l.setRayTurnout(index, relem.getAttribute("turnout").getValue(), Turnout.CLOSED);
                }
            }
        }
    }
    p.turntableList.add(l);
}
Also used : LayoutEditor(jmri.jmrit.display.layoutEditor.LayoutEditor) Attribute(org.jdom2.Attribute) Element(org.jdom2.Element) Point2D(java.awt.geom.Point2D) LayoutTurntable(jmri.jmrit.display.layoutEditor.LayoutTurntable)

Example 40 with Attribute

use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.

the class PositionablePointXml method load.

/**
     * Load, starting with the layoutblock element, then all the value-icon
     * pairs
     *
     * @param element Top level Element to unpack.
     * @param o       LayoutEditor as an Object
     */
@Override
public void load(Element element, Object o) {
    // create the objects
    LayoutEditor p = (LayoutEditor) o;
    // get attributes
    String name = element.getAttribute("ident").getValue();
    int type = PositionablePoint.ANCHOR;
    double x = 0.0;
    double y = 0.0;
    try {
        x = element.getAttribute("x").getFloatValue();
        y = element.getAttribute("y").getFloatValue();
        type = element.getAttribute("type").getIntValue();
    } catch (org.jdom2.DataConversionException e) {
        log.error("failed to convert positionablepoint attribute");
    }
    // create the new PositionablePoint
    PositionablePoint l = new PositionablePoint(name, type, new Point2D.Double(x, y), p);
    // get remaining attributes
    Attribute a = element.getAttribute("connect1name");
    if (a != null) {
        l.trackSegment1Name = a.getValue();
    }
    a = element.getAttribute("connect2name");
    if (a != null) {
        l.trackSegment2Name = a.getValue();
    }
    a = element.getAttribute("eastboundsignal");
    if (a != null) {
        l.setEastBoundSignal(a.getValue());
    }
    a = element.getAttribute("westboundsignal");
    if (a != null) {
        l.setWestBoundSignal(a.getValue());
    }
    a = element.getAttribute("eastboundsignalmast");
    if (a != null) {
        l.setEastBoundSignalMast(a.getValue());
    }
    a = element.getAttribute("westboundsignalmast");
    if (a != null) {
        l.setWestBoundSignalMast(a.getValue());
    }
    a = element.getAttribute("eastboundsensor");
    if (a != null) {
        l.setEastBoundSensor(a.getValue());
    }
    a = element.getAttribute("westboundsensor");
    if (a != null) {
        l.setWestBoundSensor(a.getValue());
    }
    if (type == PositionablePoint.EDGE_CONNECTOR && element.getAttribute("linkedpanel") != null && element.getAttribute("linkpointid") != null) {
        String linkedEditorName = element.getAttribute("linkedpanel").getValue();
        LayoutEditor linkedEditor = (LayoutEditor) jmri.jmrit.display.PanelMenu.instance().getEditorByName(linkedEditorName);
        if (linkedEditor != null) {
            String linkedPoint = element.getAttribute("linkpointid").getValue();
            for (PositionablePoint point : linkedEditor.pointList) {
                if (point.getType() == PositionablePoint.EDGE_CONNECTOR && point.getID().equals(linkedPoint)) {
                    point.setLinkedPoint(l);
                    l.setLinkedPoint(point);
                    break;
                }
            }
        }
    }
    p.pointList.add(l);
}
Also used : LayoutEditor(jmri.jmrit.display.layoutEditor.LayoutEditor) Point2D(java.awt.geom.Point2D) Attribute(org.jdom2.Attribute) PositionablePoint(jmri.jmrit.display.layoutEditor.PositionablePoint) PositionablePoint(jmri.jmrit.display.layoutEditor.PositionablePoint)

Aggregations

Attribute (org.jdom2.Attribute)148 Element (org.jdom2.Element)104 Document (org.jdom2.Document)18 ArrayList (java.util.ArrayList)17 DataConversionException (org.jdom2.DataConversionException)16 Editor (jmri.jmrit.display.Editor)15 Test (org.junit.Test)15 IOException (java.io.IOException)14 NamedIcon (jmri.jmrit.catalog.NamedIcon)13 Attribute (org.bouncycastle.asn1.x509.Attribute)11 HashMap (java.util.HashMap)10 List (java.util.List)9 HashSet (java.util.HashSet)7 Map (java.util.Map)7 LayoutEditor (jmri.jmrit.display.layoutEditor.LayoutEditor)7 Attribute (ucar.nc2.Attribute)7 Asn1Integer (com.android.hotspot2.asn1.Asn1Integer)5 Asn1Object (com.android.hotspot2.asn1.Asn1Object)5 Asn1Oid (com.android.hotspot2.asn1.Asn1Oid)5 OidMappings (com.android.hotspot2.asn1.OidMappings)5