lumis.portal.theme
Class ThemeManager

Package class diagram package ThemeManager
java.lang.Object
  extended by lumis.portal.theme.ThemeManager
All Implemented Interfaces:
IThemeManagerSPI

public class ThemeManager
extends Object
implements IThemeManagerSPI

Implements theme related operations.

Since:
7.0.0

Field Summary
static String APPLIED_THEME_PROPERTY_BAG_NAME
          Applied themes property bag name.
static String BASE_THEME_PREFIX
          Base theme prefix lum_basetheme/.
static String CLASSIC_THEME_ID
          The classic theme identifier.
static String NO_THEME_PREFIX
          No theme prefix lum_notheme/.
static String THEME_DEFINITION_FILE
          The theme definition file name.
static String THEME_WWW_RESOURCE_PREFIX
          The WWW resource prefix lumis-theme/.
 
Constructor Summary
ThemeManager()
           
 
Method Summary
 void copyThemesFilesToWebRoots(Collection<? extends ITheme> themes, Collection<IWebRootPortalBaseFolder> webRoots)
          Copies the given themes' WWW resources to the given web root folders.
 Collection<ITheme> getAllThemes()
          Returns all existent themes.
 List<String> getAppliedThemesIds(ChannelConfig channel)
          Return the applied themes (identifiers) in the given channel.
 List<String> getAppliedThemesIds(PageConfig page)
          Returns the applied themes (identifiers) in the given page.
 ThemeUsageConfig getLocalThemes(ChannelConfig channel, String runtimeInterfaceId)
          Returns the theme appliance for the given channel.
 ThemeUsageConfig getLocalThemes(PageConfig page, String runtimeInterfaceId)
          Returns the theme appliance for the given page.
 IThemeSPI getTheme(String themeId)
          Returns the theme with the given identifier.
 List<ITheme> getThemes(PageWebResource pageWebResource)
          Returns the applied themes in the given page.
 String processThemePathReferences(String htmlContent, List<? extends ITheme> themes)
          Process the given HTML fragment to replace the themes' resources.
 void register(String themePath)
          Registers a theme in the specified classpath relative path.
 void removeThemeFolderFromWebRoots(Collection<? extends ITheme> themes, Collection<IWebRootPortalBaseFolder> webRoots)
          Removes the given themes' folders from the given web root folders.
 void unregister(String themeId)
          Unregisters a theme, removing it from the themes registry.
 void unregister(String themeId, boolean verifyUsage)
          Unregisters a theme, removing it from the themes registry.
 void updateLocalThemeUsage(ChannelConfig channel, ThemeUsageConfig themeAppliance)
          Updates the theme appliance for the given channel.
 void updateLocalThemeUsage(PageConfig page, ThemeUsageConfig themeAppliance)
          Updates the theme appliance for the given page.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

THEME_DEFINITION_FILE

public static final String THEME_DEFINITION_FILE
The theme definition file name.

Since:
7.0.0
See Also:
Constant Field Values

APPLIED_THEME_PROPERTY_BAG_NAME

public static final String APPLIED_THEME_PROPERTY_BAG_NAME
Applied themes property bag name.

Since:
7.0.0
See Also:
Constant Field Values

BASE_THEME_PREFIX

public static final String BASE_THEME_PREFIX
Base theme prefix lum_basetheme/.

Since:
7.0.0
See Also:
Constant Field Values

NO_THEME_PREFIX

public static final String NO_THEME_PREFIX
No theme prefix lum_notheme/.

Since:
7.0.0
See Also:
Constant Field Values

THEME_WWW_RESOURCE_PREFIX

public static final String THEME_WWW_RESOURCE_PREFIX
The WWW resource prefix lumis-theme/.

Since:
7.0.0
See Also:
Constant Field Values

CLASSIC_THEME_ID

public static final String CLASSIC_THEME_ID
The classic theme identifier.

Since:
7.0.0
See Also:
Constant Field Values
Constructor Detail

ThemeManager

public ThemeManager()
Method Detail

register

public void register(String themePath)
              throws PortalException
Description copied from interface: IThemeManagerSPI
Registers a theme in the specified classpath relative path.

The theme will be added or updated in the themes registry.

Specified by:
register in interface IThemeManagerSPI
Parameters:
themePath - the relative path in the classpath, referencing the folder that contains the themedefintion.xml file.
Throws:
PortalException - if an error occurs during register.

unregister

public void unregister(String themeId)
                throws PortalException
Description copied from interface: IThemeManagerSPI
Unregisters a theme, removing it from the themes registry.

Specified by:
unregister in interface IThemeManagerSPI
Parameters:
themeId - the theme identifier.
Throws:
PortalException - if an error occurs during unregister.

unregister

public void unregister(String themeId,
                       boolean verifyUsage)
                throws PortalException
Unregisters a theme, removing it from the themes registry.

Parameters:
themeId - the theme identifier.
verifyUsage - indicates whether the theme usage must be done.
Throws:
PortalException
Since:
7.0.0

getTheme

public IThemeSPI getTheme(String themeId)
                   throws PortalException
Description copied from interface: IThemeManagerSPI
Returns the theme with the given identifier.

Specified by:
getTheme in interface IThemeManagerSPI
Parameters:
themeId - the theme identifier.
Returns:
the theme.
Throws:
PortalObjectNotFoundException - if no theme exists with the given identifier.
PortalException - if an error occurred while obtaining the theme.

getAppliedThemesIds

public List<String> getAppliedThemesIds(ChannelConfig channel)
                                 throws PortalException
Return the applied themes (identifiers) in the given channel.

Parameters:
channel - the channel.
Returns:
the applied themes in the given channel.
Throws:
PortalException
Since:
7.0.0

getAppliedThemesIds

public List<String> getAppliedThemesIds(PageConfig page)
                                 throws PortalException
Returns the applied themes (identifiers) in the given page.

Parameters:
page - the page.
Returns:
the applied themes in the given page.
Throws:
PortalException
Since:
7.0.0

getThemes

public List<ITheme> getThemes(PageWebResource pageWebResource)
                       throws PortalException
Returns the applied themes in the given page. Ignores the inexistent themes.

Parameters:
pageWebResource - the page web resource.
Returns:
the applied themes in the given page.
Throws:
PortalException
Since:
7.0.0

getLocalThemes

public ThemeUsageConfig getLocalThemes(PageConfig page,
                                       String runtimeInterfaceId)
                                throws PortalException
Returns the theme appliance for the given page.

Parameters:
page - the page.
runtimeInterfaceId - the runtime interface identifier being requested (if any).
Returns:
the theme appliance for the given page.
Throws:
PortalException
Since:
7.0.0

getLocalThemes

public ThemeUsageConfig getLocalThemes(ChannelConfig channel,
                                       String runtimeInterfaceId)
                                throws PortalException
Returns the theme appliance for the given channel.

Parameters:
channel - the channel.
runtimeInterfaceId - the runtime interface identifier being requested (if any).
Returns:
the theme appliance for the given channel.
Throws:
PortalException
Since:
7.0.0

updateLocalThemeUsage

public void updateLocalThemeUsage(PageConfig page,
                                  ThemeUsageConfig themeAppliance)
                           throws PortalException
Updates the theme appliance for the given page.

Parameters:
page - the page.
themeAppliance - the theme appliance.
Throws:
PortalException
Since:
7.0.0

updateLocalThemeUsage

public void updateLocalThemeUsage(ChannelConfig channel,
                                  ThemeUsageConfig themeAppliance)
                           throws PortalException
Updates the theme appliance for the given channel.

Parameters:
channel - the channel.
themeAppliance - the theme appliance.
Throws:
PortalException
Since:
7.0.0

processThemePathReferences

public String processThemePathReferences(String htmlContent,
                                         List<? extends ITheme> themes)
                                  throws PortalException
Process the given HTML fragment to replace the themes' resources.

Parameters:
htmlContent - the HTML fragment.
themes - the applied themes.
Returns:
the processed HTML.
Throws:
PortalException
Since:
7.0.0

copyThemesFilesToWebRoots

public void copyThemesFilesToWebRoots(Collection<? extends ITheme> themes,
                                      Collection<IWebRootPortalBaseFolder> webRoots)
                               throws PortalException
Copies the given themes' WWW resources to the given web root folders.

Parameters:
themes - the themes.
webRoots - the web root folders.
Throws:
PortalException
Since:
7.0.0

removeThemeFolderFromWebRoots

public void removeThemeFolderFromWebRoots(Collection<? extends ITheme> themes,
                                          Collection<IWebRootPortalBaseFolder> webRoots)
                                   throws PortalException
Removes the given themes' folders from the given web root folders. If the remaining folder "lumis-theme" is empty after the themes' folders removal it will also be removed.

Parameters:
themes - the themes.
webRoots - the web root folders.
Throws:
PortalException
Since:
7.0.0

getAllThemes

public Collection<ITheme> getAllThemes()
                                throws PortalException
Returns all existent themes. Does not use cache.

Returns:
all existent themes.
Throws:
PortalException
Since:
7.0.0


Lumisportal  7.0.0.121130 - Copyright © 2006–2012 Lumis EIP Tecnologia da Informação LTDA. All Rights Reserved.