Updated Branches:
  refs/heads/javelin 510d3759a -> e72417a1e

Fixes/tests on sample management server on new RPC/Async framework


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/a6c441fc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/a6c441fc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/a6c441fc

Branch: refs/heads/javelin
Commit: a6c441fcc5f6dc469bd44797c1573a2b58e7d494
Parents: 510d375
Author: Kelven Yang <[email protected]>
Authored: Thu Dec 13 15:17:59 2012 -0800
Committer: Kelven Yang <[email protected]>
Committed: Thu Dec 13 15:19:01 2012 -0800

----------------------------------------------------------------------
 .../messaging/server/SampleManagementServer.java   |    2 +-
 .../messaging/server/SampleManagerComponent.java   |   35 +++++++++++
 .../messaging/server/SampleManagerComponent2.java  |   11 +++-
 .../server/SampleStoragePrepareAnswer.java         |   37 +++++++++++
 .../server/SampleStoragePrepareCommand.java        |   47 +++++++++++++++
 5 files changed, 130 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a6c441fc/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagementServer.java
----------------------------------------------------------------------
diff --git 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagementServer.java
 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagementServer.java
index d00fba2..aeb3b1c 100644
--- 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagementServer.java
+++ 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagementServer.java
@@ -26,7 +26,7 @@ public class SampleManagementServer {
        public void mainLoop() {
                while(true) {
                        try {
-                               Thread.currentThread().sleep(1000);
+                               Thread.sleep(1000);
                        } catch (InterruptedException e) {
                        }
                }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a6c441fc/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent.java
----------------------------------------------------------------------
diff --git 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent.java
 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent.java
index 728f4ae..8600a4d 100644
--- 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent.java
+++ 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent.java
@@ -18,20 +18,27 @@
  */
 package org.apache.cloudstack.framework.messaging.server;
 
+import java.util.Timer;
+import java.util.TimerTask;
+
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
 import org.apache.cloudstack.framework.messaging.EventBus;
 import org.apache.cloudstack.framework.messaging.EventDispatcher;
 import org.apache.cloudstack.framework.messaging.EventHandler;
+import org.apache.cloudstack.framework.messaging.RpcCallbackListener;
+import org.apache.cloudstack.framework.messaging.RpcException;
 import org.apache.cloudstack.framework.messaging.RpcProvider;
 import org.apache.cloudstack.framework.messaging.RpcServerCall;
 import org.apache.cloudstack.framework.messaging.RpcServiceDispatcher;
 import org.apache.cloudstack.framework.messaging.RpcServiceHandler;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 @Component
 public class SampleManagerComponent {
+    private static final Logger s_logger = 
Logger.getLogger(SampleManagerComponent.class);
        
        @Inject
        private EventBus _eventBus;
@@ -39,6 +46,8 @@ public class SampleManagerComponent {
        @Inject
        private RpcProvider _rpcProvider;
        
+       private Timer _timer = new Timer();
+       
        public SampleManagerComponent() {
        }
        
@@ -50,6 +59,12 @@ public class SampleManagerComponent {
                // subscribe to all network events (for example)
                _eventBus.subscribe("network", 
                        EventDispatcher.getDispatcher(this));
+               
+               _timer.schedule(new TimerTask() {
+                               public void run() {
+                                       testRpc();
+                               }
+                       }, 3000);
        }
        
        @RpcServiceHandler(command="NetworkPrepare")
@@ -60,4 +75,24 @@ public class SampleManagerComponent {
        @EventHandler(topic="network.prepare")
        void onPrepareNetwork(String sender, String topic, Object args) {
        }
+       
+       void testRpc() {
+               SampleStoragePrepareCommand cmd = new 
SampleStoragePrepareCommand();
+               cmd.setStoragePool("Pool1");
+               cmd.setVolumeId("vol1");
+               
+               _rpcProvider.newCall()
+                       
.setCommand("StoragePrepare").setCommandArg(cmd).setTimeout(10000)
+                       .addCallbackListener(new 
RpcCallbackListener<SampleStoragePrepareAnswer>() {
+                               @Override
+                               public void 
onSuccess(SampleStoragePrepareAnswer result) {
+                                       s_logger.info("StoragePrepare return 
result: " + result.getResult());
+                               }
+
+                               @Override
+                               public void onFailure(RpcException e) {
+                                       s_logger.info("StoragePrepare failed");
+                               }
+                       }).apply();
+       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a6c441fc/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent2.java
----------------------------------------------------------------------
diff --git 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent2.java
 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent2.java
index 3dda9e2..9a439b4 100644
--- 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent2.java
+++ 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleManagerComponent2.java
@@ -28,10 +28,13 @@ import 
org.apache.cloudstack.framework.messaging.RpcProvider;
 import org.apache.cloudstack.framework.messaging.RpcServerCall;
 import org.apache.cloudstack.framework.messaging.RpcServiceDispatcher;
 import org.apache.cloudstack.framework.messaging.RpcServiceHandler;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 @Component
 public class SampleManagerComponent2 {
+    private static final Logger s_logger = 
Logger.getLogger(SampleManagerComponent2.class);
+       
        @Inject
        private EventBus _eventBus;
 
@@ -53,7 +56,13 @@ public class SampleManagerComponent2 {
        
        @RpcServiceHandler(command="StoragePrepare")
        void onStartCommand(RpcServerCall call) {
-               call.completeCall("StoragePrepare completed");
+               s_logger.info("Reevieved StoragePrpare call");
+               SampleStoragePrepareCommand cmd = call.getCommandArgument();
+               
+               s_logger.info("StoragePrepare command arg. pool: " + 
cmd.getStoragePool() + ", vol: " + cmd.getVolumeId());
+               SampleStoragePrepareAnswer answer = new 
SampleStoragePrepareAnswer();
+               
+               call.completeCall(answer);
        }
        
        @EventHandler(topic="storage.prepare")

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a6c441fc/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareAnswer.java
----------------------------------------------------------------------
diff --git 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareAnswer.java
 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareAnswer.java
new file mode 100644
index 0000000..ccc1cbe
--- /dev/null
+++ 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareAnswer.java
@@ -0,0 +1,37 @@
+/*
+ * 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.server;
+
+import org.apache.cloudstack.framework.messaging.OnwireName;
+
+@OnwireName(name="SampleStoragePrepareAnswer")
+public class SampleStoragePrepareAnswer {
+       String result;
+       
+       public SampleStoragePrepareAnswer() {
+       }
+
+       public String getResult() {
+               return result;
+       }
+
+       public void setResult(String result) {
+               this.result = result;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a6c441fc/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareCommand.java
----------------------------------------------------------------------
diff --git 
a/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareCommand.java
 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareCommand.java
new file mode 100644
index 0000000..c7ce1cd
--- /dev/null
+++ 
b/framework/ipc/test/org/apache/cloudstack/framework/messaging/server/SampleStoragePrepareCommand.java
@@ -0,0 +1,47 @@
+/*
+ * 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.server;
+
+import org.apache.cloudstack.framework.messaging.OnwireName;
+
+@OnwireName(name="SampleStoragePrepareCommand")
+public class SampleStoragePrepareCommand {
+
+       String storagePool;
+       String volumeId;
+       
+       public SampleStoragePrepareCommand() {
+       }
+       
+       public String getStoragePool() {
+               return storagePool;
+       }
+
+       public void setStoragePool(String storagePool) {
+               this.storagePool = storagePool;
+       }
+
+       public String getVolumeId() {
+               return volumeId;
+       }
+
+       public void setVolumeId(String volumeId) {
+               this.volumeId = volumeId;
+       }
+}

Reply via email to