Package org.ametys.core.minimize.css
Class MinimizeCSSManager
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.core.minimize.AbstractMinimizeManager
-
- org.ametys.core.minimize.css.MinimizeCSSManager
-
- All Implemented Interfaces:
LogEnabled
,Initializable
,Component
,Serviceable
public class MinimizeCSSManager extends AbstractMinimizeManager implements Component, Initializable
Minimize manager for CSS files
-
-
Field Summary
Fields Modifier and Type Field Description private io.bit3.jsass.Compiler
_jsassCompiler
private JSASSResourceURIExtensionPoint
_jsassResourceURIExtensionPoint
static String
ROLE
The avalon ROLE-
Fields inherited from class org.ametys.core.minimize.AbstractMinimizeManager
_proxiedContextPathProvider, _resolver, _sourceMapCache
-
-
Constructor Summary
Constructors Constructor Description MinimizeCSSManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private URI
_computeMinimizedUri(String sourceMapUri)
private io.bit3.jsass.Output
_minimizeCss(String cssUri, String nestedParentFilesName, String originalContent, boolean generateSourceMap)
private String
_resolveImportUrl(String content, String nestedParentFilesName)
protected void
addSourceMap(com.google.debugging.sourcemap.SourceMapGeneratorV3 sourceMapGenerator, int lineCount, String fileContent, String fileUri, String sourceMapUri)
Aggregate the source map of the single file with the othersprotected String
applyMediaToContent(String content, String media)
Defaut implementation to apply a media to a content.protected String
formatSourceMappingURL(String sourceMapName)
Format a source mapping URL to be added at the end of a minimized fileprotected String
getMinimizedContent(String fileUri, String nestedParentFilesName)
Get the minimized content at the specified URIprotected String
getSourceMappingURL(String line)
Get the source mapping URL value from the linevoid
initialize()
protected boolean
isSourceMappingURLLine(String line)
Test if the line contains a source mapping URLString
minimizeCss(String code, String location)
Minimize a CSS stringString
minimizeCss(String code, String location, String sourceMapKey, Long lastModified)
Minimize a CSS stringprotected String
removeSourceMappingURLLine(String content)
Remove the source mapping url from the contentvoid
service(ServiceManager smanager)
-
Methods inherited from class org.ametys.core.minimize.AbstractMinimizeManager
convertSourceMapURIs, minimizeAndAggregateURIs, validateAndOutputMinimizedFile
-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_jsassCompiler
private io.bit3.jsass.Compiler _jsassCompiler
-
_jsassResourceURIExtensionPoint
private JSASSResourceURIExtensionPoint _jsassResourceURIExtensionPoint
-
-
Constructor Detail
-
MinimizeCSSManager
public MinimizeCSSManager()
-
-
Method Detail
-
initialize
public void initialize() throws Exception
- Specified by:
initialize
in interfaceInitializable
- Throws:
Exception
-
service
public void service(ServiceManager smanager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractMinimizeManager
- Throws:
ServiceException
-
minimizeCss
public String minimizeCss(String code, String location) throws ProcessingException, IOException
Minimize a CSS string- Parameters:
code
- The CSS codelocation
- The CSS location, can be null if no location was determined- Returns:
- The minimized CSS
- Throws:
ProcessingException
- If an error occurred during minimizationIOException
- If an error occurred while retrieving the source map
-
minimizeCss
public String minimizeCss(String code, String location, String sourceMapKey, Long lastModified) throws IOException, ProcessingException
Minimize a CSS string- Parameters:
code
- The CSS codelocation
- The CSS location, can be null if no location was determined, in which case no source map will be generatedsourceMapKey
- The key to store the source map in cache. Can be null to prevent source map generationlastModified
- The last modified date of the code, used to assert validity of the source map cache. Can be null- Returns:
- The minimized CSS
- Throws:
ProcessingException
- If an error occurred during minimizationIOException
- If an error occurred while retrieving the source map
-
getMinimizedContent
protected String getMinimizedContent(String fileUri, String nestedParentFilesName)
Description copied from class:AbstractMinimizeManager
Get the minimized content at the specified URI- Specified by:
getMinimizedContent
in classAbstractMinimizeManager
- Parameters:
fileUri
- The urinestedParentFilesName
- The parents file name, can be an empty string if there are no parents- Returns:
- The minimized content of the specified URI
-
applyMediaToContent
protected String applyMediaToContent(String content, String media)
Description copied from class:AbstractMinimizeManager
Defaut implementation to apply a media to a content.- Overrides:
applyMediaToContent
in classAbstractMinimizeManager
- Parameters:
content
- The contentmedia
- The media- Returns:
- The content with the media
-
_minimizeCss
private io.bit3.jsass.Output _minimizeCss(String cssUri, String nestedParentFilesName, String originalContent, boolean generateSourceMap) throws ProcessingException
- Throws:
ProcessingException
-
_computeMinimizedUri
private URI _computeMinimizedUri(String sourceMapUri) throws URISyntaxException
- Throws:
URISyntaxException
-
_resolveImportUrl
private String _resolveImportUrl(String content, String nestedParentFilesName) throws URISyntaxException
- Throws:
URISyntaxException
-
addSourceMap
protected void addSourceMap(com.google.debugging.sourcemap.SourceMapGeneratorV3 sourceMapGenerator, int lineCount, String fileContent, String fileUri, String sourceMapUri)
Description copied from class:AbstractMinimizeManager
Aggregate the source map of the single file with the others- Specified by:
addSourceMap
in classAbstractMinimizeManager
- Parameters:
sourceMapGenerator
- The aggregator helperlineCount
- The current line countfileContent
- The content of the filefileUri
- The uri of the filesourceMapUri
- The sourceMappingURL found at the end of the file content
-
isSourceMappingURLLine
protected boolean isSourceMappingURLLine(String line)
Description copied from class:AbstractMinimizeManager
Test if the line contains a source mapping URL- Specified by:
isSourceMappingURLLine
in classAbstractMinimizeManager
- Parameters:
line
- The line- Returns:
- True if a source mapping url is found
-
getSourceMappingURL
protected String getSourceMappingURL(String line)
Description copied from class:AbstractMinimizeManager
Get the source mapping URL value from the line- Specified by:
getSourceMappingURL
in classAbstractMinimizeManager
- Parameters:
line
- The line- Returns:
- The source mapping URL
-
removeSourceMappingURLLine
protected String removeSourceMappingURLLine(String content)
Description copied from class:AbstractMinimizeManager
Remove the source mapping url from the content- Specified by:
removeSourceMappingURLLine
in classAbstractMinimizeManager
- Parameters:
content
- The content- Returns:
- The content without the mention of the source mapping URL
-
formatSourceMappingURL
protected String formatSourceMappingURL(String sourceMapName)
Description copied from class:AbstractMinimizeManager
Format a source mapping URL to be added at the end of a minimized file- Specified by:
formatSourceMappingURL
in classAbstractMinimizeManager
- Parameters:
sourceMapName
- The map name- Returns:
- The source mapping URL line
-
-