/** * @param name * name to resolve * @return the name resolved relative to the default or private namespace */ @Override public GraphName resolve(GraphName name) { GraphName graphName = lookUpRemapping(name); if (graphName.isPrivate()) { return resolve(privateNamespace, graphName.toRelative()); } return super.resolve(name); }
Map<GraphName, GraphName> remappings = new HashMap<GraphName, GraphName>(); GraphName nodeName = GraphName.of("/node"); NodeNameResolver r = new NodeNameResolver(nodeName, NameResolver.newRootFromRemappings(remappings)); assertGraphNameEquals("/foo", r.resolve("foo")); assertGraphNameEquals("/foo", r.resolve("/foo")); assertGraphNameEquals("/foo/bar", r.resolve("foo/bar")); assertGraphNameEquals("/node/foo", r.resolve("~foo")); assertGraphNameEquals("/node/foo/bar", r.resolve("~foo/bar")); assertGraphNameEquals("/node/foo", r.resolve("~/foo")); r = new NodeNameResolver(nodeName, NameResolver.newRootFromRemappings(remappings)); assertGraphNameEquals("/ns1/node/foo", r.resolve("~foo")); assertGraphNameEquals("/ns1/node/foo", r.resolve("~/foo")); assertGraphNameEquals("/ns1/node/foo/bar", r.resolve("~/foo/bar")); r = new NodeNameResolver(nodeName, NameResolver.newFromNamespaceAndRemappings("/ns1", remappings)); assertGraphNameEquals("/ns1/foo", r.resolve("foo")); assertGraphNameEquals("/foo", r.resolve("/foo")); assertGraphNameEquals("/ns1/foo/bar", r.resolve("foo/bar")); assertGraphNameEquals("/ns2/node/foo", r.resolve("~foo")); assertGraphNameEquals("/ns2/node/foo/bar", r.resolve("~foo/bar")); assertGraphNameEquals("/ns2/node/foo", r.resolve("~/foo"));
@Override public GraphName resolveName(GraphName name) { return resolver.resolve(name); }
NameResolver parentResolver = nodeConfiguration.getParentResolver(); nodeName = parentResolver.getNamespace().join(basename); resolver = new NodeNameResolver(nodeName, parentResolver); slaveServer = new SlaveServer(nodeName, nodeConfiguration.getTcpRosBindAddress(),
/** * @see #resolve(GraphName) */ @Override public GraphName resolve(String name) { return resolve(GraphName.of(name)); } }
@Override public GraphName resolveName(String name) { return resolver.resolve(GraphName.of(name)); }