public class DynamicSitemapGenerator extends GenericService implements SitemapGenerator
This is an example of what will be generated:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/</loc> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> </urlset>
The available tags are described below:
For additional information see Sitemap protocol
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
static java.lang.String |
SITEMAP_FOOTER |
SERVICE_INFO_KEY
MAX_SITEMAPS, MAX_SIZE, MAX_URLS, NUCLEUS_SERVLET_PATH
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
DynamicSitemapGenerator() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
cutServletPathFromSitemapURL(java.lang.String sitemapURL)
Cut servlet path from the generated sitemap URL.
|
void |
generateSitemap(SitemapGeneratorService pSitemapGeneratorService)
This method generates sitemaps.
|
void |
generateSitemapUrls(java.lang.String pItemDescriptorName,
SitemapGeneratorService pSitemapGeneratorService)
This method generates sitemap repository items for
pItemDescriptorName
If number of URLs exceeds limits set in MaxSitemapSize or in MaxUrlsPerSitemap
then generator split up sitemap into several sitemaps. |
void |
generateSitemapUrls(java.lang.String pItemDescriptorName,
SitemapGeneratorService pSitemapGeneratorService,
java.lang.String pSiteId)
This method generates sitemap repository items for
pItemDescriptorName
If number of URLs exceeds limits set in MaxSitemapSize or in MaxUrlsPerSitemap
then generator split up sitemap into several sitemaps. |
java.lang.String |
getChangeFrequency()
Returns how frequently the page is likely to change.
|
java.lang.String |
getItemDescriptorName()
Returns item descriptor name.
|
int |
getNumberOfItemsPerTransaction()
Returns number of items per transaction.
|
java.lang.Float |
getPriority()
Returns the priority of URL relative to other URLs on site.
|
protected Query |
getQuery(Repository pRepository,
java.lang.String pItemDescriptorName)
Gets unconstrained query for retrieving all repository items of specified
type from repository.
|
java.lang.String |
getSitemapFilePrefix()
Returns sitemap file prefix.
|
java.lang.String |
getSitemapURL(RepositoryItem pRepositoryItem)
Returns sitemap URL for
pRepositoryItem generated using direct/indirect
template specified in components template property |
java.lang.String |
getSitemapURL(RepositoryItem pRepositoryItem,
RepositoryItem pSite,
SitemapGeneratorService pSitemapGeneratorService)
Returns sitemap URL for
pRepositoryItem generated using direct/indirect
template specified in components template property |
protected SortDirectives |
getSortDirectives()
Gets sort directives to use for repository items querying from
source repository.
|
atg.adapter.gsa.GSARepository |
getSourceRepository()
Returns repository where generator retrieves
information to build sitemap.
|
UrlTemplate |
getTemplate()
Returns template used to generate URL for repository item.
|
javax.transaction.TransactionManager |
getTransactionManager()
Returns current transaction manager.
|
protected UrlParameterLookup |
getUrlParameterLookup(java.lang.String pLookupItemName,
RepositoryItem pItem)
Creates lookup for URL parameters with item name
pLookupItemName and
for the specified repository item. |
java.lang.String |
getUrlPrefix()
Returns URL prefix to the application with protocol, host, port
|
WebApp |
getWebApp()
Returns representation of web application in
WebApp . |
boolean |
isNeedServletPathOnSitemapURL() |
protected void |
populateUrlParameters(UrlParameter[] pParameters,
UrlParameterLookup[] pLookups)
Finds best matching lookups for URL parameters based on their names and
populates parameters with values.
|
protected void |
preGenerateSitemapUrls(SitemapGeneratorService pSitemapGeneratorService,
java.lang.String pSiteId)
Configure some context before sitemap generating.
|
void |
setChangeFrequency(java.lang.String pChangeFrequency)
Sets how frequently the page is likely to change.
|
void |
setItemDescriptorName(java.lang.String pItemDescriptorName)
Sets new item descriptor name.
|
void |
setNeedServletPathOnSitemapURL(boolean pNeedServletPathOnSitemapURL)
Sets NeedServletPathOnSitemapURL value.
|
void |
setNumberOfItemsPerTransaction(int pNumberOfItemsPerTransaction)
Sets number of items per transaction.
|
void |
setPriority(java.lang.Float pPriority)
Sets the priority of URL relative to other URLs on site.
|
void |
setSitemapFilePrefix(java.lang.String pSitemapFilePrefix)
Sets sitemap file prefix.
|
void |
setSourceRepository(atg.adapter.gsa.GSARepository pSourceRepository)
Sets repository where generator retrieves
information to build sitemap.
|
void |
setTemplate(UrlTemplate pTemplate)
Sets new URL template.
|
void |
setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
Sets new TransactionManager.
|
void |
setUrlPrefix(java.lang.String pUrlPrefix)
Sets new URL prefix to the application with protocol, host, port
|
void |
setWebApp(WebApp pWebApp)
Sets new
WebApp web application representation. |
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
public static final java.lang.String SITEMAP_FOOTER
public atg.adapter.gsa.GSARepository getSourceRepository()
public void setSourceRepository(atg.adapter.gsa.GSARepository pSourceRepository)
pSourceRepository
- source repositorypublic java.lang.String getSitemapFilePrefix()
public void setSitemapFilePrefix(java.lang.String pSitemapFilePrefix)
SitemapFilePrefix
- new sitemap file prefix.public java.lang.String getItemDescriptorName()
SourceRepository
.public void setItemDescriptorName(java.lang.String pItemDescriptorName)
ItemDescriptorName
- item descriptor for items from SourceRepository
public javax.transaction.TransactionManager getTransactionManager()
public void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
TransactionManager
- new transaction manager instancepublic int getNumberOfItemsPerTransaction()
SourceProperty
public void setNumberOfItemsPerTransaction(int pNumberOfItemsPerTransaction)
SourceProperty
NumberOfItemsPerTransaction
- number of items per transaction.public WebApp getWebApp()
WebApp
.public void setWebApp(WebApp pWebApp)
WebApp
web application representation.WebApp
- new WebApp componentpublic java.lang.String getUrlPrefix()
public void setUrlPrefix(java.lang.String pUrlPrefix)
UrlPrefix
- new URL prefix to the application with protocol, host, portpublic java.lang.Float getPriority()
public void setPriority(java.lang.Float pPriority)
pPriority
- the priority of URL relative to other URLs on site.public java.lang.String getChangeFrequency()
public void setChangeFrequency(java.lang.String pChangeFrequency)
pChangeFrequency
- how frequently the page is likely to change.public UrlTemplate getTemplate()
ItemDescriptorName
Both direct and indirect templates can be set here. Use indirect template to
generate sitemap with static URLs for repository items like
http://mywebsite.com/mywebapp/jump/product/12345/Button+collar+Oxford+Shirt/
To generate sitemap with dynamic URLs direct template can be passed here:
e.g. http://mywebsite.com/mywebapp/browse/productDetail.jsp?productId=12345public void setTemplate(UrlTemplate pTemplate)
ItemDescriptorName
pTemplate
- the UrlTemplate to setpublic boolean isNeedServletPathOnSitemapURL()
public void setNeedServletPathOnSitemapURL(boolean pNeedServletPathOnSitemapURL)
pNeedServletPathOnSitemapURL
- the boolean value to setpublic void generateSitemap(SitemapGeneratorService pSitemapGeneratorService)
generateSitemap
in interface SitemapGenerator
public void generateSitemapUrls(java.lang.String pItemDescriptorName, SitemapGeneratorService pSitemapGeneratorService)
pItemDescriptorName
If number of URLs exceeds limits set in MaxSitemapSize or in MaxUrlsPerSitemap
then generator split up sitemap into several sitemaps.pItemDescriptorName
- item descriptor namepSitemapGeneratorService
- Sitemap Generator service that hold all global settingspublic void generateSitemapUrls(java.lang.String pItemDescriptorName, SitemapGeneratorService pSitemapGeneratorService, java.lang.String pSiteId)
pItemDescriptorName
If number of URLs exceeds limits set in MaxSitemapSize or in MaxUrlsPerSitemap
then generator split up sitemap into several sitemaps.pItemDescriptorName
- item descriptor namepSitemapGeneratorService
- Sitemap Generator service that hold all global settingspSiteId
- site ID for which sitemap should be generatedpublic java.lang.String getSitemapURL(RepositoryItem pRepositoryItem) throws RepositoryException
pRepositoryItem
generated using direct/indirect
template specified in components template
propertypRepositoryItem
- repository itemRepositoryException
public java.lang.String getSitemapURL(RepositoryItem pRepositoryItem, RepositoryItem pSite, SitemapGeneratorService pSitemapGeneratorService) throws RepositoryException
pRepositoryItem
generated using direct/indirect
template specified in components template
propertypRepositoryItem
- repository itempSite
- Site repository itempSitemapGeneratorService
- Sitemap Generator service that holds global settingsRepositoryException
protected UrlParameterLookup getUrlParameterLookup(java.lang.String pLookupItemName, RepositoryItem pItem)
pLookupItemName
and
for the specified repository item.pLookupItemName
- lookup item namepItem
- repository item to lookup properties ofprotected void populateUrlParameters(UrlParameter[] pParameters, UrlParameterLookup[] pLookups)
pParameters
- array of URL parameterspLookups
- array of lookupsprotected Query getQuery(Repository pRepository, java.lang.String pItemDescriptorName) throws RepositoryException
pRepository
- - source repository.pItemDescriptorName
- - name of the item descriptor.RepositoryException
protected SortDirectives getSortDirectives()
protected void preGenerateSitemapUrls(SitemapGeneratorService pSitemapGeneratorService, java.lang.String pSiteId)
pSitemapGeneratorService
- Sitemap Generator service that holds global settings
for sitemap generating.pSiteId
- site ID for which sitemap is generated.public java.lang.String cutServletPathFromSitemapURL(java.lang.String sitemapURL)
sitemapURL
- String generated sitemap URL