You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/11/27 17:21:20 UTC

svn commit: r721226 - in /labs/magma/trunk/foundation-startup: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/magma/ src/main/java/org/apache/magma/startup/ src/main/resources/ src/test/ src/test/...

Author: simoneg
Date: Thu Nov 27 08:21:19 2008
New Revision: 721226

URL: http://svn.apache.org/viewvc?rev=721226&view=rev
Log:
LABS-242 : Basic API for initial startup.

Added:
    labs/magma/trunk/foundation-startup/pom.xml
    labs/magma/trunk/foundation-startup/src/
    labs/magma/trunk/foundation-startup/src/main/
    labs/magma/trunk/foundation-startup/src/main/java/
    labs/magma/trunk/foundation-startup/src/main/java/org/
    labs/magma/trunk/foundation-startup/src/main/java/org/apache/
    labs/magma/trunk/foundation-startup/src/main/java/org/apache/magma/
    labs/magma/trunk/foundation-startup/src/main/java/org/apache/magma/startup/
    labs/magma/trunk/foundation-startup/src/main/java/org/apache/magma/startup/Startup.java
    labs/magma/trunk/foundation-startup/src/main/resources/
    labs/magma/trunk/foundation-startup/src/test/
    labs/magma/trunk/foundation-startup/src/test/java/
    labs/magma/trunk/foundation-startup/src/test/resources/

Added: labs/magma/trunk/foundation-startup/pom.xml
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-startup/pom.xml?rev=721226&view=auto
==============================================================================
--- labs/magma/trunk/foundation-startup/pom.xml (added)
+++ labs/magma/trunk/foundation-startup/pom.xml Thu Nov 27 08:21:19 2008
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>magma-parent</artifactId>
+    <groupId>org.apache.magma</groupId>
+    <version>1</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.magma</groupId>
+  <artifactId>foundation-startup</artifactId>
+  <name>Magma Foundation Startup</name>
+  <version>0.0.1-SNAPSHOT</version>
+  <description/>
+  <packaging>magma</packaging>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.magma</groupId>
+      <artifactId>foundation-basics</artifactId>
+      <version>0.0.1-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Added: labs/magma/trunk/foundation-startup/src/main/java/org/apache/magma/startup/Startup.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-startup/src/main/java/org/apache/magma/startup/Startup.java?rev=721226&view=auto
==============================================================================
--- labs/magma/trunk/foundation-startup/src/main/java/org/apache/magma/startup/Startup.java (added)
+++ labs/magma/trunk/foundation-startup/src/main/java/org/apache/magma/startup/Startup.java Thu Nov 27 08:21:19 2008
@@ -0,0 +1,51 @@
+package org.apache.magma.startup;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+public class Startup {
+
+	private static Startup started = null;
+	
+	public static synchronized Startup start() {
+		if (started == null) {
+			started = new Startup();
+			started.globalSetup();
+		}
+		return started;
+	}
+	
+	public static synchronized void stop() {
+		if (started == null) return;
+		started.globalTearDown();
+	}
+	
+	private void globalSetup() {
+		Method[] methods = Startup.class.getDeclaredMethods();
+		for (Method method : methods) {
+			if (method.getName().toLowerCase().startsWith("setup") && method.getParameterTypes().length == 0) {
+				try {
+					method.invoke(this);
+				} catch (Exception e) {
+					// TODO log this instead
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	private void globalTearDown() {
+		Method[] methods = Startup.class.getDeclaredMethods();
+		for (Method method : methods) {
+			if (method.getName().toLowerCase().startsWith("teardown") && method.getParameterTypes().length == 0) {
+				try {
+					method.invoke(this);
+				} catch (Exception e) {
+					// TODO log this instead
+					e.printStackTrace();
+				}
+			}
+		}		
+	}
+	
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org