Search in sources :

Example 1 with ScriptService

use of org.alfresco.service.cmr.repository.ScriptService in project alfresco-repository by Alfresco.

the class ExecuteScriptJob method execute.

/**
 * Executes the scheduled script
 *
 * @see org.quartz.Job#execute(org.quartz.JobExecutionContext)
 */
public void execute(JobExecutionContext context) throws JobExecutionException {
    JobDataMap jobData = context.getJobDetail().getJobDataMap();
    // Get the script service from the job map
    Object scriptServiceObj = jobData.get(PARAM_SCRIPT_SERVICE);
    if (scriptServiceObj == null || !(scriptServiceObj instanceof ScriptService)) {
        throw new AlfrescoRuntimeException("ExecuteScriptJob data must contain valid script service");
    }
    // Get the script location from the job map
    Object scriptLocationObj = jobData.get(PARAM_SCRIPT_LOCATION);
    if (scriptLocationObj == null || !(scriptLocationObj instanceof ScriptLocation)) {
        throw new AlfrescoRuntimeException("ExecuteScriptJob data must contain valid script location");
    }
    // Get the authentication component from the job map
    Object authenticationComponentObj = jobData.get(PARAM_AUTHENTICATION_COMPONENT);
    if (authenticationComponentObj == null || !(authenticationComponentObj instanceof AuthenticationComponent)) {
        throw new AlfrescoRuntimeException("ExecuteScriptJob data must contain valid authentication component");
    }
    // Execute the script as the system user
    ((AuthenticationComponent) authenticationComponentObj).setSystemUserAsCurrentUser();
    try {
        // Execute the script
        ((ScriptService) scriptServiceObj).executeScript((ScriptLocation) scriptLocationObj, null);
    } finally {
        ((AuthenticationComponent) authenticationComponentObj).clearCurrentSecurityContext();
    }
}
Also used : ScriptService(org.alfresco.service.cmr.repository.ScriptService) JobDataMap(org.quartz.JobDataMap) AuthenticationComponent(org.alfresco.repo.security.authentication.AuthenticationComponent) AlfrescoRuntimeException(org.alfresco.error.AlfrescoRuntimeException) ScriptLocation(org.alfresco.service.cmr.repository.ScriptLocation)

Example 2 with ScriptService

use of org.alfresco.service.cmr.repository.ScriptService in project alfresco-repository by Alfresco.

the class PreferenceServiceImplTest method initStaticData.

@BeforeClass
public static void initStaticData() throws Exception {
    CONTENT_SERVICE = APP_CONTEXT_INIT.getApplicationContext().getBean("ContentService", ContentService.class);
    PERSON_SERVICE = APP_CONTEXT_INIT.getApplicationContext().getBean("PersonService", PersonService.class);
    PREFERENCE_SERVICE = APP_CONTEXT_INIT.getApplicationContext().getBean("PreferenceService", PreferenceService.class);
    SCRIPT_SERVICE = APP_CONTEXT_INIT.getApplicationContext().getBean("ScriptService", ScriptService.class);
    TRANSACTION_HELPER = APP_CONTEXT_INIT.getApplicationContext().getBean("retryingTransactionHelper", RetryingTransactionHelper.class);
    Repository repositoryHelper = (Repository) APP_CONTEXT_INIT.getApplicationContext().getBean("repositoryHelper");
    COMPANY_HOME = repositoryHelper.getCompanyHome();
}
Also used : ScriptService(org.alfresco.service.cmr.repository.ScriptService) Repository(org.alfresco.repo.model.Repository) PreferenceService(org.alfresco.service.cmr.preference.PreferenceService) RetryingTransactionHelper(org.alfresco.repo.transaction.RetryingTransactionHelper) PersonService(org.alfresco.service.cmr.security.PersonService) ContentService(org.alfresco.service.cmr.repository.ContentService) BeforeClass(org.junit.BeforeClass)

Aggregations

ScriptService (org.alfresco.service.cmr.repository.ScriptService)2 AlfrescoRuntimeException (org.alfresco.error.AlfrescoRuntimeException)1 Repository (org.alfresco.repo.model.Repository)1 AuthenticationComponent (org.alfresco.repo.security.authentication.AuthenticationComponent)1 RetryingTransactionHelper (org.alfresco.repo.transaction.RetryingTransactionHelper)1 PreferenceService (org.alfresco.service.cmr.preference.PreferenceService)1 ContentService (org.alfresco.service.cmr.repository.ContentService)1 ScriptLocation (org.alfresco.service.cmr.repository.ScriptLocation)1 PersonService (org.alfresco.service.cmr.security.PersonService)1 BeforeClass (org.junit.BeforeClass)1 JobDataMap (org.quartz.JobDataMap)1