Change in vdsm[master]: java_bindings: Add function overloads
smizrahi at redhat.com
smizrahi at redhat.com
Thu May 16 22:11:52 UTC 2013
Saggi Mizrahi has uploaded a new change for review.
Change subject: java_bindings: Add function overloads
......................................................................
java_bindings: Add function overloads
Change-Id: I40887a5fd2e3901efdcc9633c5858ae6b2445291
Signed-off-by: Saggi Mizrahi <smizrahi at redhat.com>
---
M client/java/vdsm-api/generate.py
M client/java/vdsm-json-rpc/src/main/java/org/ovirt/vdsm/jsonrpc/JsonRpcClient.java
2 files changed, 22 insertions(+), 16 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/23/14823/1
diff --git a/client/java/vdsm-api/generate.py b/client/java/vdsm-api/generate.py
index fb03b60..ff9be96 100644
--- a/client/java/vdsm-api/generate.py
+++ b/client/java/vdsm-api/generate.py
@@ -230,9 +230,11 @@
#for $nobj in $client.nestedObjects
public class $nobj.name {
#for $command in $nobj.commands
+ #set $params = $command.parameters
+ #while True
#set $rtype = $command.returnType.genericTypeName
public Future<VDSMResponse<${rtype}>> ${command.name} (
- #for $param in $command.parameters
+ #for $param in $params
${param.type.typeName} ${param.name},
#end for
String id
@@ -243,13 +245,18 @@
builder.id(id);
- #for $param in $command.parameters
+ #for $param in $params
builder.addParameter("${param.realName}", ${param.name});
#end for
return _call(builder,
new ${command.returnType.genericTypeAdapter.typeName}());
}
+ #if len($params) == 0 or (not $params[-1].isOptional)
+ #break
+ #end if
+ #set $params = $params[:-1]
+ #end while
#end for
}
@@ -330,9 +337,6 @@
def resolveType(typeName, typeCache):
if isinstance(typeName, list):
return ArrayDef(typeName[0], typeCache)
-
- if typeName.startswith("*"):
- typeName = typeName[1:]
typedef = typeCache[typeName]
@@ -429,7 +433,9 @@
class CommandParameterDef(object):
def __init__(self, name, typeName, typeCache):
+ self.isOptional = False
if name.startswith("*"):
+ self.isOptional = True
name = name[1:]
self.realName = name
diff --git a/client/java/vdsm-json-rpc/src/main/java/org/ovirt/vdsm/jsonrpc/JsonRpcClient.java b/client/java/vdsm-json-rpc/src/main/java/org/ovirt/vdsm/jsonrpc/JsonRpcClient.java
index 0d649af..818fb98 100644
--- a/client/java/vdsm-json-rpc/src/main/java/org/ovirt/vdsm/jsonrpc/JsonRpcClient.java
+++ b/client/java/vdsm-json-rpc/src/main/java/org/ovirt/vdsm/jsonrpc/JsonRpcClient.java
@@ -48,7 +48,7 @@
}
i++;
}
- _responses = new ArrayList<JsonRpcResponse>(i);
+ _responses = new ArrayList<>(i);
if (i == 0) {
_latch = new CountDownLatch(1);
_latch.countDown();
@@ -153,16 +153,16 @@
public JsonRpcClient(ReactorClient client) {
_client = client;
_jfactory = new ObjectMapper().getJsonFactory();
- _runningCalls = new HashMap<JsonNode, JsonRpcCall>();
+ _runningCalls = new HashMap<>();
}
public Future<JsonRpcResponse> call(JsonRpcRequest req) {
final JsonNode json = req.toJson();
final ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
- final JsonGenerator gen = _jfactory.createJsonGenerator(os);
- gen.writeTree(json);
- gen.close();
+ try (JsonGenerator gen = _jfactory.createJsonGenerator(os)) {
+ gen.writeTree(json);
+ }
} catch (IOException e) {
// Never happens
}
@@ -183,13 +183,13 @@
public Future<List<JsonRpcResponse>> batchCall(List<JsonRpcRequest> requests) {
final ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
- final JsonGenerator gen = _jfactory.createJsonGenerator(os);
- gen.writeStartArray();
- for (final JsonRpcRequest request : requests) {
- gen.writeTree(request.toJson());
+ try (JsonGenerator gen = _jfactory.createJsonGenerator(os)) {
+ gen.writeStartArray();
+ for (final JsonRpcRequest request : requests) {
+ gen.writeTree(request.toJson());
+ }
+ gen.writeEndArray();
}
- gen.writeEndArray();
- gen.close();
} catch (IOException e) {
// Never happens
}
--
To view, visit http://gerrit.ovirt.org/14823
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I40887a5fd2e3901efdcc9633c5858ae6b2445291
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Saggi Mizrahi <smizrahi at redhat.com>
More information about the vdsm-patches
mailing list