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)
-
-