public class io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl extends java.lang.Object implements com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer
{
private static final java.lang.String HTML_EXTENSION;
static final java.lang.String TARGET_FILTER_PROPERTY;
static final java.lang.String TARGET_FILTER_VALUE;
private final org.slf4j.Logger log;
private com.day.cq.wcm.api.PageManagerFactory pageManagerFactory;
private com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer aemSitemapLinkExternalizer;
public void <init>()
{
org.slf4j.Logger v;
io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl v;
v := @this: io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lio/wcm/handler/link/impl/SeoSitemapLinkExternalizerImpl;");
v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: org.slf4j.Logger log> = v;
return;
}
public java.lang.String externalize(org.apache.sling.api.SlingHttpServletRequest, java.lang.String)
{
org.slf4j.Logger v;
io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl v;
com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer v;
java.lang.String v, v;
org.apache.sling.api.SlingHttpServletRequest v;
v := @this: io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl;
v := @parameter: org.apache.sling.api.SlingHttpServletRequest;
v := @parameter: java.lang.String;
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Use AEM SitemapLinkExternalizer.externalize(SlingHttpServletRequest,String) for path {}", v);
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer aemSitemapLinkExternalizer>;
v = interfaceinvoke v.<com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer: java.lang.String externalize(org.apache.sling.api.SlingHttpServletRequest,java.lang.String)>(v, v);
return v;
}
public java.lang.String externalize(org.apache.sling.api.resource.Resource)
{
org.slf4j.Logger v, v;
org.apache.sling.api.resource.Resource v;
com.day.cq.wcm.api.Page v;
io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl v;
com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer v;
java.lang.String v, v, v;
v := @this: io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl;
v := @parameter: org.apache.sling.api.resource.Resource;
v = specialinvoke v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: com.day.cq.wcm.api.Page getPageForResource(org.apache.sling.api.resource.Resource)>(v);
v = specialinvoke v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: java.lang.String externalizePageLink(com.day.cq.wcm.api.Page)>(v);
if v == null goto label;
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Externalize {} to {}", v, v);
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String removeEnd(java.lang.String,java.lang.String)>(v, ".html");
return v;
label:
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Fallback to AEM SitemapLinkExternalizer.externalize(Resource) for {}", v);
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer aemSitemapLinkExternalizer>;
v = interfaceinvoke v.<com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer: java.lang.String externalize(org.apache.sling.api.resource.Resource)>(v);
return v;
}
public java.lang.String externalize(org.apache.sling.api.resource.ResourceResolver, java.lang.String)
{
org.apache.sling.api.resource.ResourceResolver v;
org.slf4j.Logger v, v;
com.day.cq.wcm.api.Page v;
io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl v;
com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer v;
java.lang.String v, v, v, v;
v := @this: io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl;
v := @parameter: org.apache.sling.api.resource.ResourceResolver;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String removeEnd(java.lang.String,java.lang.String)>(v, ".html");
v = specialinvoke v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: com.day.cq.wcm.api.Page getPageForPath(org.apache.sling.api.resource.ResourceResolver,java.lang.String)>(v, v);
v = specialinvoke v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: java.lang.String externalizePageLink(com.day.cq.wcm.api.Page)>(v);
if v == null goto label;
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Externalize {} to {}", v, v);
return v;
label:
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Fallback to AEM SitemapLinkExternalizer.externalize(ResourceResolver,String) for {}", v);
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer aemSitemapLinkExternalizer>;
v = interfaceinvoke v.<com.adobe.aem.wcm.seo.sitemap.externalizer.SitemapLinkExternalizer: java.lang.String externalize(org.apache.sling.api.resource.ResourceResolver,java.lang.String)>(v, v);
return v;
}
private com.day.cq.wcm.api.Page getPageForPath(org.apache.sling.api.resource.ResourceResolver, java.lang.String)
{
com.day.cq.wcm.api.PageManager v;
org.apache.sling.api.resource.ResourceResolver v;
io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl v;
com.day.cq.wcm.api.PageManagerFactory v;
java.lang.String v;
com.day.cq.wcm.api.Page v;
v := @this: io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl;
v := @parameter: org.apache.sling.api.resource.ResourceResolver;
v := @parameter: java.lang.String;
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: com.day.cq.wcm.api.PageManagerFactory pageManagerFactory>;
v = interfaceinvoke v.<com.day.cq.wcm.api.PageManagerFactory: com.day.cq.wcm.api.PageManager getPageManager(org.apache.sling.api.resource.ResourceResolver)>(v);
v = interfaceinvoke v.<com.day.cq.wcm.api.PageManager: com.day.cq.wcm.api.Page getPage(java.lang.String)>(v);
return v;
}
private com.day.cq.wcm.api.Page getPageForResource(org.apache.sling.api.resource.Resource)
{
com.day.cq.wcm.api.PageManager v;
org.apache.sling.api.resource.ResourceResolver v;
io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl v;
org.apache.sling.api.resource.Resource v;
com.day.cq.wcm.api.PageManagerFactory v;
java.lang.Object v;
v := @this: io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl;
v := @parameter: org.apache.sling.api.resource.Resource;
v = interfaceinvoke v.<org.apache.sling.api.resource.Resource: java.lang.Object adaptTo(java.lang.Class)>(class "Lcom/day/cq/wcm/api/Page;");
if v != null goto label;
v = v.<io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl: com.day.cq.wcm.api.PageManagerFactory pageManagerFactory>;
v = interfaceinvoke v.<org.apache.sling.api.resource.Resource: org.apache.sling.api.resource.ResourceResolver getResourceResolver()>();
v = interfaceinvoke v.<com.day.cq.wcm.api.PageManagerFactory: com.day.cq.wcm.api.PageManager getPageManager(org.apache.sling.api.resource.ResourceResolver)>(v);
v = interfaceinvoke v.<com.day.cq.wcm.api.PageManager: com.day.cq.wcm.api.Page getContainingPage(org.apache.sling.api.resource.Resource)>(v);
label:
return v;
}
private java.lang.String externalizePageLink(com.day.cq.wcm.api.Page)
{
org.apache.sling.api.resource.Resource v, v;
com.day.cq.wcm.api.Page v;
io.wcm.handler.link.LinkBuilder v, v;
io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl v;
io.wcm.handler.url.UrlMode v;
java.lang.Object v, v;
java.lang.String v;
boolean v;
v := @this: io.wcm.handler.link.impl.SeoSitemapLinkExternalizerImpl;
v := @parameter: com.day.cq.wcm.api.Page;
if v == null goto label;
v = interfaceinvoke v.<com.day.cq.wcm.api.Page: org.apache.sling.api.resource.Resource getContentResource()>();
v = staticinvoke <io.wcm.sling.commons.adapter.AdaptTo: java.lang.Object notNull(org.apache.sling.api.adapter.Adaptable,java.lang.Class)>(v, class "Lio/wcm/handler/link/LinkHandler;");
v = interfaceinvoke v.<io.wcm.handler.link.LinkHandler: io.wcm.handler.link.LinkBuilder get(com.day.cq.wcm.api.Page)>(v);
v = <io.wcm.handler.url.UrlModes: io.wcm.handler.url.UrlMode FULL_URL>;
v = interfaceinvoke v.<io.wcm.handler.link.LinkBuilder: io.wcm.handler.link.LinkBuilder urlMode(io.wcm.handler.url.UrlMode)>(v);
v = interfaceinvoke v.<io.wcm.handler.link.LinkBuilder: java.lang.String buildUrl()>();
if v == null goto label;
v = interfaceinvoke v.<com.day.cq.wcm.api.Page: org.apache.sling.api.resource.Resource getContentResource()>();
v = staticinvoke <io.wcm.sling.commons.adapter.AdaptTo: java.lang.Object notNull(org.apache.sling.api.adapter.Adaptable,java.lang.Class)>(v, class "Lio/wcm/handler/url/UrlHandler;");
v = interfaceinvoke v.<io.wcm.handler.url.UrlHandler: boolean isExternalized(java.lang.String)>(v);
if v == 0 goto label;
return v;
label:
return null;
}
}