From 9489d6ffeb42392d9cd20a95eeb90aeebd42420e Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Mon, 7 Nov 2011 17:59:58 -0800 Subject: [PATCH] 1) Fix a serialization problem in command inherits AsyncCreateCommand. 2) Deal with special IDs (i.e. -1) in UUID translation --- server/src/com/cloud/api/ApiServer.java | 1 + server/src/com/cloud/identity/dao/IdentityDaoImpl.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java index 841da430648..01439cf0d5d 100755 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -446,6 +446,7 @@ public class ApiServer implements HttpRequestHandler { } if (objectId != null) { + SerializationContext.current().setUuidTranslation(true); return ((BaseAsyncCreateCmd) asyncCmd).getResponse(jobId, objectId, objectEntityTable); } diff --git a/server/src/com/cloud/identity/dao/IdentityDaoImpl.java b/server/src/com/cloud/identity/dao/IdentityDaoImpl.java index 66620f9628b..bb514bed9fd 100644 --- a/server/src/com/cloud/identity/dao/IdentityDaoImpl.java +++ b/server/src/com/cloud/identity/dao/IdentityDaoImpl.java @@ -75,6 +75,9 @@ public class IdentityDaoImpl extends GenericDaoBase implements if(rs.next()) { return rs.getLong(1); } else { + if(id != 0) + return id; + throw new InvalidParameterValueException("Object " + tableName + "(uuid: " + identityString + ") does not exist."); } } catch (SQLException e) {