java.lang.Object
org.eclipse.milo.opcua.sdk.server.api.ManagedAddressSpace
org.eclipse.milo.opcua.sdk.server.api.ManagedAddressSpaceFragment
org.eclipse.milo.opcua.sdk.server.api.ManagedNamespace
org.eclipse.milo.opcua.sdk.server.api.ManagedNamespaceWithLifecycle
test.de.iip_ecosphere.platform.connectors.opcuav1.simpleMachineNamespace.Namespace
All Implemented Interfaces:
org.eclipse.milo.opcua.sdk.server.api.AddressSpace, org.eclipse.milo.opcua.sdk.server.api.AddressSpaceFragment, org.eclipse.milo.opcua.sdk.server.api.Namespace, org.eclipse.milo.opcua.sdk.server.api.services.AttributeHistoryServices, org.eclipse.milo.opcua.sdk.server.api.services.AttributeServices, org.eclipse.milo.opcua.sdk.server.api.services.MethodServices, org.eclipse.milo.opcua.sdk.server.api.services.MonitoredItemServices, org.eclipse.milo.opcua.sdk.server.api.services.NodeManagementServices, org.eclipse.milo.opcua.sdk.server.api.services.ViewServices, org.eclipse.milo.opcua.sdk.server.Lifecycle

public class Namespace extends org.eclipse.milo.opcua.sdk.server.api.ManagedNamespaceWithLifecycle
Implements an OPC namespace for testing. This class is based on the Milo examples.
Author:
Holger Eichelberger, SSE
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
    A method to stop processing (of a virtual machine).
    class 
    A method to stop processing (of a virtual machine).
    class 
    A method to stop processing (of a virtual machine).

    Nested classes/interfaces inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.AttributeHistoryServices

    org.eclipse.milo.opcua.sdk.server.api.services.AttributeHistoryServices.HistoryReadContext, org.eclipse.milo.opcua.sdk.server.api.services.AttributeHistoryServices.HistoryUpdateContext

    Nested classes/interfaces inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.AttributeServices

    org.eclipse.milo.opcua.sdk.server.api.services.AttributeServices.ReadContext, org.eclipse.milo.opcua.sdk.server.api.services.AttributeServices.WriteContext

    Nested classes/interfaces inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.MethodServices

    org.eclipse.milo.opcua.sdk.server.api.services.MethodServices.CallContext

    Nested classes/interfaces inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.NodeManagementServices

    org.eclipse.milo.opcua.sdk.server.api.services.NodeManagementServices.AddNodesContext, org.eclipse.milo.opcua.sdk.server.api.services.NodeManagementServices.AddReferencesContext, org.eclipse.milo.opcua.sdk.server.api.services.NodeManagementServices.DeleteNodesContext, org.eclipse.milo.opcua.sdk.server.api.services.NodeManagementServices.DeleteReferencesContext

    Nested classes/interfaces inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.ViewServices

    org.eclipse.milo.opcua.sdk.server.api.services.ViewServices.BrowseContext, org.eclipse.milo.opcua.sdk.server.api.services.ViewServices.RegisterNodesContext, org.eclipse.milo.opcua.sdk.server.api.services.ViewServices.UnregisterNodesContext
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
    private Thread
     
    private boolean
     
    private final de.iip_ecosphere.platform.support.logging.Logger
     
    private static final org.eclipse.milo.opcua.stack.core.types.structured.Argument
    Defines the lot size argument of the Namespace.ReconfigureMethod.
    private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode
     
    private static final String
     
    private static final String
     
    private static final String
     
    private static final String
     
    private static final String
     
    private static final String
     
    private static final String
     
    static final String
     
    private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    private final org.eclipse.milo.opcua.sdk.server.util.SubscriptionModel
     
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Namespace(org.eclipse.milo.opcua.sdk.server.OpcUaServer server)
    Creates a test namespace.
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    addCustomStructTypeVariable(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name, org.eclipse.milo.opcua.stack.core.types.builtin.ExpandedNodeId type, org.eclipse.milo.opcua.stack.core.types.builtin.ExpandedNodeId encoding, Object value)
    Adds a variable of a custom type.
    private void
    addMethod(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name, String description, MethodCreator<?> creator)
    Adds a method declaration to parent.
    private void
    Creates the nodes for in the namespace.
    private org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode
    createFolder(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name)
    Creates a folder node.
    private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode
    createVariable(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name, org.eclipse.milo.opcua.stack.core.types.builtin.NodeId type, org.eclipse.milo.opcua.stack.core.types.builtin.Variant value, com.google.common.collect.ImmutableSet<org.eclipse.milo.opcua.sdk.core.AccessLevel> access)
    Creates a variable.
    void
    onDataItemsCreated(List<org.eclipse.milo.opcua.sdk.server.api.DataItem> dataItems)
     
    void
    onDataItemsDeleted(List<org.eclipse.milo.opcua.sdk.server.api.DataItem> dataItems)
     
    void
    onDataItemsModified(List<org.eclipse.milo.opcua.sdk.server.api.DataItem> dataItems)
     
    void
    onMonitoringModeChanged(List<org.eclipse.milo.opcua.sdk.server.api.MonitoredItem> monitoredItems)
     
    private void
    Starts an event notifier.

    Methods inherited from class org.eclipse.milo.opcua.sdk.server.api.ManagedNamespaceWithLifecycle

    getLifecycleManager, registerAddressSpace, registerNodeManager, shutdown, startup, unregisterAddressSpace, unregisterNodeManager

    Methods inherited from class org.eclipse.milo.opcua.sdk.server.api.ManagedNamespace

    getFilter, getNamespaceIndex, getNamespaceUri, newNodeId, newNodeId, newNodeId, newNodeId, newNodeId, newQualifiedName

    Methods inherited from class org.eclipse.milo.opcua.sdk.server.api.ManagedAddressSpace

    browse, call, createNodeFactory, getInvocationHandler, getNodeContext, getNodeFactory, getNodeManager, getReferences, getServer, read, registerNodes, unregisterNodes, write

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.AttributeHistoryServices

    historyRead, historyUpdate

    Methods inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.AttributeServices

    read, write

    Methods inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.MethodServices

    call

    Methods inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.MonitoredItemServices

    onCreateDataItem, onCreateEventItem, onEventItemsCreated, onEventItemsDeleted, onEventItemsModified, onModifyDataItem, onModifyEventItem

    Methods inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.NodeManagementServices

    addNodes, addReferences, deleteNodes, deleteReferences

    Methods inherited from interface org.eclipse.milo.opcua.sdk.server.api.services.ViewServices

    browse, browse, getReferences, getViewCount, registerNodes, unregisterNodes
  • Field Details

    • NAMESPACE_URI

      public static final String NAMESPACE_URI
      See Also:
    • QNAME_TOP_FOLDER

      public static final String QNAME_TOP_FOLDER
    • QNAME_VAR_LOT_SIZE

      public static final String QNAME_VAR_LOT_SIZE
    • QNAME_VAR_POWER_CONSUMPTION

      public static final String QNAME_VAR_POWER_CONSUMPTION
    • QNAME_VAR_STRUCT

      public static final String QNAME_VAR_STRUCT
    • QNAME_EVENT_NODE

      public static final String QNAME_EVENT_NODE
    • QNAME_METHOD_START

      public static final String QNAME_METHOD_START
    • QNAME_METHOD_END

      public static final String QNAME_METHOD_END
    • VENDOR_NAME

      public static final String VENDOR_NAME
      See Also:
    • NAME_TOP_FOLDER

      private static final String NAME_TOP_FOLDER
      See Also:
    • NAME_VAR_LOT_SIZE

      private static final String NAME_VAR_LOT_SIZE
      See Also:
    • NAME_VAR_POWER_CONSUMPTION

      private static final String NAME_VAR_POWER_CONSUMPTION
      See Also:
    • NAME_VAR_STRUCT

      private static final String NAME_VAR_STRUCT
      See Also:
    • NAME_EVENT_NODE

      private static final String NAME_EVENT_NODE
      See Also:
    • NAME_METHOD_START

      private static final String NAME_METHOD_START
      See Also:
    • NAME_METHOD_END

      private static final String NAME_METHOD_END
      See Also:
    • LOT_SIZE

      private static final org.eclipse.milo.opcua.stack.core.types.structured.Argument LOT_SIZE
      Defines the lot size argument of the Namespace.ReconfigureMethod.
    • logger

      private final de.iip_ecosphere.platform.support.logging.Logger logger
    • subscriptionModel

      private final org.eclipse.milo.opcua.sdk.server.util.SubscriptionModel subscriptionModel
    • dictionaryManager

      private final DataTypeDictionaryManager dictionaryManager
    • eventThread

      private volatile Thread eventThread
    • keepPostingEvents

      private volatile boolean keepPostingEvents
    • lotSize

      private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode lotSize
    • powConsumption

      private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode powConsumption
  • Constructor Details

    • Namespace

      public Namespace(org.eclipse.milo.opcua.sdk.server.OpcUaServer server)
      Creates a test namespace.
      Parameters:
      server - the server to create the namespace for
  • Method Details

    • createAndAddNodes

      private void createAndAddNodes()
      Creates the nodes for in the namespace.
    • createFolder

      private org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode createFolder(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name)
      Creates a folder node.
      Parameters:
      parent - the parent folder (may be null for top-level parent)
      name - the name of the node (we will just use that also as nodeId, qualified name and localized name)
      Returns:
      the created folder node
    • createVariable

      private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode createVariable(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name, org.eclipse.milo.opcua.stack.core.types.builtin.NodeId type, org.eclipse.milo.opcua.stack.core.types.builtin.Variant value, com.google.common.collect.ImmutableSet<org.eclipse.milo.opcua.sdk.core.AccessLevel> access)
      Creates a variable.
      Parameters:
      parent - the parent folder containing the new variable
      name - the name of the variable (we will just use that also as nodeId, qualified name and localized name)
      type - the type of the variable
      value - the initial value
      access - the access level
      Returns:
      the created variable node
    • addMethod

      private void addMethod(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name, String description, MethodCreator<?> creator)
      Adds a method declaration to parent.
      Parameters:
      parent - the parent node
      name - the name of the method
      description - a textual description of the method
      creator - the method creator functor
    • addCustomStructTypeVariable

      private void addCustomStructTypeVariable(org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode parent, String name, org.eclipse.milo.opcua.stack.core.types.builtin.ExpandedNodeId type, org.eclipse.milo.opcua.stack.core.types.builtin.ExpandedNodeId encoding, Object value) throws Exception
      Adds a variable of a custom type.
      Parameters:
      parent - the parent folder containing the new variable
      name - the name of the variable (we will just use that also as nodeId, qualified name and localized name)
      type - the type of the variable
      encoding - the encoding type of the variable
      value - the initial value
      Throws:
      Exception - in case of a problem (called methods also just throw an Exception)
    • startBogusEventNotifier

      private void startBogusEventNotifier()
      Starts an event notifier.
    • onDataItemsCreated

      public void onDataItemsCreated(List<org.eclipse.milo.opcua.sdk.server.api.DataItem> dataItems)
    • onDataItemsModified

      public void onDataItemsModified(List<org.eclipse.milo.opcua.sdk.server.api.DataItem> dataItems)
    • onDataItemsDeleted

      public void onDataItemsDeleted(List<org.eclipse.milo.opcua.sdk.server.api.DataItem> dataItems)
    • onMonitoringModeChanged

      public void onMonitoringModeChanged(List<org.eclipse.milo.opcua.sdk.server.api.MonitoredItem> monitoredItems)