cziegeler 2002/10/08 07:43:21
Modified:
src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components
PortalManager.java CopletThread.java
src/blocks/session-fw/java/org/apache/cocoon/webapps/session/transformation
SessionPreTransformer.java
SessionPostTransformer.java
AbstractSessionTransformer.java
src/blocks/session-fw/java/org/apache/cocoon/webapps/session/components
AbstractSessionComponent.java SessionManager.java
src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components
Handler.java AuthenticationManager.java
ApplicationHandler.java
src/java/org/apache/cocoon/components/source SourceUtil.java
src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context
SessionContextImpl.java
src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/context
SessionContextImpl.java
src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context
SessionContext.java ResponseSessionContext.java
SimpleSessionContext.java
RequestSessionContext.java
src/blocks/session-fw/conf session.xroles
src/java/org/apache/cocoon/transformation
CIncludeTransformer.java
src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/generation
ConfigurationGenerator.java
Removed:
src/blocks/session-fw/java/org/apache/cocoon/webapps/session/connector
XMLSaver.java ResourceConnectorImpl.java
ResourceConnector.java XMLLoader.java Resource.java
Log:
Removing obsolete ResourceConnector
Not everything is working again - saving in the portal does not work yet.
Revision Changes Path
1.3 +125 -104
xml-cocoon2/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/PortalManager.java
Index: PortalManager.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/PortalManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PortalManager.java 4 Oct 2002 12:00:37 -0000 1.2
+++ PortalManager.java 8 Oct 2002 14:43:18 -0000 1.3
@@ -80,7 +80,6 @@
import org.apache.cocoon.webapps.portal.context.SessionContextProviderImpl;
import org.apache.cocoon.webapps.session.components.AbstractSessionComponent;
import org.apache.cocoon.webapps.session.components.SessionManager;
-import org.apache.cocoon.webapps.session.connector.Resource;
import org.apache.cocoon.webapps.session.context.SessionContext;
import org.apache.cocoon.webapps.session.context.SessionContextProvider;
import org.apache.cocoon.webapps.session.xml.XMLUtil;
@@ -516,15 +515,19 @@
pars.setSingleParameterValue("application",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_APPLICATION_NAME));
pars.setSingleParameterValue("handler",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_HANDLER_NAME));
- Resource saveResource =
(Resource)configuration.get(PortalConstants.CONF_COPLETBASE_SAVE_RESOURCE);
+ String saveResource =
(String)configuration.get(PortalConstants.CONF_COPLETBASE_SAVE_RESOURCE);
if (saveResource == null) {
throw new ProcessingException("portal: No save
resource defined for type coplet-base.");
} else {
-
-
this.getResourceConnector().saveXML(saveResource.getResourceType(),null,
- saveResource.getResourceIdentifier(),pars,
- copletsFragment);
+
+ SourceUtil.writeDOM(saveResource,
+ null,
+ pars,
+ copletsFragment,
+ this.resolver,
+ "xml",
+ this.manager);
// now the hardest part, clean up the whole cache
this.cleanUpCache(null, null, configuration);
@@ -662,13 +665,15 @@
if (copletsFragment == null) {
SourceParameters pars = new SourceParameters();
pars.setSingleParameterValue("application",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_APPLICATION_NAME));
- Resource res =
(Resource)configuration.get(PortalConstants.CONF_COPLETBASE_RESOURCE);
+ String res =
(String)configuration.get(PortalConstants.CONF_COPLETBASE_RESOURCE);
if (res == null) {
throw new ProcessingException("No configuration for
portal-coplet base profile found.");
}
- copletsFragment = this.loadXML(res.getResourceType(),
null,
-
res.getResourceIdentifier(), pars,
- "Error during loading of
coplet base.");
+ copletsFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
context.setAttribute(ATTRIBUTE_ADMIN_COPLETS,
copletsFragment);
}
IncludeXMLConsumer.includeNode(DOMUtil.selectSingleNode(copletsFragment,
@@ -2762,7 +2767,6 @@
objectModel,
this.getLogger(),
response,
- this.getResourceConnector(),
loadedCoplet,
this.manager,
this.resolver);
@@ -3325,8 +3329,7 @@
// build resource (optional)
child = config.getChild("buildprofile", false);
if (child != null) {
- result.put(PortalConstants.CONF_BUILD_RESOURCE,
new Resource(this.resolver,
-
child.getAttribute("uri")));
+ result.put(PortalConstants.CONF_BUILD_RESOURCE,
child.getAttribute("uri"));
}
// base resource, type is optional
@@ -3334,25 +3337,21 @@
if (child == null) {
throw new ProcessingException("portal:
layout-base required for application '" + appName + "'");
}
- result.put(PortalConstants.CONF_LAYOUTBASE_RESOURCE,
new Resource(this.resolver,
-
child.getAttribute("uri")));
+ result.put(PortalConstants.CONF_LAYOUTBASE_RESOURCE,
child.getAttribute("uri"));
child = config.getChild("coplet-base", false);
if (child == null) {
throw new ProcessingException("portal:
coplet-base required for application '" + appName + "'");
}
- result.put(PortalConstants.CONF_COPLETBASE_RESOURCE,
new Resource(this.resolver,
-
child.getAttribute("uri")));
+ result.put(PortalConstants.CONF_COPLETBASE_RESOURCE,
child.getAttribute("uri"));
child = config.getChild("type-base", false);
if (child != null) {
-
result.put(PortalConstants.CONF_TYPEBASE_RESOURCE, new Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_TYPEBASE_RESOURCE, child.getAttribute("uri"));
}
// coplet base save (is optional)
child = config.getChild("coplet-base-save", false);
if (child != null) {
-
result.put(PortalConstants.CONF_COPLETBASE_SAVE_RESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_COPLETBASE_SAVE_RESOURCE,
child.getAttribute("uri"));
}
// global delta (load required)
@@ -3360,70 +3359,58 @@
if (child == null) {
throw new ProcessingException("portal:
global-delta-load required for application '" + appName + "'");
}
-
result.put(PortalConstants.CONF_GLOBALDELTA_LOADRESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_GLOBALDELTA_LOADRESOURCE,
child.getAttribute("uri"));
child = config.getChild("global-delta-save", false);
if (child != null) {
-
result.put(PortalConstants.CONF_GLOBALDELTA_SAVERESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_GLOBALDELTA_SAVERESOURCE,
child.getAttribute("uri"));
}
child = config.getChild("global-type-delta", false);
if (child != null) {
-
result.put(PortalConstants.CONF_GLOBALDELTA_TYPERESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_GLOBALDELTA_TYPERESOURCE,
child.getAttribute("uri"));
}
// role delta (optional)
child = config.getChild("role-delta-load", false);
if (child != null) {
-
result.put(PortalConstants.CONF_ROLEDELTA_LOADRESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_ROLEDELTA_LOADRESOURCE,
child.getAttribute("uri"));
}
child = config.getChild("role-delta-save", false);
if (child != null) {
-
result.put(PortalConstants.CONF_ROLEDELTA_SAVERESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_ROLEDELTA_SAVERESOURCE,
child.getAttribute("uri"));
}
child = config.getChild("role-type-delta", false);
if (child != null) {
-
result.put(PortalConstants.CONF_ROLEDELTA_TYPERESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_ROLEDELTA_TYPERESOURCE,
child.getAttribute("uri"));
}
// User delta
child = config.getChild("user-delta-load", false);
if (child != null) {
-
result.put(PortalConstants.CONF_USERDELTA_LOADRESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_USERDELTA_LOADRESOURCE,
child.getAttribute("uri"));
}
child = config.getChild("user-delta-save", false);
if (child != null) {
-
result.put(PortalConstants.CONF_USERDELTA_SAVERESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_USERDELTA_SAVERESOURCE,
child.getAttribute("uri"));
}
child = config.getChild("user-type-delta", false);
if (child != null) {
-
result.put(PortalConstants.CONF_USERDELTA_TYPERESOURCE, new
Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_USERDELTA_TYPERESOURCE,
child.getAttribute("uri"));
}
// Personal information
child = config.getChild("user-status-load", false);
if (child != null) {
-
result.put(PortalConstants.CONF_STATUS_LOADRESOURCE, new Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_STATUS_LOADRESOURCE, child.getAttribute("uri"));
}
child = config.getChild("user-status-save", false);
if (child != null) {
-
result.put(PortalConstants.CONF_STATUS_SAVERESOURCE, new Resource(this.resolver,
-
child.getAttribute("uri")));
+
result.put(PortalConstants.CONF_STATUS_SAVERESOURCE, child.getAttribute("uri"));
}
// Admin Type profil
child = config.getChild("admin-type-base", false);
if (child != null) {
- result.put(PortalConstants.CONF_ADMIN_TYPE_BASE,
new Resource(this.resolver,
-
child.getAttribute("uri")));
+ result.put(PortalConstants.CONF_ADMIN_TYPE_BASE,
child.getAttribute("uri"));
}
// store the config in the session
@@ -3478,13 +3465,16 @@
}
// is the configuration build by using a own resource?
- Resource resource =
(Resource)map.get(PortalConstants.CONF_BUILD_RESOURCE);
+ String resource =
(String)map.get(PortalConstants.CONF_BUILD_RESOURCE);
if (resource != null) {
if (this.getLogger().isInfoEnabled() == true) {
- this.getLogger().info("Building portal profile: " +
resource.getResourceIdentifier());
+ this.getLogger().info("Building portal profile: " +
resource);
}
-
this.getResourceConnector().loadXML(resource.getResourceType(),null,
-
resource.getResourceIdentifier(),pars);
+ SourceUtil.readDOM(resource,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
} else {
this.buildProfile(type, role, id, adminProfile);
}
@@ -3512,7 +3502,7 @@
DocumentFragment profile;
Document profileDoc;
Element profileRoot;
- Resource res;
+ String res;
SourceParameters pars = new SourceParameters();
pars.setSingleParameterValue("application",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_APPLICATION_NAME));
@@ -3520,20 +3510,23 @@
pars.setSingleParameterValue("profile", "coplet-base");
// First load the base profiles: copletProfile + layoutProfile
- res = (Resource)config.get(PortalConstants.CONF_COPLETBASE_RESOURCE);
+ res = (String)config.get(PortalConstants.CONF_COPLETBASE_RESOURCE);
if (res == null) {
throw new ProcessingException("No configuration for
portal-coplet base profile found.");
}
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("Loading coplet base profile");
}
- copletsFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading coplet base profile."
+ res.getResourceIdentifier());
+ copletsFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
+
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("coplet base profile loaded");
}
- res = (Resource)config.get(PortalConstants.CONF_LAYOUTBASE_RESOURCE);
+ res = (String)config.get(PortalConstants.CONF_LAYOUTBASE_RESOURCE);
if (res == null) {
throw new ProcessingException("No configuration for
portal-layout base profile found.");
}
@@ -3541,9 +3534,12 @@
this.getLogger().debug("loading layout base profile");
}
pars.setSingleParameterValue("profile", "layout-base");
- layoutFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading layout base profile " +
res.getResourceIdentifier());
+ layoutFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
+
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("layout base profile loaded");
}
@@ -3559,19 +3555,21 @@
// if avalailable append the type profile
if (adminProfile == true) {
- res = (Resource)config.get(PortalConstants.CONF_ADMIN_TYPE_BASE);
+ res = (String)config.get(PortalConstants.CONF_ADMIN_TYPE_BASE);
pars.setSingleParameterValue("profile", "admin-type-base");
} else {
- res =
(Resource)config.get(PortalConstants.CONF_TYPEBASE_RESOURCE);
+ res = (String)config.get(PortalConstants.CONF_TYPEBASE_RESOURCE);
pars.setSingleParameterValue("profile", "type-base");
}
if (res != null) {
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading type base profile");
}
- typeFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading type base profile "
+res.getResourceIdentifier());
+ typeFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
profileRoot.appendChild(profileDoc.importNode(DOMUtil.selectSingleNode(typeFragment,
"type-profile"), true));
@@ -3598,7 +3596,7 @@
this.getLogger().debug("BEGIN buildGlobalProfile
profileRoot="+profileRoot+", config="+config+", adminProfile="+adminProfile);
}
DocumentFragment globalFragment;
- Resource res =
(Resource)config.get(PortalConstants.CONF_GLOBALDELTA_LOADRESOURCE);
+ String res =
(String)config.get(PortalConstants.CONF_GLOBALDELTA_LOADRESOURCE);
if (res == null) {
throw new ProcessingException("No configuration for portal-role
delta profile found.");
}
@@ -3610,9 +3608,11 @@
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading global profile");
}
- globalFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading global profile " +
res.getResourceIdentifier());
+ globalFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("global profile loaded");
}
@@ -3622,15 +3622,17 @@
this.addProfilePart(profileRoot, globalFragment, "global-delta",
"personal-profile");
// types
- res =
(Resource)config.get(PortalConstants.CONF_GLOBALDELTA_TYPERESOURCE);
+ res =
(String)config.get(PortalConstants.CONF_GLOBALDELTA_TYPERESOURCE);
if (adminProfile == false && res != null) {
pars.setSingleParameterValue("profile", "global-type-delta");
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading global type profile");
}
- globalFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading global type profile
" + res.getResourceIdentifier());
+ globalFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("global type profile loaded");
}
@@ -3659,14 +3661,16 @@
pars.setSingleParameterValue("handler",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_HANDLER_NAME));
pars.setSingleParameterValue("profile", "role-delta");
- Resource res =
(Resource)config.get(PortalConstants.CONF_ROLEDELTA_LOADRESOURCE);
+ String res =
(String)config.get(PortalConstants.CONF_ROLEDELTA_LOADRESOURCE);
if (res != null) {
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading role profile");
}
- roleFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading role profile " +
res.getResourceIdentifier());
+ roleFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("role profile loaded");
}
@@ -3677,15 +3681,17 @@
}
// types
- res =
(Resource)config.get(PortalConstants.CONF_ROLEDELTA_TYPERESOURCE);
+ res =
(String)config.get(PortalConstants.CONF_ROLEDELTA_TYPERESOURCE);
if (adminProfile == false && res != null) {
pars.setSingleParameterValue("profile", "role-type-delta");
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading role type profile");
}
- roleFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading role type profile " +
res.getResourceIdentifier());
+ roleFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("role type profile loaded");
}
@@ -3712,14 +3718,16 @@
pars.setSingleParameterValue("handler",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_HANDLER_NAME));
pars.setSingleParameterValue("profile", "user-delta");
- Resource res =
(Resource)config.get(PortalConstants.CONF_USERDELTA_LOADRESOURCE);
+ String res =
(String)config.get(PortalConstants.CONF_USERDELTA_LOADRESOURCE);
if (res != null) {
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading user profile");
}
- userFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading user profile " +
res.getResourceIdentifier());
+ userFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("user profile loaded");
}
@@ -3730,15 +3738,17 @@
}
// types
- res =
(Resource)config.get(PortalConstants.CONF_USERDELTA_TYPERESOURCE);
+ res =
(String)config.get(PortalConstants.CONF_USERDELTA_TYPERESOURCE);
if (adminProfile == false && res != null) {
pars.setSingleParameterValue("profile", "user-type-delta");
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading user type profile");
}
- userFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading user type profile " +
res.getResourceIdentifier());
+ userFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("user type profile loaded");
}
@@ -3756,7 +3766,7 @@
boolean adminProfile)
throws ProcessingException, SAXException,
javax.xml.transform.TransformerException {
// calling method is synced
- Resource res =
(Resource)config.get(PortalConstants.CONF_STATUS_LOADRESOURCE);
+ String res =
(String)config.get(PortalConstants.CONF_STATUS_LOADRESOURCE);
// remove the old status profile
Node statusProfile = DOMUtil.getFirstNodeFromPath(profileRoot, new
String[] {"status-profile"}, false);
@@ -3776,9 +3786,11 @@
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("loading user status profile");
}
- userFragment = this.loadXML(res.getResourceType(), null,
- res.getResourceIdentifier(), pars,
- "Error loading user status profile "
+ res.getResourceIdentifier());
+ userFragment = SourceUtil.readDOM(res,
+ null,
+ pars,
+ this.resolver,
+ this.manager);
if (this.getLogger().isDebugEnabled() == true) {
this.getLogger().debug("user status profile loaded");
}
@@ -3802,7 +3814,7 @@
boolean adminProfile)
throws ProcessingException, SAXException,
javax.xml.transform.TransformerException {
// calling method is synced
- Resource res =
(Resource)config.get(PortalConstants.CONF_STATUS_SAVERESOURCE);
+ String res =
(String)config.get(PortalConstants.CONF_STATUS_SAVERESOURCE);
Element statusProfile =
(Element)DOMUtil.getFirstNodeFromPath((DocumentFragment)profile.get(PortalConstants.PROFILE_PROFILE),
new String[] {"profile","status-profile"}, false);
if (res != null && statusProfile != null) {
@@ -3840,9 +3852,14 @@
pars.setSingleParameterValue("handler",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_HANDLER_NAME));
pars.setSingleParameterValue("profile", "user-status");
- this.getResourceConnector().saveXML(res.getResourceType(),
null,
- res.getResourceIdentifier(), pars,
- userFragment);
+ SourceUtil.writeDOM(res,
+ null,
+ pars,
+ userFragment,
+ this.resolver,
+ "xml",
+ this.manager);
+
} finally {
userFragment.removeChild(saveStatus);
}
@@ -3982,17 +3999,17 @@
String role = this.getRole(profileID);
String id = this.getID(profileID);
String type = this.getType(profileID);
- Resource saveResource;
+ String saveResource;
String profileType;
if
(type.equals(PortalManager.BUILDTYPE_VALUE_GLOBAL) == true) {
- saveResource =
(Resource)conf.get(PortalConstants.CONF_GLOBALDELTA_SAVERESOURCE);
+ saveResource =
(String)conf.get(PortalConstants.CONF_GLOBALDELTA_SAVERESOURCE);
profileType = "global-delta";
} else if
(type.equals(PortalManager.BUILDTYPE_VALUE_ROLE) == true) {
- saveResource =
(Resource)conf.get(PortalConstants.CONF_ROLEDELTA_SAVERESOURCE);
+ saveResource =
(String)conf.get(PortalConstants.CONF_ROLEDELTA_SAVERESOURCE);
profileType = "role-delta";
} else if
(type.equals(PortalManager.BUILDTYPE_VALUE_ID) == true) {
- saveResource =
(Resource)conf.get(PortalConstants.CONF_USERDELTA_SAVERESOURCE);
+ saveResource =
(String)conf.get(PortalConstants.CONF_USERDELTA_SAVERESOURCE);
profileType = "user-delta";
} else {
throw new ProcessingException("portal: No
save resource defined for type '"+type+"'.");
@@ -4022,9 +4039,14 @@
if (role != null)
pars.setSingleParameterValue("role", role);
pars.setSingleParameterValue("application",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_APPLICATION_NAME));
pars.setSingleParameterValue("handler",
(String)this.request.getAttribute(org.apache.cocoon.webapps.authentication.AuthenticationConstants.REQUEST_ATTRIBUTE_HANDLER_NAME));
-
this.getResourceConnector().saveXML(saveResource.getResourceType(), null,
- saveResource.getResourceIdentifier(), pars,
- delta);
+ SourceUtil.writeDOM(saveResource,
+ null,
+ pars,
+ delta,
+ this.resolver,
+ "xml",
+ this.manager);
+
if (delta.getParentNode() != null)
delta.getParentNode().removeChild(delta);
delta = null;
@@ -4288,8 +4310,7 @@
source = SourceUtil.getSource(resource,
null,
parameters,
- this.resolver,
- this.objectModel);
+ this.resolver);
return SourceUtil.toDOM(source, this.manager);
} catch (SourceException se) {
throw SourceUtil.handle(se);
1.2 +42 -72
xml-cocoon2/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/CopletThread.java
Index: CopletThread.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/CopletThread.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CopletThread.java 27 Sep 2002 09:05:06 -0000 1.1
+++ CopletThread.java 8 Oct 2002 14:43:19 -0000 1.2
@@ -60,6 +60,7 @@
import org.xml.sax.ContentHandler;
import org.xml.sax.ext.LexicalHandler;
+import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceParameters;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Component;
@@ -69,6 +70,7 @@
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.source.SourceUtil;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Response;
@@ -77,8 +79,6 @@
import org.apache.cocoon.webapps.portal.PortalConstants;
import org.apache.cocoon.webapps.portal.context.SessionContextImpl;
import org.apache.cocoon.webapps.session.components.SessionManager;
-import org.apache.cocoon.webapps.session.connector.Resource;
-import org.apache.cocoon.webapps.session.connector.ResourceConnector;
import org.apache.cocoon.xml.IncludeXMLConsumer;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.dom.DOMUtil;
@@ -96,7 +96,6 @@
private String copletID;
private Map objectModel;
private Response response;
- private ResourceConnector resourceConnector;
private Object[] loadedCoplet;
private ComponentManager manager;
private SourceResolver resolver;
@@ -118,7 +117,6 @@
Map objectModel,
Logger logger,
Response response,
- ResourceConnector resourceConnector,
Object[] loadedCoplet,
ComponentManager manager,
SourceResolver resolver) {
@@ -126,7 +124,6 @@
this.objectModel = objectModel;
this.logger = logger;
this.response = response;
- this.resourceConnector = resourceConnector;
this.loadedCoplet = loadedCoplet;
this.manager = manager;
this.resolver = resolver;
@@ -144,17 +141,17 @@
// Determine the resource to load
// If the coplet is customizable and has no customization info
// the customization resource is loaded, otherwise the resource
- Resource resource = null;
+ String resource = null;
boolean showCustomizePage =
p.getParameterAsBoolean(PortalConstants.PARAMETER_CUSTOMIZE, false);
if (showCustomizePage == true) {
final String value = DOMUtil.getValueOf(copletConf,
"customization/@uri", null);
if (value == null) {
this.logger.error("The coplet '"+this.copletID+"' is
customizable but has no customization info.");
}
- resource = new Resource(this.resolver, value);
+ resource = value;
}
if (resource == null) {
- resource = new Resource(this.resolver,
DOMUtil.getValueOf(copletConf, "resource/@uri"));
+ resource = DOMUtil.getValueOf(copletConf, "resource/@uri");
}
boolean handlesSizable = DOMUtil.getValueAsBooleanOf(copletConf,
"configuration/handlesSizable", false);
@@ -190,71 +187,45 @@
}
nextConsumer.startDocument();
}
- switch (resource.getResourceType()) {
- case ResourceConnector.RESOURCE_TYPE_CLASS: {
- Coplet theCoplet;
- try {
- Class loaderClass =
Class.forName(resource.getResourceIdentifier());
- theCoplet =
(Coplet)loaderClass.newInstance();
- } catch (ClassNotFoundException cnfException) {
- throw new ProcessingException("getCoplet:
Class not found: " + resource.getResourceIdentifier(), cnfException);
- } catch (IllegalAccessException iaException) {
- throw new ProcessingException("getCoplet:
Illegal Access: " + resource.getResourceIdentifier(), iaException);
- } catch (InstantiationException iException) {
- throw new ProcessingException("getCoplet:
Instantion exception: " + resource.getResourceIdentifier(), iException);
- }
- theCoplet.init(objectModel, p);
- theCoplet.execute(nextConsumer, nextConsumer,
objectModel, p);
- break;
- }
- default: {
- boolean includeFragment = true;
- boolean handlesParameters =
DOMUtil.getValueAsBooleanOf(copletConf, "configuration/handlesParameters",
true);
- String size = p.getParameter("size", "max");
- if (resource.getResourceType() ==
ResourceConnector.RESOURCE_TYPE_FILE) {
- // files have no possibility to evaluate
minimized, so if they are not maximized
- // they will be neglected
- includeFragment = size.equals("max");
-
- } else {
- includeFragment = size.equals("max");
- if (includeFragment == false) {
- if (this.logger.isWarnEnabled() == true)
{
- this.logger.warn("Minimized coplet
'"+copletID+"' not handled correctly.");
- }
- }
- }
- if ( includeFragment == true) {
- String res;
-
- if (resource.getResourceType() ==
ResourceConnector.RESOURCE_TYPE_URI) {
- if (this.response != null) {
- res =
this.response.encodeURL(resource.getResourceIdentifier());
- } else {
- res =
resource.getResourceIdentifier();
- }
- } else {
- res = resource.getResourceIdentifier();
- }
- if (this.logger.isDebugEnabled() == true) {
- this.logger.debug("portal: Loading
coplet " + copletID);
- }
- // add the parameters to the request
attributes
- Map info = new HashMap(3);
- SessionContextImpl.copletInfo.set(info);
-
info.put(PortalConstants.COPLETINFO_PARAMETERS, p);
-
info.put(PortalConstants.COPLETINFO_PORTALURI, request.getRequestURI());
-
info.put(PortalConstants.COPLETINFO_STATUSPROFILE, loadedCoplet[7]);
- XMLConsumer xc = new
IncludeXMLConsumer(nextConsumer);
-
this.resourceConnector.streamXML(resource.getResourceType(), null,
- res, (handlesParameters == true ?
p : null),
- xc , xc);
- if (this.logger.isDebugEnabled() == true) {
- this.logger.debug("portal: Loaded coplet
" + copletID);
- }
- }
+ boolean includeFragment = true;
+ boolean handlesParameters =
DOMUtil.getValueAsBooleanOf(copletConf, "configuration/handlesParameters",
true);
+ String size = p.getParameter("size", "max");
+ includeFragment = size.equals("max");
+ if (includeFragment == false) {
+ if (this.logger.isWarnEnabled() == true) {
+ this.logger.warn("Minimized coplet
'"+copletID+"' not handled correctly.");
}
}
+ if ( includeFragment ) {
+ String res;
+
+ if (this.logger.isDebugEnabled() ) {
+ this.logger.debug("portal: Loading coplet " +
copletID);
+ }
+ // add the parameters to the request attributes
+ Map info = new HashMap(3);
+ SessionContextImpl.copletInfo.set(info);
+ info.put(PortalConstants.COPLETINFO_PARAMETERS, p);
+ info.put(PortalConstants.COPLETINFO_PORTALURI,
request.getRequestURI());
+ info.put(PortalConstants.COPLETINFO_STATUSPROFILE,
loadedCoplet[7]);
+ XMLConsumer xc = new
IncludeXMLConsumer(nextConsumer);
+ Source source = null;
+ try {
+ source = SourceUtil.getSource(resource,
+ null,
+ (handlesParameters
== true ? p : null),
+ resolver);
+ resolver.toSAX(source, xc);
+ } finally {
+ resolver.release(source);
+ }
+
+ if (this.logger.isDebugEnabled()) {
+ this.logger.debug("portal: Loaded coplet " +
copletID);
+ }
+ }
+
+
if (xslT != null) {
xslT.endDocument();
xslT = null;
@@ -292,7 +263,6 @@
objectModel = null;
p = null;
response = null;
- resourceConnector = null;
loadedCoplet = null;
manager = null;
resolver = null;
1.2 +0 -1
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/transformation/SessionPreTransformer.java
Index: SessionPreTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/transformation/SessionPreTransformer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SessionPreTransformer.java 27 Sep 2002 09:05:16 -0000 1.1
+++ SessionPreTransformer.java 8 Oct 2002 14:43:19 -0000 1.2
@@ -59,7 +59,6 @@
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.webapps.session.SessionConstants;
-import org.apache.cocoon.webapps.session.connector.*;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
1.2 +0 -1
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/transformation/SessionPostTransformer.java
Index: SessionPostTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/transformation/SessionPostTransformer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SessionPostTransformer.java 27 Sep 2002 09:05:16 -0000 1.1
+++ SessionPostTransformer.java 8 Oct 2002 14:43:19 -0000 1.2
@@ -57,7 +57,6 @@
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.webapps.session.SessionConstants;
-import org.apache.cocoon.webapps.session.connector.*;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
1.2 +0 -21
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/transformation/AbstractSessionTransformer.java
Index: AbstractSessionTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/transformation/AbstractSessionTransformer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractSessionTransformer.java 27 Sep 2002 09:05:16 -0000 1.1
+++ AbstractSessionTransformer.java 8 Oct 2002 14:43:19 -0000 1.2
@@ -73,7 +73,6 @@
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.transformation.AbstractSAXTransformer;
import org.apache.cocoon.webapps.session.components.SessionManager;
-import org.apache.cocoon.webapps.session.connector.*;
import org.apache.cocoon.xml.IncludeXMLConsumer;
import org.apache.cocoon.xml.XMLConsumer;
@@ -99,9 +98,6 @@
extends AbstractSAXTransformer {
private SessionManager sessionManager;
- /** The Resource Connector */
- private ResourceConnector resourceConnector;
- /** The SourceResolver for this request */
/**
* Get the SessionManager component
@@ -119,28 +115,11 @@
}
/**
- * Get the resource connector
- */
- protected ResourceConnector getResourceConnector()
- throws ProcessingException {
- if (this.resourceConnector == null) {
- try {
- this.resourceConnector =
(ResourceConnector)this.manager.lookup(ResourceConnector.ROLE);
- } catch (ComponentException ce) {
- throw new ProcessingException("Error during lookup of
resource connector.", ce);
- }
- }
- return this.resourceConnector;
- }
-
- /**
* Recycle this component.
*/
public void recycle() {
super.recycle();
- this.manager.release(this.resourceConnector);
this.manager.release(this.sessionManager);
- this.resourceConnector = null;
this.sessionManager = null;
}
1.2 +0 -38
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/components/AbstractSessionComponent.java
Index: AbstractSessionComponent.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/components/AbstractSessionComponent.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractSessionComponent.java 27 Sep 2002 09:05:17 -0000 1.1
+++ AbstractSessionComponent.java 8 Oct 2002 14:43:19 -0000 1.2
@@ -67,7 +67,6 @@
import org.apache.cocoon.environment.Response;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.webapps.session.components.SessionManager;
-import org.apache.cocoon.webapps.session.connector.ResourceConnector;
import org.w3c.dom.DocumentFragment;
import org.xml.sax.SAXException;
import java.io.IOException;
@@ -83,7 +82,6 @@
implements Component, Composable, Recomposable, Recyclable,
RequestLifecycleComponent {
private SessionManager sessionManager;
- private ResourceConnector resourceConnectorComponent;
protected ComponentManager manager;
@@ -144,53 +142,17 @@
}
/**
- * Get the resource connector
- */
- protected ResourceConnector getResourceConnector()
- throws ProcessingException {
- if (this.resourceConnectorComponent == null) {
- try {
- this.resourceConnectorComponent =
(ResourceConnector)this.manager.lookup(ResourceConnector.ROLE);
- } catch (ComponentException ce) {
- throw new ProcessingException("Error during lookup of
resource connector.", ce);
- }
- }
- return this.resourceConnectorComponent;
- }
-
- /**
* Recycle
*/
public void recycle() {
if (this.manager != null) {
this.manager.release(this.sessionManager);
- this.manager.release(this.resourceConnectorComponent);
}
this.sessionManager = null;
- this.resourceConnectorComponent = null;
this.objectModel = null;
this.resolver = null;
this.request = null;
this.response = null;
}
- /**
- * Load a resource.
- * The resource connector usually throws a ResourceNotFound exception
- * when a pipeline is not found. This exception is catched here
- * and rethrown as a usual ProcessingException with the given message!
- */
- public DocumentFragment loadXML(int resourceType,
- Parameters typeParameters,
- String resourceIdentifier,
- SourceParameters resourceParameters,
- String errorMessage)
- throws ProcessingException {
- try {
- return this.getResourceConnector().loadXML(resourceType,
typeParameters,
- resourceIdentifier,
resourceParameters);
- } catch (ResourceNotFoundException rnfe) {
- throw new ProcessingException(errorMessage, rnfe);
- }
- }
}
1.2 +1 -4
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/components/SessionManager.java
Index: SessionManager.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/components/SessionManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SessionManager.java 27 Sep 2002 09:05:17 -0000 1.1
+++ SessionManager.java 8 Oct 2002 14:43:19 -0000 1.2
@@ -75,7 +75,6 @@
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.webapps.session.SessionConstants;
import org.apache.cocoon.webapps.session.context.*;
-import org.apache.cocoon.webapps.session.connector.*;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.XMLUtils;
import org.apache.cocoon.xml.dom.DOMUtil;
@@ -424,9 +423,7 @@
context = this.getContext(name);
} else {
context = new SimpleSessionContext();
- Resource loadResource = (loadURI == null) ? null : new
Resource(this.resolver, loadURI);
- Resource saveResource = (saveURI == null) ? null : new
Resource(this.resolver, saveURI);
- context.setup(name, loadResource, saveResource);
+ context.setup(name, loadURI, saveURI);
contexts.put(name, context);
this.getSessionContextsTransactionStates().put(context, new
TransactionState());
}
1.4 +37 -13
xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/Handler.java
Index: Handler.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/Handler.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Handler.java 4 Oct 2002 12:40:01 -0000 1.3
+++ Handler.java 8 Oct 2002 14:43:20 -0000 1.4
@@ -61,7 +61,6 @@
import org.apache.cocoon.environment.Request;
import org.apache.excalibur.source.SourceResolver;
import org.apache.cocoon.webapps.session.context.SessionContext;
-import org.apache.cocoon.webapps.session.connector.*;
import org.xml.sax.SAXException;
/**
@@ -83,13 +82,22 @@
private SourceParameters redirectParameters;
/** The authentication resource */
- private Resource authenticationResource;
+ private String authenticationResource;
+
+ /** The authentication resource parameters */
+ private SourceParameters authenticationResourceParameters;
/** The load resource (optional) */
- private Resource loadResource;
+ private String loadResource;
+
+ /** The load resource (optional) parameters */
+ private SourceParameters loadResourceParameters;
/** The save resource (optional) */
- private Resource saveResource;
+ private String saveResource;
+
+ /** The save resource (optional) parameters */
+ private SourceParameters saveResourceParameters;
/** The ApplicationHandler */
private Map applications = new Hashtable(3, 2);
@@ -119,8 +127,11 @@
copy.redirectURI = this.redirectURI;
copy.redirectParameters = this.redirectParameters;
copy.authenticationResource = this.authenticationResource;
+ copy.authenticationResourceParameters =
this.authenticationResourceParameters;
copy.loadResource = this.loadResource;
copy.saveResource = this.saveResource;
+ copy.loadResourceParameters = this.loadResourceParameters;
+ copy.saveResourceParameters = this.saveResourceParameters;
copy.configurations = this.configurations;
Iterator iter = this.applications.keySet().iterator();
while (iter.hasNext()) {
@@ -160,21 +171,21 @@
child = conf.getChild("authentication", false);
if (child == null)
throw new ConfigurationException("Handler '"+this.name+"' needs
authentication configuration");
- this.authenticationResource = new Resource(resolver,
child.getAttribute("uri"));
-
this.authenticationResource.setResourceParameters(SourceParameters.create(child));
+ this.authenticationResource = child.getAttribute("uri");
+ this.authenticationResourceParameters =
SourceParameters.create(child);
// get load resource (optional)
child = conf.getChild("load", false);
if (child != null) {
- this.loadResource = new Resource(resolver,
child.getAttribute("uri"));
-
this.loadResource.setResourceParameters(SourceParameters.create(child));
+ this.loadResource = child.getAttribute("uri");
+ this.loadResourceParameters = SourceParameters.create(child);
}
// get save resource (optional)
child = conf.getChild("save", false);
if (child != null) {
- this.saveResource = new Resource(resolver,
child.getAttribute("uri"));
-
this.saveResource.setResourceParameters(SourceParameters.create(child));
+ this.saveResource = child.getAttribute("uri");
+ this.saveResourceParameters = SourceParameters.create(child);
}
// And now: Applications
@@ -245,15 +256,28 @@
/**
* Get the authentication resource
*/
- public Resource getAuthenticationResource() {
+ public String getAuthenticationResource() {
return this.authenticationResource;
}
+ /**
+ * Get the authentication resource
+ */
+ public SourceParameters getAuthenticationResourceParameters() {
+ return this.authenticationResourceParameters;
+ }
+
/** Get the save resource */
- public Resource getSaveResource() { return this.saveResource; }
+ public String getSaveResource() { return this.saveResource; }
+
+ /** Get the load resource */
+ public String getLoadResource() { return this.loadResource; }
/** Get the save resource */
- public Resource getLoadResource() { return this.loadResource; }
+ public SourceParameters getSaveResourceParameters() { return
this.saveResourceParameters; }
+
+ /** Get the load resource parameters */
+ public SourceParameters getLoadResourceParameters() { return
this.loadResourceParameters; }
/**
* Get the applications map
1.4 +51 -22
xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/AuthenticationManager.java
Index: AuthenticationManager.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/AuthenticationManager.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AuthenticationManager.java 4 Oct 2002 12:40:01 -0000 1.3
+++ AuthenticationManager.java 8 Oct 2002 14:43:20 -0000 1.4
@@ -53,6 +53,8 @@
import java.io.IOException;
import java.util.*;
+import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceException;
import org.apache.excalibur.source.SourceParameters;
import org.apache.excalibur.source.SourceUtil;
import org.apache.avalon.framework.component.ComponentException;
@@ -77,8 +79,6 @@
import org.apache.cocoon.webapps.session.context.SessionContext;
import org.apache.cocoon.webapps.session.context.SessionContextProvider;
import org.apache.cocoon.webapps.session.context.SimpleSessionContext;
-import org.apache.cocoon.webapps.session.connector.ResourceConnector;
-import org.apache.cocoon.webapps.session.connector.Resource;
import org.apache.cocoon.xml.IncludeXMLConsumer;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.XMLUtils;
@@ -111,16 +111,16 @@
/** The handler manager */
private HandlerManager handlerManager = new HandlerManager();
- /** The application name of the current resource */
+ /** The application name of the current pipeline */
private String applicationName;
/** The application */
private ApplicationHandler application;
- /** The handler name of the current resource */
+ /** The handler name of the current pipeline */
private String handlerName;
- /** The handler of the current resource */
+ /** The handler of the current pipeline */
private Handler handler;
/** The media Types */
@@ -423,7 +423,7 @@
}
DocumentFragment authenticationFragment = null;
- boolean isValid = false;
+ boolean isValid = false;
Handler myHandler = this.getHandler(loginHandlerName);
if (this.getLogger().isInfoEnabled() == true) {
@@ -436,10 +436,8 @@
this.getLogger().debug("start authentication");
}
- final Resource authenticationResource =
myHandler.getAuthenticationResource();
- final String authenticationResourceName =
authenticationResource.getResourceIdentifier();
- final int authenticationResourceType =
authenticationResource.getResourceType();
- final SourceParameters authenticationParameters =
authenticationResource.getResourceParameters();
+ final String authenticationResourceName =
myHandler.getAuthenticationResource();
+ final SourceParameters authenticationParameters =
myHandler.getAuthenticationResourceParameters();
if (parameters != null) {
parameters.add(authenticationParameters);
} else {
@@ -447,12 +445,28 @@
}
try {
- if (this.getLogger().isDebugEnabled() == true) {
+ if (this.getLogger().isDebugEnabled()) {
this.getLogger().debug("start invoking auth resource");
}
- authenticationFragment =
this.getResourceConnector().loadXML(authenticationResourceType, null,
-
authenticationResourceName, parameters);
- if (this.getLogger().isDebugEnabled() == true) {
+ Source source = null;
+ try {
+ source =
org.apache.cocoon.components.source.SourceUtil.getSource(authenticationResourceName,
+
null,
+
parameters,
+
this.resolver);
+
+ Document doc =
org.apache.cocoon.components.source.SourceUtil.toDOM(source, this.manager);
+ authenticationFragment = doc.createDocumentFragment();
+
authenticationFragment.appendChild(doc.getDocumentElement());
+ } catch (SAXException se) {
+ throw new ProcessingException(se);
+ } catch (SourceException se) {
+ throw
org.apache.cocoon.components.source.SourceUtil.handle(se);
+ } finally {
+ this.resolver.release(source);
+ }
+
+ if (this.getLogger().isDebugEnabled()) {
this.getLogger().debug("end invoking auth resource");
}
} catch (ProcessingException local) {
@@ -580,10 +594,11 @@
/**
* Check the fragment if it is valid
*/
- private boolean isValidAuthenticationFragment(DocumentFragment
authenticationFragment) {
+ private boolean isValidAuthenticationFragment(DocumentFragment
authenticationFragment)
+ throws ProcessingException {
// calling method is synced
if (this.getLogger().isDebugEnabled() == true) {
- this.getLogger().debug("BEGIN isValidAuthenticationFragment
fragment=" + authenticationFragment);
+ this.getLogger().debug("BEGIN isValidAuthenticationFragment
fragment=" + XMLUtils.serializeNodeToXML(authenticationFragment));
}
boolean isValid = false;
@@ -803,10 +818,8 @@
if (appHandler.getIsLoaded() == false) {
- final Resource loadResource =
appHandler.getLoadResource();
- final String loadResourceName =
loadResource.getResourceIdentifier();
- final int loadResourceType =
loadResource.getResourceType();
- SourceParameters parameters =
loadResource.getResourceParameters();
+ final String loadResourceName =
appHandler.getLoadResource();
+ SourceParameters parameters =
appHandler.getLoadResourceParameters();
if (parameters != null) parameters =
(SourceParameters)parameters.clone();
parameters = this.createParameters(parameters,
appHandler.getHandler().getName(),
@@ -814,8 +827,24 @@
appHandler.getName());
DocumentFragment fragment;
- fragment =
this.getResourceConnector().loadXML(loadResourceType, null,
-
loadResourceName, parameters);
+ Source source = null;
+ try {
+ source =
org.apache.cocoon.components.source.SourceUtil.getSource(loadResourceName,
+
null,
+
parameters,
+
this.resolver);
+ Document doc =
org.apache.cocoon.components.source.SourceUtil.toDOM(source, this.manager);
+ fragment = doc.createDocumentFragment();
+ fragment.appendChild(doc.getDocumentElement());
+ } catch (IOException se) {
+ throw new ProcessingException(se);
+ } catch (SAXException se) {
+ throw new ProcessingException(se);
+ } catch (SourceException se) {
+ throw
org.apache.cocoon.components.source.SourceUtil.handle(se);
+ } finally {
+ this.resolver.release(source);
+ }
appHandler.setIsLoaded(true);
1.2 +29 -9
xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/ApplicationHandler.java
Index: ApplicationHandler.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/components/ApplicationHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ApplicationHandler.java 27 Sep 2002 09:05:06 -0000 1.1
+++ ApplicationHandler.java 8 Oct 2002 14:43:20 -0000 1.2
@@ -59,7 +59,6 @@
import org.apache.cocoon.ProcessingException;
import org.apache.excalibur.source.SourceResolver;
import org.apache.cocoon.webapps.session.context.SessionContext;
-import org.apache.cocoon.webapps.session.connector.*;
import org.xml.sax.SAXException;
/**
@@ -76,10 +75,16 @@
private String name;
/** The load resource (optional) */
- private Resource loadResource;
+ private String loadResource;
/** The save resource (optional) */
- private Resource saveResource;
+ private String saveResource;
+
+ /** The load resource parameters (optional) */
+ private SourceParameters loadResourceParameters;
+
+ /** The save resource parameters (optional) */
+ private SourceParameters saveResourceParameters;
/** Is the application loaded on demand */
private boolean loadOnDemand = false;
@@ -117,6 +122,8 @@
ah.loadOnDemand = this.loadOnDemand;
ah.loadResource = this.loadResource;
ah.saveResource = this.saveResource;
+ ah.loadResourceParameters = this.loadResourceParameters;
+ ah.saveResourceParameters = this.saveResourceParameters;
ah.configurations = this.configurations;
return ah;
} catch (ProcessingException pe) {
@@ -140,15 +147,15 @@
// get load resource (optinal)
child = appconf.getChild("load", false);
if (child != null) {
- this.loadResource = new Resource(resolver,
child.getAttribute("uri"));
-
this.loadResource.setResourceParameters(SourceParameters.create(child));
+ this.loadResource = child.getAttribute("uri");
+ this.loadResourceParameters = SourceParameters.create(child);
}
// get save resource (optional)
child = appconf.getChild("save", false);
if (child != null) {
- this.saveResource = new Resource(resolver,
child.getAttribute("uri"));
-
this.saveResource.setResourceParameters(SourceParameters.create(child));
+ this.saveResource = child.getAttribute("uri");
+ this.saveResourceParameters = SourceParameters.create(child);
}
// get configurations (optional)
@@ -178,17 +185,30 @@
/**
* Get the load resource
*/
- public Resource getLoadResource() {
+ public String getLoadResource() {
return this.loadResource;
}
/**
* Get the save resource
*/
- public Resource getSaveResource() {
+ public String getSaveResource() {
return this.saveResource;
}
+ /**
+ * Get the load resource parameters
+ */
+ public SourceParameters getLoadResourceParameters() {
+ return this.loadResourceParameters;
+ }
+
+ /**
+ * Get the save resource parameters
+ */
+ public SourceParameters getSaveResourceParameters() {
+ return this.saveResourceParameters;
+ }
public boolean getIsLoaded()
throws ProcessingException {
1.8 +162 -23
xml-cocoon2/src/java/org/apache/cocoon/components/source/SourceUtil.java
Index: SourceUtil.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/SourceUtil.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SourceUtil.java 4 Oct 2002 12:00:37 -0000 1.7
+++ SourceUtil.java 8 Oct 2002 14:43:20 -0000 1.8
@@ -50,32 +50,37 @@
*/
package org.apache.cocoon.components.source;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.avalon.excalibur.xml.XMLizable;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.component.ComponentSelector;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.ResourceNotFoundException;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
-import org.apache.cocoon.environment.SourceResolver;
+import org.apache.cocoon.serialization.Serializer;
import org.apache.cocoon.xml.IncludeXMLConsumer;
-import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.dom.DOMBuilder;
+import org.apache.cocoon.xml.dom.DOMStreamer;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceException;
import org.apache.excalibur.source.SourceNotFoundException;
import org.apache.excalibur.source.SourceParameters;
+import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.source.impl.URLSource;
import org.apache.excalibur.xmlizer.XMLizer;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-import org.w3c.dom.Document;
+import org.xml.sax.helpers.DefaultHandler;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Iterator;
+import java.util.Map;
/**
* This class contains some utility methods for the source resolving.
@@ -209,18 +214,9 @@
static public Source getSource(String uri,
Parameters typeParameters,
SourceParameters resourceParameters,
- SourceResolver resolver,
- Map objectModel)
+ SourceResolver resolver)
throws IOException, SAXException, SourceException {
- // Test: local uri (= same servlet/cocoon) ?
- if (uri.startsWith("/") == true) {
- // server-absolute url is transformed to absolute url
- Request request = ObjectModelHelper.getRequest(objectModel);
- uri = request.getScheme() + "://" +
- request.getServerName() + ":" + request.getServerPort() +
uri;
- }
-
// first step: encode parameters which are already appended to the
url
int queryPos = uri.indexOf('?');
if (queryPos != -1) {
@@ -252,12 +248,11 @@
: true);
String method = (typeParameters != null ?
typeParameters.getParameter("method", "GET")
: "GET");
- if (method.equalsIgnoreCase("POST") == true
- && (resourceParameters == null ||
resourceParameters.hasParameters() == false)) {
+ if (method.equalsIgnoreCase("POST")
+ && (resourceParameters == null ||
!resourceParameters.hasParameters() )) {
method = "GET";
}
- if ((method.equalsIgnoreCase("POST") == false
- || uri.startsWith("cocoon:") == true)
+ if (uri.startsWith("cocoon:")
&& resourceParameters != null
&& resourceParameters.hasParameters()) {
@@ -282,5 +277,149 @@
resolverParameters.put(URLSource.REQUEST_PARAMETERS,
resourceParameters);
return resolver.resolveURI(uri, null, resolverParameters);
+ }
+
+
+ /**
+ * Write a DOM Fragment to a source
+ * If the source is a [EMAIL PROTECTED] WriteableSource} the interface
is used.
+ * If not, the source is invoked with an additional parameter named
+ * "content" containing the XML.
+ */
+ public static void writeDOM(String location,
+ Parameters typeParameters,
+ SourceParameters parameters,
+ DocumentFragment frag,
+ SourceResolver resolver,
+ String serializerName,
+ ComponentManager manager)
+ throws ProcessingException {
+
+ Source source = null;
+ try {
+ source = SourceUtil.getSource(location,
+ typeParameters,
+ parameters,
+ resolver);
+ if (source instanceof WriteableSource) {
+ WriteableSource ws = (WriteableSource)source;
+
+ frag.normalize();
+
+ if (ws instanceof WriteableSAXSource) {
+ ContentHandler contentHandler =
((WriteableSAXSource)ws).getContentHandler();
+ DOMStreamer streamer = new DOMStreamer(contentHandler);
+ streamer.stream(frag);
+ } else {
+ // Lookup the Serializer
+ ComponentSelector selector = null;
+ Serializer serializer = null;
+ OutputStream oStream = null;
+ try {
+ selector =
(ComponentSelector)manager.lookup(Serializer.ROLE + "Selector");
+ System.out.println("Selector: " + selector + " - " +
serializerName);
+ serializer =
(Serializer)selector.select(serializerName);
+ oStream = ws.getOutputStream();
+ serializer.setOutputStream(oStream);
+ DOMStreamer streamer = new DOMStreamer(serializer);
+ streamer.stream(frag);
+ } finally {
+ if (oStream != null) {
+ oStream.flush();
+ try {
+ oStream.close();
+ } finally {
+ if ( selector != null ) {
+ selector.release( serializer );
+ manager.release( selector );
+ }
+ }
+ }
+ }
+ }
+ } else {
+ // and now serializing...
+ // Lookup the Serializer
+ ComponentSelector selector = null;
+ Serializer serializer = null;
+ ByteArrayOutputStream oStream = new ByteArrayOutputStream();
+ try {
+ selector =
(ComponentSelector)manager.lookup(Serializer.ROLE + "Selector");
+ System.out.println("Selector: " + selector + " - " +
serializerName);
+ serializer = (Serializer)selector.select(serializerName);
+ serializer.setOutputStream(oStream);
+ DOMStreamer streamer = new DOMStreamer(serializer);
+ streamer.stream(frag);
+ } finally {
+ if (oStream != null) {
+ oStream.flush();
+ try {
+ oStream.close();
+ } finally {
+ if ( selector != null ) {
+ selector.release( serializer );
+ manager.release( selector );
+ }
+ }
+ }
+ }
+ final String content = oStream.toString();
+ resolver.release(source);
+ if (parameters == null) {
+ parameters = new SourceParameters();
+ } else {
+ parameters = (SourceParameters)parameters.clone();
+ }
+ parameters.setSingleParameterValue("content", content);
+ source = SourceUtil.getSource(location,
+ typeParameters,
+ parameters,
+ resolver);
+ SourceUtil.toSAX(source, new DefaultHandler(), manager);
+ }
+ } catch (IOException ce) {
+ throw new ProcessingException(ce);
+ } catch (SAXException ce) {
+ throw new ProcessingException(ce);
+ } catch (ComponentException ce) {
+ throw new ProcessingException("Exception during lookup of
component.", ce);
+ } catch (SourceException se) {
+ throw SourceUtil.handle(se);
+ } finally {
+ resolver.release(source);
+ }
+ }
+
+ /**
+ * Read a DOM Fragment from a source
+ */
+ public static DocumentFragment readDOM(String location,
+ Parameters typeParameters,
+ SourceParameters parameters,
+ SourceResolver resolver,
+ ComponentManager manager)
+ throws ProcessingException {
+
+ Source source = null;
+ try {
+ source = SourceUtil.getSource(location,
+ typeParameters,
+ parameters,
+ resolver);
+ Document doc = SourceUtil.toDOM(source, manager);
+ DocumentFragment fragment = doc.createDocumentFragment();
+ fragment.appendChild(doc.getDocumentElement());
+
+ return fragment;
+
+ } catch (IOException ce) {
+ throw new ProcessingException(ce);
+ } catch (SAXException ce) {
+ throw new ProcessingException(ce);
+ } catch (SourceException se) {
+ throw SourceUtil.handle(se);
+ } finally {
+ resolver.release(source);
+ }
}
}
1.2 +11 -22
xml-cocoon2/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context/SessionContextImpl.java
Index: SessionContextImpl.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context/SessionContextImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SessionContextImpl.java 27 Sep 2002 09:05:17 -0000 1.1
+++ SessionContextImpl.java 8 Oct 2002 14:43:20 -0000 1.2
@@ -50,37 +50,26 @@
*/
package org.apache.cocoon.webapps.portal.context;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.LexicalHandler;
-
-import org.apache.excalibur.source.SourceParameters;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
-import org.apache.excalibur.source.SourceResolver;
-import
org.apache.cocoon.webapps.authentication.components.AuthenticationManager;
import org.apache.cocoon.webapps.portal.PortalConstants;
import org.apache.cocoon.webapps.portal.components.PortalManager;
-import org.apache.cocoon.webapps.session.components.SessionManager;
-import org.apache.cocoon.webapps.session.connector.Resource;
import org.apache.cocoon.webapps.session.context.SessionContext;
import org.apache.cocoon.xml.IncludeXMLConsumer;
import org.apache.cocoon.xml.dom.DOMBuilder;
import org.apache.cocoon.xml.dom.DOMUtil;
+import org.apache.excalibur.source.SourceParameters;
+import org.apache.excalibur.source.SourceResolver;
+import org.w3c.dom.*;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
/**
* The portal context
@@ -239,7 +228,7 @@
}
/* Set the context name */
- public void setup(String value, Resource load, Resource save) {
+ public void setup(String value, String load, String save) {
name = value;
}
1.2 +95 -107
xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/context/SessionContextImpl.java
Index: SessionContextImpl.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/context/SessionContextImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SessionContextImpl.java 27 Sep 2002 09:05:17 -0000 1.1
+++ SessionContextImpl.java 8 Oct 2002 14:43:20 -0000 1.2
@@ -50,27 +50,27 @@
*/
package org.apache.cocoon.webapps.authentication.context;
-import java.io.IOException;
-import java.util.Map;
-
+import org.apache.avalon.framework.component.ComponentException;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.components.source.SourceUtil;
+import
org.apache.cocoon.webapps.authentication.components.ApplicationHandler;
+import
org.apache.cocoon.webapps.authentication.components.AuthenticationManager;
+import org.apache.cocoon.webapps.authentication.components.Handler;
+import org.apache.cocoon.webapps.session.context.SessionContext;
+import org.apache.cocoon.xml.dom.DOMUtil;
+import org.apache.excalibur.source.SourceParameters;
+import org.apache.excalibur.source.SourceResolver;
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-
-import org.xml.sax.SAXException;
import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
import org.xml.sax.ext.LexicalHandler;
import org.xml.sax.helpers.AttributesImpl;
-import org.apache.excalibur.source.SourceParameters;
-import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.ComponentManager;
-import org.apache.cocoon.ProcessingException;
-import org.apache.excalibur.source.SourceResolver;
-import org.apache.cocoon.webapps.session.context.SessionContext;
-import org.apache.cocoon.webapps.session.connector.ResourceConnector;
-import org.apache.cocoon.webapps.session.connector.Resource;
-import org.apache.cocoon.xml.dom.DOMUtil;
-import org.apache.cocoon.webapps.authentication.components.*;
+
+import java.io.IOException;
+import java.util.Map;
/**
*
@@ -82,10 +82,14 @@
private String name;
private SessionContext authContext;
- private Resource loadResource;
- private Resource saveResource;
- private Resource authLoadResource;
- private Resource authSaveResource;
+ private String loadResource;
+ private String saveResource;
+ private String authLoadResource;
+ private String authSaveResource;
+ private SourceParameters loadResourceParameters;
+ private SourceParameters saveResourceParameters;
+ private SourceParameters authLoadResourceParameters;
+ private SourceParameters authSaveResourceParameters;
private String handlerName;
private String applicationName;
@@ -106,10 +110,14 @@
this.applicationName = applicationName;
this.authLoadResource = handler.getLoadResource();
this.authSaveResource = handler.getSaveResource();
+ this.authLoadResourceParameters =
handler.getLoadResourceParameters();
+ this.authSaveResourceParameters =
handler.getSaveResourceParameters();
if (this.applicationName != null) {
ApplicationHandler appHandler =
(ApplicationHandler)handler.getApplications().get(this.applicationName);
this.loadResource = appHandler.getLoadResource();
this.saveResource = appHandler.getSaveResource();
+ this.loadResourceParameters =
appHandler.getLoadResourceParameters();
+ this.saveResourceParameters =
appHandler.getSaveResourceParameters();
}
} catch (ComponentException ce) {
@@ -123,7 +131,7 @@
* This method must be invoked in the init phase.
* In addition a load and a save resource can be provided.
*/
- public void setup(String value, Resource load, Resource save) {
+ public void setup(String value, String load, String save) {
}
/**
@@ -650,35 +658,31 @@
if (this.authSaveResource == null) {
throw new ProcessingException("The context " + this.name + "
does not support saving.");
}
- ResourceConnector connector = null;
- try {
- synchronized(this.authContext) {
- DocumentFragment fragment = this.getXML(path);
- if (fragment == null) {
- // create empty fake fragment
- fragment =
DOMUtil.createDocument().createDocumentFragment();
- }
- if (parameters != null) {
- parameters = (SourceParameters)parameters.clone();
-
parameters.add(this.authSaveResource.getResourceParameters());
- } else if (this.authSaveResource.getResourceParameters() !=
null) {
- parameters =
(SourceParameters)this.authSaveResource.getResourceParameters().clone();
- }
- parameters = this.createParameters(parameters,
- this.handlerName,
- path,
- null);
- connector =
(ResourceConnector)manager.lookup(ResourceConnector.ROLE);
- connector.saveXML(this.authSaveResource.getResourceType(),
null,
-
this.authSaveResource.getResourceIdentifier(), parameters,
- fragment);
- } // end synchronized
- } catch (ComponentException ce) {
- throw new ProcessingException("Unable to lookup the resource
connector.", ce);
- } finally {
- manager.release( connector );
- }
+ synchronized(this.authContext) {
+ DocumentFragment fragment = this.getXML(path);
+ if (fragment == null) {
+ // create empty fake fragment
+ fragment = DOMUtil.createDocument().createDocumentFragment();
+ }
+ if (parameters != null) {
+ parameters = (SourceParameters)parameters.clone();
+ parameters.add(this.authSaveResourceParameters);
+ } else if (this.authSaveResourceParameters != null) {
+ parameters =
(SourceParameters)this.authSaveResourceParameters.clone();
+ }
+ parameters = this.createParameters(parameters,
+ this.handlerName,
+ path,
+ null);
+ SourceUtil.writeDOM(this.authSaveResource,
+ null,
+ parameters,
+ fragment,
+ resolver,
+ "xml",
+ manager);
+ } // end synchronized
}
/**
@@ -693,30 +697,30 @@
if (this.authLoadResource == null) {
throw new ProcessingException("The context " + this.name + "
does not support loading.");
}
- ResourceConnector connector = null;
- try {
- synchronized(this.authContext) {
- if (parameters != null) {
- parameters = (SourceParameters)parameters.clone();
-
parameters.add(this.authLoadResource.getResourceParameters());
- } else if (this.authLoadResource.getResourceParameters() !=
null) {
- parameters =
(SourceParameters)this.authLoadResource.getResourceParameters().clone();
- }
- parameters = this.createParameters(parameters,
- this.handlerName,
- path,
- null);
- connector =
(ResourceConnector)manager.lookup(ResourceConnector.ROLE);
- DocumentFragment frag =
connector.loadXML(this.authLoadResource.getResourceType(), null,
-
this.authLoadResource.getResourceIdentifier(), parameters);
- this.setXML(path, frag);
- } // end synchronized
- } catch (ComponentException ce) {
- throw new ProcessingException("Unable to lookup the resource
connector.", ce);
- } finally {
- manager.release( connector );
- }
+ synchronized(this.authContext) {
+
+ if (parameters != null) {
+ parameters = (SourceParameters)parameters.clone();
+ parameters.add(this.authLoadResourceParameters);
+ } else if (this.authLoadResourceParameters != null) {
+ parameters =
(SourceParameters)this.authLoadResourceParameters.clone();
+ }
+ parameters = this.createParameters(parameters,
+ this.handlerName,
+ path,
+ null);
+ DocumentFragment frag;
+
+ frag = SourceUtil.readDOM(this.authLoadResource,
+ null,
+ parameters,
+ resolver,
+ manager);
+
+ this.setXML(path, frag);
+
+ } // end synchronized
}
/**
@@ -734,32 +738,23 @@
// synchronized
synchronized (this.authContext) {
- final String loadResourceName =
this.loadResource.getResourceIdentifier();
- final int loadResourceType =
this.loadResource.getResourceType();
- final SourceParameters loadParameters =
this.loadResource.getResourceParameters();
if (parameters != null) {
parameters = (SourceParameters)parameters.clone();
- parameters.add(loadParameters);
- } else if (loadParameters != null) {
- parameters = (SourceParameters)loadParameters.clone();
+ parameters.add(this.loadResourceParameters);
+ } else if (this.loadResourceParameters != null) {
+ parameters =
(SourceParameters)this.loadResourceParameters.clone();
}
parameters = this.createParameters(parameters,
this.handlerName,
path,
this.applicationName);
DocumentFragment fragment;
- ResourceConnector connector = null;
- try {
- connector =
(ResourceConnector)manager.lookup(ResourceConnector.ROLE);
- fragment = connector.loadXML(loadResourceType, null,
- loadResourceName, parameters);
- this.setXML(path, fragment);
-
- } catch (ComponentException ce) {
- throw new ProcessingException("Unable to lookup the resource
connector.", ce);
- } finally {
- manager.release( connector );
- }
+ fragment = SourceUtil.readDOM(this.loadResource,
+ null,
+ parameters,
+ resolver,
+ manager);
+ this.setXML(path, fragment);
} // end synchronized
@@ -780,14 +775,11 @@
// synchronized
synchronized (this.authContext) {
- final String saveResourceName =
this.saveResource.getResourceIdentifier();
- final int saveResourceType =
this.saveResource.getResourceType();
- final SourceParameters saveParameters =
this.saveResource.getResourceParameters();
if (parameters != null) {
parameters = (SourceParameters)parameters.clone();
- parameters.add(saveParameters);
- } else if (saveParameters != null) {
- parameters = (SourceParameters)saveParameters.clone();
+ parameters.add(this.saveResourceParameters);
+ } else if (this.saveResourceParameters != null) {
+ parameters =
(SourceParameters)this.saveResourceParameters.clone();
}
parameters = this.createParameters(parameters,
this.handlerName,
@@ -798,18 +790,14 @@
// create empty fake fragment
fragment = DOMUtil.createDocument().createDocumentFragment();
}
- ResourceConnector connector = null;
- try {
- connector =
(ResourceConnector)manager.lookup(ResourceConnector.ROLE);
- connector.saveXML(saveResourceType, null,
- saveResourceName, parameters,
- fragment);
-
- } catch (ComponentException ce) {
- throw new ProcessingException("Unable to lookup the resource
connector.", ce);
- } finally {
- manager.release( connector );
- }
+
+ SourceUtil.writeDOM(this.saveResource,
+ null,
+ parameters,
+ fragment,
+ resolver,
+ "xml",
+ manager);
} // end synchronized
1.2 +1 -2
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/SessionContext.java
Index: SessionContext.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/SessionContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SessionContext.java 27 Sep 2002 09:05:14 -0000 1.1
+++ SessionContext.java 8 Oct 2002 14:43:20 -0000 1.2
@@ -65,7 +65,6 @@
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.cocoon.ProcessingException;
import org.apache.excalibur.source.SourceResolver;
-import org.apache.cocoon.webapps.session.connector.Resource;
/**
* Interface for a SessionContext.
@@ -87,7 +86,7 @@
* This method must be invoked in the init phase.
* In addition a load and a save resource can be provided.
*/
- void setup(String value, Resource load, Resource save);
+ void setup(String value, String loadResource, String saveResource);
/**
* Get the name of the context
1.2 +2 -3
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/ResponseSessionContext.java
Index: ResponseSessionContext.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/ResponseSessionContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ResponseSessionContext.java 27 Sep 2002 09:05:14 -0000 1.1
+++ ResponseSessionContext.java 8 Oct 2002 14:43:20 -0000 1.2
@@ -60,7 +60,6 @@
import org.apache.cocoon.environment.Cookie;
import org.apache.cocoon.environment.Response;
import org.apache.excalibur.source.SourceResolver;
-import org.apache.cocoon.webapps.session.connector.Resource;
import org.apache.cocoon.xml.dom.DOMUtil;
import org.w3c.dom.DocumentFragment;
@@ -100,8 +99,8 @@
private String name;
transient private Response response;
- public void setup(String value, Resource load, Resource save) {
- name = value;
+ public void setup(String value, String loadResource, String
saveResource) {
+ this.name = value;
}
public void setup(Map objectModel) {
1.2 +43 -47
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/SimpleSessionContext.java
Index: SimpleSessionContext.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/SimpleSessionContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleSessionContext.java 27 Sep 2002 09:05:13 -0000 1.1
+++ SimpleSessionContext.java 8 Oct 2002 14:43:20 -0000 1.2
@@ -50,7 +50,10 @@
*/
package org.apache.cocoon.webapps.session.context;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
import java.util.*;
import org.w3c.dom.Attr;
@@ -62,6 +65,7 @@
import org.xml.sax.SAXException;
import org.xml.sax.ContentHandler;
import org.xml.sax.ext.LexicalHandler;
+import org.xml.sax.helpers.DefaultHandler;
import org.apache.xpath.XPathContext;
import org.apache.xpath.XPath;
@@ -69,14 +73,20 @@
import org.apache.xml.utils.PrefixResolverDefault;
import org.apache.xpath.objects.XObject;
-import org.apache.excalibur.source.SourceParameters;
+import org.apache.avalon.excalibur.xml.Parser;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
-import org.apache.cocoon.ProcessingException;
+import org.apache.avalon.framework.component.ComponentSelector;
+import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceException;
import org.apache.excalibur.source.SourceResolver;
-import org.apache.cocoon.webapps.session.connector.ResourceConnector;
-import org.apache.cocoon.webapps.session.connector.Resource;
+import org.apache.excalibur.source.SourceParameters;
+import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.xml.dom.*;
+import org.apache.cocoon.components.source.SourceUtil;
+import org.apache.cocoon.components.source.WriteableSAXSource;
+import org.apache.cocoon.components.source.WriteableSource;
+import org.apache.cocoon.serialization.Serializer;
import org.apache.cocoon.xml.IncludeXMLConsumer;
/**
@@ -98,10 +108,10 @@
private Map attributes = new HashMap();
/** load resource */
- private Resource loadResource;
-
+ private String loadResource;
+
/** save resource */
- private Resource saveResource;
+ private String saveResource;
// Refactoring of Xpath Functions.
private XPathContext xpathSupport;
@@ -152,10 +162,10 @@
return xpath.execute(xpathSupport, ctxtNode, prefixResolver);
}
- public void setup(String value, Resource load, Resource save) {
+ public void setup(String value, String loadResource, String
saveResource) {
this.name = value;
- this.loadResource = load;
- this.saveResource = save;
+ this.loadResource = loadResource;
+ this.saveResource = saveResource;
}
public synchronized DocumentFragment getXML(String path)
@@ -486,8 +496,8 @@
* If the context does not provide the ability of loading,
* an exception is thrown.
*/
- public void loadXML(String path,
- SourceParameters parameters,
+ public void loadXML(String path,
+ SourceParameters parameters,
Map objectModel,
SourceResolver resolver,
ComponentManager manager)
@@ -495,22 +505,17 @@
if (this.loadResource == null) {
throw new ProcessingException("The context " + this.name + "
does not support loading.");
}
- ResourceConnector connector = null;
+ Source source = null;
try {
- if (parameters != null) {
- parameters = (SourceParameters)parameters.clone();
- parameters.add(this.loadResource.getResourceParameters());
- } else {
- parameters = this.loadResource.getResourceParameters();
- }
- connector =
(ResourceConnector)manager.lookup(ResourceConnector.ROLE);
- DocumentFragment df =
connector.loadXML(this.loadResource.getResourceType(), null,
-
this.loadResource.getResourceIdentifier(), parameters);
- if (df != null) this.setXML(path, df);
- } catch (ComponentException ce) {
- throw new ProcessingException("Unable to lookup the resource
connector.", ce);
+ source = SourceUtil.getSource(this.loadResource, null,
parameters, resolver);
+ Document doc = SourceUtil.toDOM(source, manager);
+ DocumentFragment df = doc.createDocumentFragment();
+ df.appendChild(doc.getDocumentElement());
+ this.setXML(path, df);
+ } catch (SourceException se) {
+ throw SourceUtil.handle(se);
} finally {
- manager.release( connector );
+ resolver.release(source);
}
}
@@ -528,28 +533,19 @@
if (this.saveResource == null) {
throw new ProcessingException("The context " + this.name + "
does not support saving.");
}
- ResourceConnector connector = null;
- try {
- if (parameters != null) {
- parameters = (SourceParameters)parameters.clone();
- parameters.add(this.saveResource.getResourceParameters());
- } else {
- parameters = this.saveResource.getResourceParameters();
- }
- DocumentFragment frag = this.getXML(path);
- if (frag == null) {
- // create empty fake document
- frag = DOMUtil.createDocument().createDocumentFragment();
- }
- connector =
(ResourceConnector)manager.lookup(ResourceConnector.ROLE);
- connector.saveXML(this.saveResource.getResourceType(), null,
- this.saveResource.getResourceIdentifier(),
parameters,
- frag);
- } catch (ComponentException ce) {
- throw new ProcessingException("Unable to lookup the resource
connector.", ce);
- } finally {
- manager.release( connector );
+ DocumentFragment frag = this.getXML(path);
+ if (frag == null) {
+ // create empty fake document
+ frag = DOMUtil.createDocument().createDocumentFragment();
}
+
+ SourceUtil.writeDOM(this.saveResource,
+ null,
+ parameters,
+ frag,
+ resolver,
+ "xml",
+ manager);
}
}
1.2 +1 -2
xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/RequestSessionContext.java
Index: RequestSessionContext.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/RequestSessionContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RequestSessionContext.java 27 Sep 2002 09:05:13 -0000 1.1
+++ RequestSessionContext.java 8 Oct 2002 14:43:20 -0000 1.2
@@ -64,7 +64,6 @@
import org.apache.excalibur.source.SourceResolver;
import org.apache.cocoon.transformation.CIncludeTransformer;
import org.apache.cocoon.webapps.session.SessionConstants;
-import org.apache.cocoon.webapps.session.connector.Resource;
import org.apache.cocoon.xml.IncludeXMLConsumer;
import org.apache.cocoon.xml.dom.DOMUtil;
@@ -171,7 +170,7 @@
/**
* Setup this context
*/
- public void setup(String value, Resource load, Resource save) {
+ public void setup(String value, String loadResource, String
saveResource) {
this.name = value;
}
1.2 +0 -4 xml-cocoon2/src/blocks/session-fw/conf/session.xroles
Index: session.xroles
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/blocks/session-fw/conf/session.xroles,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- session.xroles 27 Sep 2002 09:05:11 -0000 1.1
+++ session.xroles 8 Oct 2002 14:43:20 -0000 1.2
@@ -6,8 +6,4 @@
shorthand="session-manager"
default-class="org.apache.cocoon.webapps.session.components.SessionManager"/>
- <role name="org.apache.cocoon.webapps.session.connector.ResourceConnector"
- shorthand="resource-connector"
-
default-class="org.apache.cocoon.webapps.session.connector.ResourceConnectorImpl"/>
-
</xroles>
1.15 +2 -3
xml-cocoon2/src/java/org/apache/cocoon/transformation/CIncludeTransformer.java
Index: CIncludeTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/CIncludeTransformer.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- CIncludeTransformer.java 25 Sep 2002 13:30:13 -0000 1.14
+++ CIncludeTransformer.java 8 Oct 2002 14:43:21 -0000 1.15
@@ -255,8 +255,7 @@
source = SourceUtil.getSource(resource,
this.configurationParameters,
this.resourceParameters,
- this.resolver,
- this.objectModel);
+ this.resolver);
SourceUtil.toSAX(source, this.xmlConsumer, manager,
this.configurationParameters, true);
1.3 +2 -4
xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/generation/ConfigurationGenerator.java
Index: ConfigurationGenerator.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/authentication-fw/java/org/apache/cocoon/webapps/authentication/generation/ConfigurationGenerator.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ConfigurationGenerator.java 4 Oct 2002 12:00:38 -0000 1.2
+++ ConfigurationGenerator.java 8 Oct 2002 14:43:21 -0000 1.3
@@ -680,8 +680,7 @@
source = SourceUtil.getSource(resource,
null,
parameters,
- this.resolver,
- this.objectModel);
+ this.resolver);
this.resolver.toSAX(source, new DefaultHandler());
} catch (SourceException se) {
throw SourceUtil.handle(se);
@@ -701,8 +700,7 @@
source = SourceUtil.getSource(resource,
null,
parameters,
- this.resolver,
- this.objectModel);
+ this.resolver);
return SourceUtil.toDOM(source, this.manager);
} catch (SourceException se) {
throw SourceUtil.handle(se);
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]