You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by da...@apache.org on 2006/02/16 23:07:10 UTC

svn commit: r378376 - in /cocoon/trunk/cocoon-blocks-fw: cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/

Author: danielf
Date: Thu Feb 16 14:07:06 2006
New Revision: 378376

URL: http://svn.apache.org/viewcvs?rev=378376&view=rev
Log:
Removed unused method in Block. Removed direct dependency of BlockWiring for BlockContext and moved the BlockWiring to blocks servlet.

Added:
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java
      - copied, changed from r378112, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockWiring.java
Removed:
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockWiring.java
Modified:
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Block.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockContext.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockManager.java

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Block.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Block.java?rev=378376&r1=378375&r2=378376&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Block.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Block.java Thu Feb 16 14:07:06 2006
@@ -18,8 +18,6 @@
 import javax.servlet.Servlet;
 import javax.servlet.ServletContext;
 
-import org.apache.avalon.framework.service.ServiceManager;
-
 /**
  * @version $Id$
  */
@@ -28,12 +26,5 @@
     public static String NAME = Block.class.getName() + "-name";
     public static String SUPER = "super";
 
-    /**
-     * The exported components of the block. Return null if the block doesn't export components.
-     * 
-     * @return a ServiceManager containing the blocks exported components
-     */
-    public ServiceManager getServiceManager();
-    
     public ServletContext getBlockContext();
 }

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockContext.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockContext.java?rev=378376&r1=378375&r2=378376&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockContext.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockContext.java Thu Feb 16 14:07:06 2006
@@ -21,6 +21,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.Hashtable;
 import java.util.Set;
@@ -40,14 +41,14 @@
 public class BlockContext extends ServletContextWrapper {
 
     private Hashtable attributes;
-    private BlockWiring wiring;
     private Servlet servlet;
     private URL contextURL;
+    private String mountPath;
+    private Dictionary connections;
+    private Dictionary properties;
     
-    public BlockContext(ServletContext parentContext, URL contextURL, BlockWiring wiring) {
+    public BlockContext(ServletContext parentContext) {
         super(parentContext);
-        this.contextURL = contextURL;
-        this.wiring = wiring;
     }
 
     /*
@@ -116,7 +117,7 @@
      */
     // FIXME, this should be defined in the config instead
     public String getInitParameter(String name) {
-        String value = this.wiring.getProperty(name);
+        String value = (String) this.properties.get(name);
         // Ask the super block for the property
         if (value == null) {
             ServletContext superContext = this.getNamedContext(Block.SUPER);
@@ -275,7 +276,7 @@
      */
     public ServletContext getNamedContext(String name) {
         ServletContext context = null;
-        String blockId = this.wiring.getBlockId(name);
+        String blockId = (String) this.connections.get(name);
         if (blockId != null)
             context = ((BlocksContext)super.servletContext).getNamedContext(blockId);
 
@@ -283,12 +284,40 @@
     }
     
     /**
+     * @param contextURL The contextURL to set.
+     */
+    public void setContextURL(URL contextURL) {
+        this.contextURL = contextURL;
+    }
+
+    /**
+     * @param mountPath The mountPath to set.
+     */
+    public void setMountPath(String mountPath) {
+        this.mountPath = mountPath;
+    }
+
+    /**
      * Get the mount path of the block context
      */
     public String getMountPath() {
-        return this.wiring.getMountPath();
+        return this.mountPath;
     }
-    
+
+    /**
+     * @param connections The connections to set.
+     */
+    public void setConnections(Dictionary connections) {
+        this.connections = connections;
+    }
+
+    /**
+     * @param properties The properties to set.
+     */
+    public void setProperties(Dictionary properties) {
+        this.properties = properties;
+    }
+
     private class NamedDispatcher implements RequestDispatcher {
 
         private String blockName;
@@ -298,7 +327,8 @@
         private NamedDispatcher(String blockName) {
             this.blockName = blockName;
             this.superCall = Block.SUPER.equals(this.blockName);
-            String blockId = BlockContext.this.wiring.getBlockId(this.blockName);
+            String blockId =
+                (String) BlockContext.this.connections.get(this.blockName);
 
             if (blockId != null) {
                 // Call to a named block that exists in the current context

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockManager.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockManager.java?rev=378376&r1=378375&r2=378376&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockManager.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockManager.java Thu Feb 16 14:07:06 2006
@@ -36,7 +36,6 @@
 import org.apache.cocoon.blocks.Block;
 import org.apache.cocoon.blocks.BlockCallStack;
 import org.apache.cocoon.blocks.BlockContext;
-import org.apache.cocoon.blocks.BlockWiring;
 import org.apache.cocoon.blocks.ServiceManagerRegistry;
 import org.apache.cocoon.blocks.util.ServletConfigurationWrapper;
 import org.apache.cocoon.components.LifecycleHelper;
@@ -99,8 +98,11 @@
 
         getLogger().debug("Initializing new Block Manager: " + this.blockWiring.getId());
 
-        this.blockContext =
-            new BlockContext(this.getServletContext(), this.contextURL, this.blockWiring);
+        this.blockContext = new BlockContext(this.getServletContext());
+        this.blockContext.setContextURL(this.contextURL);
+        this.blockContext.setMountPath(this.blockWiring.getMountPath());
+        this.blockContext.setConnections(this.blockWiring.getConnections());
+        this.blockContext.setProperties(this.blockWiring.getProperties());
         ServletConfig blockServletConfig =
             new ServletConfigurationWrapper(this.getServletConfig(), this.blockContext);
 
@@ -166,20 +168,6 @@
         super.destroy();
     }
     
-    /**
-     * The exported components of the block. Return null if the block doesn't export components.
-     * 
-     * @return a ServiceManager containing the blocks exported components
-     */
-    public ServiceManager getServiceManager() {
-        // Check that the block have a local service manager
-        if (this.blockWiring.getComponentConfiguration() != null) {
-            return this.serviceManager;
-        } else {
-            return null;
-        }
-    }
-
     public ServletContext getBlockContext() {
         return this.blockContext;
     }

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java (from r378112, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockWiring.java)
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockWiring.java&r1=378112&r2=378376&rev=378376&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockWiring.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java Thu Feb 16 14:07:06 2006
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.blocks;
+package org.apache.cocoon.blocks.servlet;
 
 import java.io.IOException;
 import java.net.URL;
+import java.util.Dictionary;
 import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Hashtable;
 import java.util.Vector;
 
 import org.apache.avalon.framework.configuration.Configurable;
@@ -27,6 +27,7 @@
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.cocoon.blocks.BlockConstants;
 import org.xml.sax.SAXException;
 
 /**
@@ -38,8 +39,8 @@
 
     private URL contextURL;
     private String id;
-    private Map connections = new HashMap();
-    private Map properties = new HashMap();
+    private Dictionary connections = new Hashtable();
+    private Dictionary properties = new Hashtable();
     private Vector connectionNames;
 
     private String mountPath;
@@ -149,27 +150,23 @@
     }
         
     /**
-     * Get a block id from the blockname.
+     * Get connections
      */
-    public String getBlockId(String blockName) {
-        String blockId = (String)this.connections.get(blockName);
-        getLogger().debug("Resolving block: " + blockName + " to " + blockId);
-        return blockId;
+    public Dictionary getConnections() {
+        return this.connections;
     }
 
     /**
-     * Get a block property
+     * Get the block properties
      */
-    public String getProperty(String name) {
-        String value = (String)this.properties.get(name);
-        getLogger().debug("Accessing property=" + name + " value=" + value + " block=" + this.id);
-        return value;
+    public Dictionary getProperties() {
+        return this.properties;
     }
 
     /**
      * Get path where the block should be mounted
      */
-    String getMountPath() {
+    public String getMountPath() {
         return this.mountPath;
     }