Search in sources :

Example 1 with BasicEvent

use of io.adminshell.aas.v3.model.BasicEvent in project FAAAST-Service by FraunhoferIOSB.

the class AasServiceNodeManager method addAasEvent.

/**
 * Adds an AAS Event to the given node.
 *
 * @param node The desired UA node
 * @param aasEvent The AAS Event to add
 * @param submodel The corresponding Submodel as parent object of the data element
 * @param parentRef The AAS reference to the parent object
 * @param ordered Specifies whether the entity should be added ordered
 *            (true) or unordered (false)
 * @throws StatusException If the operation fails
 */
private void addAasEvent(UaNode node, Event aasEvent, Submodel submodel, Reference parentRef, boolean ordered) throws StatusException {
    try {
        if ((node != null) && (aasEvent != null)) {
            String name = aasEvent.getIdShort();
            QualifiedName browseName = UaQualifiedName.from(opc.i4aas.ObjectTypeIds.AASEventType.getNamespaceUri(), name).toQualifiedName(getNamespaceTable());
            NodeId nid = getDefaultNodeId();
            AASEventType eventNode = createInstance(AASEventType.class, nid, browseName, LocalizedText.english(name));
            addSubmodelElementBaseData(eventNode, aasEvent);
            if (aasEvent instanceof BasicEvent) {
                setBasicEventData(eventNode, (BasicEvent) aasEvent);
            }
            Reference eventRef = AasUtils.toReference(parentRef, aasEvent);
            if (ordered) {
                node.addReference(eventNode, Identifiers.HasOrderedComponent, false);
            } else {
                node.addComponent(eventNode);
            }
            referableMap.put(eventRef, new ObjectData(aasEvent, eventNode, submodel));
        }
    } catch (Exception ex) {
        LOG.error("addAasEvent Exception", ex);
        throw ex;
    }
}
Also used : Reference(io.adminshell.aas.v3.model.Reference) DefaultReference(io.adminshell.aas.v3.model.impl.DefaultReference) UaQualifiedName(com.prosysopc.ua.UaQualifiedName) QualifiedName(com.prosysopc.ua.stack.builtintypes.QualifiedName) NodeId(com.prosysopc.ua.stack.builtintypes.NodeId) ObjectData(de.fraunhofer.iosb.ilt.faaast.service.endpoint.opcua.data.ObjectData) BasicEvent(io.adminshell.aas.v3.model.BasicEvent) ByteString(com.prosysopc.ua.stack.builtintypes.ByteString) LangString(io.adminshell.aas.v3.model.LangString) AASEventType(opc.i4aas.AASEventType) ServiceResultException(com.prosysopc.ua.stack.common.ServiceResultException) StatusException(com.prosysopc.ua.StatusException) MessageBusException(de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException) ServiceException(com.prosysopc.ua.ServiceException) UaNodeFactoryException(com.prosysopc.ua.nodes.UaNodeFactoryException) AddressSpaceException(com.prosysopc.ua.client.AddressSpaceException)

Aggregations

ServiceException (com.prosysopc.ua.ServiceException)1 StatusException (com.prosysopc.ua.StatusException)1 UaQualifiedName (com.prosysopc.ua.UaQualifiedName)1 AddressSpaceException (com.prosysopc.ua.client.AddressSpaceException)1 UaNodeFactoryException (com.prosysopc.ua.nodes.UaNodeFactoryException)1 ByteString (com.prosysopc.ua.stack.builtintypes.ByteString)1 NodeId (com.prosysopc.ua.stack.builtintypes.NodeId)1 QualifiedName (com.prosysopc.ua.stack.builtintypes.QualifiedName)1 ServiceResultException (com.prosysopc.ua.stack.common.ServiceResultException)1 ObjectData (de.fraunhofer.iosb.ilt.faaast.service.endpoint.opcua.data.ObjectData)1 MessageBusException (de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException)1 BasicEvent (io.adminshell.aas.v3.model.BasicEvent)1 LangString (io.adminshell.aas.v3.model.LangString)1 Reference (io.adminshell.aas.v3.model.Reference)1 DefaultReference (io.adminshell.aas.v3.model.impl.DefaultReference)1 AASEventType (opc.i4aas.AASEventType)1