org.eclipse.milo.opcua.stack.core.types.builtin.QualifiedName类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(16.2k)|赞(0)|评价(0)|浏览(193)

本文整理了Java中org.eclipse.milo.opcua.stack.core.types.builtin.QualifiedName类的一些代码示例,展示了QualifiedName类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QualifiedName类的具体详情如下:
包路径:org.eclipse.milo.opcua.stack.core.types.builtin.QualifiedName
类名称:QualifiedName

QualifiedName介绍

暂无

代码示例

代码示例来源:origin: org.eclipse.milo/sdk-core

/**
 * Get the {@link QualifiedName} of this property.
 * <p>
 * The {@code namespaceUri} must be present in {@code namespaceTable} or an empty {@link Optional} will be returned.
 *
 * @param namespaceTable the {@link NamespaceTable} containing the namespace URIs and their indices.
 * @return the {@link QualifiedName} of this property, or an empty {@link Optional} if the namespace URI is not
 * present in {@code namespaceTable}.
 */
public Optional<QualifiedName> getQualifiedName(NamespaceTable namespaceTable) {
  UShort namespaceIndex = namespaceTable.getIndex(namespaceUri);
  if (namespaceIndex != null) {
    return Optional.of(new QualifiedName(namespaceIndex, browseName));
  } else {
    return Optional.empty();
  }
}

代码示例来源:origin: org.eclipse.milo/sdk-client

private CompletableFuture<List<NodeId>> browseDataTypeEncodingNodeIds(List<NodeId> nodeIds) {
  Stream<CompletableFuture<NodeId>> futures = nodeIds.stream().map(nodeId -> {
    CompletableFuture<BrowseResult> browse = browseNode(new BrowseDescription(
      nodeId,
      BrowseDirection.Inverse,
      Identifiers.HasDescription,
      false,
      uint(NodeClass.Object.getValue()),
      uint(BrowseResultMask.All.getValue())
    ));
    return browse.thenApply(result -> {
      Optional<ReferenceDescription> ref = s(result.getReferences())
        .filter(r -> QN_DEFAULT_BINARY.equals(r.getBrowseName()) &&
          Identifiers.DataTypeEncodingType.expanded().equals(r.getTypeDefinition()))
        .findFirst();
      return ref.map(r -> r.getNodeId().local().orElse(NodeId.NULL_VALUE)).orElse(NodeId.NULL_VALUE);
    });
  });
  return FutureUtils.sequence(futures);
}

代码示例来源:origin: org.eclipse.milo/server-examples

@UaMethod
public void invoke(
  InvocationContext context,
  @UaInputArgument(
    name = "x",
    description = "A value.")
    Double x,
  @UaOutputArgument(
    name = "x_sqrt",
    description = "The positive square root of x. If the argument is NaN or less than zero, the result is NaN.")
    Out<Double> xSqrt) {
  System.out.println("sqrt(" + x.toString() + ")");
  logger.debug("Invoking sqrt() method of Object '{}'", context.getObjectNode().getBrowseName().getName());
  xSqrt.set(Math.sqrt(x));
}

代码示例来源:origin: org.eclipse.milo/sdk-client

public CompletableFuture<? extends ObjectNode> getObjectComponent(String namespaceUri, String name) {
  UShort namespaceIndex = client.getNamespaceTable().getIndex(namespaceUri);
  if (namespaceIndex != null) {
    return getObjectComponent(new QualifiedName(namespaceIndex, name));
  } else {
    return failedUaFuture(StatusCodes.Bad_NotFound);
  }
}

代码示例来源:origin: org.eclipse.milo/sdk-client

protected CompletableFuture<PropertyNode> getPropertyNode(QualifiedName browseName) {
  UInteger nodeClassMask = uint(NodeClass.Variable.getValue());
  UInteger resultMask = uint(BrowseResultMask.BrowseName.getValue());
  CompletableFuture<BrowseResult> future = client.browse(
    new BrowseDescription(
      nodeId,
      BrowseDirection.Forward,
      Identifiers.HasProperty,
      false,
      nodeClassMask,
      resultMask
    )
  );
  return future.thenCompose(result -> {
    List<ReferenceDescription> references = l(result.getReferences());
    Optional<PropertyNode> node = references.stream()
      .filter(r -> browseName.equals(r.getBrowseName()))
      .flatMap(r -> {
        Optional<PropertyNode> opt = r.getNodeId().local()
          .map(id -> new PropertyNode(client, id));
        return opt2stream(opt);
      })
      .findFirst();
    return node
      .map(CompletableFuture::completedFuture)
      .orElse(failedUaFuture(StatusCodes.Bad_NotFound));
  });
}

代码示例来源:origin: org.eclipse.milo/sdk-client

public CompletableFuture<? extends VariableNode> getVariableComponent(String namespaceUri, String name) {
  UShort namespaceIndex = client.getNamespaceTable().getIndex(namespaceUri);
  if (namespaceIndex != null) {
    return getVariableComponent(new QualifiedName(namespaceIndex, name));
  } else {
    return failedUaFuture(StatusCodes.Bad_NotFound);
  }
}

代码示例来源:origin: org.eclipse.milo/sdk-client

public CompletableFuture<? extends VariableNode> getVariableComponent(QualifiedName browseName) {
  UInteger nodeClassMask = uint(NodeClass.Variable.getValue());
  UInteger resultMask = uint(BrowseResultMask.All.getValue());
  CompletableFuture<BrowseResult> future = client.browse(
    new BrowseDescription(
      nodeId,
      BrowseDirection.Forward,
      Identifiers.HasComponent,
      false,
      nodeClassMask,
      resultMask
    )
  );
  return future.thenCompose(result -> {
    List<ReferenceDescription> references = l(result.getReferences());
    Optional<CompletableFuture<VariableNode>> node = references.stream()
      .filter(r -> browseName.equals(r.getBrowseName()))
      .flatMap(r -> {
        Optional<CompletableFuture<VariableNode>> opt = r.getNodeId().local().map(
          id -> client.getAddressSpace().getVariableNode(id)
        );
        return opt2stream(opt);
      })
      .findFirst();
    return node.orElse(failedUaFuture(StatusCodes.Bad_NotFound));
  });
}

代码示例来源:origin: org.eclipse.milo/sdk-client

public CompletableFuture<? extends VariableNode> getVariableComponent(String namespaceUri, String name) {
  UShort namespaceIndex = client.getNamespaceTable().getIndex(namespaceUri);
  if (namespaceIndex != null) {
    return getVariableComponent(new QualifiedName(namespaceIndex, name));
  } else {
    return failedUaFuture(StatusCodes.Bad_NotFound);
  }
}

代码示例来源:origin: org.eclipse.milo/sdk-client

public CompletableFuture<? extends VariableNode> getVariableComponent(QualifiedName browseName) {
  UInteger nodeClassMask = uint(NodeClass.Variable.getValue());
  UInteger resultMask = uint(BrowseResultMask.All.getValue());
  CompletableFuture<BrowseResult> future = client.browse(
    new BrowseDescription(
      nodeId,
      BrowseDirection.Forward,
      Identifiers.HasComponent,
      false,
      nodeClassMask,
      resultMask
    )
  );
  return future.thenCompose(result -> {
    List<ReferenceDescription> references = l(result.getReferences());
    Optional<CompletableFuture<VariableNode>> node = references.stream()
      .filter(r -> browseName.equals(r.getBrowseName()))
      .flatMap(r -> {
        Optional<CompletableFuture<VariableNode>> opt = r.getNodeId().local().map(
          id -> client.getAddressSpace().getVariableNode(id)
        );
        return opt2stream(opt);
      })
      .findFirst();
    return node.orElse(failedUaFuture(StatusCodes.Bad_NotFound));
  });
}

代码示例来源:origin: de.dentrassi.camel.milo/camel-milo

public CamelNamespace(final UShort namespaceIndex, final String namespaceUri, final OpcUaServer server) {
  this.namespaceIndex = namespaceIndex;
  this.namespaceUri = namespaceUri;
  this.nodeManager = server.getNodeMap();
  this.subscriptionModel = new SubscriptionModel(server, this);
  // create structure
  {
    final NodeId nodeId = new NodeId(namespaceIndex, "camel");
    final QualifiedName name = new QualifiedName(namespaceIndex, "camel");
    final LocalizedText displayName = LocalizedText.english("Camel");
    this.folder = new UaFolderNode(this.nodeManager, nodeId, name, displayName);
    this.nodeManager.addNode(this.folder);
  }
  {
    final NodeId nodeId = new NodeId(namespaceIndex, "items");
    final QualifiedName name = new QualifiedName(namespaceIndex, "items");
    final LocalizedText displayName = LocalizedText.english("Items");
    this.itemsObject = new UaObjectNode(this.nodeManager, nodeId, name, displayName);
    this.folder.addComponent(this.itemsObject);
  }
  // register reference to structure
  try {
    server.getUaNamespace().addReference(Identifiers.ObjectsFolder, Identifiers.Organizes, true,
        this.folder.getNodeId().expanded(), NodeClass.Object);
  } catch (final UaException e) {
    throw new RuntimeException("Failed to register folder", e);
  }
}

代码示例来源:origin: org.eclipse.milo/sdk-client

public CompletableFuture<? extends ObjectNode> getObjectComponent(QualifiedName browseName) {
  UInteger nodeClassMask = uint(NodeClass.Object.getValue());
  UInteger resultMask = uint(BrowseResultMask.All.getValue());
  CompletableFuture<BrowseResult> future = client.browse(
    new BrowseDescription(
      nodeId,
      BrowseDirection.Forward,
      Identifiers.HasComponent,
      false,
      nodeClassMask,
      resultMask
    )
  );
  return future.thenCompose(result -> {
    List<ReferenceDescription> references = l(result.getReferences());
    Optional<CompletableFuture<ObjectNode>> node = references.stream()
      .filter(r -> browseName.equals(r.getBrowseName()))
      .flatMap(r -> {
        Optional<CompletableFuture<ObjectNode>> opt = r.getNodeId().local().map(
          id -> client.getAddressSpace().getObjectNode(id)
        );
        return opt2stream(opt);
      })
      .findFirst();
    return node.orElse(failedUaFuture(StatusCodes.Bad_NotFound));
  });
}

代码示例来源:origin: org.eclipse.milo/server-examples

private void addDataAccessNodes(UaFolderNode rootNode) {
  // DataAccess folder
  UaFolderNode dataAccessFolder = new UaFolderNode(
    server.getNodeMap(),
    new NodeId(namespaceIndex, "HelloWorld/DataAccess"),
    new QualifiedName(namespaceIndex, "DataAccess"),
    LocalizedText.english("DataAccess")
  );
  server.getNodeMap().addNode(dataAccessFolder);
  rootNode.addOrganizes(dataAccessFolder);
  // AnalogItemType node
  AnalogItemNode node = nodeFactory.createVariable(
    new NodeId(namespaceIndex, "HelloWorld/DataAccess/AnalogValue"),
    new QualifiedName(namespaceIndex, "AnalogValue"),
    LocalizedText.english("AnalogValue"),
    Identifiers.AnalogItemType,
    AnalogItemNode.class
  );
  node.setDataType(Identifiers.Double);
  node.setValue(new DataValue(new Variant(3.14d)));
  node.setEURange(new Range(0.0, 100.0));
  server.getNodeMap().addNode(node);
  dataAccessFolder.addOrganizes(node);
}

代码示例来源:origin: org.eclipse.milo/sdk-client

public CompletableFuture<? extends Node> getComponent(QualifiedName browseName) {
  UInteger nodeClassMask = uint(NodeClass.Object.getValue() | NodeClass.Variable.getValue());
  UInteger resultMask = uint(BrowseResultMask.All.getValue());
  CompletableFuture<BrowseResult> future = client.browse(
    new BrowseDescription(
      nodeId,
      BrowseDirection.Forward,
      Identifiers.HasComponent,
      false,
      nodeClassMask,
      resultMask
    )
  );
  return future.thenCompose(result -> {
    List<ReferenceDescription> references = l(result.getReferences());
    Optional<CompletableFuture<? extends Node>> node = references.stream()
      .filter(r -> browseName.equals(r.getBrowseName()))
      .flatMap(r -> {
        Optional<CompletableFuture<? extends Node>> opt = r.getNodeId().local().map(
          id -> client.getAddressSpace().createNode(id)
        );
        return opt2stream(opt);
      })
      .findFirst();
    return node.orElse(failedUaFuture(StatusCodes.Bad_NotFound));
  });
}

代码示例来源:origin: de.dentrassi.camel.milo/camel-milo

public CamelServerItem(final String itemId, final ServerNodeMap nodeManager, final UShort namespaceIndex,
    final UaObjectNode baseNode) {
  this.baseNode = baseNode;
  final NodeId nodeId = new NodeId(namespaceIndex, "items-" + itemId);
  final QualifiedName qname = new QualifiedName(namespaceIndex, itemId);
  final LocalizedText displayName = LocalizedText.english(itemId);
  // create variable node
  this.item = new UaVariableNode(nodeManager, nodeId, qname, displayName) {
    @Override
    public DataValue getValue() {
      return getDataValue();
    }
    @Override
    public synchronized void setValue(final DataValue value) {
      setDataValue(value);
    }
  };
  // item.setDataType();
  this.item.setAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)));
  this.item.setUserAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)));
  baseNode.addComponent(this.item);
}

代码示例来源:origin: org.eclipse.milo/server-examples

server.getNodeMap(),
  new NodeId(namespaceIndex, "HelloWorld/ArrayTypes"),
  new QualifiedName(namespaceIndex, "ArrayTypes"),
  LocalizedText.english("ArrayTypes")
);
    .setAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)))
    .setUserAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)))
    .setBrowseName(new QualifiedName(namespaceIndex, name))
    .setDisplayName(LocalizedText.english(name))
    .setDataType(typeId)

代码示例来源:origin: org.eclipse.milo/server-examples

server.getNodeMap(),
  folderNodeId,
  new QualifiedName(namespaceIndex, "HelloWorld"),
  LocalizedText.english("HelloWorld")
);

代码示例来源:origin: org.eclipse.milo/server-examples

private void addAdminReadableNodes(UaFolderNode rootNode) {
  UaFolderNode adminFolder = new UaFolderNode(
    server.getNodeMap(),
    new NodeId(namespaceIndex, "HelloWorld/OnlyAdminCanRead"),
    new QualifiedName(namespaceIndex, "OnlyAdminCanRead"),
    LocalizedText.english("OnlyAdminCanRead")
  );
  server.getNodeMap().addNode(adminFolder);
  rootNode.addOrganizes(adminFolder);
  String name = "String";
  UaVariableNode node = new UaVariableNode.UaVariableNodeBuilder(server.getNodeMap())
    .setNodeId(new NodeId(namespaceIndex, "HelloWorld/OnlyAdminCanRead/" + name))
    .setAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)))
    .setBrowseName(new QualifiedName(namespaceIndex, name))
    .setDisplayName(LocalizedText.english(name))
    .setDataType(Identifiers.String)
    .setTypeDefinition(Identifiers.BaseDataVariableType)
    .build();
  node.setValue(new DataValue(new Variant("shh... don't tell the lusers")));
  node.setAttributeDelegate(new RestrictedAccessDelegate(identity -> {
    if ("admin".equals(identity)) {
      return AccessLevel.READ_WRITE;
    } else {
      return AccessLevel.NONE;
    }
  }));
  server.getNodeMap().addNode(node);
  adminFolder.addOrganizes(node);
}

代码示例来源:origin: org.eclipse.milo/server-examples

private void addAdminWritableNodes(UaFolderNode rootNode) {
  UaFolderNode adminFolder = new UaFolderNode(
    server.getNodeMap(),
    new NodeId(namespaceIndex, "HelloWorld/OnlyAdminCanWrite"),
    new QualifiedName(namespaceIndex, "OnlyAdminCanWrite"),
    LocalizedText.english("OnlyAdminCanWrite")
  );
  server.getNodeMap().addNode(adminFolder);
  rootNode.addOrganizes(adminFolder);
  String name = "String";
  UaVariableNode node = new UaVariableNode.UaVariableNodeBuilder(server.getNodeMap())
    .setNodeId(new NodeId(namespaceIndex, "HelloWorld/OnlyAdminCanWrite/" + name))
    .setAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)))
    .setBrowseName(new QualifiedName(namespaceIndex, name))
    .setDisplayName(LocalizedText.english(name))
    .setDataType(Identifiers.String)
    .setTypeDefinition(Identifiers.BaseDataVariableType)
    .build();
  node.setValue(new DataValue(new Variant("admin was here")));
  node.setAttributeDelegate(new RestrictedAccessDelegate(identity -> {
    if ("admin".equals(identity)) {
      return AccessLevel.READ_WRITE;
    } else {
      return AccessLevel.READ_ONLY;
    }
  }));
  server.getNodeMap().addNode(node);
  adminFolder.addOrganizes(node);
}

代码示例来源:origin: org.eclipse.milo/server-examples

private void addWriteOnlyNodes(UaFolderNode rootNode) {
  UaFolderNode writeOnlyFolder = new UaFolderNode(
    server.getNodeMap(),
    new NodeId(namespaceIndex, "HelloWorld/WriteOnly"),
    new QualifiedName(namespaceIndex, "WriteOnly"),
    LocalizedText.english("WriteOnly")
  );
  server.getNodeMap().addNode(writeOnlyFolder);
  rootNode.addOrganizes(writeOnlyFolder);
  String name = "String";
  UaVariableNode node = new UaVariableNode.UaVariableNodeBuilder(server.getNodeMap())
    .setNodeId(new NodeId(namespaceIndex, "HelloWorld/WriteOnly/" + name))
    .setAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.WRITE_ONLY)))
    .setUserAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.WRITE_ONLY)))
    .setBrowseName(new QualifiedName(namespaceIndex, name))
    .setDisplayName(LocalizedText.english(name))
    .setDataType(Identifiers.String)
    .setTypeDefinition(Identifiers.BaseDataVariableType)
    .build();
  node.setValue(new DataValue(new Variant("can't read this")));
  server.getNodeMap().addNode(node);
  writeOnlyFolder.addOrganizes(node);
}

代码示例来源:origin: org.eclipse.milo/server-examples

private void addScalarNodes(UaFolderNode rootNode) {
  UaFolderNode scalarTypesFolder = new UaFolderNode(
    server.getNodeMap(),
    new NodeId(namespaceIndex, "HelloWorld/ScalarTypes"),
    new QualifiedName(namespaceIndex, "ScalarTypes"),
    LocalizedText.english("ScalarTypes")
  );
  server.getNodeMap().addNode(scalarTypesFolder);
  rootNode.addOrganizes(scalarTypesFolder);
  for (Object[] os : STATIC_SCALAR_NODES) {
    String name = (String) os[0];
    NodeId typeId = (NodeId) os[1];
    Variant variant = (Variant) os[2];
    UaVariableNode node = new UaVariableNode.UaVariableNodeBuilder(server.getNodeMap())
      .setNodeId(new NodeId(namespaceIndex, "HelloWorld/ScalarTypes/" + name))
      .setAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)))
      .setUserAccessLevel(ubyte(AccessLevel.getMask(AccessLevel.READ_WRITE)))
      .setBrowseName(new QualifiedName(namespaceIndex, name))
      .setDisplayName(LocalizedText.english(name))
      .setDataType(typeId)
      .setTypeDefinition(Identifiers.BaseDataVariableType)
      .build();
    node.setValue(new DataValue(variant));
    node.setAttributeDelegate(new ValueLoggingDelegate());
    server.getNodeMap().addNode(node);
    scalarTypesFolder.addOrganizes(node);
  }
}

相关文章

微信公众号

最新文章

更多

QualifiedName类方法