public class WebpagePlugin extends de.deepamehta.thymeleaf.ThymeleafPlugin implements WebpageService, de.deepamehta.core.service.event.PreCreateAssociationListener
AGGREGATION, ASSOCIATION, AUTHOR_NAME, BACKGROUND_COLOR, BUTTON, BUTTON_STYLE, BUTTON_TITLE, COMPOSITION, DEEPAMEHTA_FILE, FILE_PATH, FONT_COLOR, HEADER, HEADER_CONTENT, HEADER_SCRIPT, HEADER_TITLE, IMAGE_LARGE, IMAGE_SMALL, LINK, MENU_ITEM, MENU_ITEM_ACTIVE, MENU_ITEM_HREF, MENU_ITEM_NAME, PLACEMENT_ABOVE, PLACEMENT_ASIDE_LEFT, PLACEMENT_ASIDE_RIGHT, PLACEMENT_BELOW, REDIRECT, REDIRECT_STATUS_CODE, REDIRECT_TARGET_URL, REDIRECT_WEB_ALIAS, ROLE_CHILD, ROLE_DEFAULT, ROLE_PARENT, SECTION, SECTION_LAYOUT, SECTION_PLACEMENT, SECTION_TITLE, STANDARD_STYLESHEET_URI, STANDARD_WEBSITE_PREFIX, STANDARD_WEBSITE_URI, TILE, TILE_HEADLINE, TILE_HTML, TIME_CREATED, TIME_MODIFIED, USERNAME, WEBPAGE, WEBPAGE_ABOUT, WEBPAGE_ALIAS, WEBPAGE_CONTENT, WEBPAGE_CSS, WEBPAGE_IS_DRAFT, WEBPAGE_TITLE, WEBPAGES_SHARING_MODE, WEBPAGES_WS_NAME, WEBPAGES_WS_URI, WEBSITE, WEBSITE_ABOUT, WEBSITE_CAPTION, WEBSITE_CSS, WEBSITE_FOOTER, WEBSITE_NAME, WEBSITE_PREFIX, WEBSITE_STYLESHEET
Constructor and Description |
---|
WebpagePlugin() |
Modifier and Type | Method and Description |
---|---|
void |
addTemplateResolverBundle(org.osgi.framework.Bundle bundle)
IMPORTANT: If you register your own bundle as a resource for thymeleaf templates you must call
reinitTemplateEngine afterwards.
|
String |
doRedirectToWebsite(long websiteId) |
List<MenuItem> |
getActiveMenuItems(de.deepamehta.core.Topic website)
Returns all topics of type
de.mikromedia.menu.item related to the given `Website` topic. |
com.sun.jersey.api.view.Viewable |
getIndexWebpage()
The method managing the root resource / frontpage.
|
de.deepamehta.core.Topic |
getLargeImageRelated(de.deepamehta.core.Topic header) |
List<Webpage> |
getPublishedWebpages(String username)
Lists all currently published webpages for the usernames website.
|
List<Webpage> |
getPublishedWebpages(de.deepamehta.core.Topic websiteTopic)
Lists and prepares all currently published webpages of the given website.
|
de.deepamehta.core.Topic |
getRelatedHeader(de.deepamehta.core.Topic topic) |
List<de.deepamehta.core.RelatedTopic> |
getRelatedWebpageSections(de.deepamehta.core.Topic page) |
de.deepamehta.core.Topic |
getSmallImageRelated(de.deepamehta.core.Topic header) |
de.deepamehta.core.Topic |
getStandardWebsite()
Fetches the global standard website.
|
com.sun.jersey.api.view.Viewable |
getWebpage(String webAlias)
The methode serving anything on the first resource level at best this resolves to
either a Webpage or a Webpage Redirect (301, 302) or 404.
|
List<Webpage> |
getWebpagesSortedByTimestamp(List<Webpage> all,
boolean lastModified) |
de.deepamehta.core.Topic |
getWebsite() |
de.deepamehta.core.Topic |
getWebsiteByPrefix(String value) |
de.deepamehta.core.Topic |
getWebsiteByUsername(String username)
--------------------------------------------------------------------------------- REST API Resources -----
|
com.sun.jersey.api.view.Viewable |
getWebsitePage(String sitePrefix,
String webAlias)
Serving a specific webpage assigned to the website related to its given prefix (currently "username").
|
void |
init() |
void |
overrideFrontpageTemplate(String fileName) |
void |
preCreateAssociation(de.deepamehta.core.model.AssociationModel am) |
void |
reinitTemplateEngine() |
void |
removeTemplateResolverBundle(org.osgi.framework.Bundle bundle) |
SearchResultList |
searchWebsites(String query,
String typeName) |
void |
setFrontpageAliases(HashMap aliases)
TODO: Renanem to configureRootResources()
|
com.sun.jersey.api.view.Viewable |
view(String fileName) |
void |
viewData(String key,
Object value) |
addTemplateResourceBundle, getTemplateEngine, initTemplateEngine, removeTemplateResourceBundle, serviceRequestFilter
public void init()
init
in interface de.deepamehta.core.osgi.PluginContext
init
in class de.deepamehta.core.osgi.PluginActivator
public com.sun.jersey.api.view.Viewable getIndexWebpage()
Viewable
).public com.sun.jersey.api.view.Viewable getWebpage(String webAlias)
webAlias
- String URI compliant name of the resource without leading slash.Viewable
).public com.sun.jersey.api.view.Viewable getWebsitePage(String sitePrefix, String webAlias)
sitePrefix
- webAlias
- Viewable
).public de.deepamehta.core.Topic getWebsiteByUsername(String username)
getWebsiteByUsername
in interface WebpageService
public SearchResultList searchWebsites(String query, String typeName) throws org.codehaus.jettison.json.JSONException
org.codehaus.jettison.json.JSONException
public de.deepamehta.core.Topic getRelatedHeader(de.deepamehta.core.Topic topic)
public List<de.deepamehta.core.RelatedTopic> getRelatedWebpageSections(de.deepamehta.core.Topic page)
public de.deepamehta.core.Topic getLargeImageRelated(de.deepamehta.core.Topic header)
public de.deepamehta.core.Topic getSmallImageRelated(de.deepamehta.core.Topic header)
public de.deepamehta.core.Topic getWebsite()
public String doRedirectToWebsite(long websiteId) throws javax.ws.rs.WebApplicationException, URISyntaxException
javax.ws.rs.WebApplicationException
URISyntaxException
public List<Webpage> getPublishedWebpages(String username)
getPublishedWebpages
in interface WebpageService
username
- public List<Webpage> getPublishedWebpages(de.deepamehta.core.Topic websiteTopic)
getPublishedWebpages
in interface WebpageService
websiteTopic
- public List<MenuItem> getActiveMenuItems(de.deepamehta.core.Topic website)
de.mikromedia.menu.item
related to the given `Website` topic.getActiveMenuItems
in interface WebpageService
website
- public de.deepamehta.core.Topic getStandardWebsite()
getStandardWebsite
in interface WebpageService
public de.deepamehta.core.Topic getWebsiteByPrefix(String value)
public List<Webpage> getWebpagesSortedByTimestamp(List<Webpage> all, boolean lastModified)
getWebpagesSortedByTimestamp
in interface WebpageService
public void overrideFrontpageTemplate(String fileName)
overrideFrontpageTemplate
in interface WebpageService
public void setFrontpageAliases(HashMap aliases)
setFrontpageAliases
in interface WebpageService
public void viewData(String key, Object value)
viewData
in interface WebpageService
viewData
in class de.deepamehta.thymeleaf.ThymeleafPlugin
public com.sun.jersey.api.view.Viewable view(String fileName)
view
in interface WebpageService
view
in class de.deepamehta.thymeleaf.ThymeleafPlugin
public void reinitTemplateEngine()
reinitTemplateEngine
in interface WebpageService
public void addTemplateResolverBundle(org.osgi.framework.Bundle bundle)
WebpageService
addTemplateResolverBundle
in interface WebpageService
public void removeTemplateResolverBundle(org.osgi.framework.Bundle bundle)
removeTemplateResolverBundle
in interface WebpageService
public void preCreateAssociation(de.deepamehta.core.model.AssociationModel am)
preCreateAssociation
in interface de.deepamehta.core.service.event.PreCreateAssociationListener
Copyright © 2018. All rights reserved.