Skip to content

Commit da107df

Browse files
committed
MasterServer and ParameterServer alpha functional
1 parent f2047a4 commit da107df

19 files changed

+192
-859
lines changed

src/main/java/org/ros/internal/node/DefaultNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ public void onMasterRegistrationSuccess(Publisher<rosgraph_msgs.Log> registrant)
211211
try {
212212
useSimTime =
213213
parameterTree.has(Parameters.USE_SIM_TIME)
214-
&& parameterTree.getBoolean(Parameters.USE_SIM_TIME);
214+
&& (Boolean)parameterTree.get(Parameters.USE_SIM_TIME, Boolean.FALSE);
215215
} catch (Exception e) {
216216
signalOnError(e);
217217
}

src/main/java/org/ros/internal/node/client/ParameterClient.java

Lines changed: 13 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@
1818

1919

2020
import org.ros.internal.node.response.BooleanResultFactory;
21+
import org.ros.internal.node.response.GraphNameListResultFactory;
2122
import org.ros.internal.node.response.IntegerResultFactory;
2223
import org.ros.internal.node.response.ObjectResultFactory;
2324
import org.ros.internal.node.response.Response;
25+
import org.ros.internal.node.response.ResultFactory;
2426
import org.ros.internal.node.response.StringListResultFactory;
2527
import org.ros.internal.node.response.StringResultFactory;
2628
import org.ros.internal.node.response.VoidResultFactory;
@@ -40,10 +42,11 @@
4042
import java.util.Map;
4143

4244
/**
43-
* Provide access to the XML-RPC API for a ROS {@link ParameterServer}.
45+
* Provide access to the RPC API for a ROS {@link ParameterServer}.
4446
*
4547
* @author kwc@willowgarage.com (Ken Conley)
4648
* @author damonkohler@google.com (Damon Kohler)
49+
* @author jg
4750
*/
4851
public class ParameterClient extends Client<ParameterServerRpcEndpoint> {
4952
private static final boolean DEBUG = true;
@@ -52,10 +55,11 @@ public class ParameterClient extends Client<ParameterServerRpcEndpoint> {
5255

5356
/**
5457
* Create a new {@link ParameterClient} connected to the specified
55-
* {@link ParameterServer} URI.
58+
* {@link ParameterServer} Address.
59+
* @param nodeIdentifier The identifier of our currently executing node
5660
*
5761
* @param uri
58-
* the {@link URI} of the {@link ParameterServer} to connect to
62+
* the {@link address} of the {@link ParameterServer} to connect to
5963
* @throws IOException
6064
* @throws UnknownHostException
6165
*/
@@ -72,35 +76,11 @@ public Response<Object> getParam(GraphName parameterName) {
7276
new ObjectResultFactory());
7377
}
7478

75-
public Response<Void> setParam(GraphName parameterName, Boolean parameterValue) {
79+
public Response<Void> setParam(GraphName parameterName, Object parameterValue) {
7680
return Response.fromListChecked(
7781
rpcEndpoint.setParam(nodeName, parameterName.toString(), parameterValue), new VoidResultFactory());
7882
}
7983

80-
public Response<Void> setParam(GraphName parameterName, Integer parameterValue) {
81-
return Response.fromListChecked(
82-
rpcEndpoint.setParam(nodeName, parameterName.toString(), parameterValue), new VoidResultFactory());
83-
}
84-
85-
public Response<Void> setParam(GraphName parameterName, Double parameterValue) {
86-
return Response.fromListChecked(
87-
rpcEndpoint.setParam(nodeName, parameterName.toString(), parameterValue), new VoidResultFactory());
88-
}
89-
90-
public Response<Void> setParam(GraphName parameterName, String parameterValue) {
91-
return Response.fromListChecked(
92-
rpcEndpoint.setParam(nodeName, parameterName.toString(), parameterValue), new VoidResultFactory());
93-
}
94-
95-
public Response<Void> setParam(GraphName parameterName, List<?> parameterValue) {
96-
return Response.fromListChecked(
97-
rpcEndpoint.setParam(nodeName, parameterName.toString(), parameterValue), new VoidResultFactory());
98-
}
99-
100-
public Response<Void> setParam(GraphName parameterName, Map<?, ?> parameterValue) {
101-
return Response.fromListChecked(
102-
rpcEndpoint.setParam(nodeName, parameterName.toString(), parameterValue), new VoidResultFactory());
103-
}
10484

10585
public Response<GraphName> searchParam(GraphName parameterName) {
10686
Response<String> response =
@@ -134,13 +114,10 @@ public Response<Void> deleteParam(GraphName parameterName) {
134114
}
135115

136116
public Response<List<GraphName>> getParamNames() {
137-
Response<List<String>> response =
138-
Response.fromListChecked(rpcEndpoint.getParamNames(nodeName), new StringListResultFactory());
139-
List<GraphName> graphNames = new ArrayList<GraphName>();
140-
//for (String name : response.getResult()) {
141-
graphNames.add(GraphName.of(response.getResult().toString()));
142-
//}
143-
return new Response<List<GraphName>>(response.getStatusCode(), response.getStatusMessage(),
144-
graphNames);
117+
Response<List<GraphName>> response =
118+
Response.fromListChecked(rpcEndpoint.getParamNames(nodeName), new GraphNameListResultFactory());
119+
return response;
145120
}
121+
122+
146123
}

src/main/java/org/ros/internal/node/client/RemoteClient.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
import java.io.ObjectOutputStream;
77
import java.net.InetAddress;
88
import java.net.InetSocketAddress;
9-
109
import java.net.Socket;
1110
import java.net.SocketAddress;
1211
import java.net.SocketException;
13-
1412
import java.util.concurrent.ArrayBlockingQueue;
1513

1614

15+
16+
import org.ros.internal.node.response.VoidResultFactory;
1717
import org.ros.internal.node.server.RemoteRequestInterface;
1818
import org.ros.internal.node.server.ThreadPoolManager;
1919

@@ -36,6 +36,8 @@ public class RemoteClient implements Runnable {
3636
private boolean shouldRun = true; // master service thread control
3737
private Object waitHalt = new Object();
3838

39+
private VoidResultFactory handleNull = new VoidResultFactory();
40+
3941
ArrayBlockingQueue<RemoteRequestInterface> requests = new ArrayBlockingQueue<RemoteRequestInterface>(1);
4042
ArrayBlockingQueue<Object> responses = new ArrayBlockingQueue<Object>(1);
4143

@@ -83,8 +85,9 @@ public void run() {
8385
InputStream ins = workerSocket.getInputStream();
8486
ObjectInputStream ois = new ObjectInputStream(ins);
8587
Object ret = ois.readObject();
86-
// get the original request from the stored table
87-
if( DEBUG )
88+
if( ret == null )
89+
ret = new Object(); // let voidResultFactory handle this, we cant put null to queue
90+
if( DEBUG )
8891
System.out.println("FROM Remote, response:"+ret);
8992
responses.put(ret);
9093
} catch (SocketException e) {

src/main/java/org/ros/internal/node/client/SlaveClient.java

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -79,40 +79,11 @@ public Response<List<TopicDeclaration>> getPublications() {
7979
new TopicListResultFactory());
8080
}
8181

82-
public Response<Void> paramUpdate(GraphName name, boolean value) {
82+
public Response<Void> paramUpdate(GraphName name, Object value) {
8383
return Response.fromListChecked(rpcEndpoint.paramUpdate(nodeName.toString(), name.toString(), value),
8484
new VoidResultFactory());
8585
}
8686

87-
public Response<Void> paramUpdate(GraphName name, char value) {
88-
return Response.fromListChecked(rpcEndpoint.paramUpdate(nodeName.toString(), name.toString(), value),
89-
new VoidResultFactory());
90-
}
91-
92-
public Response<Void> paramUpdate(GraphName name, int value) {
93-
return Response.fromListChecked(rpcEndpoint.paramUpdate(nodeName.toString(), name.toString(), value),
94-
new VoidResultFactory());
95-
}
96-
97-
public Response<Void> paramUpdate(GraphName name, double value) {
98-
return Response.fromListChecked(rpcEndpoint.paramUpdate(nodeName.toString(), name.toString(), value),
99-
new VoidResultFactory());
100-
}
101-
102-
public Response<Void> paramUpdate(GraphName name, String value) {
103-
return Response.fromListChecked(rpcEndpoint.paramUpdate(nodeName.toString(), name.toString(), value),
104-
new VoidResultFactory());
105-
}
106-
107-
public Response<Void> paramUpdate(GraphName name, List<?> value) {
108-
return Response.fromListChecked(rpcEndpoint.paramUpdate(nodeName.toString(), name.toString(), value),
109-
new VoidResultFactory());
110-
}
111-
112-
public Response<Void> paramUpdate(GraphName name, Map<?, ?> value) {
113-
return Response.fromListChecked(rpcEndpoint.paramUpdate(nodeName.toString(), name.toString(), value),
114-
new VoidResultFactory());
115-
}
11687

11788
public Response<Void> publisherUpdate(GraphName topic, List<InetSocketAddress> publisherUris) {
11889
return Response.fromListChecked(

0 commit comments

Comments
 (0)