Package org.ametys.cms.scripts
Class CmsScriptHandler
- java.lang.Object
 - 
- org.ametys.runtime.plugin.component.AbstractLogEnabled
 - 
- org.ametys.plugins.core.ui.script.ScriptHandler
 - 
- org.ametys.cms.scripts.CmsScriptHandler
 
 
 
 
- 
- All Implemented Interfaces:
 LogEnabled,Component,Contextualizable,Serviceable
public class CmsScriptHandler extends ScriptHandler
Content aware script handler using search model 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classCmsScriptHandler.CmsResultProcessor- 
Nested classes/interfaces inherited from class org.ametys.plugins.core.ui.script.ScriptHandler
ScriptHandler.ResultProcessor 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description private ContentHelper_contentHelperprivate ContentTypeExtensionPoint_contentTypeExtensionPointprivate ContentTypesHelper_contentTypesHelperprivate ServiceManager_managerprivate SearchUIModelExtensionPoint_searchUIModelEPprivate SearchUIModelHelper_searchUIModelHelperprivate SystemPropertyExtensionPoint_systemPropEPprivate ContentValuesExtractorFactory_valuesExtractorFactory- 
Fields inherited from class org.ametys.plugins.core.ui.script.ScriptHandler
_context, _currentUserProvider, _i18nUtils, _rightManager, _scriptBindingEP, RIGHT_EXECUTE_SCRIPTS, ROLE 
 - 
 
- 
Constructor Summary
Constructors Constructor Description CmsScriptHandler() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void_addColumnsConfiguration(Collection<String> columns, Set<ContentType> commonAncestors, MutableConfiguration columnsDefaultConf)protected SearchUIModel_createModel(ThreadSafeComponentManager<SearchUIModel> localSearchModelManager, String defaultModelId, Collection<String> columns, Collection<Content> contents)Create and return a dynamic model based on desired columns or return a default model.protected void_handleColumnConfiguration(MutableConfiguration columnConf, String column)Add/modify column configurationprivate boolean_hasNonAbstractAncestors(Set<ContentType> commonAncestors)private boolean_isTitleMultilingual(Content content)protected ScriptExecArgumentsbuildExecArguments(Map<String,Object> arguments)Builds theScriptExecArgumentsobject from the untyped JS object (seen as a Map in Java)Map<String,Object>content2Json(Content content, Collection<SearchUIColumn> searchColumns, ContentValuesExtractorFactory.SearchModelContentValuesExtractor extractor)Convert content to jsonSearchUIModelgetOrCreateModel(Collection<String> columns, List<Content> contents, String defaultModelId)Computes the model associated with the given contents and result columns.
Used by scripts functions creating reports or search results.protected ScriptHandler.ResultProcessorgetProcessor()Returns theScriptHandler.ResultProcessorused to process script result.protected ObjectprocessScriptResult(Map<String,Object> results, Object scriptResult, ScriptExecArguments execArgs)Process the result of the scriptvoidservice(ServiceManager serviceManager)- 
Methods inherited from class org.ametys.plugins.core.ui.script.ScriptHandler
_executeScript, contextualize, executeScript, executeScript, executeScript, getScriptBindingDescription, getWorkspaceName 
- 
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger 
 - 
 
 - 
 
- 
- 
Field Detail
- 
_searchUIModelHelper
private SearchUIModelHelper _searchUIModelHelper
 
- 
_searchUIModelEP
private SearchUIModelExtensionPoint _searchUIModelEP
 
- 
_contentTypesHelper
private ContentTypesHelper _contentTypesHelper
 
- 
_contentTypeExtensionPoint
private ContentTypeExtensionPoint _contentTypeExtensionPoint
 
- 
_systemPropEP
private SystemPropertyExtensionPoint _systemPropEP
 
- 
_manager
private ServiceManager _manager
 
- 
_valuesExtractorFactory
private ContentValuesExtractorFactory _valuesExtractorFactory
 
- 
_contentHelper
private ContentHelper _contentHelper
 
 - 
 
- 
Constructor Detail
- 
CmsScriptHandler
public CmsScriptHandler()
 
 - 
 
- 
Method Detail
- 
service
public void service(ServiceManager serviceManager) throws ServiceException
- Specified by:
 servicein interfaceServiceable- Overrides:
 servicein classScriptHandler- Throws:
 ServiceException
 
- 
buildExecArguments
protected ScriptExecArguments buildExecArguments(Map<String,Object> arguments)
Description copied from class:ScriptHandlerBuilds theScriptExecArgumentsobject from the untyped JS object (seen as a Map in Java)- Overrides:
 buildExecArgumentsin classScriptHandler- Parameters:
 arguments- The untyped JS object- Returns:
 - the 
ScriptExecArguments 
 
- 
processScriptResult
protected Object processScriptResult(Map<String,Object> results, Object scriptResult, ScriptExecArguments execArgs)
Description copied from class:ScriptHandlerProcess the result of the script- Overrides:
 processScriptResultin classScriptHandler- Parameters:
 results- The results map, available to fillscriptResult- The result of the scriptexecArgs- The script execution arguments- Returns:
 - The processed result
 
 
- 
getProcessor
protected ScriptHandler.ResultProcessor getProcessor()
Description copied from class:ScriptHandlerReturns theScriptHandler.ResultProcessorused to process script result.- Overrides:
 getProcessorin classScriptHandler- Returns:
 - the 
ScriptHandler.ResultProcessor. 
 
- 
getOrCreateModel
public SearchUIModel getOrCreateModel(Collection<String> columns, List<Content> contents, String defaultModelId) throws Exception
Computes the model associated with the given contents and result columns.
Used by scripts functions creating reports or search results.- Parameters:
 columns- the columns of the resultscontents- the contents for the results (one content per line)defaultModelId- the fallback model- Returns:
 - the computed search model
 - Throws:
 Exception- if something went wrong.
 
- 
_createModel
protected SearchUIModel _createModel(ThreadSafeComponentManager<SearchUIModel> localSearchModelManager, String defaultModelId, Collection<String> columns, Collection<Content> contents) throws Exception
Create and return a dynamic model based on desired columns or return a default model.- Parameters:
 localSearchModelManager- The local search managerdefaultModelId- The default model idcolumns- The columnscontents- The contents- Returns:
 - The search model
 - Throws:
 Exception- If an error occurred
 
- 
_hasNonAbstractAncestors
private boolean _hasNonAbstractAncestors(Set<ContentType> commonAncestors)
 
- 
_addColumnsConfiguration
private void _addColumnsConfiguration(Collection<String> columns, Set<ContentType> commonAncestors, MutableConfiguration columnsDefaultConf)
 
- 
_handleColumnConfiguration
protected void _handleColumnConfiguration(MutableConfiguration columnConf, String column)
Add/modify column configuration- Parameters:
 columnConf- The mutable configuration object that will be used to create the column.column- The column identifier
 
- 
content2Json
public Map<String,Object> content2Json(Content content, Collection<SearchUIColumn> searchColumns, ContentValuesExtractorFactory.SearchModelContentValuesExtractor extractor)
Convert content to json- Parameters:
 content- The contentsearchColumns- The columns, to know which value to fillextractor- The properties extractor- Returns:
 - The json data
 
 
- 
_isTitleMultilingual
private boolean _isTitleMultilingual(Content content)
 
 - 
 
 -