From 6504fc6b0947a3b721d515a5926cd542cdb4a37c Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Wed, 2 Jan 2013 15:48:45 -0800 Subject: [PATCH] Enforce strong typing for getting result from AsyncMethod --- .../storage/volume/VolumeServiceImpl.java | 8 ++++---- .../framework/async/AsyncCallbackDispatcher.java | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java index df8d80a7339..b5687fd62da 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java @@ -175,7 +175,7 @@ public class VolumeServiceImpl implements VolumeService { templateOnPrimaryStoreObj.updateStatus(Status.DOWNLOAD_IN_PROGRESS); CreateBaseImageContext context = new CreateBaseImageContext(callback, volume, dataStore, templateOnPrimaryStoreObj); - AsyncCallbackDispatcher caller = AsyncCallbackDispatcher.create(this); + AsyncCallbackDispatcher caller = AsyncCallbackDispatcher.create(this); caller.setCallback(caller.getTarget().createBaseImageCallback(null, null)) .setContext(context); @@ -183,7 +183,7 @@ public class VolumeServiceImpl implements VolumeService { } @DB - public Object createBaseImageCallback(AsyncCallbackDispatcher callback, CreateBaseImageContext context) { + public Object createBaseImageCallback(AsyncCallbackDispatcher callback, CreateBaseImageContext context) { CommandResult result = callback.getResult(); TemplateOnPrimaryDataStoreObject templateOnPrimaryStoreObj = context.getTemplate(); if (result.isSuccess()) { @@ -222,7 +222,7 @@ public class VolumeServiceImpl implements VolumeService { } CreateVolumeFromBaseImageContext context = new CreateVolumeFromBaseImageContext(callback, vo); - AsyncCallbackDispatcher caller = AsyncCallbackDispatcher.create(this); + AsyncCallbackDispatcher caller = AsyncCallbackDispatcher.create(this); caller.setCallback(caller.getTarget().createVolumeFromBaseImageCallback(null, null)) .setContext(context); @@ -230,7 +230,7 @@ public class VolumeServiceImpl implements VolumeService { } @DB - public Object createVolumeFromBaseImageCallback(AsyncCallbackDispatcher callback, CreateVolumeFromBaseImageContext context) { + public Object createVolumeFromBaseImageCallback(AsyncCallbackDispatcher callback, CreateVolumeFromBaseImageContext context) { VolumeObject vo = context.getVolumeObject(); CommandResult result = callback.getResult(); if (result.isSuccess()) { diff --git a/framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCallbackDispatcher.java b/framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCallbackDispatcher.java index 92a9d396a52..71fe6f00ead 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCallbackDispatcher.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/async/AsyncCallbackDispatcher.java @@ -29,7 +29,7 @@ import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; @SuppressWarnings("rawtypes") -public class AsyncCallbackDispatcher implements AsyncCompletionCallback { +public class AsyncCallbackDispatcher implements AsyncCompletionCallback { private Method _callbackMethod; private T _targetObject; private Object _contextObject; @@ -41,7 +41,7 @@ public class AsyncCallbackDispatcher implements AsyncCompletionCallback { _targetObject = target; } - public AsyncCallbackDispatcher attachDriver(AsyncCallbackDriver driver) { + public AsyncCallbackDispatcher attachDriver(AsyncCallbackDriver driver) { assert(driver != null); _driver = driver; @@ -83,11 +83,11 @@ public class AsyncCallbackDispatcher implements AsyncCompletionCallback { return (T)en.create(); } - public AsyncCallbackDispatcher setCallback(Object useless) { + public AsyncCallbackDispatcher setCallback(Object useless) { return this; } - public AsyncCallbackDispatcher setContext(Object context) { + public AsyncCallbackDispatcher setContext(Object context) { _contextObject = context; return this; } @@ -103,7 +103,7 @@ public class AsyncCallbackDispatcher implements AsyncCompletionCallback { } @SuppressWarnings("unchecked") - public R getResult() { + public R getResult() { return (R)_resultObject; } @@ -112,8 +112,8 @@ public class AsyncCallbackDispatcher implements AsyncCompletionCallback { return _targetObject; } - public static

AsyncCallbackDispatcher

create(P target) { - return new AsyncCallbackDispatcher

(target); + public static AsyncCallbackDispatcher create(P target) { + return new AsyncCallbackDispatcher(target); } public static boolean dispatch(Object target, AsyncCallbackDispatcher callback) {