From 95cf87ebb4e248f10d7fc711a7a76ec33ca9f5e4 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Tue, 26 Mar 2019 09:26:46 +0100 Subject: [PATCH] - added missing Java files --- .../scl/communication/Address.java | 42 +++++++++++ .../com/libiec61850/scl/communication/P.java | 38 ++++++++++ .../com/libiec61850/scl/model/ClientLN.java | 72 +++++++++++++++++++ 3 files changed, 152 insertions(+) create mode 100644 tools/model_generator/src/com/libiec61850/scl/communication/Address.java create mode 100644 tools/model_generator/src/com/libiec61850/scl/communication/P.java create mode 100644 tools/model_generator/src/com/libiec61850/scl/model/ClientLN.java diff --git a/tools/model_generator/src/com/libiec61850/scl/communication/Address.java b/tools/model_generator/src/com/libiec61850/scl/communication/Address.java new file mode 100644 index 00000000..6906a2d1 --- /dev/null +++ b/tools/model_generator/src/com/libiec61850/scl/communication/Address.java @@ -0,0 +1,42 @@ +package com.libiec61850.scl.communication; + +import java.util.LinkedList; +import java.util.List; + +import org.w3c.dom.Node; + +import com.libiec61850.scl.ParserUtils; +import com.libiec61850.scl.SclParserException; + +public class Address +{ + Node node; + + private List

addressParameters = new LinkedList

(); + + public Address(Node addressNode) + throws SclParserException + { + node = addressNode; + + List pNodes = ParserUtils.getChildNodesWithTag(node, "P"); + + for (Node pNode : pNodes) + addressParameters.add(new P(pNode)); + } + + public List

getAddressParameters() + { + return addressParameters; + } + + public P getAddressParameter(String type) + { + for (P p : addressParameters) { + if (p.getType().equals(type)) + return p; + } + + return null; + } +} diff --git a/tools/model_generator/src/com/libiec61850/scl/communication/P.java b/tools/model_generator/src/com/libiec61850/scl/communication/P.java new file mode 100644 index 00000000..32794865 --- /dev/null +++ b/tools/model_generator/src/com/libiec61850/scl/communication/P.java @@ -0,0 +1,38 @@ +package com.libiec61850.scl.communication; + +import org.w3c.dom.Node; + +import com.libiec61850.scl.ParserUtils; +import com.libiec61850.scl.SclParserException; + +public class P +{ + private Node node; + + private String type; + + public P(Node pNode) throws SclParserException + { + node = pNode; + + this.type = ParserUtils.parseAttribute(node, "type"); + + if (this.type == null) + throw new SclParserException(node, "type is missing in P element!"); + } + + public String getType() + { + return type; + } + + public String getText() + { + return node.getTextContent(); + } + + public void setText(String text) + { + node.setTextContent(text); + } +} diff --git a/tools/model_generator/src/com/libiec61850/scl/model/ClientLN.java b/tools/model_generator/src/com/libiec61850/scl/model/ClientLN.java new file mode 100644 index 00000000..b3275aea --- /dev/null +++ b/tools/model_generator/src/com/libiec61850/scl/model/ClientLN.java @@ -0,0 +1,72 @@ +package com.libiec61850.scl.model; + +/* + * Copyright 2013-2019 Michael Zillgith, MZ Automation GmbH + * + * This file is part of libIEC61850. + * + * libIEC61850 is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * libIEC61850 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with libIEC61850. If not, see . + * + * See COPYING file for the complete license text. + */ + +import org.w3c.dom.Node; + +import com.libiec61850.scl.ParserUtils; + +public class ClientLN +{ + private Node node; + + public ClientLN(Node node) + { + this.node = node; + } + + public String getIedName() + { + return ParserUtils.parseAttribute(node, "iedName"); + } + + public String getApRef() + { + return ParserUtils.parseAttribute(node, "apRef"); + } + + public String getLdInst() + { + return ParserUtils.parseAttribute(node, "ldInst"); + } + + public String getPrefix() + { + return ParserUtils.parseAttribute(node, "prefix"); + } + + public String getLnClass() + { + return ParserUtils.parseAttribute(node, "lnClass"); + } + + public String getLnInst() + { + return ParserUtils.parseAttribute(node, "lnInst"); + } + + public String getDesc() + { + return ParserUtils.parseAttribute(node, "desc"); + } + +}