You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2013/09/10 17:58:27 UTC
svn commit: r1521532 -
/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ComponentUtils.java
Author: jwaldman
Date: Tue Sep 10 15:58:27 2013
New Revision: 1521532
URL: http://svn.apache.org/r1521532
Log:
TRINIDAD-2397 Provide API to discover location of document that contains tag definition for a given component
Thanks to Prakash Udupa for the patch
Modified:
myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ComponentUtils.java
Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ComponentUtils.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ComponentUtils.java?rev=1521532&r1=1521531&r2=1521532&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ComponentUtils.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ComponentUtils.java Tue Sep 10 15:58:27 2013
@@ -34,6 +34,8 @@ import org.apache.myfaces.trinidad.chang
import org.apache.myfaces.trinidad.change.InsertingComponentFragmentLocator;
import org.apache.myfaces.trinidad.component.FlattenedComponent;
import org.apache.myfaces.trinidad.component.UIXComponent;
+import org.apache.myfaces.trinidad.context.PageResolver;
+import org.apache.myfaces.trinidad.context.RequestContext;
import org.apache.myfaces.trinidad.logging.TrinidadLogger;
/**
@@ -466,7 +468,7 @@ public final class ComponentUtils
// if we are dealing with view root, look no further
if (component == viewRoot)
{
- return viewRoot.getViewId();
+ return _getPhysicalURI(viewRoot.getViewId());
}
String location = null;
@@ -492,7 +494,7 @@ public final class ComponentUtils
{
if (currAncestor == viewRoot)
{
- return viewRoot.getViewId();
+ return _getPhysicalURI(viewRoot.getViewId());
}
// 2a. try to get the location where the tag for ancestor is defined
@@ -584,6 +586,16 @@ public final class ComponentUtils
}
/**
+ * Provides the physical URI of the page with supplied logical view id. The implementation
+ * uses any registered page resolver to do the conversion.
+ */
+ private static String _getPhysicalURI(String logicalViewId)
+ {
+ PageResolver pageResolver = RequestContext.getCurrentInstance().getPageResolver();
+ return pageResolver.getPhysicalURI(logicalViewId);
+ }
+
+ /**
* Returns scoped id for a component
* @param targetComponent The component for which the scoped id needs to be
* determined.