Class Namespace

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  Namespace.ReconfigureMethod
    A method to stop processing (of a virtual machine).
    class  Namespace.StartProcessingMethod
    A method to stop processing (of a virtual machine).
    class  Namespace.StopProcessingMethod
    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 DataTypeDictionaryManager dictionaryManager  
    private Thread eventThread  
    private boolean keepPostingEvents  
    private org.slf4j.Logger logger  
    private static org.eclipse.milo.opcua.stack.core.types.structured.Argument LOT_SIZE
    Defines the lot size argument of the Namespace.ReconfigureMethod.
    private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode lotSize  
    private static String NAME_EVENT_NODE  
    private static String NAME_METHOD_END  
    private static String NAME_METHOD_START  
    private static String NAME_TOP_FOLDER  
    private static String NAME_VAR_LOT_SIZE  
    private static String NAME_VAR_POWER_CONSUMPTION  
    private static String NAME_VAR_STRUCT  
    static String NAMESPACE_URI  
    private org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode powConsumption  
    static String QNAME_EVENT_NODE  
    static String QNAME_METHOD_END  
    static String QNAME_METHOD_START  
    static String QNAME_TOP_FOLDER  
    static String QNAME_VAR_LOT_SIZE  
    static String QNAME_VAR_POWER_CONSUMPTION  
    static String QNAME_VAR_STRUCT  
    private org.eclipse.milo.opcua.sdk.server.util.SubscriptionModel subscriptionModel  
    static String VENDOR_NAME  
  • 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 createAndAddNodes()
    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 startBogusEventNotifier()
    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

  • 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)