svn commit: rev 22821 - in avalon/trunk/runtime: activation/impl/src/java/org/apache/avalon/activation/impl composition/api/src/java/org/apache/avalon/composition/model composition/impl/src/java/org/apache/avalon/composition/model/impl

[email protected]
Newsgroups gmane.comp.jakarta.avalon.cvs
Message-ID <[email protected]>
Author: mcconnell
Date: Sun Jul 11 11:14:38 2004
New Revision: 22821

Modified:
   avalon/trunk/runtime/activation/impl/src/java/org/apache/avalon/activation/impl/DefaultAppliance.java
   avalon/trunk/runtime/composition/api/src/java/org/apache/avalon/composition/model/ComponentModel.java
   avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultComponentModel.java
Log:
Add proxy policy handling into the composition model and runtime. This closed issue RUNTIME-18 at the composition and activation level - just need to add cli support.

Modified: avalon/trunk/runtime/activation/impl/src/java/org/apache/avalon/activation/impl/DefaultAppliance.java
==============================================================================
--- avalon/trunk/runtime/activation/impl/src/java/org/apache/avalon/activation/impl/DefaultAppliance.java	(original)
+++ avalon/trunk/runtime/activation/impl/src/java/org/apache/avalon/activation/impl/DefaultAppliance.java	Sun Jul 11 11:14:38 2004
@@ -128,15 +128,24 @@
      * @throws Exception if an error occurs
      */
     public Object resolve() throws Exception
-    {
+    {
+        //
+        // handle the legacy 3.3.0 usage of the "urn:activation:proxy" key
+        // if after handle the 3.4.0 semantics for resolution against the model
+        //
+
         if( getComponentModel().getType().getInfo().
               getAttribute( "urn:activation:proxy", "true" ).equals( "false" ) )
-        {
+        {
+            final String message = 
+              "Component type references the deprecated 'urn:activation:proxy' key."
+              + " Please update to the key '" + ComponentModel.PROXY_KEY + "'.";
+            getLogger().warn( message );
             return resolve( false );
         }
-        else        
-        {
-            return resolve( true );
+        else        
+        {
+            return resolve( getComponentModel().getProxyPolicy() );
         }
     }
 

Modified: avalon/trunk/runtime/composition/api/src/java/org/apache/avalon/composition/model/ComponentModel.java
==============================================================================
--- avalon/trunk/runtime/composition/api/src/java/org/apache/avalon/composition/model/ComponentModel.java	(original)
+++ avalon/trunk/runtime/composition/api/src/java/org/apache/avalon/composition/model/ComponentModel.java	Sun Jul 11 11:14:38 2004
@@ -30,14 +30,25 @@
  * @version $Revision: 1.9 $ $Date: 2004/03/17 10:30:08 $
  */
 public interface ComponentModel extends DeploymentModel
-{
+{
+    static final String PROXY_KEY = "urn:composition:proxy";
 
    /**
     * Return the deployment type.
     * 
     * @return the type
     */
-    Type getType();
+    Type getType();
+
+   /**
+    * Return the proxy enabled policy for the model. If the system wide
+    * proxy enabled is disabled the operation will return false otherwise the 
+    * value returned is true unless overriden by the "urn:composition:proxy"
+    * attribute.
+    *
+    * @return the proxy policy
+    */
+    boolean getProxyPolicy();
 
    /**
     * Return the activation policy for the model. 

Modified: avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultComponentModel.java
==============================================================================
--- avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultComponentModel.java	(original)
+++ avalon/trunk/runtime/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultComponentModel.java	Sun Jul 11 11:14:38 2004
@@ -76,7 +76,7 @@
     private static final Resources REZ =
       ResourceManager.getPackageResources( DefaultComponentModel.class );
 
-   private static final String CONTEXTUALIZABLE = 
+    private static final String CONTEXTUALIZABLE = 
      "org.apache.avalon.framework.context.Contextualizable";
 
     private static final Configuration EMPTY_CONFIGURATION =
@@ -479,6 +479,33 @@
         return m_context.getType().getInfo().getCollectionPolicy();
     }
     
+   /**
+    * Return the proxy enabled policy for the model. If the system wide
+    * proxy enabled is disabled the operation will return false otherwise the 
+    * value returned is true unless overriden by the "urn:composition:proxy"
+    * attribute.
+    *
+    * @return the proxy policy
+    */
+    public boolean getProxyPolicy()
+    {
+        if( m_context.getSystemContext().isProxyEnabled() )
+        {
+            if( getType().getInfo().getAttribute( PROXY_KEY, "true" ).equals( "false" ) )
+            {
+                return false;
+            }
+            else
+            {
+                return true;
+            }
+        }
+        else
+        {
+            return false;
+        }        
+    }
+
    /**
     * Return the activation policy for the model. 
     * @return the activaltion policy
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.