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/03/20 23:43:41 UTC

svn commit: r387330 - in /cocoon/trunk/cocoon-blocks-fw: cocoon-blocks-fw-ecm-impl/ cocoon-blocks-fw-ecm-impl/src/main/java/org/apache/cocoon/container/ cocoon-blocks-fw-impl/ cocoon-blocks-fw-impl/META-INF/ cocoon-blocks-fw-impl/src/main/java/org/apac...

Author: danielf
Date: Mon Mar 20 14:43:39 2006
New Revision: 387330

URL: http://svn.apache.org/viewcvs?rev=387330&view=rev
Log:
Reorganizing: moving the OSGi code to blocks-fw and makes it a bundle and moving the non OSGi block fw code to blocks-servlet-fw.

Added:
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/components.xml
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Activator.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/Activator.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConnection.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockConnection.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockProtocol.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockProtocol.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockServlet.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockServlet.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockConstants.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConstants.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockContext.java   (with props)
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/Blocks.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Blocks.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksContext.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlocksContext.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistry.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistry.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistryImpl.java
      - copied, changed from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistryImpl.java
Removed:
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConstants.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Blocks.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlocksContext.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistry.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistryImpl.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/Activator.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockConnection.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockContext.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockProtocol.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockServlet.java
Modified:
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/pom.xml
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/src/main/java/org/apache/cocoon/container/ECMBlockServiceManager.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/MANIFEST.MF
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/pom.xml
    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-osgi-impl/META-INF/MANIFEST.MF
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/pom.xml
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockManager.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java
    cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksManager.java

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/pom.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/pom.xml?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/pom.xml (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/pom.xml Mon Mar 20 14:43:39 2006
@@ -18,7 +18,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.cocoon</groupId>
-      <artifactId>cocoon-blocks-fw-impl</artifactId>
+      <artifactId>cocoon-blocks-fw-servlet-impl</artifactId>
       <version>1.0-SNAPSHOT</version>
     </dependency>
     <dependency>

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/src/main/java/org/apache/cocoon/container/ECMBlockServiceManager.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/src/main/java/org/apache/cocoon/container/ECMBlockServiceManager.java?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/src/main/java/org/apache/cocoon/container/ECMBlockServiceManager.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-ecm-impl/src/main/java/org/apache/cocoon/container/ECMBlockServiceManager.java Mon Mar 20 14:43:39 2006
@@ -29,8 +29,8 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
-import org.apache.cocoon.blocks.BlockConstants;
-import org.apache.cocoon.blocks.ServiceManagerRegistry;
+import org.apache.cocoon.blocks.servlet.BlockConstants;
+import org.apache.cocoon.blocks.servlet.ServiceManagerRegistry;
 import org.apache.cocoon.components.ComponentInfo;
 import org.apache.cocoon.components.LifecycleHelper;
 import org.apache.cocoon.components.container.CocoonServiceManager;

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/MANIFEST.MF?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/MANIFEST.MF (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/MANIFEST.MF Mon Mar 20 14:43:39 2006
@@ -3,8 +3,13 @@
 Bundle-Name: cocoon-blocks-fw-impl
 Bundle-SymbolicName: org.apache.cocoon.blocks
 Bundle-Version: 1.0.0
+Service-Component: META-INF/components.xml
 Bundle-Localization: plugin
 Import-Package: javax.servlet;version="2.3.0",
- javax.servlet.http
-Export-Package: org.apache.cocoon.blocks,
- org.apache.cocoon.blocks.util
+ javax.servlet.http,
+ org.osgi.framework;version="1.3.0",
+ org.osgi.service.component;version="1.0.0",
+ org.osgi.service.http;version="1.2.0",
+ org.osgi.service.log;version="1.3.0",
+ org.osgi.service.url;version="1.0.0"
+Export-Package: org.apache.cocoon.blocks

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/components.xml (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml)
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/components.xml?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/components.xml&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/META-INF/components.xml Mon Mar 20 14:43:39 2006
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
   <scr:component name="cocoon.activator">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.Activator"/>
+    <scr:implementation class="org.apache.cocoon.blocks.Activator"/>
     <scr:reference name="LOG"
                    interface="org.osgi.service.log.LogService"
                    bind="setLog"/>
@@ -15,66 +15,17 @@
                    bind="setServlet"
                    unbind="unsetServlet"/>
   </scr:component>
-  
+
   <scr:component name="cocoon.protocol.block">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.BlockProtocol"/>
+    <scr:implementation class="org.apache.cocoon.blocks.BlockProtocol"/>
     <scr:service>
       <scr:provide interface="org.osgi.service.url.URLStreamHandlerService"/>
-	</scr:service>
-	<scr:property name="url.handler.protocol">
-	  block
-	</scr:property>
+    </scr:service>
+    <scr:property name="url.handler.protocol">
+      block
+    </scr:property>
     <scr:reference name="LOG"
                    interface="org.osgi.service.log.LogService"
                    bind="setLog"/>
-  </scr:component>
-  
-  <scr:component name="cocoon.blockServlet1">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.BlockServlet"/>
-    <scr:service>
-      <scr:provide interface="javax.servlet.Servlet"/>
-	</scr:service>
-	<scr:property name="path" value="/test1"/>
-	<scr:property name="attr" value="foo"/>
-    <scr:reference name="blockServlet"
-                   interface="javax.servlet.Servlet"
-                   target="(component.name=cocoon.servlet1)"/>
-  </scr:component>
-  
-  <scr:component name="cocoon.blockServlet2">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.BlockServlet"/>
-    <scr:service>
-      <scr:provide interface="javax.servlet.Servlet"/>
-	</scr:service>
-	<scr:property name="path" value="/test2"/>
-	<scr:property name="attr" value="bar"/>
-    <scr:reference name="blockServlet"
-                   interface="javax.servlet.Servlet"
-                   target="(component.name=cocoon.servlet2)"/>
-    <scr:reference name="block1"
-                   interface="javax.servlet.Servlet"
-                   target="(component.name=cocoon.blockServlet1)"/>
-  </scr:component>
-  
-  <scr:component name="cocoon.servlet1">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.TestServlet"/>
-    <scr:service>
-      <scr:provide interface="javax.servlet.Servlet"/>
-	</scr:service>
-  </scr:component>
-  
-  <scr:component name="cocoon.servlet2">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.TestServlet2"/>
-    <scr:service>
-      <scr:provide interface="javax.servlet.Servlet"/>
-	</scr:service>
-  </scr:component>
-  
-  <scr:component name="cocoon.servlet3">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.TestServlet"/>
-    <scr:service>
-      <scr:provide interface="javax.servlet.Servlet"/>
-	</scr:service>
-	<scr:property name="path" value="/test3"/>
   </scr:component>
 </components>

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/pom.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/pom.xml?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/pom.xml (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/pom.xml Mon Mar 20 14:43:39 2006
@@ -12,9 +12,14 @@
   <name>Blocks Framework Implementation</name>
   <dependencies>
     <dependency>
-      <groupId>org.apache.avalon.framework</groupId>
-      <artifactId>avalon-framework-api</artifactId>
-      <version>4.3</version>
+      <groupId>org.osgi</groupId>
+      <artifactId>osgi_R4_core</artifactId>
+      <version>1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>osgi_R4_compendium</artifactId>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>javax.servlet</groupId>

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Activator.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/Activator.java)
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Activator.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Activator.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/Activator.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/Activator.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Activator.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.blocks.osgi;
+package org.apache.cocoon.blocks;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConnection.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockConnection.java)
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConnection.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConnection.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockConnection.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockConnection.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConnection.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.blocks.osgi;
+package org.apache.cocoon.blocks;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -29,7 +29,6 @@
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 
-import org.apache.cocoon.blocks.BlockCallStack;
 import org.apache.cocoon.blocks.util.BlockCallHttpServletRequest;
 import org.apache.cocoon.blocks.util.BlockCallHttpServletResponse;
 import org.osgi.service.log.LogService;

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=387330&r1=387329&r2=387330&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 Mon Mar 20 14:43:39 2006
@@ -35,6 +35,7 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.cocoon.blocks.util.ServletContextWrapper;
+import org.osgi.service.component.ComponentContext;
 
 /**
  * @version $Id$
@@ -43,11 +44,10 @@
 
     private Hashtable attributes;
     private Servlet servlet;
-    private URL contextURL;
     private String mountPath;
-    private Dictionary connections;
     private Dictionary properties;
-    
+    protected ComponentContext componentContext;
+
     /*
      * (non-Javadoc)
      * 
@@ -93,8 +93,7 @@
     public URL getResource(String path) throws MalformedURLException {
         if (path.length() == 0 || path.charAt(0) != '/')
             throw new MalformedURLException("The path must start with '/' " + path);
-        path = path.substring(1);
-        return new URL(this.contextURL, path);
+        return this.componentContext.getBundleContext().getBundle().getResource(path);
     }
 
     /*
@@ -272,21 +271,12 @@
      * Get the context of a block with a given name.
      */
     public ServletContext getNamedContext(String name) {
-        ServletContext context = null;
-        String blockId = (String) this.connections.get(name);
-        if (blockId != null)
-            context = ((BlocksContext)super.servletContext).getNamedContext(blockId);
-
-        return context;
-    }
-    
-    /**
-     * @param contextURL The contextURL to set.
-     */
-    public void setContextURL(URL contextURL) {
-        this.contextURL = contextURL;
+        BlockServlet blockServlet =
+            (BlockServlet) this.componentContext.locateService(name);
+        System.out.println("OSGIBlockContext: " + name + "=" + blockServlet);
+        return blockServlet.getBlockContext();
     }
-
+        
     /**
      * @param mountPath The mountPath to set.
      */
@@ -302,17 +292,14 @@
     }
 
     /**
-     * @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;
+    }
+
+    protected void activate(ComponentContext componentContext) {
+        this.componentContext = componentContext;
     }
 
     protected class NamedDispatcher implements RequestDispatcher {

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockProtocol.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockProtocol.java)
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockProtocol.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockProtocol.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockProtocol.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockProtocol.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockProtocol.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.blocks.osgi;
+package org.apache.cocoon.blocks;
 
 import java.io.IOException;
 import java.net.URL;

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockServlet.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockServlet.java)
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockServlet.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockServlet.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockServlet.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/src/main/java/org/apache/cocoon/blocks/osgi/BlockServlet.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockServlet.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.blocks.osgi;
+package org.apache.cocoon.blocks;
 
 import java.io.IOException;
 import java.util.Enumeration;
@@ -26,7 +26,6 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.cocoon.blocks.BlockCallStack;
 import org.apache.cocoon.blocks.util.ServletConfigurationWrapper;
 import org.osgi.service.component.ComponentContext;
 

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/MANIFEST.MF?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/MANIFEST.MF (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/MANIFEST.MF Mon Mar 20 14:43:39 2006
@@ -7,10 +7,4 @@
 Bundle-Localization: plugin
 Import-Package: javax.servlet,
  javax.servlet.http,
- org.apache.cocoon.blocks,
- org.apache.cocoon.blocks.util,
- org.osgi.framework;version="1.3.0",
- org.osgi.service.component;version="1.0.0",
- org.osgi.service.http,
- org.osgi.service.log,
- org.osgi.service.url
+ org.apache.cocoon.blocks

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-osgi-impl/META-INF/components.xml Mon Mar 20 14:43:39 2006
@@ -1,36 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
-  <scr:component name="cocoon.activator">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.Activator"/>
-    <scr:reference name="LOG"
-                   interface="org.osgi.service.log.LogService"
-                   bind="setLog"/>
-    <scr:reference name="HTTP"
-                   interface="org.osgi.service.http.HttpService"
-                   bind="setHttpService"/>
-    <scr:reference name="Servlet"
-                   interface="javax.servlet.Servlet"
-                   cardinality="0..n"
-                   policy="dynamic"
-                   bind="setServlet"
-                   unbind="unsetServlet"/>
-  </scr:component>
-  
-  <scr:component name="cocoon.protocol.block">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.BlockProtocol"/>
-    <scr:service>
-      <scr:provide interface="org.osgi.service.url.URLStreamHandlerService"/>
-	</scr:service>
-	<scr:property name="url.handler.protocol">
-	  block
-	</scr:property>
-    <scr:reference name="LOG"
-                   interface="org.osgi.service.log.LogService"
-                   bind="setLog"/>
-  </scr:component>
-  
   <scr:component name="cocoon.blockServlet1">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.BlockServlet"/>
+    <scr:implementation class="org.apache.cocoon.blocks.BlockServlet"/>
     <scr:service>
       <scr:provide interface="javax.servlet.Servlet"/>
 	</scr:service>
@@ -42,7 +13,7 @@
   </scr:component>
   
   <scr:component name="cocoon.blockServlet2">
-    <scr:implementation class="org.apache.cocoon.blocks.osgi.BlockServlet"/>
+    <scr:implementation class="org.apache.cocoon.blocks.BlockServlet"/>
     <scr:service>
       <scr:provide interface="javax.servlet.Servlet"/>
 	</scr:service>

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/pom.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/pom.xml?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/pom.xml (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/pom.xml Mon Mar 20 14:43:39 2006
@@ -34,12 +34,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.cocoon</groupId>
-      <artifactId>cocoon-blocks-fw-ecm-impl</artifactId>
-      <version>1.0-SNAPSHOT</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>httpunit</groupId>
       <artifactId>httpunit</artifactId>
       <version>1.6</version>

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockConstants.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConstants.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/BlockConstants.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockConstants.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConstants.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlockConstants.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockConstants.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * 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;
 
 /**
  * BlockConstants used in the blocks framework

Added: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockContext.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/BlockContext.java?rev=387330&view=auto
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockContext.java (added)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockContext.java Mon Mar 20 14:43:39 2006
@@ -0,0 +1,69 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed 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.
+ */
+package org.apache.cocoon.blocks.servlet;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Dictionary;
+
+import javax.servlet.ServletContext;
+
+
+/**
+ * @version $Id$
+ */
+public class BlockContext extends org.apache.cocoon.blocks.BlockContext {
+
+    private URL contextURL;
+    private Dictionary connections;
+
+    /* (non-Javadoc)
+     * @see javax.servlet.ServletContext#getResource(java.lang.String)
+     */
+    public URL getResource(String path) throws MalformedURLException {
+        if (path.length() == 0 || path.charAt(0) != '/')
+            throw new MalformedURLException("The path must start with '/' " + path);
+        path = path.substring(1);
+        return new URL(this.contextURL, path);
+    }
+    
+    /**
+     * Get the context of a block with a given name.
+     */
+    public ServletContext getNamedContext(String name) {
+        ServletContext context = null;
+        String blockId = (String) this.connections.get(name);
+        if (blockId != null)
+            context = ((BlocksContext)super.servletContext).getNamedContext(blockId);
+
+        return context;
+    }
+    
+    /**
+     * @param contextURL The contextURL to set.
+     */
+    public void setContextURL(URL contextURL) {
+        this.contextURL = contextURL;
+    }
+
+    /**
+     * @param connections The connections to set.
+     */
+    public void setConnections(Dictionary connections) {
+        this.connections = connections;
+    }
+
+}

Propchange: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

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=387330&r1=387329&r2=387330&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 Mon Mar 20 14:43:39 2006
@@ -35,8 +35,6 @@
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.blocks.Block;
 import org.apache.cocoon.blocks.BlockCallStack;
-import org.apache.cocoon.blocks.BlockContext;
-import org.apache.cocoon.blocks.ServiceManagerRegistry;
 import org.apache.cocoon.blocks.util.ServletConfigurationWrapper;
 import org.apache.cocoon.components.LifecycleHelper;
 import org.apache.cocoon.util.ClassUtils;

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/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?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlockWiring.java Mon Mar 20 14:43:39 2006
@@ -27,7 +27,6 @@
 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;
 
 /**

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/Blocks.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Blocks.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/Blocks.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/Blocks.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Blocks.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/Blocks.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/Blocks.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,9 @@
  * 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 org.apache.cocoon.blocks.Block;
 
 /**
  * @version $Id$

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksContext.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlocksContext.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/BlocksContext.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksContext.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlocksContext.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/BlocksContext.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksContext.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * 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;
 
@@ -26,6 +26,7 @@
 import javax.servlet.http.HttpServletRequestWrapper;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.cocoon.blocks.Block;
 import org.apache.cocoon.blocks.util.ServletContextWrapper;
 
 /**

Modified: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksManager.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/BlocksManager.java?rev=387330&r1=387329&r2=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksManager.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/BlocksManager.java Mon Mar 20 14:43:39 2006
@@ -40,11 +40,6 @@
 import org.apache.cocoon.Modifiable;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.blocks.Block;
-import org.apache.cocoon.blocks.BlockConstants;
-import org.apache.cocoon.blocks.Blocks;
-import org.apache.cocoon.blocks.BlocksContext;
-import org.apache.cocoon.blocks.ServiceManagerRegistry;
-import org.apache.cocoon.blocks.ServiceManagerRegistryImpl;
 import org.apache.cocoon.blocks.util.ServletConfigurationWrapper;
 import org.apache.cocoon.components.LifecycleHelper;
 import org.apache.cocoon.components.source.SourceUtil;

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistry.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistry.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/ServiceManagerRegistry.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistry.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistry.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistry.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistry.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * 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 org.apache.avalon.framework.service.ServiceManager;
 

Copied: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistryImpl.java (from r387051, cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistryImpl.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/ServiceManagerRegistryImpl.java?p2=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistryImpl.java&p1=cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistryImpl.java&r1=387051&r2=387330&rev=387330&view=diff
==============================================================================
--- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/ServiceManagerRegistryImpl.java (original)
+++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-servlet-impl/src/main/java/org/apache/cocoon/blocks/servlet/ServiceManagerRegistryImpl.java Mon Mar 20 14:43:39 2006
@@ -13,7 +13,7 @@
  * 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.util.Collections;
 import java.util.HashMap;