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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]