/** * Create NodeConfiguration according to ROS command-line and environment * specification. */ public NodeConfiguration build() { parseRemappingArguments(); // TODO(damonkohler): Add support for starting up a private node. NodeConfiguration nodeConfiguration = NodeConfiguration.newPublic(getHost()); nodeConfiguration.setParentResolver(buildParentResolver()); nodeConfiguration.setRosRoot(getRosRoot()); nodeConfiguration.setRosPackagePath(getRosPackagePath()); nodeConfiguration.setMasterUri(getMasterUri()); if (specialRemappings.containsKey(CommandLineVariables.NODE_NAME)) { nodeConfiguration.setNodeName(specialRemappings.get(CommandLineVariables.NODE_NAME)); } return nodeConfiguration; }
private NodeConfiguration() { MessageDefinitionProvider messageDefinitionProvider = new MessageDefinitionReflectionProvider(); setTopicDescriptionFactory(new TopicDescriptionFactory(messageDefinitionProvider)); setTopicMessageFactory(new DefaultMessageFactory(messageDefinitionProvider)); setServiceDescriptionFactory(new ServiceDescriptionFactory(messageDefinitionProvider)); setServiceRequestMessageFactory(new ServiceRequestMessageFactory(messageDefinitionProvider)); setServiceResponseMessageFactory(new ServiceResponseMessageFactory(messageDefinitionProvider)); setMessageSerializationFactory(new DefaultMessageSerializationFactory(messageDefinitionProvider)); setParentResolver(NameResolver.newRoot()); setTimeProvider(new WallTimeProvider()); }
@Test public void testResolveName() throws InterruptedException { final Holder<ConnectedNode> holder = Holder.newEmpty(); nodeConfiguration.setParentResolver(NameResolver.newFromNamespace("/ns1")); nodeMainExecutor.execute(new AbstractNodeMain() { @Override