You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/02/07 03:40:49 UTC

svn commit: r504418 - in /maven/components/trunk/maven-build-context/src: main/java/org/apache/maven/context/ test/java/org/apache/maven/context/

Author: jdcasey
Date: Tue Feb  6 18:40:48 2007
New Revision: 504418

URL: http://svn.apache.org/viewvc?view=rev&rev=504418
Log:
Adding ability to reorient the build context manager to a new container context.

Modified:
    maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/BuildContextManager.java
    maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/DefaultBuildContextManager.java
    maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/AbstractBuildContextManagerTest.java
    maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/DefaultBuildContextManagerTest.java

Modified: maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/BuildContextManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/BuildContextManager.java?view=diff&rev=504418&r1=504417&r2=504418
==============================================================================
--- maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/BuildContextManager.java (original)
+++ maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/BuildContextManager.java Tue Feb  6 18:40:48 2007
@@ -1,5 +1,7 @@
 package org.apache.maven.context;
 
+import org.codehaus.plexus.context.Context;
+
 /**
  * Manager interface used to store, read, and clear the BuildContext out of the container.
  * 
@@ -11,11 +13,6 @@
     String ROLE = BuildContextManager.class.getName();
     
     /**
-     * Create a new instance of BuildContext
-     */
-    BuildContext newUnstoredInstance();
-    
-    /**
      * Read the BuildContext from the container. If it doesn't already exist, optionally create it.
      */
     BuildContext readBuildContext( boolean create );
@@ -30,5 +27,13 @@
      * context.
      */
     void clearBuildContext();
+    
+    /**
+     * Re-orient this BuildContextManager to use the given Plexus Context instance, returning
+     * the original Context instance so it can be restored later. This can be important when the 
+     * BuildContextManager is instantiated inside a Maven plugin, but the plugin needs to use the
+     * context associated with the core of Maven (in case multiple contexts are used).
+     */
+    Context reorientToContext( Context context );
     
 }

Modified: maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/DefaultBuildContextManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/DefaultBuildContextManager.java?view=diff&rev=504418&r1=504417&r2=504418
==============================================================================
--- maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/DefaultBuildContextManager.java (original)
+++ maven/components/trunk/maven-build-context/src/main/java/org/apache/maven/context/DefaultBuildContextManager.java Tue Feb  6 18:40:48 2007
@@ -33,15 +33,6 @@
     }
     
     /**
-     * Create a new instance of DefaultBuildContext, and return it. Each method call creates a brand
-     * new instance.
-     */
-    public BuildContext newUnstoredInstance()
-    {
-        return new DefaultBuildContext();
-    }
-
-    /**
      * Clear the contents of the build context inside the container context.
      */
     public void clearBuildContext()
@@ -126,6 +117,14 @@
         throws ContextException
     {
         this.context = context;
+    }
+
+    public Context reorientToContext( Context context )
+    {
+        Context oldContext = this.context;
+        this.context = context;
+        
+        return oldContext;
     }
 
 }

Modified: maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/AbstractBuildContextManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/AbstractBuildContextManagerTest.java?view=diff&rev=504418&r1=504417&r2=504418
==============================================================================
--- maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/AbstractBuildContextManagerTest.java (original)
+++ maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/AbstractBuildContextManagerTest.java Tue Feb  6 18:40:48 2007
@@ -9,6 +9,8 @@
     
     protected abstract String getRoleHintBeforeSetUp();
     
+    protected abstract BuildContext createBuildContext();
+    
     protected BuildContextManager getBuildContextManager()
     {
         return mgr;
@@ -21,28 +23,10 @@
         mgr = (BuildContextManager) lookup( BuildContextManager.ROLE, getRoleHintBeforeSetUp() );
     }
     
-    public void testNewUnstoredInstance_ShouldReturnValidContextInstance()
-    {
-        BuildContext context = mgr.newUnstoredInstance();
-        
-        assertNotNull( context );
-        
-        String key = "key";
-        String value = "value";
-        
-        context.put( key, value );
-        
-        assertEquals( value, context.get( key ) );
-        
-        context.delete( key );
-        
-        assertNull( context.get( key ) );
-    }
-
     public void testNewUnstoredInstance_SuccessiveCallsShouldReturnDistinctContextInstances()
     {
-        BuildContext context = mgr.newUnstoredInstance();
-        BuildContext context2 = mgr.newUnstoredInstance();
+        BuildContext context = createBuildContext();
+        BuildContext context2 = createBuildContext();
         
         assertNotNull( context );
         assertNotNull( context2 );
@@ -51,7 +35,7 @@
     
     public void testStoreAndRead_ShouldRetrieveStoredValueAfterRead()
     {
-        BuildContext ctx = mgr.newUnstoredInstance();
+        BuildContext ctx = createBuildContext();
         
         String key = "key";
         String value = "value";
@@ -68,7 +52,7 @@
 
     public void testStoreAndClear_ShouldNotRetrieveStoredValueAfterClear()
     {
-        BuildContext ctx = mgr.newUnstoredInstance();
+        BuildContext ctx = createBuildContext();
         
         String key = "key";
         String value = "value";

Modified: maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/DefaultBuildContextManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/DefaultBuildContextManagerTest.java?view=diff&rev=504418&r1=504417&r2=504418
==============================================================================
--- maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/DefaultBuildContextManagerTest.java (original)
+++ maven/components/trunk/maven-build-context/src/test/java/org/apache/maven/context/DefaultBuildContextManagerTest.java Tue Feb  6 18:40:48 2007
@@ -9,4 +9,9 @@
         return DefaultBuildContextManager.ROLE_HINT;
     }
 
+    protected BuildContext createBuildContext()
+    {
+        return new DefaultBuildContext();
+    }
+
 }