You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2005/10/20 13:33:41 UTC
svn commit: r326891 - in /cocoon:
blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/
blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/
trunk/src/java/org/apache/cocoon/xml/
Author: cziegeler
Date: Thu Oct 20 04:33:28 2005
New Revision: 326891
URL: http://svn.apache.org/viewcvs?rev=326891&view=rev
Log:
Update web.xml mapping
and fix bug in session:getxml when path is a text-element (bug 36471)
Added:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRef.java (with props)
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRefSet.java (with props)
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/SecurityConstraintImpl.java (with props)
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/TagDefinitionSet.java (with props)
Modified:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/WebApplicationDefinitionImpl.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/servletdefinitionmapping.xml
cocoon/trunk/src/java/org/apache/cocoon/xml/IncludeXMLConsumer.java
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/WebApplicationDefinitionImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/WebApplicationDefinitionImpl.java?rev=326891&r1=326890&r2=326891&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/WebApplicationDefinitionImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/WebApplicationDefinitionImpl.java Thu Oct 20 04:33:28 2005
@@ -51,16 +51,18 @@
public String icon;
public String distributable;
public String sessionConfig;
- private Collection mimeMappings = new ArrayList();
+ public String mimeMapping;
public String welcomeFileList;
public String errorPage;
+ public String taglib;
public String resourceRef;
- public String securityConstraint;
public String loginConfig;
public String securityRole;
public String envEntry;
public String ejbRef;
+ private Collection castorMimeMappings = new ArrayList();
// </not used variables - only for castor>
+ private Collection securityConstraints = new ArrayList();
private String contextPath;
private DescriptionSet descriptions = new DescriptionSetImpl();
@@ -72,11 +74,15 @@
private Collection servletMappings = new ArrayList();
private ServletDefinitionList servlets = new ServletDefinitionListImpl();
private SecurityRoleSet securityRoles = new SecurityRoleSetImpl();
- private Collection castorTagDefinitions = new ArrayList();
- /* (non-Javadoc)
- * @see org.apache.pluto.om.servlet.WebApplicationDefinition#getId()
- */
+ // modified by YCLI: START :: to handle multiple taglib tags and resource-ref tag
+ // private TagDefinition castorTagDefinition = new TagDefinition();
+ private TagDefinitionSet taglibs = new TagDefinitionSet();
+ private ResourceRefSet castorResourceRef = new ResourceRefSet();
+ // modified by YCLI: END
+
+ // WebApplicationDefinition implementation.
+
public ObjectID getId() {
if (this.objectId == null) {
this.objectId = ObjectIDImpl.createFromString(id);
@@ -195,11 +201,6 @@
// additional methods.
- public void setCastorId(String id) {
- this.id = id;
- objectId = null;
- }
-
public String getCastorId() {
if (id.length() > 0) {
return getId().toString();
@@ -230,15 +231,19 @@
public Collection getServletMappings() {
return servletMappings;
}
-
- protected void setContextRoot(String contextRoot) {
- // PATCH for IBM WebSphere
- if (contextRoot != null && contextRoot.endsWith(".war") ) {
- this.contextPath = contextRoot.substring(0, contextRoot.length()-4);
- } else {
- this.contextPath = contextRoot;
- }
+ public void setCastorId(String id) {
+ setId(id);
}
+
+ protected void setContextRoot(String contextPath)
+ {
+ // Test for IBM WebSphere
+ if (contextPath != null && contextPath.endsWith(".war"))
+ {
+ contextPath = contextPath.substring(0, contextPath.length()-4);
+ }
+ this.contextPath = contextPath;
+ }
public void setDescriptions(DescriptionSet descriptions) {
this.descriptions = descriptions;
@@ -256,29 +261,56 @@
this.displayNames = castorDisplayNames;
}
+ public void setId(String id) {
+ this.id = id;
+ objectId = null;
+ }
+
+ // modified by YCLI: START :: handling multiple taglib tags and resource-ref tag
+
/**
- *
+ * @return Custom tag definitions configured in the webapp.
*/
+ public TagDefinitionSet getTagDefinitionSet() {
+ return taglibs;
+ }
+
public Collection getCastorTagDefinitions() {
- return castorTagDefinitions;
+ return taglibs;
}
- /**
- * @param definition
- */
- public void setCastorTagDefinitions(Collection definition) {
- castorTagDefinitions = definition;
+ public void setCastorTagDefinitions(TagDefinitionSet taglibs) {
+ this.taglibs = taglibs;
+ }
+
+ public ResourceRefSet getCastorResourceRefSet() {
+ return castorResourceRef;
+ }
+
+ public void setCastorResourceRefSet(ResourceRefSet resourceRefs) {
+ castorResourceRef = resourceRefs;
}
+ // modified by YCLI: END
+
/**
- * @return Returns the mimeMappings.
+ * @return Returns the castorMimeMappings.
*/
- public Collection getMimeMappings() {
- return mimeMappings;
+ public Collection getCastorMimeMappings() {
+ return castorMimeMappings;
+ }
+
+ public Collection getSecurityConstraints() {
+ return securityConstraints;
}
+
/**
- * @param mimeMappings The mimeMappings to set.
+ * @param castorMimeMappings The castorMimeMappings to set.
*/
- public void setMimeMappings(Collection mimeMappings) {
- this.mimeMappings = mimeMappings;
+ public void setCastorMimeMappings(Collection castorMimeMappings) {
+ this.castorMimeMappings = castorMimeMappings;
+ }
+
+ public void setSecurityConstraints(Collection securityConstraints) {
+ this.securityConstraints = securityConstraints;
}
}
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRef.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRef.java?rev=326891&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRef.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRef.java Thu Oct 20 04:33:28 2005
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2003-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.pluto.om.common;
+
+/**
+ *
+ * @version $Id$
+ */
+public class ResourceRef {
+
+ private String description = "my description";
+ private String name = "name";
+ private String type = "type";
+ private String auth = "container";
+ private String sharing = "shareable";
+
+ /**
+ * @return description of the resource reference.
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * @return name of the reference.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Retrieve the type of resource referenced by this
+ * resource reference.
+ * @return the resource type.
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ *
+ * @return the authorization type of the resource.
+ */
+ public String getAuth() {
+ return auth;
+ }
+
+ public String getSharing() {
+ return sharing;
+ }
+
+ /**
+ * @param string the resource reference description.
+ */
+ public void setDescription(String string) {
+ description = string;
+ }
+
+ /**
+ * @param string the name of the resource reference
+ */
+ public void setName(String string) {
+ name = string;
+ }
+
+ public void setType(String string) {
+ type = string;
+ }
+
+ public void setAuth(String string) {
+ auth = string;
+ }
+
+ public void setSharing(String string) {
+ sharing = string;
+ }
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRef.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRef.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRefSet.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRefSet.java?rev=326891&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRefSet.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRefSet.java Thu Oct 20 04:33:28 2005
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2003-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.pluto.om.common;
+
+import java.util.Iterator;
+
+/**
+ * Resource Reference Set as defined by the web.xml as
+ * <resourse-ref>.
+ *
+ * @version $Id$
+ */
+public class ResourceRefSet
+ extends AbstractSupportSet
+ implements java.io.Serializable, Support {
+
+ /**
+ * Retrieve the Resource Reference
+ */
+ public ResourceRef get(String name) {
+ Iterator it = this.iterator();
+ while(it.hasNext()) {
+ ResourceRef ref = (ResourceRef)it.next();
+ if(ref.getName().equals(name)) {
+ return ref;
+ }
+ }
+ return null;
+ }
+
+ public ResourceRef add(ResourceRef ref) {
+ return this.add(ref);
+ }
+
+ public ResourceRef remove(ResourceRef ref) {
+ Iterator it = this.iterator();
+ while(it.hasNext()) {
+ ResourceRef internal = (ResourceRef)it.next();
+ if(internal.equals(ref)) {
+ it.remove();
+ return internal;
+ }
+ }
+ return null;
+ }
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRefSet.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/ResourceRefSet.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/SecurityConstraintImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/SecurityConstraintImpl.java?rev=326891&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/SecurityConstraintImpl.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/SecurityConstraintImpl.java Thu Oct 20 04:33:28 2005
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2003-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.pluto.om.common;
+
+/**
+ * Security Constraint Mapping.
+ *
+ * @version $Id$
+ */
+public class SecurityConstraintImpl {
+ // empty class
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/SecurityConstraintImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/SecurityConstraintImpl.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/TagDefinitionSet.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/TagDefinitionSet.java?rev=326891&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/TagDefinitionSet.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/TagDefinitionSet.java Thu Oct 20 04:33:28 2005
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2003-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.pluto.om.common;
+
+import java.util.Locale;
+
+/**
+ *
+ * @version $Id$
+ */
+public class TagDefinitionSet extends AbstractSupportSet
+ implements java.io.Serializable, Support {
+
+ // DescriptionSet implemenation.
+ public TagDefinition get(Locale locale) {
+ return null;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.pluto.om.common.Support#postBuild(java.lang.Object)
+ */
+ public void postBuild(Object parameter) throws Exception {
+ // nothing to do
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.pluto.om.common.Support#postLoad(java.lang.Object)
+ */
+ public void postLoad(Object parameter) throws Exception {
+ // nothing to do
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.pluto.om.common.Support#postStore(java.lang.Object)
+ */
+ public void postStore(Object parameter) throws Exception {
+ // nothing to do
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.pluto.om.common.Support#preBuild(java.lang.Object)
+ */
+ public void preBuild(Object parameter) throws Exception {
+ // nothing to do
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.pluto.om.common.Support#preStore(java.lang.Object)
+ */
+ public void preStore(Object parameter) throws Exception {
+ // nothing to do
+ }
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/TagDefinitionSet.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/common/TagDefinitionSet.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/servletdefinitionmapping.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/servletdefinitionmapping.xml?rev=326891&r1=326890&r2=326891&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/servletdefinitionmapping.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/om/servletdefinitionmapping.xml Thu Oct 20 04:33:28 2005
@@ -40,6 +40,30 @@
</class>
+ <class name="org.apache.cocoon.portal.pluto.om.common.ResourceRef">
+
+ <field name="description" type="java.lang.String" required="false">
+ <bind-xml name="description" node="element"/>
+ </field>
+
+ <field name="name" type="java.lang.String" required="false">
+ <bind-xml name="res-ref-name" node="element"/>
+ </field>
+
+ <field name="type" type="java.lang.String" required="false">
+ <bind-xml name="res-type" node="element"/>
+ </field>
+
+ <field name="auth" type="java.lang.String" required="false">
+ <bind-xml name="res-auth" node="element"/>
+ </field>
+
+ <field name="sharing" type="java.lang.String" required="false">
+ <bind-xml name="res-sharing-scope" node="element"/>
+ </field>
+
+ </class>
+
<class name="org.apache.cocoon.portal.pluto.om.common.MimeType">
<field name="extension" type="java.lang.String" required="true">
@@ -52,6 +76,10 @@
</class>
+ <class name="org.apache.cocoon.portal.pluto.om.common.SecurityConstraintImpl">
+
+ </class>
+
<class name="org.apache.cocoon.portal.pluto.om.common.DescriptionImpl">
<field name="description" type="java.lang.String">
@@ -173,6 +201,7 @@
<field name="castorId" type="java.lang.String">
<bind-xml name="id" node="attribute"/>
</field>
+
<field name="castorDisplayNames"
type="org.apache.cocoon.portal.pluto.om.common.DisplayNameImpl"
collection="collection">
@@ -207,6 +236,12 @@
<bind-xml name="taglib" node="element" />
</field>
+ <field name="castorResourceRefSet"
+ type="org.apache.cocoon.portal.pluto.om.common.ResourceRef"
+ collection="collection">
+ <bind-xml name="resource-ref" node="element"/>
+ </field>
+
<!-- only for completion, not used in class file -->
<field name="icon" transient="true" direct="true">
<bind-xml name="icon" node="element"/>
@@ -217,7 +252,7 @@
<field name="sessionConfig" transient="true" direct="true">
<bind-xml name="session-config" node="element"/>
</field>
- <field name="mimeMappings"
+ <field name="castorMimeMappings"
transient="true"
required="false"
type="org.apache.cocoon.portal.pluto.om.common.MimeType"
@@ -231,12 +266,14 @@
<bind-xml name="error-page" node="element"/>
</field>
- <field name="resourceRef" transient="true" direct="true">
- <bind-xml name="resource-ref" node="element"/>
- </field>
- <field name="securityConstraint" transient="true" direct="true">
+ <field name="securityConstraints"
+ transient="true"
+ required="false"
+ type="org.apache.cocoon.portal.pluto.om.common.SecurityConstraintImpl"
+ collection="collection">
<bind-xml name="security-constraint" node="element"/>
</field>
+
<field name="loginConfig" transient="true" direct="true">
<bind-xml name="login-config" node="element"/>
</field>
@@ -258,4 +295,4 @@
</field>
</class>
-</mapping>
\ No newline at end of file
+</mapping>
Modified: cocoon/trunk/src/java/org/apache/cocoon/xml/IncludeXMLConsumer.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/xml/IncludeXMLConsumer.java?rev=326891&r1=326890&r2=326891&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/xml/IncludeXMLConsumer.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/xml/IncludeXMLConsumer.java Thu Oct 20 04:33:28 2005
@@ -98,17 +98,22 @@
LexicalHandler lexicalHandler)
throws SAXException {
if (node != null) {
- try {
- IncludeXMLConsumer filter = new IncludeXMLConsumer(contentHandler, lexicalHandler);
- Transformer transformer = FACTORY.newTransformer();
- DOMSource source = new DOMSource(node);
- SAXResult result = new SAXResult(filter);
- result.setLexicalHandler(filter);
- transformer.transform(source, result);
- } catch (TransformerConfigurationException e) {
- throw new SAXException("TransformerConfigurationException", e);
- } catch (TransformerException e) {
- throw new SAXException("TransformerException", e);
+ if (node.getNodeType() == Node.TEXT_NODE){
+ String value = node.getNodeValue();
+ contentHandler.characters(value.toCharArray(), 0, value.length());
+ } else {
+ try {
+ IncludeXMLConsumer filter = new IncludeXMLConsumer(contentHandler, lexicalHandler);
+ Transformer transformer = FACTORY.newTransformer();
+ DOMSource source = new DOMSource(node);
+ SAXResult result = new SAXResult(filter);
+ result.setLexicalHandler(filter);
+ transformer.transform(source, result);
+ } catch (TransformerConfigurationException e) {
+ throw new SAXException("TransformerConfigurationException", e);
+ } catch (TransformerException e) {
+ throw new SAXException("TransformerException", e);
+ }
}
}
}