diff --git a/api/src/com/cloud/async/AsyncJob.java b/api/src/com/cloud/async/AsyncJob.java index 50ca9062942..bea3e13d296 100644 --- a/api/src/com/cloud/async/AsyncJob.java +++ b/api/src/com/cloud/async/AsyncJob.java @@ -50,7 +50,7 @@ public interface AsyncJob extends Identity { AutoScaleVmGroup } - Long getId(); + long getId(); long getUserId(); diff --git a/api/src/org/apache/cloudstack/api/Identity.java b/api/src/org/apache/cloudstack/api/Identity.java index 22d23b70017..31367290944 100644 --- a/api/src/org/apache/cloudstack/api/Identity.java +++ b/api/src/org/apache/cloudstack/api/Identity.java @@ -18,4 +18,5 @@ package org.apache.cloudstack.api; public interface Identity { String getUuid(); + long getId(); } diff --git a/core/src/com/cloud/async/AsyncJobVO.java b/core/src/com/cloud/async/AsyncJobVO.java index 742631367a3..769d9a9107a 100644 --- a/core/src/com/cloud/async/AsyncJobVO.java +++ b/core/src/com/cloud/async/AsyncJobVO.java @@ -145,7 +145,7 @@ public class AsyncJobVO implements AsyncJob { @Override - public Long getId() { + public long getId() { return id; } diff --git a/server/src/com/cloud/api/ApiDispatcher.java b/server/src/com/cloud/api/ApiDispatcher.java index 839073edad7..54a498b5012 100755 --- a/server/src/com/cloud/api/ApiDispatcher.java +++ b/server/src/com/cloud/api/ApiDispatcher.java @@ -17,8 +17,6 @@ package com.cloud.api; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.text.DateFormat; import java.text.ParseException; import java.util.ArrayList; @@ -48,7 +46,6 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceUnavailableException; -import com.cloud.utils.IdentityProxy; import com.cloud.network.dao.NetworkDao; import com.cloud.server.ManagementServer; import com.cloud.storage.dao.VMTemplateDao; @@ -635,21 +632,12 @@ public class ApiDispatcher { if (objVO == null) { continue; } - Method method = null; - try { - method = objVO.getClass().getMethod("getId", null); - } catch (NoSuchMethodException e) { - continue; - } catch (SecurityException e) { - continue; - } // Invoke the getId method, get the internal long ID // If that fails hide exceptions as the uuid may not exist try { - id = (Long) method.invoke(objVO); - } catch (InvocationTargetException e) { + id = (Long) ((Identity)objVO).getId(); } catch (IllegalArgumentException e) { - } catch (IllegalAccessException e) { + } catch (NullPointerException e) { } // Return on first non-null Id for the uuid entity if (id != null)