Author: cziegeler
Date: Sun Oct 31 10:32:28 2004
New Revision: 56145
Modified:
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/CocoonComponentManager.java
Log:
Revert commit 55286 which causes NPEs and other exceptions with the cocoon
protocol - don't know why though
Modified:
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/CocoonComponentManager.java
==============================================================================
---
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/CocoonComponentManager.java
(original)
+++
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/CocoonComponentManager.java
Sun Oct 31 10:32:28 2004
@@ -213,9 +213,10 @@
* [EMAIL PROTECTED] #startProcessing(Environment)}.
*/
public static void endProcessing(Environment env, Object key) {
- ((EnvironmentDescription) key).release();
+ env.finishingProcessing();
+ final EnvironmentDescription desc = (EnvironmentDescription)key;
+ desc.release();
env.getObjectModel().remove(PROCESS_KEY);
- env.finishingProcessing();
}
/**
@@ -290,10 +291,12 @@
return this;
}
- final EnvironmentStack stack = (EnvironmentStack)
environmentStack.get();
- if (stack != null && !stack.isEmpty()) {
- final EnvironmentDescription desc =
getCurrentEnvironmentDescriptor(stack);
- if (null != desc) {
+ final EnvironmentStack stack =
(EnvironmentStack)environmentStack.get();
+ if ( null != stack && !stack.empty()) {
+ final Object[] objects = (Object[])stack.getCurrent();
+ final Map objectModel = ((Environment)objects[0]).getObjectModel();
+ EnvironmentDescription desc =
(EnvironmentDescription)objectModel.get(PROCESS_KEY);
+ if ( null != desc ) {
Component component = desc.getRequestLifecycleComponent(role);
if (null != component) {
return component;
@@ -413,10 +416,12 @@
final Component
component,
final ComponentManager
manager)
throws ProcessingException {
- final EnvironmentStack stack = (EnvironmentStack)
environmentStack.get();
- if (null != stack && !stack.empty()) {
- final EnvironmentDescription desc =
getCurrentEnvironmentDescriptor(stack);
- if (null != desc) {
+ final EnvironmentStack stack =
(EnvironmentStack)environmentStack.get();
+ if ( null != stack && !stack.empty()) {
+ final Object[] objects = (Object[])stack.get(0);
+ final Map objectModel = ((Environment)objects[0]).getObjectModel();
+ EnvironmentDescription desc =
(EnvironmentDescription)objectModel.get(PROCESS_KEY);
+ if ( null != desc ) {
desc.addToAutoRelease(selector, component, manager);
}
} else {
@@ -430,10 +435,12 @@
public static void addComponentForAutomaticRelease(final ComponentManager
manager,
final Component
component)
throws ProcessingException {
- final EnvironmentStack stack = (EnvironmentStack)
environmentStack.get();
- if (null != stack && !stack.empty()) {
- final EnvironmentDescription desc =
getCurrentEnvironmentDescriptor(stack);
- if (null != desc) {
+ final EnvironmentStack stack =
(EnvironmentStack)environmentStack.get();
+ if ( null != stack && !stack.empty()) {
+ final Object[] objects = (Object[])stack.get(0);
+ final Map objectModel = ((Environment)objects[0]).getObjectModel();
+ EnvironmentDescription desc =
(EnvironmentDescription)objectModel.get(PROCESS_KEY);
+ if ( null != desc ) {
desc.addToAutoRelease(manager, component);
}
} else {
@@ -446,10 +453,12 @@
*/
public static void removeFromAutomaticRelease(final Component component)
throws ProcessingException {
- final EnvironmentStack stack = (EnvironmentStack)
environmentStack.get();
- if (null != stack && !stack.empty()) {
- final EnvironmentDescription desc =
getCurrentEnvironmentDescriptor(stack);
- if (null != desc) {
+ final EnvironmentStack stack =
(EnvironmentStack)environmentStack.get();
+ if ( null != stack && !stack.empty()) {
+ final Object[] objects = (Object[])stack.get(0);
+ final Map objectModel = ((Environment)objects[0]).getObjectModel();
+ EnvironmentDescription desc =
(EnvironmentDescription)objectModel.get(PROCESS_KEY);
+ if ( null != desc ) {
desc.removeFromAutoRelease(component);
}
} else {
@@ -457,12 +466,6 @@
}
}
- private static EnvironmentDescription
getCurrentEnvironmentDescriptor(final EnvironmentStack stack) {
- final Object[] objects = (Object[]) stack.getCurrent();
- final Map objectModel = ((Environment) objects[0]).getObjectModel();
- return (EnvironmentDescription)
objectModel.get(CocoonComponentManager.PROCESS_KEY);
- }
-
/**
* Dispose
*/
@@ -591,8 +594,8 @@
* All RequestLifecycleComponents and autoreleaseComponents are
* released.
*/
- synchronized void release() {
- if (this.requestLifecycleComponents != null) {
+ void release() {
+ if ( this.requestLifecycleComponents != null ) {
final Iterator iter =
this.requestLifecycleComponents.values().iterator();
while (iter.hasNext()) {
final Object[] o = (Object[])iter.next();
@@ -685,24 +688,24 @@
/**
* Add an automatically released component
*/
- synchronized void addToAutoRelease(final ComponentSelector selector,
- final Component component,
- final ComponentManager manager) {
+ void addToAutoRelease(final ComponentSelector selector,
+ final Component component,
+ final ComponentManager manager) {
this.autoreleaseComponents.add(new Object[] {component, selector,
manager});
}
/**
* Add an automatically released component
*/
- synchronized void addToAutoRelease(final ComponentManager manager,
- final Component component) {
+ void addToAutoRelease(final ComponentManager manager,
+ final Component component) {
this.autoreleaseComponents.add(new Object[] {component, manager});
}
/**
* Remove from automatically released components
*/
- synchronized void removeFromAutoRelease(final Component component)
+ void removeFromAutoRelease(final Component component)
throws ProcessingException {
int i = 0;
boolean found = false;