From 28db7981b94ccdc77828e8ad65352a691b83b99f Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Mon, 3 Dec 2012 14:52:00 -0800 Subject: [PATCH] add IPC test --- .../framework/messaging/EventBusBase.java | 2 + .../messaging/JsonMessageSerializer.java | 1 + .../messaging/RpcClientCallImpl.java | 6 ++- .../framework/messaging/RpcProviderImpl.java | 2 +- .../framework/messaging/SampleComponent.java | 38 +++++++++++++++++++ 5 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 framework/ipc/test/org/apache/cloudstack/framework/messaging/SampleComponent.java diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/EventBusBase.java b/framework/ipc/src/org/apache/cloudstack/framework/messaging/EventBusBase.java index 1895250427f..65868901abc 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/messaging/EventBusBase.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/EventBusBase.java @@ -260,6 +260,7 @@ public class EventBusBase implements EventBus { } private static class SubscriptionNode { + @SuppressWarnings("unused") private String _nodeKey; private List _subscribers; private Map _children; @@ -275,6 +276,7 @@ public class EventBusBase implements EventBus { _children = new HashMap(); } + @SuppressWarnings("unused") public List getSubscriber() { return _subscribers; } diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/JsonMessageSerializer.java b/framework/ipc/src/org/apache/cloudstack/framework/messaging/JsonMessageSerializer.java index d4ed94f0717..8d4246b4b22 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/messaging/JsonMessageSerializer.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/JsonMessageSerializer.java @@ -64,6 +64,7 @@ public class JsonMessageSerializer implements MessageSerializer { return sbuf.toString(); } + @SuppressWarnings("unchecked") @Override public T serializeFrom(String message) { assert(message != null); diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcClientCallImpl.java b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcClientCallImpl.java index e244f624a35..32982456190 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcClientCallImpl.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcClientCallImpl.java @@ -32,6 +32,7 @@ public class RpcClientCallImpl implements RpcClientCall { private Map _contextParams = new HashMap(); private boolean _oneway = false; + @SuppressWarnings("rawtypes") private List _callbackListeners = new ArrayList(); private Object _callbackDispatcherTarget; @@ -190,6 +191,7 @@ public class RpcClientCallImpl implements RpcClientCall { return null; } + @SuppressWarnings("unchecked") public void complete(String result) { _responseResult = result; @@ -201,7 +203,7 @@ public class RpcClientCallImpl implements RpcClientCall { if(_callbackListeners.size() > 0) { assert(_rpcProvider.getMessageSerializer() != null); Object resultObject = _rpcProvider.getMessageSerializer().serializeFrom(result); - for(RpcCallbackListener listener: _callbackListeners) + for(@SuppressWarnings("rawtypes") RpcCallbackListener listener: _callbackListeners) listener.onSuccess(resultObject); } else { if(_callbackDispatcherTarget != null) @@ -219,7 +221,7 @@ public class RpcClientCallImpl implements RpcClientCall { } if(_callbackListeners.size() > 0) { - for(RpcCallbackListener listener: _callbackListeners) + for(@SuppressWarnings("rawtypes") RpcCallbackListener listener: _callbackListeners) listener.onFailure(e); } else { if(_callbackDispatcherTarget != null) diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java index ea6993169ee..51e11e14224 100644 --- a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java +++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProviderImpl.java @@ -113,7 +113,7 @@ public class RpcProviderImpl implements RpcProvider { @Override public void sendRpcPdu(String sourceAddress, String targetAddress, String serializedPdu) { assert(_transportProvider != null); - _transportProvider.sendMessage(sourceAddress, targetAddress, this.RPC_MULTIPLEXIER, serializedPdu); + _transportProvider.sendMessage(sourceAddress, targetAddress, RpcProvider.RPC_MULTIPLEXIER, serializedPdu); } protected synchronized long getNextCallTag() { diff --git a/framework/ipc/test/org/apache/cloudstack/framework/messaging/SampleComponent.java b/framework/ipc/test/org/apache/cloudstack/framework/messaging/SampleComponent.java new file mode 100644 index 00000000000..869b661881d --- /dev/null +++ b/framework/ipc/test/org/apache/cloudstack/framework/messaging/SampleComponent.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cloudstack.framework.messaging; + +public class SampleComponent extends ComponentEndpoint { + + public SampleComponent() { + } + + @RpcServiceHandler(command="StartCommand") + void onStartCommand(RpcServerCall call) { + call.completeCall("Call response"); + } + + @RpcCallbackHandler(command="StartCommand") + void onStartCommandCallback(RpcClientCall call) { + } + + @EventHandler(topic="network.prepare") + void onPrepareNetwork(String sender, String topic, Object args) { + } +}