本文整理了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
暂无
代码示例来源: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);
}
}
内容来源于网络,如有侵权,请联系作者删除!