cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kelv...@apache.org
Subject git commit: CloudStack messaging refactoring skeleton
Date Wed, 14 Nov 2012 01:59:50 GMT
Updated Branches:
  refs/heads/javelin a06eb4557 -> b38d9b82b


CloudStack messaging refactoring skeleton


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

Branch: refs/heads/javelin
Commit: b38d9b82b6de3f240f96281f61854dd114cdd261
Parents: a06eb45
Author: Kelven Yang <kelveny@gmail.com>
Authored: Tue Nov 13 17:59:11 2012 -0800
Committer: Kelven Yang <kelveny@gmail.com>
Committed: Tue Nov 13 17:59:39 2012 -0800

----------------------------------------------------------------------
 framework/events/.project                          |   17 ----
 .../framework/messaging/ComponentEndpoint.java     |   75 +++++++++++++++
 .../cloudstack/framework/messaging/RpcCall.java    |   27 +++++
 .../framework/messaging/RpcCallHandler.java        |   30 ++++++
 .../framework/messaging/RpcEndpoint.java           |   26 +++++
 .../framework/messaging/RpcProvider.java           |   24 +++++
 .../messaging/TransportAddressFactory.java         |   23 +++++
 .../framework/messaging/TransportEndpoint.java     |   29 ++++++
 .../framework/messaging/TransportMultiplexier.java |   24 +++++
 .../framework/messaging/TransportProvider.java     |   24 +++++
 .../messaging/client/ClientTransportEndpoint.java  |   47 +++++++++
 .../messaging/client/ClientTransportProvider.java  |   35 +++++++
 .../messaging/server/ServerTransportProvider.java  |   37 +++++++
 framework/jobs/.project                            |   23 -----
 .../src/com/cloud/servlet/CloudStartupServlet.java |   54 +++++++++++
 15 files changed, 455 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/events/.project
----------------------------------------------------------------------
diff --git a/framework/events/.project b/framework/events/.project
deleted file mode 100755
index 677cea5..0000000
--- a/framework/events/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>framework-events</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/ComponentEndpoint.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/ComponentEndpoint.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/ComponentEndpoint.java
new file mode 100644
index 0000000..0c55b30
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/ComponentEndpoint.java
@@ -0,0 +1,75 @@
+/*
+ * 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 ComponentEndpoint implements RpcEndpoint, TransportMultiplexier {
+
+	private TransportEndpoint transportEndpoint;
+	private RpcProvider rpcProvider;
+	
+	public ComponentEndpoint() {
+	}
+	
+	public TransportEndpoint getTransportEndpoint() {
+		return transportEndpoint;
+	}
+
+	public void setTransportEndpoint(TransportEndpoint transportEndpoint) {
+		this.transportEndpoint = transportEndpoint;
+	}
+
+	public RpcProvider getRpcProvider() {
+		return rpcProvider;
+	}
+
+	public void setRpcProvider(RpcProvider rpcProvider) {
+		this.rpcProvider = rpcProvider;
+	}
+	
+	public void initialize(String[] multiplexiers) {
+		if(multiplexiers != null) {
+			for(String name : multiplexiers)
+				transportEndpoint.registerMultiplexier(name, this);
+		}
+		
+		rpcProvider.registerRpcEndpoint(this);
+	}
+
+	@Override
+	public void onTransportMessage(String senderEndpointAddress,
+		String targetEndpointAddress, String multiplexer, String message) {
+	}
+
+	@Override
+	public String call(String targetAddress, String rpcMessage) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public void asyncCall(String targetAddress, String rpcMessage) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void onCall(RpcCall call) {
+		// TODO Auto-generated method stub
+		
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCall.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCall.java b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCall.java
new file mode 100644
index 0000000..be16bdd
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCall.java
@@ -0,0 +1,27 @@
+/*
+ * 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 interface RpcCall {
+	String getCommand();
+	String getContent();
+	String getRequestTag();
+	
+	void completeCall(String rpcMessage);
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCallHandler.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCallHandler.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCallHandler.java
new file mode 100644
index 0000000..2d94064
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcCallHandler.java
@@ -0,0 +1,30 @@
+/*
+ * 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;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface RpcCallHandler {
+    String command();
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcEndpoint.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcEndpoint.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcEndpoint.java
new file mode 100644
index 0000000..62dc973
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcEndpoint.java
@@ -0,0 +1,26 @@
+/*
+ * 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 interface RpcEndpoint {
+	public String call(String targetAddress, String rpcMessage);
+	public void asyncCall(String targetAddress, String rpcMessage);
+
+	void onCall(RpcCall call);
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java
new file mode 100644
index 0000000..cbdd4a7
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/RpcProvider.java
@@ -0,0 +1,24 @@
+/*
+ * 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 interface RpcProvider extends TransportMultiplexier {
+	public void registerRpcEndpoint(RpcEndpoint rpcEndpoint);
+	public void unregisteRpcEndpoint(RpcEndpoint rpcEndpoint);
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportAddressFactory.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportAddressFactory.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportAddressFactory.java
new file mode 100644
index 0000000..d7f3e9d
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportAddressFactory.java
@@ -0,0 +1,23 @@
+/*
+ * 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 interface TransportAddressFactory {
+	String createServiceAddress(String serviceProvider);
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportEndpoint.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportEndpoint.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportEndpoint.java
new file mode 100644
index 0000000..68982e2
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportEndpoint.java
@@ -0,0 +1,29 @@
+/*
+ * 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 interface TransportEndpoint {
+	void onAttachConfirm(String endpointAddress);
+	
+	void registerMultiplexier(String name, TransportMultiplexier multiplexier);
+	void unregisterMultiplexier(String name);
+	
+	void sendMessage(TransportEndpoint sender, String targetEndpointAddress, 
+			String multiplexier, String message);
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportMultiplexier.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportMultiplexier.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportMultiplexier.java
new file mode 100644
index 0000000..2e8e570
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportMultiplexier.java
@@ -0,0 +1,24 @@
+/*
+ * 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 interface TransportMultiplexier {
+	public void onTransportMessage(String senderEndpointAddress, String targetEndpointAddress,

+		String multiplexer, String message);
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportProvider.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportProvider.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportProvider.java
new file mode 100644
index 0000000..6773e8d
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/TransportProvider.java
@@ -0,0 +1,24 @@
+/*
+ * 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 interface TransportProvider {
+	void attach(TransportEndpoint endpoint, String predefinedAddress);
+	void detach(TransportEndpoint endpoint);
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportEndpoint.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportEndpoint.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportEndpoint.java
new file mode 100644
index 0000000..8ee4b8f
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportEndpoint.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.client;
+
+import org.apache.cloudstack.framework.messaging.TransportEndpoint;
+import org.apache.cloudstack.framework.messaging.TransportMultiplexier;
+
+public class ClientTransportEndpoint implements TransportEndpoint {
+
+	@Override
+	public void onAttachConfirm(String endpointAddress) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void registerMultiplexier(String name,
+			TransportMultiplexier multiplexier) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void unregisterMultiplexier(String name) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void sendMessage(TransportEndpoint sender,
+			String targetEndpointAddress, String multiplexier, String message) {
+		// TODO Auto-generated method stub
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportProvider.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportProvider.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportProvider.java
new file mode 100644
index 0000000..665d207
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/client/ClientTransportProvider.java
@@ -0,0 +1,35 @@
+/*
+ * 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.client;
+
+import org.apache.cloudstack.framework.messaging.TransportEndpoint;
+import org.apache.cloudstack.framework.messaging.TransportProvider;
+
+public class ClientTransportProvider implements TransportProvider {
+
+	@Override
+	public void attach(TransportEndpoint endpoint, String predefinedAddress) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void detach(TransportEndpoint endpoint) {
+		// TODO Auto-generated method stub
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/ipc/src/org/apache/cloudstack/framework/messaging/server/ServerTransportProvider.java
----------------------------------------------------------------------
diff --git a/framework/ipc/src/org/apache/cloudstack/framework/messaging/server/ServerTransportProvider.java
b/framework/ipc/src/org/apache/cloudstack/framework/messaging/server/ServerTransportProvider.java
new file mode 100644
index 0000000..1f7c12b
--- /dev/null
+++ b/framework/ipc/src/org/apache/cloudstack/framework/messaging/server/ServerTransportProvider.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.TransportEndpoint;
+import org.apache.cloudstack.framework.messaging.TransportProvider;
+
+public class ServerTransportProvider implements TransportProvider {
+
+	@Override
+	public void attach(TransportEndpoint endpoint, String predefinedAddress) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void detach(TransportEndpoint endpoint) {
+		// TODO Auto-generated method stub
+		
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/framework/jobs/.project
----------------------------------------------------------------------
diff --git a/framework/jobs/.project b/framework/jobs/.project
deleted file mode 100755
index ddf0af0..0000000
--- a/framework/jobs/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>cloud-framework-jobs</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b38d9b82/server/src/com/cloud/servlet/CloudStartupServlet.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/servlet/CloudStartupServlet.java b/server/src/com/cloud/servlet/CloudStartupServlet.java
index e38b923..93b6e00 100755
--- a/server/src/com/cloud/servlet/CloudStartupServlet.java
+++ b/server/src/com/cloud/servlet/CloudStartupServlet.java
@@ -16,6 +16,9 @@
 // under the License.
 package com.cloud.servlet;
 
+import java.util.Map;
+import java.util.Set;
+
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 import javax.servlet.ServletException;
@@ -28,7 +31,12 @@ import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.server.ConfigurationServer;
 import com.cloud.server.ManagementServer;
 import com.cloud.utils.SerialVersionUID;
+import com.cloud.utils.component.ComponentContext;
 import com.cloud.utils.component.ComponentLocator;
+import com.cloud.utils.component.SystemIntegrityChecker;
+import com.cloud.utils.component.LegacyComponentLocator.ComponentInfo;
+import com.cloud.utils.db.GenericDao;
+import com.cloud.utils.db.GenericDaoBase;
 
 public class CloudStartupServlet extends HttpServlet implements ServletContextListener {
 	public static final Logger s_logger = Logger.getLogger(CloudStartupServlet.class.getName());
@@ -71,4 +79,50 @@ public class CloudStartupServlet extends HttpServlet implements ServletContextLi
 	@Override
 	public void contextDestroyed(ServletContextEvent sce) {
 	}
+
+	//
+	// following should be moved to CloudStackServer component later to encapsulate business
logic in one place
+	//
+	private void initCloudStackComponents() {
+        runCheckers();
+        startDaos();    // daos should not be using managers and adapters.
+     
+/*        
+        configureManagers();
+        configureAdapters();
+        startManagers();
+        startAdapters();
+*/	
+	}
+	
+    private void runCheckers() {
+		Map<String, SystemIntegrityChecker> checkers = ComponentContext.getApplicationContext().getBeansOfType(
+			SystemIntegrityChecker.class);
+		
+		for(SystemIntegrityChecker checker : checkers.values()) {
+			try {
+				checker.check();
+			} catch (Exception e) {
+                s_logger.error("Problems with running checker:" + checker.getClass().getName(),
e);
+                System.exit(1);
+			}
+		}
+    }
+	
+    private void startDaos() {
+		@SuppressWarnings("rawtypes")
+		Map<String, GenericDaoBase> daos = ComponentContext.getApplicationContext().getBeansOfType(
+				GenericDaoBase.class);
+			
+		for(GenericDaoBase dao : daos.values()) {
+			try {
+				
+				// dao.configure(dao.getClass().getSimpleName(), params);
+			} catch (Exception e) {
+                s_logger.error("Problems with running checker:" + dao.getClass().getName(),
e);
+                System.exit(1);
+			}
+		}
+    }
+	
 }


Mime
View raw message