Hello,
Thanks Reinhard for sharing your work. I have taken a quick look at the code and fixed some bugs in
order to get some basics working.
However I failed to fix BlockContextSource implementation that should obtain blockContexts map from
ServletContext. I attach changes that reflects my attempts; it looks like wrong ServletContext is
being used so NPE is being thrown. If anyone wants to have a look just go ahead. I need to focus my
university duties.
--
Grzegorz Kossakowski
>From 7123345af96632b3def71c612dd115b889f239c0 Mon Sep 17 00:00:00 2001
From: Grzegorz Kossakowski <[EMAIL PROTECTED]>
Date: Sun, 13 Apr 2008 01:21:38 +0200
Subject: [PATCH] Switch to SNAPSHOT versions.
---
parent/pom.xml | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/parent/pom.xml b/parent/pom.xml
index 16e4f81..549ca48 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2785,7 +2785,7 @@
<dependency>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-servlet-service-impl</artifactId>
- <version>1.0.0</version>
+ <version>1.1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.cocoon</groupId>
@@ -2847,7 +2847,7 @@
<dependency>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-spring-configurator</artifactId>
- <version>1.0.2</version>
+ <version>1.0.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.cocoon</groupId>
--
1.5.4.4
>From 61dc5edfacf14ad48f3a53e49734be21d3ed849f Mon Sep 17 00:00:00 2001
From: Grzegorz Kossakowski <[EMAIL PROTECTED]>
Date: Sun, 13 Apr 2008 19:05:39 +0200
Subject: [PATCH] Reflect package renaming.
---
.../core/xml/resolver/CocoonSystemResolver.java | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java b/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java
index 5462237..874603e 100644
--- a/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java
+++ b/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java
@@ -20,7 +20,7 @@ import java.io.File;
import org.apache.cocoon.configuration.Settings;
import org.apache.cocoon.core.xml.impl.DefaultEntityResolver;
-import org.apache.cocoon.spring.configurator.impl.DeploymentUtil;
+import org.apache.cocoon.blockdeployment.DeploymentUtil;
/**
*
--
1.5.4.4
>From 5f1c707484a1dc81fad88c175379fbd4a150e2d9 Mon Sep 17 00:00:00 2001
From: Grzegorz Kossakowski <[EMAIL PROTECTED]>
Date: Sun, 13 Apr 2008 19:06:42 +0200
Subject: [PATCH] Get blockContexts map from ServletContext. It does not work yet (it looks like wrong ServletContext is being used here).
---
.../source/impl/BlockContextSourceFactory.java | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/core/cocoon-core/src/main/java/org/apache/cocoon/components/source/impl/BlockContextSourceFactory.java b/core/cocoon-core/src/main/java/org/apache/cocoon/components/source/impl/BlockContextSourceFactory.java
index 5366535..da92ecf 100644
--- a/core/cocoon-core/src/main/java/org/apache/cocoon/components/source/impl/BlockContextSourceFactory.java
+++ b/core/cocoon-core/src/main/java/org/apache/cocoon/components/source/impl/BlockContextSourceFactory.java
@@ -20,10 +20,13 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Map;
+import javax.servlet.ServletContext;
+
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.blockdeployment.BlockDeploymentServletContextListener;
import org.apache.cocoon.spring.configurator.BlockResourcesHolder;
import org.apache.cocoon.util.AbstractLogEnabled;
import org.apache.excalibur.source.Source;
@@ -43,20 +46,21 @@ public class BlockContextSourceFactory extends AbstractLogEnabled
private ServiceManager serviceManager;
private BlockResourcesHolder blockResourcesHolder;
+ private Map blockContexts;
/**
* @see Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
*/
public void service(ServiceManager aServiceManager) throws ServiceException {
this.serviceManager = aServiceManager;
- this.blockResourcesHolder = (BlockResourcesHolder) this.serviceManager.lookup(BlockResourcesHolder.class.getName());
+ //this.blockResourcesHolder = (BlockResourcesHolder) this.serviceManager.lookup(BlockResourcesHolder.class.getName());
+ blockContexts = (Map)((ServletContext)this.serviceManager.lookup(ServletContext.class.getName())).getAttribute(BlockDeploymentServletContextListener.BLOCK_CONTEXT_MAP);
}
/**
* @see SourceFactory#getSource(java.lang.String, java.util.Map)
*/
public Source getSource(String location, Map parameters) throws IOException {
- Map blockContexts = this.blockResourcesHolder.getBlockContexts();
// the root "directory" of the blocks
if (location.endsWith(":/")) {
--
1.5.4.4