(no commit message)
[utils] / system / general / src / test / java / org / wamblee / system / core / Environment.java
index 00d947b7504e06948eedb178dc1ef6636cfd7308..62dd60fc874dd78c09d8694233801edc09d67ec2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2007 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  */
 package org.wamblee.system.core;
 
-import javax.sql.DataSource;
-
-import org.wamblee.system.core.AbstractComponent;
-import org.wamblee.system.core.DefaultProvidedInterface;
-import org.wamblee.system.core.ProvidedInterface;
-import org.wamblee.system.core.RequiredInterface;
 import org.wamblee.test.EventTracker;
 
-public class Environment extends AbstractComponent {
-
-       private static final ProvidedInterface[] provided() {
-               return new ProvidedInterface[] {
-                               new DefaultProvidedInterface("datasource", String.class),
-                               new DefaultProvidedInterface("integer", Integer.class) };
-       }
-
-       private EventTracker<String> _tracker;
-       private double _random;
-
-       public Environment() {
-               super("environment", provided(), new RequiredInterface[0]);
-               _random = Math.random();
-       }
-
-       public Environment(EventTracker aTracker) {
-               this();
-               _tracker = aTracker;
-       }
-
-       public Integer getInteger() {
-               return 2;
-       }
-
-       public String getString() {
-               return "Hello";
-       }
-
-       @Override
-       protected Object doStart(Scope aScope) {
-               addInterface(getProvidedInterfaces()[0], getString(), aScope);
-               addInterface(getProvidedInterfaces()[1], getInteger(), aScope);
-               track("start." + getName());
-               return _random;
-       }
-
-       @Override
-       protected void doStop(Object aRuntime) {
-               track("stop." + getName());
-               if (_random != (Double) aRuntime) {
-                       throw new IllegalArgumentException("Wrong runtime: expected "
-                                       + _random + " but got " + aRuntime);
-               }
-       }
-
-       private void track(String aString) {
-               if (_tracker == null) {
-                       return;
-               }
-               _tracker.eventOccurred(aString);
-       }
+/**
+ * 
+ * @author $author$
+ * @version $Revision$
+ */
+public class Environment extends AbstractComponent<Object> {
+    private static int COUNT = 0;
+
+    private EventTracker<String> tracker;
+
+    private double random;
+
+    private int integer;
+
+    /**
+     * Creates a new Environment object.
+     */
+    public Environment() {
+        this("environment");
+    }
+
+    /**
+     * Creates a new Environment object.
+     * 
+     */
+    public Environment(String aName) {
+        this(aName, "");
+    }
+
+    /**
+     * Creates a new Environment object.
+     * 
+     */
+    public Environment(String aName, String aPrefix) {
+        super(aName, provided(aPrefix), new RequiredInterface[0]);
+        random = Math.random();
+        integer = COUNT++;
+    }
+
+    /**
+     * Creates a new Environment object.
+     * 
+     */
+    public Environment(EventTracker aTracker) {
+        this();
+        tracker = aTracker;
+    }
+
+    private static final ProvidedInterface[] provided(String aPrefix) {
+        return new ProvidedInterface[] {
+            new DefaultProvidedInterface(aPrefix + "datasource", String.class),
+            new DefaultProvidedInterface(aPrefix + "integer", Integer.class) };
+    }
+
+    public Integer getInteger() {
+        return integer;
+    }
+
+    public String getString() {
+        return getName() + ".hello";
+    }
+
+    @Override
+    protected Object doStart(Scope aScope) {
+        addInterface(getProvidedInterfaces().get(0), getString(), aScope);
+        addInterface(getProvidedInterfaces().get(1), getInteger(), aScope);
+        track("start." + getName());
+
+        return random;
+    }
+
+    @Override
+    protected void doStop(Object aRuntime) {
+        track("stop." + getName());
+
+        if (random != (Double) aRuntime) {
+            throw new IllegalArgumentException("Wrong runtime: expected " +
+                random + " but got " + aRuntime);
+        }
+    }
+
+    private void track(String aString) {
+        if (tracker == null) {
+            return;
+        }
+
+        tracker.eventOccurred(aString);
+    }
 }