Author: jochen
Date: Sun Dec 14 19:14:55 2014
New Revision: 1645499

URL: http://svn.apache.org/r1645499
Log:
Initial site, Javadocs.

Added:
    commons/sandbox/commons-inject/trunk/src/site/apt/lifecycle.apt
    commons/sandbox/commons-inject/trunk/src/site/apt/loggerInjection.apt
    commons/sandbox/commons-inject/trunk/src/site/fml/
    commons/sandbox/commons-inject/trunk/src/site/fml/faq.fml
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/
      - copied from r1645493, 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/impl/
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/util/
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/util/ExceptionsTest.java
   (with props)
Removed:
    commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/impl/
Modified:
    commons/sandbox/commons-inject/trunk/pom.xml
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/CommonsLoggingLoggerModule.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/ILifecycleController.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IAnnotatedBindingBuilder.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IBinder.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/ILinkedBindingBuilder.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IModule.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IScopedBindingBuilder.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/Scopes.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBaseProvider.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBindingSet.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractInjector.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultInjector.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultLifecycleController.java
    
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/IInjectorAware.java
    commons/sandbox/commons-inject/trunk/src/site/apt/index.apt
    commons/sandbox/commons-inject/trunk/src/site/apt/using.apt
    commons/sandbox/commons-inject/trunk/src/site/site.xml
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/InitializableObject.java
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/ListenerTest.java
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/Log4jLoggerModuleTest.java
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/SimpleInjectorTest.java
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TckTest.java
    
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TimeRecordingObject.java

Modified: commons/sandbox/commons-inject/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/pom.xml?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- commons/sandbox/commons-inject/trunk/pom.xml (original)
+++ commons/sandbox/commons-inject/trunk/pom.xml Sun Dec 14 19:14:55 2014
@@ -5,10 +5,16 @@
     <artifactId>commons-sandbox-parent</artifactId>
     <version>10</version>
   </parent>
+  <groupId>org.apache.commons.inject</groupId>
   <artifactId>commons-inject</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>Apache Commons Inject</name>
   <description>A JSR 330 compliant dependency injection 
framework.</description>
+  <scm>
+    
<connection>scm:svn:https://svn.apache.org/repos/asf/commons/sandbox/commons-inject/trunk/</connection>
+    
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/sandbox/commons-inject/trunk/</developerConnection>
+    
<url>http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/</url>
+  </scm>
   <build>
        <pluginManagement>
                <plugins>

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/CommonsLoggingLoggerModule.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/CommonsLoggingLoggerModule.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/CommonsLoggingLoggerModule.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/CommonsLoggingLoggerModule.java
 Sun Dec 14 19:14:55 2014
@@ -19,7 +19,6 @@ package org.apache.commons.inject.api;
 import org.apache.commons.inject.api.bind.IModule;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.logging.log4j.Logger;
 
 /**
  * A {@link IModule module}, which injects Commons Logging Loggers, aka 
instances of

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/ILifecycleController.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/ILifecycleController.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/ILifecycleController.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/ILifecycleController.java
 Sun Dec 14 19:14:55 2014
@@ -19,4 +19,6 @@ package org.apache.commons.inject.api;
 public interface ILifecycleController extends ILifecycleListener {
        boolean add(ILifecycleListener pListener);
        boolean remove(ILifecycleListener pListener);
+       void start();
+       void shutdown();
 }

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IAnnotatedBindingBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IAnnotatedBindingBuilder.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IAnnotatedBindingBuilder.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IAnnotatedBindingBuilder.java
 Sun Dec 14 19:14:55 2014
@@ -18,7 +18,23 @@ package org.apache.commons.inject.api.bi
 
 import java.lang.annotation.Annotation;
 
+/**
+ * A binding builder, which allows to specify annotations, or annotation
+ * types as constraints, depending on which POJO's may, or may not be
+ * injected.
+ */
 public interface IAnnotatedBindingBuilder<T> extends ILinkedBindingBuilder<T> {
+       /**
+        * Specifies, that the binding can only be used for injection, if a
+        * field is annotated with an {@link Annotation}, that equals the
+        * given. In general, this means that the annotation type, and all
+        * attributes are equal.
+        * @see Annotation#equals(Object)
+        */
        ILinkedBindingBuilder<T> annotatedWith(Annotation pAnnotation);
+       /**
+        * Specifies, that the binding can only be used for injection, if a
+        * field is annotated with an {@link Annotation} of the given type.
+        */
        ILinkedBindingBuilder<T> annotatedWith(Class<? extends Annotation> 
pAnnotation);
 }

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IBinder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IBinder.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IBinder.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IBinder.java
 Sun Dec 14 19:14:55 2014
@@ -22,6 +22,11 @@ import org.apache.commons.inject.api.IIn
 import org.apache.commons.inject.api.IKey;
 import org.apache.commons.inject.api.IPoint;
 
+/**
+ * A {@link IBinder} is passed as an argument to modules. Modules use
+ * the binder to create {@link IBinding bindings}.
+ */
+
 public interface IBinder {
        public interface IInjectionParticipator {
                List<IPoint<Object>> getPoints(IKey<?> pKey, Class<?> pType);

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/ILinkedBindingBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/ILinkedBindingBuilder.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/ILinkedBindingBuilder.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/ILinkedBindingBuilder.java
 Sun Dec 14 19:14:55 2014
@@ -23,6 +23,10 @@ import org.apache.commons.inject.api.IPr
 
 import com.google.inject.Provider;
 
+/**
+ * A binding builder, which allows to specify a bindings target: A
+ * target is the value, that gets injected, if the binding is applied.
+ */
 public interface ILinkedBindingBuilder<T> extends IScopedBindingBuilder<T> {
        void toInstance(T pInstance);
        IScopedBindingBuilder<T> to(Class<? extends T> pImplClass);

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IModule.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IModule.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IModule.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IModule.java
 Sun Dec 14 19:14:55 2014
@@ -16,6 +16,17 @@
 */
 package org.apache.commons.inject.api.bind;
 
+import org.apache.commons.inject.api.IInjectorBuilder;
+
+
+/**
+ * A {@link IModule module} is created by the user in order to configure
+ * the {@link IInjector}.
+ */
 public interface IModule {
+       /**
+        * Called by the {@link IInjectorBuilder} to create bindings, by using
+        * the given {@link IBinder binder}.
+        */
        void configure(IBinder pBinder);
 }

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IScopedBindingBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IScopedBindingBuilder.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IScopedBindingBuilder.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/IScopedBindingBuilder.java
 Sun Dec 14 19:14:55 2014
@@ -16,6 +16,9 @@
 */
 package org.apache.commons.inject.api.bind;
 
+/**
+ * A binding builder, which allows to specify a bindings scope.
+ */
 public interface IScopedBindingBuilder<T> {
        void scope(Scopes pScope);
        void asEagerSingleton();

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/Scopes.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/Scopes.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/Scopes.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/api/bind/Scopes.java
 Sun Dec 14 19:14:55 2014
@@ -16,8 +16,25 @@
 */
 package org.apache.commons.inject.api.bind;
 
+/**
+ * List of the supported scopes.
+ */
 public enum Scopes {
+       /**
+        * A binding with scope {@code PER_CALL} will create a new instance,
+        * whenever the binding is used to inject a value.
+        */
        PER_CALL,
+       /**
+        * A binding with scope {@code EAGER_SINGLETON} will create a single 
instance,
+        * which is injected whenever the binding is used to inject a value. The
+        * instance will be created immediately.
+        */
        EAGER_SINGLETON,
+       /**
+        * A binding with scope {@code EAGER_SINGLETON} will create a single 
instance,
+        * which is injected whenever the binding is used to inject a value. The
+        * instance will be created as soon as required.
+        */
        LAZY_SINGLETON
 }

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBaseProvider.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBaseProvider.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBaseProvider.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBaseProvider.java
 Sun Dec 14 19:14:55 2014
@@ -20,10 +20,24 @@ import org.apache.commons.inject.api.IIn
 import org.apache.commons.inject.api.IPoint;
 import org.apache.commons.inject.api.IProvider;
 
+/**
+ * Abstract implementation of a base provider: In general, bindings are using
+ * a {@link AbstractScopedProvider scoped provider}, which controls the 
bindings
+ * scope ({@code When} is the instance created?) The actual instantiation, and
+ * the injection of values, is delegated to the base provider. ({@code How} is
+ * the instance created?)
+ */
 public abstract class AbstractBaseProvider<T> implements IProvider<T>, 
IInjectorAware {
        private final Class<T> type;
        private final IPoint<T> point;
 
+       /**
+        * Creates a new base provider.
+        * @param pType The type of the instance, which is being created
+        * by the provider.
+        * @param pPoint The point, which is being used to inject values
+        * into the created instance.
+        */
        protected AbstractBaseProvider(Class<T> pType, IPoint<T> pPoint) {
                type = pType;
                point = pPoint;
@@ -47,6 +61,4 @@ public abstract class AbstractBaseProvid
                        ((IInjectorAware) point).init(pInjector);
                }
        }
-
-
 }

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBindingSet.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBindingSet.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBindingSet.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractBindingSet.java
 Sun Dec 14 19:14:55 2014
@@ -26,19 +26,31 @@ import org.apache.commons.inject.api.IBi
 import org.apache.commons.inject.api.IKey;
 import org.apache.commons.inject.api.Key;
 
+/**
+ * A set of bindings, which are being collected to create, or implement
+ * an {@link IInjector}.
+ */
 
 public class AbstractBindingSet {
+       /**
+        * The internal map of bindings uses this key.
+        */
        public static class MappedKey<T> extends Key<T> {
                private final Class<? extends Annotation> annotationType;
-               public MappedKey(Class<T> pType, String pName, Annotation[] 
pAnnotations, Class<? extends Annotation> pAnnotationType) {
+               public MappedKey(Class<T> pType, String pName,
+                                        Annotation[] pAnnotations,
+                                        Class<? extends Annotation> 
pAnnotationType) {
                        super(pType, pName, pAnnotations);
-                       annotationType = null;
+                       annotationType = pAnnotationType;
                }
 
                public Class<? extends Annotation> getAnnotationType() {
                        return annotationType;
                }
        }
+       /**
+        * The internal map of bindings uses this value.
+        */
        protected static class BindingAndKey<T> {
                private IBinding<T> binding;
                private final MappedKey<T> key;

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractInjector.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractInjector.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractInjector.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/AbstractInjector.java
 Sun Dec 14 19:14:55 2014
@@ -22,6 +22,9 @@ import org.apache.commons.inject.api.IKe
 import org.apache.commons.inject.api.Key;
 import org.apache.commons.inject.api.NoSuchBindingException;
 
+/**
+ * Abstract implementation of an {@link IInjector injector}.
+ */
 public abstract class AbstractInjector implements IInjector {
        protected abstract <T> IBinding<T> getBinding(IKey<T> pKey);
        protected abstract <T> IBinding<T> requireBinding(IKey<T> pKey);

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultInjector.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultInjector.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultInjector.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultInjector.java
 Sun Dec 14 19:14:55 2014
@@ -17,6 +17,7 @@
 package org.apache.commons.inject.impl;
 
 import org.apache.commons.inject.api.IBinding;
+import org.apache.commons.inject.api.IInjector;
 import org.apache.commons.inject.api.IKey;
 import org.apache.commons.inject.api.IPoint;
 import org.apache.commons.inject.api.IProvider;
@@ -25,6 +26,9 @@ import org.apache.commons.inject.impl.Ab
 import org.apache.commons.inject.impl.AbstractBindingSet.ReducedKey;
 import org.apache.commons.inject.impl.bind.DefaultBinding;
 
+/**
+ * Default implementation of an {@link IInjector injector}.
+ */
 public class DefaultInjector extends AbstractInjector {
        private final ImmutableBindingSet bindings;
        

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultLifecycleController.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultLifecycleController.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultLifecycleController.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/DefaultLifecycleController.java
 Sun Dec 14 19:14:55 2014
@@ -24,35 +24,36 @@ import org.apache.commons.inject.api.ILi
 import org.apache.commons.inject.util.Exceptions;
 
 public class DefaultLifecycleController implements ILifecycleController {
-       private static enum State {
-               NOT_STARTED,
-               STARTED,
-               TERMINATED
-       }
-       private State state = State.NOT_STARTED;
+       private static final int NOT_STARTED = 0;
+       private static final int STARTED = 1;
+       private static final int TERMINATED = 2;
+
+       private int state = NOT_STARTED;
        private List<ILifecycleListener> listeners = new 
ArrayList<ILifecycleListener>();
+       private List<ILifecycleListener> initializedListeners = new 
ArrayList<ILifecycleListener>();
 
        @Override
        public synchronized void start() {
-               if (state == State.NOT_STARTED) {
+               if (state == NOT_STARTED) {
                        for (ILifecycleListener listener : listeners) {
                                try {
                                        listener.start();
+                                       initializedListeners.add(listener);
                                } catch (Throwable t) {
                                        throw Exceptions.show(t);
                                }
                        }
-                       state = State.STARTED;
+                       state = STARTED;
                }
        }
 
        @Override
        public synchronized void shutdown() {
-               if (state == State.STARTED) {
+               if (state == STARTED) {
                        Throwable th = null;
                        // Shutdown in reverse order.
-                       for (int i = listeners.size()-1;  i >= 0;  i--) {
-                               final ILifecycleListener listener = 
listeners.get(i);
+                       for (int i = initializedListeners.size()-1;  i >= 0;  
i--) {
+                               final ILifecycleListener listener = 
initializedListeners.get(i);
                                try {
                                        listener.shutdown();
                                        listeners.remove(i);
@@ -65,15 +66,16 @@ public class DefaultLifecycleController
                                        throw Exceptions.show(th);
                                }
                        }
-                       state = State.TERMINATED;
+                       state = TERMINATED;
                }
        }
 
        @Override
        public synchronized boolean add(ILifecycleListener pListener) {
-               if (state == State.STARTED) {
+               if (state == STARTED) {
                        try {
                                pListener.start();
+                               initializedListeners.add(pListener);
                        } catch (Throwable t) {
                                throw Exceptions.show(t);
                        }
@@ -83,8 +85,8 @@ public class DefaultLifecycleController
 
        @Override
        public synchronized boolean remove(ILifecycleListener pListener) {
-               boolean result = listeners.remove(pListener);
-               if (state == State.STARTED) {
+               boolean result = initializedListeners.remove(pListener);
+               if (state == TERMINATED  &&  result) {
                        try {
                                pListener.shutdown();
                        } catch (Throwable t) {
@@ -92,6 +94,5 @@ public class DefaultLifecycleController
                        }
                }
                return result;
-               
        }
 }

Modified: 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/IInjectorAware.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/IInjectorAware.java?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/IInjectorAware.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/main/java/org/apache/commons/inject/impl/IInjectorAware.java
 Sun Dec 14 19:14:55 2014
@@ -18,6 +18,9 @@ package org.apache.commons.inject.impl;
 
 import org.apache.commons.inject.api.IInjector;
 
+/** Interface of an object, which is being notified when the
+ * {@link IInjector injector} has been created.
+ */
 public interface IInjectorAware {
        void init(IInjector pInjector);
 }

Modified: commons/sandbox/commons-inject/trunk/src/site/apt/index.apt
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/site/apt/index.apt?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- commons/sandbox/commons-inject/trunk/src/site/apt/index.apt (original)
+++ commons/sandbox/commons-inject/trunk/src/site/apt/index.apt Sun Dec 14 
19:14:55 2014
@@ -18,19 +18,20 @@
      Apache Commons Inject
      ---------------------
 
-Apache Commons Inject is an implementation of 
{{{https://jcp.org/en/jsr/detail?id=330}JSR 330: Dependency Injection for 
Java}}.
-In other words: It is yet another implementation of JSR 330, much like
-{{{https://code.google.com/p/google-guice/}Guice}},
-{{{http://www.mkyong.com/spring3/spring-3-and-jsr-330-inject-and-named-example/}Spring}},
-{{{http://square.github.io/dagger/}Dagger}}, and some minor others.
-
-Commons Inject mimicks Guice in most aspects. (For example, if you know the 
Guice API,
-you will immediately understand the API of Commons Inject.) However, compared 
to Guice,
-you will hopefully note the following differences:
-
-* Commons Inject is self contained. You don't need Guava, or similar helper 
jar files.
-* Commons Inject is somewhat easier to use. In particular, you don't need to 
bother so
-  much about Generics. OTOH, there's no automatic distinction between
+  Apache Commons Inject is an implementation of
+  {{{https://jcp.org/en/jsr/detail?id=330}JSR 330: Dependency Injection for 
Java}}.
+  In other words: It is yet another implementation of JSR 330, much like
+  {{{https://code.google.com/p/google-guice/}Guice}},
+  
{{{http://www.mkyong.com/spring3/spring-3-and-jsr-330-inject-and-named-example/}Spring}},
+  {{{http://square.github.io/dagger/}Dagger}}, and some minor others.
+
+  Commons Inject mimicks Guice in most aspects. (For example, if you know the 
Guice API,
+  you will immediately understand the API of Commons Inject.) However, 
compared to Guice,
+  you will hopefully note the following differences:
+
+  * Commons Inject is self contained. You don't need Guava, or similar helper 
jar files.
+  * Commons Inject is somewhat easier to use. In particular, you don't need to 
bother so
+    much about Generics. OTOH, there's no automatic distinction between
 
 ------------------------------------
   @Inject private List someList;
@@ -45,17 +46,17 @@ you will hopefully note the following di
   @Inject @Named(value="foo") private List<Foo> fooList;
 ------------------------------------
  
-* Commons Inject is based on the standard Java reflection API <<only>>. As a 
consequence, it
-  should work on Android.
-* Commons Inject doesn't distinguish between production mode, and development 
mode.
-  OTOH, its startup time should be <<much>> faster than Guice in production 
mode.
-* Commons Inject provides some extensions out of the box:
-  * Support for an {{{./lifecycle.html}Application Lifecycle}}, including 
support for
-    
{{{http://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.html}@PostConstruct}},
-    and 
{{{http://docs.oracle.com/javaee/5/api/javax/annotation/PreDestroy.html}@PreDestroy}}.
-    This lifecycle support works with arbitrary objects, including eager, or 
lazy
-    singletons.
-  * {{{./loggerInjection.html}Logger injection}} via Log4J, SLF4J, or Commons 
Logging.
-    (Adding support for other frameworks should be extremely easy.)
+  * Commons Inject is based on the standard Java reflection API <<only>>. As a 
consequence, it
+    should work on Android.
+  * Commons Inject doesn't distinguish between production mode, and 
development mode.
+    OTOH, its startup time should be <<much>> faster than Guice in production 
mode.
+  * Commons Inject provides some extensions out of the box:
+    * Support for an {{{./lifecycle.html}Application Lifecycle}}, including 
support for
+      
{{{http://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.html}@PostConstruct}},
+      and 
{{{http://docs.oracle.com/javaee/5/api/javax/annotation/PreDestroy.html}@PreDestroy}}.
+      This lifecycle support works with arbitrary objects, including eager, or 
lazy
+      singletons.
+    * {{{./loggerInjection.html}Logger injection}} via Log4J, SLF4J, or 
Commons Logging.
+      (Adding support for other frameworks should be extremely easy.)
 
      
\ No newline at end of file

Added: commons/sandbox/commons-inject/trunk/src/site/apt/lifecycle.apt
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/site/apt/lifecycle.apt?rev=1645499&view=auto
==============================================================================
--- commons/sandbox/commons-inject/trunk/src/site/apt/lifecycle.apt (added)
+++ commons/sandbox/commons-inject/trunk/src/site/apt/lifecycle.apt Sun Dec 14 
19:14:55 2014
@@ -0,0 +1,82 @@
+~~
+~~ 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.
+~~
+     -----------------------------
+     Application Lifecycle Support
+     -----------------------------
+
+  Commons Inject provides limited application lifecycle support. More 
specifically, you
+  can have your Pojo's initialized when the application starts and you can 
also have them
+  perform a graceful shutdown hen the application terminates.
+
+  To achieve that, you must use the <<@PostConstruct>>, and <<@PreDestroy>> 
annotations,
+  like this:
+
+-----------------------------
+public class MyBean
+  @Inject private ConnectionProvider connectionProvider;
+
+  @PostConstruct
+  public void init() throws SomeException {
+    // Perform initialization on this bean.
+  }
+
+  @PreDestroy
+  public void shutdown() throws OtherException {
+    // Release resources, etc...
+  }
+}
+------------------------------
+
+  The 
{{{http://docs.oracle.com/javaee/6/tutorial/doc/gmgkd.html}specification}} of 
<<@PostConstruct>>, and 
+  <<@PreDestroy>> demands, that such methods must be public, non-static, 
non-abstract, and must not expect
+  parameters. Of course, you need access to other beans, or the like, you can 
have them injected via
+  @Inject. If there are multiple beans with @PostConstruct: For eager 
singletons, the order of invocation depends on the order of
+  binding in the modules. Lazy singletons are initialized upon first use.  
(Injection into another bean counts as
+  use.)
+
+  Beans with @PreDestroy, OTOH, are invoked in reverse order of initialization.
+
+  Two other things must be done to make use of <<@PostConstruct>>, and 
<<@PreDestroy>>:
+
+  * The predefined 
{{{./apidocs/org/apache/commons/inject/api/PostConstructModule.html}PostConstructModule}}
+    must be used when creating the injector. (This module <<must>> be the 
first in your module list.)
+
+  * You must invoke the methods <<start()>> and <<shutdown()>> on the modules
+    {{{./apidocs/org/apache/commons/inject/api/ILifycycleController}lifecycle 
controller}}
+
+  In other words, a typical application would look like this:
+
+--------------------------------
+public class MyApp {
+  public static void main() throws Exception {
+    final IModule postConstructModule = new PostConstructModule();
+    final IModule module1 = new MyModule1();
+    final IModule module2 = new MyModule2();
+    // Note: The PostConstructModule is first in the list.
+    final IInjctor injector = CommonsInject.build(postConstructModule, 
module1, module2);
+    // A binding for the controller was created automatically by the 
PostConstructModule.
+    final ILifecycleController controller = 
injector.getInstance(ILifecycleController.class);
+    // Initialize the beans with @PostConstruct
+    controller.start();
+    // Do the real work here.
+    ...
+    // Terminate the beans with @PreDestroy
+    controller.shutdown();
+  }
+}
+--------------------------------
+  
\ No newline at end of file

Added: commons/sandbox/commons-inject/trunk/src/site/apt/loggerInjection.apt
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/site/apt/loggerInjection.apt?rev=1645499&view=auto
==============================================================================
--- commons/sandbox/commons-inject/trunk/src/site/apt/loggerInjection.apt 
(added)
+++ commons/sandbox/commons-inject/trunk/src/site/apt/loggerInjection.apt Sun 
Dec 14 19:14:55 2014
@@ -0,0 +1,92 @@
+~~
+~~ 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.
+~~
+     -----------------------------
+     Application Lifecycle Support
+     -----------------------------
+
+  Every application needs logging. What's more: Every part of an application
+  needs logging. This applies, in particular, to components created by the
+  injector.
+
+  To perform logging, a component needs loggers. Obviously, one would like
+  to have these injected. And this is, what the logger modules can do for you.
+  Here's an example of a component with injected loggers:
+
+----------------------------------
+package com.foo.myapp;
+
+import org.apache.log4j.Logger;
+
+public class MyComponent {
+  @InjLogger private Logger log;
+
+  public void run() {
+    log.debug("run: ->");
+    // Do something here.
+    ...
+    log.debug("run: <-");
+  }
+----------------------------------
+
+  Three things should be noted at this point:
+* The example doesn't use the standard @Inject annotation, but a custom 
annotation
+  @InjLogger, which is unsupported by any other JSR 330 implementation, apart 
from
+  Commons Inject. (In most cases, one could extend the respective 
implementation
+  to achieve the same purpose. For example, Guice explicitly supports {{{
+  https://github.com/google/guice/wiki/CustomInjections}custom annotations}}.
+* The injected logger will have the id "com.foo.myapp.MyComponent", same as the
+  class name, into which the logger is being injected. If you would like 
another
+  id, use <<<@InjLogger(id="SomeOtherId")>>> instead.
+* The above example uses {{{http://logging.apache.org/log4j/1.2/}Log4J}} as a 
logging
+  system. As a consequence, the proper module to use in the example below will 
be the
+  
{{{./apidocs/org/apache/commons/inject/api/Log4jLoggerModule.html}Log4jLoggerModule}}.
+  For other modules, you would need a different logger injection module. 
Explicitly
+  supported are 
{{{./apidocs/org/apache/commons/inject/api/Log4j2LoggerModule.html}
+  Log4j 2 (Log4j2LoggerModule)}}, 
{{{./apidocs/org/apache/commons/inject/api/Slf4JLoggerModule.html}
+  SLF4J 2 (Slf4JLoggerModule)}}, and 
{{{./apidocs/org/apache/commons/inject/api/CommonsLoggingLoggerModule.html}
+  Commons Logging (CommonsLoggingLoggerModule)}}. (Adding support for others 
would be
+  quite easy by deriving another subclass of 
{{{./apidocs/org/apache/commons/inject/api/AbstractLoggerInjectingModule.html}
+  AbstractLoggerInjectingModule}}.
+ 
+  And here's how to apply the module:
+
+--------------------------------
+public class MyApp {
+  public static void main() throws Exception {
+    final IModule postConstructModule = new PostConstructModule();
+    final IModule loggerModule = new Log4jLoggerModule();
+    final IModule module1 = new MyModule1();
+    final IModule module2 = new MyModule2();
+    // Note: The PostConstructModule is first in the list.
+    final IInjctor injector = CommonsInject.build(postConstructModule,
+                                                                               
          loggerModule, module1, module2);
+    // A binding for the controller was created automatically by the 
PostConstructModule.
+    final ILifecycleController controller = 
injector.getInstance(ILifecycleController.class);
+    // Initialize the beans with @PostConstruct
+    controller.start();
+    // Do the real work here.
+    ...
+    // Terminate the beans with @PreDestroy
+    controller.shutdown();
+  }
+}
+--------------------------------
+
+  For obvious reasons, the logger module must precede you own, custom modules, 
so that
+  these can benefit from the bindings created by the logger module. The 
PostConstructModule
+  in the example isn't mandatory. However, if you do use the 
PostConstructModule, it has
+  to go first.

Modified: commons/sandbox/commons-inject/trunk/src/site/apt/using.apt
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/site/apt/using.apt?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- commons/sandbox/commons-inject/trunk/src/site/apt/using.apt (original)
+++ commons/sandbox/commons-inject/trunk/src/site/apt/using.apt Sun Dec 14 
19:14:55 2014
@@ -18,24 +18,24 @@
      Using Commons Inject
      --------------------
 
-To use Commons Inject, you have to create an
-{{{./apidocs/org/apache/commons/inject/api/IInjector.html}IInjector}}. The 
purpose
-of the IInjector is the creation of POJO's, according to the rules you specify.
-The IInjector is the direct equivalent of the {{{}Guice Injector}}.
-
-To create an Injector, you must have some modules that provide the injectors
-configurtion. There are a few predefined modules:
-
-[[PostConstructModule]] The 
{{{./apidocs/org/apache/commons/inject/api/PostConstructModule.html}
-  PostConstruct module}} provides support for an application lifecycle: Your 
POJO's
-  may be initialized when the aplication starts. And there is also the 
possibility
-  for a shutdown. See {{{./lifecycle.html}this document}} for details.
-[[Log4jLoggerModule]]  The 
{{{./apidocs/org/apache/commons/inject/api/Log4jLoggerModule.html}
-  Log4j Logger module}} allows to have Log4j Loggers injected into your POJO's.
-  Details are described {{{./loggerInjection.html}here}}.
+  To use Commons Inject, you have to create an
+  {{{./apidocs/org/apache/commons/inject/api/IInjector.html}IInjector}}. The 
purpose
+  of the IInjector is the creation of POJO's, according to the rules you 
specify.
+  The IInjector is the direct equivalent of the {{{}Guice Injector}}.
+
+  To create an Injector, you must have some modules that provide the injectors
+  configurtion. There are a few predefined modules:
+
+  [[PostConstructModule]] The 
{{{./apidocs/org/apache/commons/inject/api/PostConstructModule.html}
+    PostConstruct module}} provides support for an application lifecycle: Your 
POJO's
+    may be initialized when the aplication starts. And there is also the 
possibility
+    for a shutdown. See {{{./lifecycle.html}this document}} for details.
+  [[Log4jLoggerModule]]  The 
{{{./apidocs/org/apache/commons/inject/api/Log4jLoggerModule.html}
+    Log4j Logger module}} allows to have Log4j Loggers injected into your 
POJO's.
+    Details are described {{{./loggerInjection.html}here}}.
 
-Of course, the predefined modules will never be sufficient. In practice, you 
will also
-have custom modules like this:
+  Of course, the predefined modules will never be sufficient. In practice, you 
will also
+  have custom modules like this:
 
 ----------------------------------------------
 package com.foo.myapp;
@@ -54,8 +54,8 @@ public class MyModule implements IModule
 }
 ----------------------------------------------
 
-Assuming that you have created your modules, and you wish to use one or more
-of the predefined module, then you can create an IInjector like this:
+  Assuming that you have created your modules, and you wish to use one or more
+  of the predefined module, then you can create an IInjector like this:
 
 ----------------------------------------------
 import org.apache.commons.inject.api.CommonsInject;
@@ -68,7 +68,7 @@ public IInjector newInjector() {
   return CommonsInject.build(module0, module1, module2);
 ----------------------------------------------
 
-That Injector can create POJO's for you, like this:
+  That Injector can create POJO's for you, like this:
 
 ----------------------------------------------
   List<Foo> fooList = injector.requireInstance(List.class);

Added: commons/sandbox/commons-inject/trunk/src/site/fml/faq.fml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/site/fml/faq.fml?rev=1645499&view=auto
==============================================================================
--- commons/sandbox/commons-inject/trunk/src/site/fml/faq.fml (added)
+++ commons/sandbox/commons-inject/trunk/src/site/fml/faq.fml Sun Dec 14 
19:14:55 2014
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faqs xmlns="http://maven.apache.org/FML/1.0.1";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 
http://maven.apache.org/xsd/fml-1.0.1.xsd";
+  title="Frequently Asked Questions"
+  toplink="false">
+
+  <part id="general">
+    <title>General</title>
+
+    <faq id="whats-commons-inject">
+      <question>
+        What is Commons Inject?
+      </question>
+      <answer>
+        <p>Commons Inject is an implementation of
+        <a href="https://jcp.org/en/jsr/detail?id=330";>JSR 330 (Dependency 
Injection for Java)</a>.
+        Or, in other words: It is a dependency injection framework, like
+        <a href="https://github.com/google";>Google Guice</a>, the
+        core part of the <a 
href="http://projects.spring.io/spring-framework/";>Spring Framework</a>,
+        <a href="http://square.github.io/dagger/";>Dagger</a>, or several 
others.</p>
+      </answer>
+    </faq>
+
+    <faq id="standard-compliance">
+      <question>
+        Does Commons Inject really comply to the JSR 330 standard?
+      </question>
+      <answer>
+        <p>Yes, it passes the JSR 330 TCK, with and without static 
injection.</p>
+        <p>This means, if you have got an application, which is based on an
+          alternative implementation of JSR 330, then it should be really easy,
+          to port that application over to Commons Inject. In general, the only
+          obvious thing to do would be to rewrite the configuration part.
+          However, as Commons Injects configuration closely follows the
+          configuration concepts from Guice, that should be really easy.</p>
+      </answer>
+    </faq>
+
+    <faq id="comparison">
+      <question>
+        How does Commons Inject compare to other JSR 330 implementations?
+      </question>
+      <answer>
+        <p>The author of Commons Inject believes that the framework has the
+        following advantages over its competitors:</p>
+          <ul>
+            <li>It is very small, and lightweight. (As of this writing, it 
contains
+            only 56 Java classes with 3833 lines of code, including test 
sources. The
+            complete source distribution will have about only 1MB of data, 
without
+            compression.</li>
+            <li>The emphasis is on usability, not strictness. For example, 
there is
+            no need to derive subclasses of a key in order to bind generic 
classes.
+            Or, you may use strings as names withput converting them to 
annotations.
+            </li>
+            <li>With usability in mind again: It comes with meaningful 
extensions
+            integrated. For example, there is a PostConstructModule, which 
enables
+            initialization and resource cleanup for components. Likewise, you 
can
+            have loggers, or properties injected into your beans.</li>
+            <li>Commons Inject is based on Java Reflection only. AFAIK, this 
means
+            it would work on Android, too, unlike Guice.</li>
+            <li>It works standalone. The only jar file you need is 
commons-inject-YOURVERSION.jar.
+            No additional stuff like Guava, AspectJ, Javassist, or whatever 
required.</li>
+          </ul>
+      </answer>
+    </faq>
+
+  </part>
+
+  <part id="use">
+
+    <title>Using Commons Inject</title>
+
+    <faq id="how-install">
+      <question>
+        How do I install Commons Inject?
+      </question>
+      <answer>
+        <p>There is no need for a special installation. Just add the jar file 
to
+        your project, like you would do with any other jar file. In the case of
+        Maven, you would simply declare a dependency like this:
+        </p>
+        <source>
+          &lt;dependencies&gt;
+            &lt;!-- Other dependencies ... --&gt;
+            &lt;dependency&gt;
+              &lt;groupId&gt;org.apache.commons.inject&lt;/groupId&gt;
+              &lt;artifactId&gt;org.apache.commons.inject&lt;/artifactId&gt;
+              &lt;version&gt;YOURVERSION&lt;/version&gt;
+            &lt;dependency/&gt;
+          &lt;dependencies/&gt;
+        </source>
+      </answer>
+    </faq>
+
+  </part>
+
+</faqs>
\ No newline at end of file

Modified: commons/sandbox/commons-inject/trunk/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/site/site.xml?rev=1645499&r1=1645498&r2=1645499&view=diff
==============================================================================
--- commons/sandbox/commons-inject/trunk/src/site/site.xml (original)
+++ commons/sandbox/commons-inject/trunk/src/site/site.xml Sun Dec 14 19:14:55 
2014
@@ -17,7 +17,11 @@
 -->
 <project name="Commons Inject" 
xmlns="http://maven.apache.org/DECORATION/1.1.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://maven.apache.org/DECORATION/1.1.0 
http://maven.apache.org/xsd/decoration-1.1.0.xsd";>
-
+  <skin>
+    <groupId>org.apache.maven.skins</groupId>
+    <artifactId>maven-fluido-skin</artifactId>
+    <version>1.3.1</version>
+  </skin>
   <bannerRight>
     <name>Commons Inject</name>
     <src>/images/logo.png</src>
@@ -28,7 +32,7 @@
     <menu name="Commons Inject">
       <item name="Overview"                 href="/index.html" />
       <item name="User guide"               href="/using.html" />
-      <item name="Lifecycle handling"       href="/lifycycle.html" />
+      <item name="Lifecycle handling"       href="/lifecycle.html" />
       <item name="Logger injection"         href="/loggerInjection.html" />
       <item name="FAQ"                      href="/faq.html" />
       <item name="Javadoc"                  href="/apidocs/index.html" />

Modified: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/InitializableObject.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/InitializableObject.java?rev=1645499&r1=1645493&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/InitializableObject.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/InitializableObject.java
 Sun Dec 14 19:14:55 2014
@@ -14,7 +14,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
-package org.apache.commons.impl;
+package org.apache.commons.inject.impl;
 
 import org.apache.commons.inject.api.ILifecycleListener;
 import org.apache.commons.inject.api.InjLogger;

Modified: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/ListenerTest.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/ListenerTest.java?rev=1645499&r1=1645493&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/ListenerTest.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/ListenerTest.java
 Sun Dec 14 19:14:55 2014
@@ -14,7 +14,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
-package org.apache.commons.impl;
+package org.apache.commons.inject.impl;
 
 import java.util.ArrayList;
 import java.util.List;

Modified: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/Log4jLoggerModuleTest.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/Log4jLoggerModuleTest.java?rev=1645499&r1=1645493&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/Log4jLoggerModuleTest.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/Log4jLoggerModuleTest.java
 Sun Dec 14 19:14:55 2014
@@ -14,7 +14,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
-package org.apache.commons.impl;
+package org.apache.commons.inject.impl;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -45,14 +45,12 @@ public class Log4jLoggerModuleTest {
                        
                        @Override
                        public boolean requiresLayout() {
-                               // TODO Auto-generated method stub
                                return false;
                        }
                        
                        @Override
                        public void close() {
-                               // TODO Auto-generated method stub
-                               
+                               // Does nothing.
                        }
                        
                        @Override

Modified: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/SimpleInjectorTest.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/SimpleInjectorTest.java?rev=1645499&r1=1645493&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/SimpleInjectorTest.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/SimpleInjectorTest.java
 Sun Dec 14 19:14:55 2014
@@ -14,7 +14,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
-package org.apache.commons.impl;
+package org.apache.commons.inject.impl;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;

Modified: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TckTest.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TckTest.java?rev=1645499&r1=1645493&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TckTest.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TckTest.java
 Sun Dec 14 19:14:55 2014
@@ -14,7 +14,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
-package org.apache.commons.impl;
+package org.apache.commons.inject.impl;
 
 import org.apache.commons.inject.api.CommonsInject;
 import org.apache.commons.inject.api.IInjector;

Modified: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TimeRecordingObject.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TimeRecordingObject.java?rev=1645499&r1=1645493&r2=1645499&view=diff
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TimeRecordingObject.java
 (original)
+++ 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/impl/TimeRecordingObject.java
 Sun Dec 14 19:14:55 2014
@@ -14,7 +14,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
-package org.apache.commons.impl;
+package org.apache.commons.inject.impl;
 
 public class TimeRecordingObject {
        private final long timeOfCreation;

Added: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/util/ExceptionsTest.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/util/ExceptionsTest.java?rev=1645499&view=auto
==============================================================================
--- 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/util/ExceptionsTest.java
 (added)
+++ 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/util/ExceptionsTest.java
 Sun Dec 14 19:14:55 2014
@@ -0,0 +1,50 @@
+package org.apache.commons.inject.util;
+
+import static org.junit.Assert.*;
+
+import java.lang.reflect.UndeclaredThrowableException;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class ExceptionsTest {
+       @Test
+       public void testShowRTE() {
+               final NullPointerException npe = new NullPointerException();
+               Throwable th = null;
+               try {
+                       throw Exceptions.show(npe);
+               } catch (Throwable t) {
+                       th = t;
+               }
+               Assert.assertNotNull(th);
+               Assert.assertSame(npe, th);
+       }
+
+       @Test
+       public void testShowError() {
+               final OutOfMemoryError oome = new OutOfMemoryError();
+               Throwable th = null;
+               try {
+                       throw Exceptions.show(oome);
+               } catch (Throwable t) {
+                       th = t;
+               }
+               Assert.assertNotNull(th);
+               Assert.assertSame(oome, th);
+       }
+
+       @Test
+       public void testShowThrowable() {
+               final Throwable t0 = new Throwable("Some throwable"){
+               };
+               Throwable th = null;
+               try {
+                       throw Exceptions.show(t0);
+               } catch (UndeclaredThrowableException ute) {
+                       th = ute.getCause();
+               }
+               Assert.assertNotNull(th);
+               Assert.assertSame(t0, th);      }
+       
+}

Propchange: 
commons/sandbox/commons-inject/trunk/src/test/java/org/apache/commons/inject/util/ExceptionsTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to