You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2021/04/13 12:06:53 UTC
[myfaces] branch master updated: MYFACES-4388 Faces 4.0: rename
xmlns.jcp.org taglib URIs
This is an automated email from the ASF dual-hosted git repository.
tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git
The following commit(s) were added to refs/heads/master by this push:
new f69fdd9 MYFACES-4388 Faces 4.0: rename xmlns.jcp.org taglib URIs
f69fdd9 is described below
commit f69fdd9e3e8f319bc6c7608c764ab4f16a356745
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Tue Apr 13 14:06:45 2021 +0200
MYFACES-4388 Faces 4.0: rename xmlns.jcp.org taglib URIs
---
.../view/facelets/compiler/CompilationManager.java | 20 +++--
.../facelets/compiler/FaceletsCompilerSupport.java | 4 +-
.../compiler/RefreshDynamicComponentListener.java | 30 +++++--
.../view/facelets/compiler/SAXCompiler.java | 39 +++++++---
.../view/facelets/tag/AbstractTagLibrary.java | 28 ++++---
.../myfaces/view/facelets/tag/MetaRulesetImpl.java | 20 +++--
.../facelets/tag/composite/CompositeLibrary.java | 7 +-
.../tag/composite/CompositeResourceLibrary.java | 5 +-
.../CreateDynamicCompositeComponentListener.java | 30 +++++--
.../view/facelets/tag/faces/JsfLibrary.java | 7 +-
.../facelets/tag/faces/PassThroughLibrary.java | 7 +-
.../view/facelets/tag/faces/core/CoreLibrary.java | 8 +-
.../tag/faces/html/AbstractHtmlLibrary.java | 9 ++-
.../tag/faces/html/DefaultTagDecorator.java | 91 +++++++++++++++-------
.../view/facelets/tag/faces/html/HtmlLibrary.java | 8 +-
.../view/facelets/tag/ui/RepeatHandler.java | 5 +-
.../myfaces/view/facelets/tag/ui/UILibrary.java | 8 +-
.../tag/faces/html/DataTableTestCaseUrn.java | 90 +++++++++++++++++++++
.../faces/html/DefaultHtmlDecoratorTestCase.java | 10 +--
...e.java => DefaultHtmlDecoratorTestCaseUrn.java} | 16 ++--
.../view/facelets/tag/faces/html/dataTable.xml | 6 +-
.../faces/html/{dataTable.xml => dataTableUrn.xml} | 0
.../tag/faces/html/testHtmlPassthrough1urn.xhtml | 75 ++++++++++++++++++
.../tag/faces/html/testHtmlPassthrough2urn.xhtml | 75 ++++++++++++++++++
24 files changed, 477 insertions(+), 121 deletions(-)
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
index 2dde7fa..0d9d9e4 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
@@ -479,25 +479,31 @@ final class CompilationManager
protected static boolean isRemove(String ns, String name)
{
- return (UILibrary.NAMESPACE.equals(ns) || UILibrary.ALIAS_NAMESPACE.equals(ns)) && "remove".equals(name);
+ return "remove".equals(name) && (UILibrary.NAMESPACE.equals(ns)
+ || UILibrary.JCP_NAMESPACE.equals(ns)
+ || UILibrary.SUN_NAMESPACE.equals(ns));
}
protected static boolean isTrimmed(String ns, String name)
{
- return (UILibrary.NAMESPACE.equals(ns) || UILibrary.ALIAS_NAMESPACE.equals(ns))
- && (CompositionHandler.NAME.equals(name) || ComponentRefHandler.NAME.equals(name));
+ return (CompositionHandler.NAME.equals(name) || ComponentRefHandler.NAME.equals(name)) &&
+ (UILibrary.NAMESPACE.equals(ns)
+ || UILibrary.JCP_NAMESPACE.equals(ns)
+ || UILibrary.SUN_NAMESPACE.equals(ns));
}
protected static boolean isCompositeComponentInterface(String ns, String name)
{
- return (CompositeLibrary.NAMESPACE.equals(ns) || CompositeLibrary.ALIAS_NAMESPACE.equals(ns))
- && InterfaceHandler.NAME.equals(name);
+ return InterfaceHandler.NAME.equals(name) && (CompositeLibrary.NAMESPACE.equals(ns)
+ || CompositeLibrary.JCP_NAMESPACE.equals(ns)
+ || CompositeLibrary.SUN_NAMESPACE.equals(ns));
}
protected static boolean isCompositeComponentImplementation(String ns, String name)
{
- return (CompositeLibrary.NAMESPACE.equals(ns) || CompositeLibrary.ALIAS_NAMESPACE.equals(ns))
- && ImplementationHandler.NAME.equals(name);
+ return ImplementationHandler.NAME.equals(name) && (CompositeLibrary.NAMESPACE.equals(ns)
+ || CompositeLibrary.JCP_NAMESPACE.equals(ns)
+ || CompositeLibrary.SUN_NAMESPACE.equals(ns));
}
private String[] determineQName(Tag tag)
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/FaceletsCompilerSupport.java b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/FaceletsCompilerSupport.java
index 9df9fcb..621514e 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/FaceletsCompilerSupport.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/FaceletsCompilerSupport.java
@@ -90,7 +90,9 @@ public class FaceletsCompilerSupport
compiler.addTagLibrary(new CompositeResourceLibrary(context,
CompositeResourceLibrary.NAMESPACE_PREFIX));
compiler.addTagLibrary(new CompositeResourceLibrary(context,
- CompositeResourceLibrary.ALIAS_NAMESPACE_PREFIX));
+ CompositeResourceLibrary.JCP_NAMESPACE_PREFIX));
+ compiler.addTagLibrary(new CompositeResourceLibrary(context,
+ CompositeResourceLibrary.SUN_NAMESPACE_PREFIX));
compiler.addTagLibrary(new JsfLibrary());
compiler.addTagLibrary(new PassThroughLibrary());
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/RefreshDynamicComponentListener.java b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/RefreshDynamicComponentListener.java
index c1c11bc..e4098c8 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/RefreshDynamicComponentListener.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/RefreshDynamicComponentListener.java
@@ -165,11 +165,15 @@ public final class RefreshDynamicComponentListener implements ComponentSystemEve
}
else if (taglibURI.startsWith(CompositeResourceLibrary.NAMESPACE_PREFIX))
{
- values[0] = new Object[]{0, taglibURI.substring(35)};
+ values[0] = new Object[]{0, taglibURI.substring(CompositeResourceLibrary.NAMESPACE_PREFIX.length())};
}
- else if(taglibURI.startsWith(CompositeResourceLibrary.ALIAS_NAMESPACE_PREFIX))
+ else if(taglibURI.startsWith(CompositeResourceLibrary.JCP_NAMESPACE_PREFIX))
{
- values[0] = new Object[]{1, taglibURI.substring(34)};
+ values[0] = new Object[]{1, taglibURI.substring(CompositeResourceLibrary.JCP_NAMESPACE_PREFIX.length())};
+ }
+ else if(taglibURI.startsWith(CompositeResourceLibrary.SUN_NAMESPACE_PREFIX))
+ {
+ values[0] = new Object[]{2, taglibURI.substring(CompositeResourceLibrary.SUN_NAMESPACE_PREFIX.length())};
}
else
{
@@ -198,9 +202,23 @@ public final class RefreshDynamicComponentListener implements ComponentSystemEve
else if (values[0] instanceof Object[])
{
Object[] def = (Object[]) values[0];
- String ns = (((Integer) def[0]) == 0) ?
- CompositeResourceLibrary.NAMESPACE_PREFIX :
- CompositeResourceLibrary.ALIAS_NAMESPACE_PREFIX;
+ int index = (Integer) def[0];
+ String ns;
+ switch (index)
+ {
+ case 0:
+ ns = CompositeResourceLibrary.NAMESPACE_PREFIX;
+ break;
+ case 1:
+ ns = CompositeResourceLibrary.JCP_NAMESPACE_PREFIX;
+ break;
+ case 2:
+ ns = CompositeResourceLibrary.SUN_NAMESPACE_PREFIX;
+ break;
+ default:
+ ns = "";
+ break;
+ }
taglibURI = ns + (String) ((Object[]) values[0])[1];
}
tagName = (String) values[1];
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/SAXCompiler.java b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/SAXCompiler.java
index 6cd984d..6472d1e 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/SAXCompiler.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/SAXCompiler.java
@@ -376,7 +376,9 @@ public final class SAXCompiler extends Compiler
{
this.unit.popTag();
}
- if ((CoreLibrary.NAMESPACE.equals(uri) || CoreLibrary.ALIAS_NAMESPACE.equals(uri)))
+ if ((CoreLibrary.NAMESPACE.equals(uri)
+ || CoreLibrary.JCP_NAMESPACE.equals(uri)
+ || CoreLibrary.SUN_NAMESPACE.equals(uri)))
{
if ("metadata".equals(localName))
{
@@ -387,7 +389,9 @@ public final class SAXCompiler extends Compiler
this.unit.popTag();
}
}
- else if (UILibrary.NAMESPACE.equals(uri) || UILibrary.ALIAS_NAMESPACE.equals(uri))
+ else if (UILibrary.NAMESPACE.equals(uri)
+ || UILibrary.JCP_NAMESPACE.equals(uri)
+ || UILibrary.SUN_NAMESPACE.equals(uri))
{
if (!inMetadata && "remove".equals(localName))
{
@@ -480,8 +484,10 @@ public final class SAXCompiler extends Compiler
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
- if ( (CoreLibrary.NAMESPACE.equals(uri) ||
- CoreLibrary.ALIAS_NAMESPACE.equals(uri)) && this.uiRemoveCount <= 0)
+ if (this.uiRemoveCount <= 0 &&
+ (CoreLibrary.NAMESPACE.equals(uri)
+ || CoreLibrary.JCP_NAMESPACE.equals(uri)
+ || CoreLibrary.SUN_NAMESPACE.equals(uri)))
{
if ("metadata".equals(localName))
{
@@ -496,8 +502,9 @@ public final class SAXCompiler extends Compiler
{
this.unit.pushTag(new Tag(createLocation(), uri, localName, qName, createAttributes(attributes)));
}
- else if (UILibrary.NAMESPACE.equals(uri) ||
- UILibrary.ALIAS_NAMESPACE.equals(uri))
+ else if (UILibrary.NAMESPACE.equals(uri)
+ || UILibrary.JCP_NAMESPACE.equals(uri)
+ || UILibrary.SUN_NAMESPACE.equals(uri))
{
if ("remove".equals(localName))
{
@@ -629,7 +636,9 @@ public final class SAXCompiler extends Compiler
this.unit.popTag();
}
else if (inCompositeImplementation &&
- (CompositeLibrary.NAMESPACE.equals(uri) || CompositeLibrary.ALIAS_NAMESPACE.equals(uri)) )
+ (CompositeLibrary.NAMESPACE.equals(uri)
+ || CompositeLibrary.JCP_NAMESPACE.equals(uri)
+ || CompositeLibrary.SUN_NAMESPACE.equals(uri)))
{
if ("insertFacet".equals(localName) ||
"renderFacet".equals(localName) ||
@@ -640,7 +649,9 @@ public final class SAXCompiler extends Compiler
}
}
- if (CompositeLibrary.NAMESPACE.equals(uri) || CompositeLibrary.ALIAS_NAMESPACE.equals(uri))
+ if (CompositeLibrary.NAMESPACE.equals(uri)
+ || CompositeLibrary.JCP_NAMESPACE.equals(uri)
+ || CompositeLibrary.SUN_NAMESPACE.equals(uri))
{
if (InterfaceHandler.NAME.equals(localName))
{
@@ -735,7 +746,9 @@ public final class SAXCompiler extends Compiler
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
- if (CompositeLibrary.NAMESPACE.equals(uri) || CompositeLibrary.ALIAS_NAMESPACE.equals(uri))
+ if (CompositeLibrary.NAMESPACE.equals(uri)
+ || CompositeLibrary.JCP_NAMESPACE.equals(uri)
+ || CompositeLibrary.SUN_NAMESPACE.equals(uri))
{
if (InterfaceHandler.NAME.equals(localName))
{
@@ -752,7 +765,9 @@ public final class SAXCompiler extends Compiler
this.unit.pushTag(new Tag(createLocation(), uri, localName, qName, createAttributes(attributes)));
}
else if (inCompositeImplementation &&
- (CompositeLibrary.NAMESPACE.equals(uri) || CompositeLibrary.ALIAS_NAMESPACE.equals(uri)))
+ (CompositeLibrary.NAMESPACE.equals(uri)
+ || CompositeLibrary.JCP_NAMESPACE.equals(uri)
+ || CompositeLibrary.SUN_NAMESPACE.equals(uri)))
{
if ("insertFacet".equals(localName) ||
"renderFacet".equals(localName) ||
@@ -942,7 +957,9 @@ public final class SAXCompiler extends Compiler
boolean tagContainParams = (
("include".equals(tagName) || "decorate".equals(tagName) || "composition".equals(tagName)) &&
- (UILibrary.NAMESPACE.equals(taglibURI) || UILibrary.ALIAS_NAMESPACE.equals(taglibURI)) );
+ (UILibrary.NAMESPACE.equals(taglibURI)
+ || UILibrary.JCP_NAMESPACE.equals(taglibURI)
+ || UILibrary.SUN_NAMESPACE.equals(taglibURI)));
Location location = new Location(alias, 0, 0);
int len = attributes.size();
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/AbstractTagLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/AbstractTagLibrary.java
index 475b55f..0f21177 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/AbstractTagLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/AbstractTagLibrary.java
@@ -61,23 +61,29 @@ public abstract class AbstractTagLibrary implements TagLibrary
private final Map<String, Method> _functions;
private final String _namespace;
- private final String _aliasNamespace;
+ private final String _jcpNamespace;
+ private final String _sunNamespace;
private Boolean _strictJsf2FaceletsCompatibility;
- public AbstractTagLibrary(String namespace, String aliasNamespace)
+ public AbstractTagLibrary(String namespace)
{
- _namespace = namespace;
- _aliasNamespace = aliasNamespace;
- _factories = new HashMap<>();
- _functions = new HashMap<>();
+ this(namespace, null, null);
}
- public AbstractTagLibrary(String namespace)
+ public AbstractTagLibrary(String namespace, String jcpNamespace)
{
- this(namespace,null);
+ this(namespace, jcpNamespace, null);
}
-
+ public AbstractTagLibrary(String namespace, String jcpNamespace, String sunNamespace)
+ {
+ _namespace = namespace;
+ _jcpNamespace = jcpNamespace;
+ _sunNamespace = sunNamespace;
+ _factories = new HashMap<>();
+ _functions = new HashMap<>();
+ }
+
/*
* (non-Javadoc)
*
@@ -86,7 +92,9 @@ public abstract class AbstractTagLibrary implements TagLibrary
@Override
public boolean containsNamespace(String ns)
{
- return _namespace.equals(ns) || (_aliasNamespace != null && _aliasNamespace.equals(ns));
+ return _namespace.equals(ns)
+ || (_jcpNamespace != null && _jcpNamespace.equals(ns))
+ || (_sunNamespace != null && _sunNamespace.equals(ns));
}
/*
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java
index 8f80e12..fcf3ac0 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java
@@ -122,22 +122,26 @@ public final class MetaRulesetImpl extends MetaRuleset
// to find the passthrough attributes.
TagAttribute[] passthroughAttribute = _tag.getAttributes().getAll(
PassThroughLibrary.NAMESPACE);
- TagAttribute[] passthroughAttributeAlias = _tag.getAttributes().getAll(
- PassThroughLibrary.ALIAS_NAMESPACE);
+ TagAttribute[] passthroughAttributeJcp = _tag.getAttributes().getAll(
+ PassThroughLibrary.JCP_NAMESPACE);
+ TagAttribute[] passthroughAttributeSun = _tag.getAttributes().getAll(
+ PassThroughLibrary.SUN_NAMESPACE);
- if (passthroughAttribute.length > 0 ||
- passthroughAttributeAlias.length > 0)
+ if (passthroughAttribute.length > 0
+ || passthroughAttributeJcp.length > 0
+ || passthroughAttributeSun.length > 0)
{
- _passthroughAttributes = new TagAttribute[passthroughAttribute.length+
- passthroughAttributeAlias.length];
+ _passthroughAttributes = new TagAttribute[passthroughAttribute.length +
+ passthroughAttributeJcp.length + passthroughAttributeSun.length];
int i = 0;
for (TagAttribute attribute : allAttributes)
{
// The fastest check is check if the length is > 0, because
// most attributes usually has no namespace attached.
if (attribute.getNamespace().length() > 0 &&
- (PassThroughLibrary.NAMESPACE.equals(attribute.getNamespace()) ||
- PassThroughLibrary.ALIAS_NAMESPACE.equals(attribute.getNamespace())))
+ (PassThroughLibrary.NAMESPACE.equals(attribute.getNamespace())
+ || PassThroughLibrary.JCP_NAMESPACE.equals(attribute.getNamespace())
+ || PassThroughLibrary.SUN_NAMESPACE.equals(attribute.getNamespace())))
{
_passthroughAttributes[i] = attribute;
i++;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeLibrary.java
index 7ffb75b..1443a50 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeLibrary.java
@@ -26,12 +26,13 @@ import org.apache.myfaces.view.facelets.tag.AbstractTagLibrary;
*/
public class CompositeLibrary extends AbstractTagLibrary
{
- public final static String NAMESPACE = "http://xmlns.jcp.org/jsf/composite";
- public final static String ALIAS_NAMESPACE = "http://java.sun.com/jsf/composite";
+ public final static String NAMESPACE = "jakarta.faces.composite";
+ public final static String JCP_NAMESPACE = "http://xmlns.jcp.org/jsf/composite";
+ public final static String SUN_NAMESPACE = "http://java.sun.com/jsf/composite";
public CompositeLibrary()
{
- super(NAMESPACE, ALIAS_NAMESPACE);
+ super(NAMESPACE, JCP_NAMESPACE, SUN_NAMESPACE);
addTagHandler("actionSource", ActionSourceHandler.class);
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeResourceLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeResourceLibrary.java
index 4933da0..ea1865e 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeResourceLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeResourceLibrary.java
@@ -49,8 +49,9 @@ import org.apache.myfaces.view.facelets.tag.TagLibrary;
*/
public class CompositeResourceLibrary implements TagLibrary
{
- public final static String NAMESPACE_PREFIX = "http://xmlns.jcp.org/jsf/composite/";
- public final static String ALIAS_NAMESPACE_PREFIX = "http://java.sun.com/jsf/composite/";
+ public final static String NAMESPACE_PREFIX = "jakarta.faces.composite";
+ public final static String JCP_NAMESPACE_PREFIX = "http://xmlns.jcp.org/jsf/composite/";
+ public final static String SUN_NAMESPACE_PREFIX = "http://java.sun.com/jsf/composite/";
private final ResourceHandler _resourceHandler;
private Pattern _acceptPatterns;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CreateDynamicCompositeComponentListener.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CreateDynamicCompositeComponentListener.java
index cb3379c..ce944db 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CreateDynamicCompositeComponentListener.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CreateDynamicCompositeComponentListener.java
@@ -198,11 +198,15 @@ public class CreateDynamicCompositeComponentListener
}
else if (taglibURI.startsWith(CompositeResourceLibrary.NAMESPACE_PREFIX))
{
- values[0] = new Object[]{0, taglibURI.substring(35)};
+ values[0] = new Object[]{0, taglibURI.substring(CompositeResourceLibrary.NAMESPACE_PREFIX.length())};
}
- else if(taglibURI.startsWith(CompositeResourceLibrary.ALIAS_NAMESPACE_PREFIX))
+ else if(taglibURI.startsWith(CompositeResourceLibrary.JCP_NAMESPACE_PREFIX))
{
- values[0] = new Object[]{1, taglibURI.substring(34)};
+ values[0] = new Object[]{1, taglibURI.substring(CompositeResourceLibrary.JCP_NAMESPACE_PREFIX.length())};
+ }
+ else if(taglibURI.startsWith(CompositeResourceLibrary.SUN_NAMESPACE_PREFIX))
+ {
+ values[0] = new Object[]{2, taglibURI.substring(CompositeResourceLibrary.SUN_NAMESPACE_PREFIX.length())};
}
else
{
@@ -230,9 +234,23 @@ public class CreateDynamicCompositeComponentListener
else if (values[0] instanceof Object[])
{
Object[] def = (Object[])values[0];
- String ns = (((Integer) def[0]) == 0) ?
- CompositeResourceLibrary.NAMESPACE_PREFIX :
- CompositeResourceLibrary.ALIAS_NAMESPACE_PREFIX;
+ int index = (Integer) def[0];
+ String ns;
+ switch (index)
+ {
+ case 0:
+ ns = CompositeResourceLibrary.NAMESPACE_PREFIX;
+ break;
+ case 1:
+ ns = CompositeResourceLibrary.JCP_NAMESPACE_PREFIX;
+ break;
+ case 2:
+ ns = CompositeResourceLibrary.SUN_NAMESPACE_PREFIX;
+ break;
+ default:
+ ns = "";
+ break;
+ }
taglibURI = ns + (String) ((Object[]) values[0])[1];
}
tagName = (String)values[1];
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/JsfLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/JsfLibrary.java
index 183081e..38ec1b9 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/JsfLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/JsfLibrary.java
@@ -26,14 +26,15 @@ import org.apache.myfaces.view.facelets.tag.AbstractTagLibrary;
*/
public final class JsfLibrary extends AbstractTagLibrary
{
- public final static String NAMESPACE = "http://xmlns.jcp.org/jsf";
- public final static String ALIAS_NAMESPACE = "http://java.sun.com/jsf";
+ public final static String NAMESPACE = "jakarta.faces";
+ public final static String JCP_NAMESPACE = "http://xmlns.jcp.org/jsf";
+ public final static String SUN_NAMESPACE = "http://java.sun.com/jsf";
public final static JsfLibrary INSTANCE = new JsfLibrary();
public JsfLibrary()
{
- super(NAMESPACE, ALIAS_NAMESPACE);
+ super(NAMESPACE, JCP_NAMESPACE, SUN_NAMESPACE);
this.addComponent("element", "oam.passthrough.Element",
"jakarta.faces.passthrough.Element", JsfElementHandler.class);
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/PassThroughLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/PassThroughLibrary.java
index 74be7d0..b535a18 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/PassThroughLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/PassThroughLibrary.java
@@ -29,13 +29,14 @@ import org.apache.myfaces.view.facelets.tag.AbstractTagLibrary;
*/
public class PassThroughLibrary extends AbstractTagLibrary
{
- public final static String NAMESPACE = "http://xmlns.jcp.org/jsf/passthrough";
- public final static String ALIAS_NAMESPACE = "http://java.sun.com/jsf/passthrough";
+ public final static String NAMESPACE = "jakarta.faces.passthrough";
+ public final static String JCP_NAMESPACE = "http://xmlns.jcp.org/jsf/passthrough";
+ public final static String SUN_NAMESPACE = "http://java.sun.com/jsf/passthrough";
public final static PassThroughLibrary INSTANCE = new PassThroughLibrary();
public PassThroughLibrary()
{
- super(NAMESPACE, ALIAS_NAMESPACE);
+ super(NAMESPACE, JCP_NAMESPACE, SUN_NAMESPACE);
}
}
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/core/CoreLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/core/CoreLibrary.java
index 5cbd89b..69e3825 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/core/CoreLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/core/CoreLibrary.java
@@ -46,15 +46,15 @@ import org.apache.myfaces.view.facelets.tag.AbstractTagLibrary;
*/
public final class CoreLibrary extends AbstractTagLibrary
{
-
- public final static String NAMESPACE = "http://xmlns.jcp.org/jsf/core";
- public final static String ALIAS_NAMESPACE = "http://java.sun.com/jsf/core";
+ public final static String NAMESPACE = "jakarta.faces.core";
+ public final static String JCP_NAMESPACE = "http://xmlns.jcp.org/jsf/core";
+ public final static String SUN_NAMESPACE = "http://java.sun.com/jsf/core";
public final static CoreLibrary INSTANCE = new CoreLibrary();
public CoreLibrary()
{
- super(NAMESPACE, ALIAS_NAMESPACE);
+ super(NAMESPACE, JCP_NAMESPACE, SUN_NAMESPACE);
this.addTagHandler("actionListener", ActionListenerHandler.class);
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/AbstractHtmlLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/AbstractHtmlLibrary.java
index cbfa6b1..a54fd2d 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/AbstractHtmlLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/AbstractHtmlLibrary.java
@@ -32,11 +32,16 @@ public abstract class AbstractHtmlLibrary extends AbstractTagLibrary
super(namespace);
}
- public AbstractHtmlLibrary(String namespace, String aliasNamespace)
+ public AbstractHtmlLibrary(String namespace, String jcpNamespace)
{
- super(namespace, aliasNamespace);
+ super(namespace, jcpNamespace);
}
+ public AbstractHtmlLibrary(String namespace, String jcpNamespace, String sunNamespace)
+ {
+ super(namespace, jcpNamespace, sunNamespace);
+ }
+
public void addHtmlComponent(String name, String componentType, String rendererType)
{
super.addComponent(name, componentType, rendererType, HtmlComponentHandler.class);
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultTagDecorator.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultTagDecorator.java
index fc3754e..3556ae3 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultTagDecorator.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultTagDecorator.java
@@ -41,13 +41,9 @@ import org.apache.myfaces.view.facelets.tag.faces.core.CoreLibrary;
public class DefaultTagDecorator implements TagDecorator
{
public final static String XHTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
- public final static String JSF_NAMESPACE = JsfLibrary.NAMESPACE;
- public final static String JSF_ALIAS_NAMESPACE = JsfLibrary.ALIAS_NAMESPACE;
- public final static String PASS_THROUGH_NAMESPACE = PassThroughLibrary.NAMESPACE;
- public final static String PASS_THROUGH_ALIAS_NAMESPACE = PassThroughLibrary.ALIAS_NAMESPACE;
private final static String EMPTY_NAMESPACE = "";
- private final static String P_ELEMENTNAME = "p:"+Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY;
+ private final static String P_ELEMENTNAME = "p:" + Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY;
/**
* Fast array for lookup of local names to be inspected.
@@ -166,7 +162,9 @@ public class DefaultTagDecorator implements TagDecorator
for (String namespace : tag.getAttributes().getNamespaces())
{
- if (JSF_NAMESPACE.equals(namespace) || JSF_ALIAS_NAMESPACE.equals(namespace))
+ if (JsfLibrary.NAMESPACE.equals(namespace)
+ || JsfLibrary.JCP_NAMESPACE.equals(namespace)
+ || JsfLibrary.SUN_NAMESPACE.equals(namespace))
{
jsfNamespaceFound = true;
break;
@@ -224,8 +222,8 @@ public class DefaultTagDecorator implements TagDecorator
}
else
{
- throw new FaceletException("Attributes under "+JSF_NAMESPACE+
- " can only be used for tags under "+ XHTML_NAMESPACE +" or tags with no namespace defined" );
+ throw new FaceletException("Attributes under " +JsfLibrary.NAMESPACE +
+ " can only be used for tags under " + XHTML_NAMESPACE + " or tags with no namespace defined" );
}
}
@@ -236,7 +234,7 @@ public class DefaultTagDecorator implements TagDecorator
String elementNameTagLocalName = tag.getLocalName();
TagAttribute elementNameTagAttribute = new TagAttributeImpl(
- tag.getLocation(), PASS_THROUGH_NAMESPACE , Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY,
+ tag.getLocation(), PassThroughLibrary.NAMESPACE , Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY,
P_ELEMENTNAME, elementNameTagLocalName );
// 1. Count how many attributes requires to be duplicated
@@ -286,7 +284,9 @@ public class DefaultTagDecorator implements TagDecorator
component.
..."
*/
- if (JSF_NAMESPACE.equals(namespace) || JSF_ALIAS_NAMESPACE.equals(namespace))
+ if (JsfLibrary.NAMESPACE.equals(namespace)
+ || JsfLibrary.JCP_NAMESPACE.equals(namespace)
+ || JsfLibrary.SUN_NAMESPACE.equals(namespace))
{
// "... If the current attribute's namespace is http://xmlns.jcp.org/jsf, convertedTagAttribute's
// qualified name must be the current attribute's local name and convertedTagAttribute's
@@ -306,8 +306,8 @@ public class DefaultTagDecorator implements TagDecorator
// attribute to the passthrough attribute map, so there is an error in the spec documentation.
//convertedTagAttributes[j] = tagAttribute;
- convertedNamespace = PASS_THROUGH_NAMESPACE;
- qname = "p:"+tagAttribute.getLocalName();
+ convertedNamespace = PassThroughLibrary.NAMESPACE;
+ qname = "p:" + tagAttribute.getLocalName();
convertedTagAttributes[j] = new TagAttributeImpl(tagAttribute.getLocation(),
convertedNamespace, tagAttribute.getLocalName(), qname, tagAttribute.getValue());
@@ -321,7 +321,7 @@ public class DefaultTagDecorator implements TagDecorator
// attribute to the passthrough attribute map, so there is an error in the spec documentation.
//convertedTagAttributes[j] = tagAttribute;
- convertedNamespace = PASS_THROUGH_NAMESPACE;
+ convertedNamespace = PassThroughLibrary.NAMESPACE;
qname = "p:" + tagAttribute.getLocalName();
convertedTagAttributes[j] = new TagAttributeImpl(tagAttribute.getLocation(),
@@ -334,9 +334,10 @@ public class DefaultTagDecorator implements TagDecorator
convertedTagAttributes[j] = tagAttribute;
}
- if (Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY.equals(convertedTagAttributes[j].getLocalName()) && (
- PASS_THROUGH_NAMESPACE.equals(convertedTagAttributes[j].getNamespace()) ||
- PASS_THROUGH_ALIAS_NAMESPACE.equals(convertedTagAttributes[j].getNamespace()) ) )
+ if (Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY.equals(convertedTagAttributes[j].getLocalName())
+ && (PassThroughLibrary.NAMESPACE.equals(convertedTagAttributes[j].getNamespace())
+ || PassThroughLibrary.JCP_NAMESPACE.equals(convertedTagAttributes[j].getNamespace())
+ || PassThroughLibrary.SUN_NAMESPACE.equals(convertedTagAttributes[j].getNamespace())))
{
elementNameTagAttributeSet = true;
}
@@ -387,7 +388,8 @@ public class DefaultTagDecorator implements TagDecorator
private String attributeLocalName;
private String attributePrefix;
private final String attributeNamespace;
- private final String attributeAliasNamespace;
+ private final String attributeJcpNamespace;
+ private final String attributeSunNamespace;
private String matchValue;
private String targetQName;
@@ -427,7 +429,8 @@ public class DefaultTagDecorator implements TagDecorator
this.attributeLocalName = (j >= 0) ? attributeQName.substring(j+1) : attributeQName;
this.attributePrefix = (j >= 0) ? attributeQName.substring(0, j) : null;
this.attributeNamespace = resolveSelectorNamespace(this.attributePrefix);
- this.attributeAliasNamespace = resolveAliasSelectorNamespace(this.attributePrefix);
+ this.attributeJcpNamespace = resolveJcpSelectorNamespace(this.attributePrefix);
+ this.attributeSunNamespace = resolveSunSelectorNamespace(this.attributePrefix);
}
else
{
@@ -436,7 +439,8 @@ public class DefaultTagDecorator implements TagDecorator
this.attributeLocalName = null;
this.attributePrefix = null;
this.attributeNamespace = "";
- this.attributeAliasNamespace = null;
+ this.attributeJcpNamespace = null;
+ this.attributeSunNamespace = null;
}
this.targetQName = targetQName;
@@ -453,7 +457,7 @@ public class DefaultTagDecorator implements TagDecorator
}
else if (j == 3 && targetQName.startsWith("jsf"))
{
- this.targetNamespace = JsfLibrary.ALIAS_NAMESPACE;
+ this.targetNamespace = JsfLibrary.SUN_NAMESPACE;
this.targetLocalName = targetQName.substring(j+1);
}
}
@@ -473,11 +477,17 @@ public class DefaultTagDecorator implements TagDecorator
{
String attributeNS = attributeNamespace;
TagAttribute attr = tag.getAttributes().get(attributeNS, attributeLocalName);
- if (attr == null && attributeAliasNamespace.length() > 0)
+ if (attr == null && attributeJcpNamespace.length() > 0)
+ {
+ attributeNS = attributeJcpNamespace;
+ attr = tag.getAttributes().get(attributeNS, attributeLocalName);
+ }
+ if (attr == null && attributeSunNamespace.length() > 0)
{
- attributeNS = attributeAliasNamespace;
- attr = tag.getAttributes().get(attributeAliasNamespace, attributeLocalName);
+ attributeNS = attributeSunNamespace;
+ attr = tag.getAttributes().get(attributeNS, attributeLocalName);
}
+
if (attr != null)
{
if (attributeNS.equals(attr.getNamespace()) )
@@ -492,7 +502,7 @@ public class DefaultTagDecorator implements TagDecorator
return this;
}
}
- else if (attributeNS == "" && attr.getNamespace() == null)
+ else if ("".equals(attributeNS) && attr.getNamespace() == null)
{
// if namespace is empty match
if (matchValue.equals(attr.getValue()))
@@ -512,9 +522,15 @@ public class DefaultTagDecorator implements TagDecorator
TagAttribute attr = tag.getAttributes().get(attributeNS, attributeLocalName);
if (attr == null)
{
- attributeNS = attributeAliasNamespace;
+ attributeNS = attributeJcpNamespace;
+ attr = tag.getAttributes().get(attributeNS, attributeLocalName);
+ }
+ if (attr == null)
+ {
+ attributeNS = attributeSunNamespace;
attr = tag.getAttributes().get(attributeNS, attributeLocalName);
}
+
if (attr != null)
{
if (attributeNS.equals(attr.getNamespace()))
@@ -562,19 +578,36 @@ public class DefaultTagDecorator implements TagDecorator
return "";
}
- private static String resolveAliasSelectorNamespace(String prefix)
+ private static String resolveJcpSelectorNamespace(String prefix)
+ {
+ if ("jsf".equals(prefix))
+ {
+ return JsfLibrary.JCP_NAMESPACE;
+ }
+ else if ("h".equals(prefix))
+ {
+ return HtmlLibrary.JCP_NAMESPACE;
+ }
+ else if ("f".equals(prefix))
+ {
+ return CoreLibrary.JCP_NAMESPACE;
+ }
+ return "";
+ }
+
+ private static String resolveSunSelectorNamespace(String prefix)
{
if ("jsf".equals(prefix))
{
- return JsfLibrary.ALIAS_NAMESPACE;
+ return JsfLibrary.SUN_NAMESPACE;
}
else if ("h".equals(prefix))
{
- return HtmlLibrary.ALIAS_NAMESPACE;
+ return HtmlLibrary.SUN_NAMESPACE;
}
else if ("f".equals(prefix))
{
- return CoreLibrary.ALIAS_NAMESPACE;
+ return CoreLibrary.SUN_NAMESPACE;
}
return "";
}
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/HtmlLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/HtmlLibrary.java
index 1ff9bf1..aa61536 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/HtmlLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/html/HtmlLibrary.java
@@ -24,15 +24,15 @@ package org.apache.myfaces.view.facelets.tag.faces.html;
*/
public final class HtmlLibrary extends AbstractHtmlLibrary
{
-
- public final static String NAMESPACE = "http://xmlns.jcp.org/jsf/html";
- public final static String ALIAS_NAMESPACE = "http://java.sun.com/jsf/html";
+ public final static String NAMESPACE = "jakarta.faces.html";
+ public final static String JCP_NAMESPACE = "http://xmlns.jcp.org/jsf/html";
+ public final static String SUN_NAMESPACE = "http://java.sun.com/jsf/html";
public final static HtmlLibrary INSTANCE = new HtmlLibrary();
public HtmlLibrary()
{
- super(NAMESPACE, ALIAS_NAMESPACE);
+ super(NAMESPACE, JCP_NAMESPACE, SUN_NAMESPACE);
this.addHtmlComponent("body", "jakarta.faces.OutputBody", "jakarta.faces.Body");
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/RepeatHandler.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/RepeatHandler.java
index 81ee11e..300d414 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/RepeatHandler.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/RepeatHandler.java
@@ -49,8 +49,9 @@ public class RepeatHandler extends ComponentHandler
{
MetaRuleset meta = super.createMetaRuleset(type);
- if (!UILibrary.NAMESPACE.equals(this.tag.getNamespace()) &&
- !UILibrary.ALIAS_NAMESPACE.equals(this.tag.getNamespace()))
+ if (!UILibrary.NAMESPACE.equals(this.tag.getNamespace())
+ && !UILibrary.JCP_NAMESPACE.equals(this.tag.getNamespace())
+ && !UILibrary.SUN_NAMESPACE.equals(this.tag.getNamespace()))
{
meta.add(new TagMetaData(type));
}
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/UILibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/UILibrary.java
index 48f4f09..c5dea1c 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/UILibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/UILibrary.java
@@ -32,15 +32,15 @@ import org.apache.myfaces.view.facelets.tag.AbstractTagLibrary;
*/
public final class UILibrary extends AbstractTagLibrary
{
-
- public final static String NAMESPACE = "http://xmlns.jcp.org/jsf/facelets";
- public final static String ALIAS_NAMESPACE = "http://java.sun.com/jsf/facelets";
+ public final static String NAMESPACE = "jakarta.faces.facelets";
+ public final static String JCP_NAMESPACE = "http://xmlns.jcp.org/jsf/facelets";
+ public final static String SUN_NAMESPACE = "http://java.sun.com/jsf/facelets";
public final static UILibrary INSTANCE = new UILibrary();
public UILibrary()
{
- super(NAMESPACE, ALIAS_NAMESPACE);
+ super(NAMESPACE, JCP_NAMESPACE, SUN_NAMESPACE);
this.addTagHandler("include", IncludeHandler.class);
diff --git a/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DataTableTestCaseUrn.java b/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DataTableTestCaseUrn.java
new file mode 100644
index 0000000..004f2a3
--- /dev/null
+++ b/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DataTableTestCaseUrn.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.myfaces.view.facelets.tag.faces.html;
+
+import jakarta.faces.component.UIColumn;
+import jakarta.faces.component.UIData;
+import jakarta.faces.component.UIOutput;
+import jakarta.faces.component.UIPanel;
+import jakarta.faces.component.UIViewRoot;
+import jakarta.faces.component.html.HtmlColumn;
+import jakarta.faces.component.html.HtmlDataTable;
+import jakarta.faces.component.html.HtmlOutputText;
+import jakarta.faces.context.ResponseWriter;
+
+import org.apache.myfaces.renderkit.html.HtmlTableRenderer;
+import org.apache.myfaces.renderkit.html.HtmlTextRenderer;
+import org.apache.myfaces.view.facelets.FaceletTestCase;
+import org.apache.myfaces.view.facelets.bean.Example;
+import org.apache.myfaces.util.lang.FastWriter;
+import org.junit.Test;
+
+public class DataTableTestCaseUrn extends FaceletTestCase
+{
+
+ @Override
+ protected void setupComponents() throws Exception
+ {
+ application.addComponent(UIViewRoot.COMPONENT_TYPE, UIViewRoot.class
+ .getName());
+ application.addComponent(UIPanel.COMPONENT_TYPE,
+ UIPanel.class.getName());
+ application.addComponent(HtmlDataTable.COMPONENT_TYPE,
+ HtmlDataTable.class.getName());
+ application.addComponent(UIColumn.COMPONENT_TYPE,
+ UIColumn.class.getName());
+ application.addComponent(HtmlColumn.COMPONENT_TYPE,
+ HtmlColumn.class.getName());
+ application.addComponent(HtmlOutputText.COMPONENT_TYPE,
+ HtmlOutputText.class.getName());
+ }
+
+ @Override
+ protected void setupConvertersAndValidators() throws Exception
+ {
+ }
+
+ @Override
+ protected void setupRenderers() throws Exception
+ {
+ renderKit.addRenderer(UIOutput.COMPONENT_FAMILY,
+ "jakarta.faces.Text", new HtmlTextRenderer());
+ renderKit.addRenderer(UIData.COMPONENT_FAMILY,
+ "jakarta.faces.Table", new HtmlTableRenderer());
+ }
+
+ @Test
+ public void testDataTable() throws Exception
+ {
+ facesContext.getExternalContext().getRequestMap().put("company",
+ Example.createCompany());
+
+ UIViewRoot root = facesContext.getViewRoot();
+ vdl.buildView(facesContext, root, "dataTableUrn.xml");
+
+ FastWriter fw = new FastWriter();
+ ResponseWriter rw = facesContext.getResponseWriter();
+ rw = rw.cloneWithWriter(fw);
+ facesContext.setResponseWriter(rw);
+ root.encodeAll(facesContext);
+ //System.out.println(fw);
+ }
+
+}
diff --git a/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCase.java b/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCase.java
index 30ff14f..e86c520 100644
--- a/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCase.java
+++ b/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCase.java
@@ -18,7 +18,6 @@
*/
package org.apache.myfaces.view.facelets.tag.faces.html;
-import org.apache.myfaces.view.facelets.tag.faces.html.DefaultTagDecorator;
import java.io.StringWriter;
import jakarta.faces.component.UIComponent;
import jakarta.faces.component.UIForm;
@@ -55,6 +54,7 @@ import org.apache.myfaces.test.utils.HtmlRenderedAttr;
import org.apache.myfaces.view.facelets.FaceletTestCase;
import org.apache.myfaces.view.facelets.tag.TagAttributeImpl;
import org.apache.myfaces.view.facelets.tag.TagAttributesImpl;
+import org.apache.myfaces.view.facelets.tag.faces.JsfLibrary;
import org.junit.Assert;
import org.junit.Test;
@@ -256,7 +256,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "body", "body",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_NAMESPACE, "id", "jsf:id", "idBody")
+ new TagAttributeImpl(location, JsfLibrary.NAMESPACE, "id", "jsf:id", "idBody")
}
));
@@ -273,7 +273,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "a", "a",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_NAMESPACE, "action", "jsf:action", "#{test.testAction}")
+ new TagAttributeImpl(location, JsfLibrary.NAMESPACE, "action", "jsf:action", "#{test.testAction}")
}
));
@@ -290,7 +290,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "body", "body",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_ALIAS_NAMESPACE, "id", "jsf:id", "idBody")
+ new TagAttributeImpl(location, JsfLibrary.SUN_NAMESPACE, "id", "jsf:id", "idBody")
}
));
@@ -307,7 +307,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "a", "a",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_ALIAS_NAMESPACE, "action", "jsf:action", "#{test.testAction}")
+ new TagAttributeImpl(location, JsfLibrary.SUN_NAMESPACE, "action", "jsf:action", "#{test.testAction}")
}
));
diff --git a/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCase.java b/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCaseUrn.java
similarity index 97%
copy from impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCase.java
copy to impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCaseUrn.java
index 30ff14f..da3a2ea 100644
--- a/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCase.java
+++ b/impl/src/test/java/org/apache/myfaces/view/facelets/tag/faces/html/DefaultHtmlDecoratorTestCaseUrn.java
@@ -18,7 +18,6 @@
*/
package org.apache.myfaces.view.facelets.tag.faces.html;
-import org.apache.myfaces.view.facelets.tag.faces.html.DefaultTagDecorator;
import java.io.StringWriter;
import jakarta.faces.component.UIComponent;
import jakarta.faces.component.UIForm;
@@ -55,6 +54,7 @@ import org.apache.myfaces.test.utils.HtmlRenderedAttr;
import org.apache.myfaces.view.facelets.FaceletTestCase;
import org.apache.myfaces.view.facelets.tag.TagAttributeImpl;
import org.apache.myfaces.view.facelets.tag.TagAttributesImpl;
+import org.apache.myfaces.view.facelets.tag.faces.JsfLibrary;
import org.junit.Assert;
import org.junit.Test;
@@ -62,7 +62,7 @@ import org.junit.Test;
*
* @author Leonardo Uribe
*/
-public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
+public class DefaultHtmlDecoratorTestCaseUrn extends FaceletTestCase
{
@Override
@@ -81,7 +81,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
request.getSession().setAttribute("test", new MockBean());
UIViewRoot root = facesContext.getViewRoot();
- vdl.buildView(facesContext, root, "testHtmlPassthrough1.xhtml");
+ vdl.buildView(facesContext, root, "testHtmlPassthrough1urn.xhtml");
checkTags();
@@ -97,7 +97,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
request.getSession().setAttribute("test", new MockBean());
UIViewRoot root = facesContext.getViewRoot();
- vdl.buildView(facesContext, root, "testHtmlPassthrough2.xhtml");
+ vdl.buildView(facesContext, root, "testHtmlPassthrough2urn.xhtml");
checkTags();
@@ -256,7 +256,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "body", "body",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_NAMESPACE, "id", "jsf:id", "idBody")
+ new TagAttributeImpl(location, JsfLibrary.NAMESPACE, "id", "jsf:id", "idBody")
}
));
@@ -273,7 +273,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "a", "a",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_NAMESPACE, "action", "jsf:action", "#{test.testAction}")
+ new TagAttributeImpl(location, JsfLibrary.NAMESPACE, "action", "jsf:action", "#{test.testAction}")
}
));
@@ -290,7 +290,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "body", "body",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_ALIAS_NAMESPACE, "id", "jsf:id", "idBody")
+ new TagAttributeImpl(location, JsfLibrary.SUN_NAMESPACE, "id", "jsf:id", "idBody")
}
));
@@ -307,7 +307,7 @@ public class DefaultHtmlDecoratorTestCase extends FaceletTestCase
Tag tag = new Tag(location, DefaultTagDecorator.XHTML_NAMESPACE, "a", "a",
new TagAttributesImpl(new TagAttribute[]
{
- new TagAttributeImpl(location, DefaultTagDecorator.JSF_ALIAS_NAMESPACE, "action", "jsf:action", "#{test.testAction}")
+ new TagAttributeImpl(location, JsfLibrary.SUN_NAMESPACE, "action", "jsf:action", "#{test.testAction}")
}
));
diff --git a/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTable.xml b/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTable.xml
index 72c22ed..27d7b77 100644
--- a/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTable.xml
+++ b/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTable.xml
@@ -15,9 +15,9 @@
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core">
+ xmlns:ui="jakarta.faces.facelets"
+ xmlns:h="jakarta.faces.html"
+ xmlns:f="jakarta.faces.core">
<body>
<ui:composition>
diff --git a/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTable.xml b/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTableUrn.xml
similarity index 100%
copy from impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTable.xml
copy to impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/dataTableUrn.xml
diff --git a/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/testHtmlPassthrough1urn.xhtml b/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/testHtmlPassthrough1urn.xhtml
new file mode 100644
index 0000000..beb6d75
--- /dev/null
+++ b/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/testHtmlPassthrough1urn.xhtml
@@ -0,0 +1,75 @@
+<!--
+ 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.
+
+ $Id: defineInclude.xml 804043 2009-08-13 22:08:44Z lu4242 $
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="jakarta.faces.html"
+ xmlns:f="jakarta.faces.core"
+ xmlns:faces="jakarta.faces">
+<head faces:id="idHead">
+ <link rel="stylesheet" type="text/css" href="custom.css"/>
+ <script type="text/javascript">
+ function hello(){
+ alert("Hello");
+ }
+ </script>
+ <link faces:id="osh" rel="stylesheet" type="text/css" faces:library="mylib" faces:name="resource.css"/>
+ <script faces:id="osc" type="text/javascript">
+ function hello(){
+ alert("Hello");
+ }
+ </script>
+</head>
+<body faces:id="idBody">
+ <form faces:id="myForm">
+ <a faces:id="link1" faces:action="#{test.testAction}"/>
+ <a faces:id="link2" faces:actionListener="#{test.testActionListener}"/>
+ <a faces:id="link3" faces:value="/my/new/location.txt"/>
+ <a faces:id="link4" faces:outcome="rollback"/>
+ <button faces:id="button1" faces:action="#{test.testAction}"/>
+ <button faces:id="button2" faces:outcome="rollback"/>
+ <img faces:id="img1" faces:url="/my/image.png"/>
+ <input faces:id="input1" type="button"/>
+ <input faces:id="input2" type="checkbox"/>
+ <input faces:id="input3" type="color"/>
+ <input faces:id="input4" type="date"/>
+ <input faces:id="input5" type="datetime"/>
+ <input faces:id="input6" type="datetime-local"/>
+ <input faces:id="input7" type="email"/>
+ <input faces:id="input8" type="month"/>
+ <input faces:id="input9" type="number"/>
+ <input faces:id="input10" type="range"/>
+ <input faces:id="input11" type="search"/>
+ <input faces:id="input12" type="time"/>
+ <input faces:id="input13" type="url"/>
+ <input faces:id="input14" type="week"/>
+ <input faces:id="input15" type="file"/>
+ <input faces:id="input16" type="hidden"/>
+ <input faces:id="input17" type="password"/>
+ <input faces:id="input18" type="reset"/>
+ <input faces:id="input19" type="submit"/>
+ <input faces:id="input20" type="anything"/>
+ <label faces:id="label1" />
+ <select faces:id="select1">
+ <f:selectItem itemValue="option1"/>
+ </select>
+ <select faces:id="select2" multiple="multiple">
+ <f:selectItem itemValue="option1"/>
+ <f:selectItem itemValue="option2"/>
+ </select>
+ <textarea faces:id="textarea1"/>
+ </form>
+</body>
+</html>
\ No newline at end of file
diff --git a/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/testHtmlPassthrough2urn.xhtml b/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/testHtmlPassthrough2urn.xhtml
new file mode 100644
index 0000000..d0e0d2d
--- /dev/null
+++ b/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/faces/html/testHtmlPassthrough2urn.xhtml
@@ -0,0 +1,75 @@
+<!--
+ 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.
+
+ $Id: defineInclude.xml 804043 2009-08-13 22:08:44Z lu4242 $
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="jakarta.faces.html"
+ xmlns:f="jakarta.faces.core"
+ xmlns:my="jakarta.faces">
+<head my:id="idHead">
+ <link rel="stylesheet" type="text/css" href="custom.css"/>
+ <script type="text/javascript">
+ function hello(){
+ alert("Hello");
+ }
+ </script>
+ <link my:id="osh" rel="stylesheet" type="text/css" my:library="mylib" my:name="resource.css"/>
+ <script my:id="osc" type="text/javascript">
+ function hello(){
+ alert("Hello");
+ }
+ </script>
+</head>
+<body my:id="idBody">
+ <form my:id="myForm">
+ <a my:id="link1" my:action="#{test.testAction}"/>
+ <a my:id="link2" my:actionListener="#{test.testActionListener}"/>
+ <a my:id="link3" my:value="/my/new/location.txt"/>
+ <a my:id="link4" my:outcome="rollback"/>
+ <button my:id="button1" my:action="#{test.testAction}"/>
+ <button my:id="button2" my:outcome="rollback"/>
+ <img my:id="img1" my:url="/my/image.png"/>
+ <input my:id="input1" type="button"/>
+ <input my:id="input2" type="checkbox"/>
+ <input my:id="input3" type="color"/>
+ <input my:id="input4" type="date"/>
+ <input my:id="input5" type="datetime"/>
+ <input my:id="input6" type="datetime-local"/>
+ <input my:id="input7" type="email"/>
+ <input my:id="input8" type="month"/>
+ <input my:id="input9" type="number"/>
+ <input my:id="input10" type="range"/>
+ <input my:id="input11" type="search"/>
+ <input my:id="input12" type="time"/>
+ <input my:id="input13" type="url"/>
+ <input my:id="input14" type="week"/>
+ <input my:id="input15" type="file"/>
+ <input my:id="input16" type="hidden"/>
+ <input my:id="input17" type="password"/>
+ <input my:id="input18" type="reset"/>
+ <input my:id="input19" type="submit"/>
+ <input my:id="input20" type="anything"/>
+ <label my:id="label1" />
+ <select my:id="select1">
+ <f:selectItem itemValue="option1"/>
+ </select>
+ <select my:id="select2" multiple="multiple">
+ <f:selectItem itemValue="option1"/>
+ <f:selectItem itemValue="option2"/>
+ </select>
+ <textarea my:id="textarea1"/>
+ </form>
+</body>
+</html>
\ No newline at end of file