You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2014/03/18 14:00:13 UTC

[1/2] git commit: making Cartridge Agent to accept an implementation of CartridgeAgent as an argument

Repository: incubator-stratos
Updated Branches:
  refs/heads/master ec84193b2 -> 1295d29c1


making Cartridge Agent to accept an implementation of CartridgeAgent as an argument


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

Branch: refs/heads/master
Commit: ae7f9062df5b08b8ab37fa34ddaa5cb15911cb92
Parents: 71f282b
Author: Nirmal Fernando <ni...@apache.org>
Authored: Tue Mar 18 18:29:19 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Tue Mar 18 18:29:19 2014 +0530

----------------------------------------------------------------------
 .../stratos/cartridge/agent/CartridgeAgent.java | 121 ++++++++++---------
 .../apache/stratos/cartridge/agent/Main.java    |  27 ++++-
 2 files changed, 90 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ae7f9062/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
index c735355..105c069 100644
--- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
+++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/CartridgeAgent.java
@@ -41,31 +41,58 @@ public class CartridgeAgent implements Runnable {
             log.info("Cartridge agent started");
         }
 
-        String jndiPropertiesDir = System.getProperty(CartridgeAgentConstants.JNDI_PROPERTIES_DIR);
-        if(StringUtils.isBlank(jndiPropertiesDir)) {
-            if(log.isErrorEnabled()){
-                log.error(String.format("System property not found: %s", CartridgeAgentConstants.JNDI_PROPERTIES_DIR));
+        validateRequiredSystemProperties();
+
+        // Start instance notifier listener thread
+        subscribeToTopicsAndRegisterListeners();
+
+        // Publish instance started event
+        CartridgeAgentEventPublisher.publishInstanceStartedEvent();
+
+        // Execute start servers extension
+        ExtensionUtils.executeStartServersExtension();
+
+        // Wait for all ports to be active
+        CartridgeAgentUtils.waitUntilPortsActive("localhost", CartridgeAgentConfiguration.getInstance().getPorts());
+
+        // Check repo url
+        String repoUrl = CartridgeAgentConfiguration.getInstance().getRepoUrl();
+        if ("null".equals(repoUrl) || StringUtils.isBlank(repoUrl)) {
+            if(log.isInfoEnabled()) {
+                log.info("No artifact repository found");
             }
-            return;
+
+            // Publish instance activated event
+            CartridgeAgentEventPublisher.publishInstanceActivatedEvent();
         }
 
-        String payloadPath = System.getProperty(CartridgeAgentConstants.PARAM_FILE_PATH);
-        if(StringUtils.isBlank(payloadPath)) {
-            if(log.isErrorEnabled()){
-                log.error(String.format("System property not found: %s", CartridgeAgentConstants.PARAM_FILE_PATH));
-            }
-            return;
+        String persistanceMappingsPayload = CartridgeAgentConfiguration.getInstance().getPersistanceMappings();
+        if(persistanceMappingsPayload != null) {
+            ExtensionUtils.executeVolumeMountExtension(persistanceMappingsPayload);
         }
+        // TODO: Start this thread only if this node is configured as a commit true node
+        // Start periodical file checker task
+        // ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
+        // scheduler.scheduleWithFixedDelay(new RepositoryFileListener(), 0, 10, TimeUnit.SECONDS);
 
-        String extensionsDir = System.getProperty(CartridgeAgentConstants.EXTENSIONS_DIR);
-        if(StringUtils.isBlank(extensionsDir)) {
-            if(log.isWarnEnabled()){
-                log.warn(String.format("System property not found: %s", CartridgeAgentConstants.EXTENSIONS_DIR));
-            }
+        // Keep the thread live until terminated
+
+        // start log publishing
+        LogPublisherManager logPublisherManager = new LogPublisherManager();
+        publishLogs(logPublisherManager);
+
+        while (!terminated) {
+        	try {
+				Thread.sleep(1000);
+			} catch (InterruptedException ignore) {
+			}
         }
 
-        // Start instance notifier listener thread
-        if(log.isDebugEnabled()) {
+        logPublisherManager.stop();
+    }
+
+	protected void subscribeToTopicsAndRegisterListeners() {
+		if(log.isDebugEnabled()) {
             log.debug("Starting instance notifier event message receiver thread");
         }
         InstanceNotifierMessageProcessorChain processorChain = new InstanceNotifierMessageProcessorChain();
@@ -110,50 +137,32 @@ public class CartridgeAgent implements Runnable {
             } catch (InterruptedException e) {
             }
         }
+	}
 
-        // Publish instance started event
-        CartridgeAgentEventPublisher.publishInstanceStartedEvent();
-
-        // Execute start servers extension
-        ExtensionUtils.executeStartServersExtension();
-
-        // Wait for all ports to be active
-        CartridgeAgentUtils.waitUntilPortsActive("localhost", CartridgeAgentConfiguration.getInstance().getPorts());
-
-        // Check repo url
-        String repoUrl = CartridgeAgentConfiguration.getInstance().getRepoUrl();
-        if ("null".equals(repoUrl) || StringUtils.isBlank(repoUrl)) {
-            if(log.isInfoEnabled()) {
-                log.info("No artifact repository found");
+	protected void validateRequiredSystemProperties() {
+		String jndiPropertiesDir = System.getProperty(CartridgeAgentConstants.JNDI_PROPERTIES_DIR);
+        if(StringUtils.isBlank(jndiPropertiesDir)) {
+            if(log.isErrorEnabled()){
+                log.error(String.format("System property not found: %s", CartridgeAgentConstants.JNDI_PROPERTIES_DIR));
             }
-
-            // Publish instance activated event
-            CartridgeAgentEventPublisher.publishInstanceActivatedEvent();
+            return;
         }
 
-        String persistanceMappingsPayload = CartridgeAgentConfiguration.getInstance().getPersistanceMappings();
-        if(persistanceMappingsPayload != null)
-            ExtensionUtils.executeVolumeMountExtension(persistanceMappingsPayload);
-        // TODO: Start this thread only if this node is configured as a commit true node
-        // Start periodical file checker task
-        // ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
-        // scheduler.scheduleWithFixedDelay(new RepositoryFileListener(), 0, 10, TimeUnit.SECONDS);
-
-        // Keep the thread live until terminated
-
-        // start log publishing
-        LogPublisherManager logPublisherManager = new LogPublisherManager();
-        publishLogs(logPublisherManager);
-
-        while (!terminated) {
-        	try {
-				Thread.sleep(1000);
-			} catch (InterruptedException ignore) {
-			}
+        String payloadPath = System.getProperty(CartridgeAgentConstants.PARAM_FILE_PATH);
+        if(StringUtils.isBlank(payloadPath)) {
+            if(log.isErrorEnabled()){
+                log.error(String.format("System property not found: %s", CartridgeAgentConstants.PARAM_FILE_PATH));
+            }
+            return;
         }
 
-        logPublisherManager.stop();
-    }
+        String extensionsDir = System.getProperty(CartridgeAgentConstants.EXTENSIONS_DIR);
+        if(StringUtils.isBlank(extensionsDir)) {
+            if(log.isWarnEnabled()){
+                log.warn(String.format("System property not found: %s", CartridgeAgentConstants.EXTENSIONS_DIR));
+            }
+        }
+	}
 
     private static void publishLogs (LogPublisherManager logPublisherManager) {
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ae7f9062/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/Main.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/Main.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/Main.java
index 5f00281..3bf73e7 100644
--- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/Main.java
+++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/Main.java
@@ -19,6 +19,8 @@
 
 package org.apache.stratos.cartridge.agent;
 
+import java.lang.reflect.Constructor;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.log4j.PropertyConfigurator;
@@ -31,7 +33,7 @@ import org.apache.stratos.cartridge.agent.config.configurator.JndiConfigurator;
 public class Main {
 
     private static final Log log = LogFactory.getLog(Main.class);
-    private static CartridgeAgent cartridgeAgent;
+    private static CartridgeAgent cartridgeAgent = null;
 
     public static void main(String[] args) {
         try {
@@ -47,7 +49,28 @@ public class Main {
             // Initialize cartridge agent configuration
             CartridgeAgentConfiguration.getInstance();
 
-            cartridgeAgent = new CartridgeAgent();
+            if (args.length >= 1) {
+            	String className = args[0];
+				try {
+					Constructor<?> c = Class.forName(className)
+							.getConstructor();
+					cartridgeAgent = (CartridgeAgent) c.newInstance();
+					log.info("Loaded Cartridge Agent using [class] "+className);
+				} catch (Exception e) {
+					String msg = String.format("Cannot load Cartridge Agent from [class name] %s, "
+							+ "hence using the default agent.", className);
+					log.warn(msg, e);
+				}
+            }
+            
+            if (cartridgeAgent == null) {
+            	// load default agent
+            	cartridgeAgent = new CartridgeAgent();
+            	if (log.isDebugEnabled()) {
+            		log.debug("Loading default Cartridge Agent.");
+            	}
+            }
+            // start agent
             Thread thread = new Thread(cartridgeAgent);
             thread.start();
         } catch (Exception e) {


[2/2] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Posted by ni...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos


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

Branch: refs/heads/master
Commit: 1295d29c1dd926b06f081660b57fbf55da85e78e
Parents: ae7f906 ec84193
Author: Nirmal Fernando <ni...@apache.org>
Authored: Tue Mar 18 18:29:39 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Tue Mar 18 18:29:39 2014 +0530

----------------------------------------------------------------------
 .../console/controllers/dashboard.jag           |  15 +
 .../console/controllers/newTenantSubmit.jag     |  14 +-
 .../console/data/dashboard.json                 | 197 +++++++
 .../console/index.jag                           |   1 -
 .../themes/theme1/partials/dashboard.hbs        | 565 +------------------
 .../themes/theme1/renderers/dashboard.js        |   3 +-
 .../themes/theme1/renderers/tenant_new.js       | 106 ++--
 .../console/themes/theme1/ui/css/main.css       |  33 ++
 .../console/themes/theme1/ui/img/panel-back.png | Bin 0 -> 152 bytes
 .../themes/theme1/ui/img/tmp-details.png        | Bin 0 -> 63979 bytes
 .../console/themes/theme1/ui/js/dashboard.js    | 396 +++++++++++++
 .../manager/payload/BasicPayloadData.java       |   2 +-
 .../rest/endpoint/services/ServiceUtils.java    |  12 +-
 .../webapp/stratos-test/WEB-INF/cxf-servlet.xml |   4 +
 14 files changed, 710 insertions(+), 638 deletions(-)
----------------------------------------------------------------------