mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merged 5.2.N (5.2.1) to HEAD (5.2)
125783 rmunteanu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125605 rmunteanu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125498 slanglois: MNT-16155 Update source headers - remove svn:eol-style property on Java and JSP source files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@127809 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,69 +1,69 @@
|
||||
package org.alfresco.repo.jscript;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||
import org.alfresco.service.cmr.repository.ScriptLocation;
|
||||
import org.alfresco.service.cmr.repository.ScriptService;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
/**
|
||||
* Quartz job that executes a scheduled JS script.
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
*/
|
||||
public class ExecuteScriptJob implements Job
|
||||
{
|
||||
private static final String PARAM_SCRIPT_LOCATION = "scriptLocation";
|
||||
private static final String PARAM_SCRIPT_SERVICE = "scriptService";
|
||||
private static final String PARAM_AUTHENTICATION_COMPONENT = "authenticationComponent";
|
||||
|
||||
/**
|
||||
* 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
package org.alfresco.repo.jscript;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||
import org.alfresco.service.cmr.repository.ScriptLocation;
|
||||
import org.alfresco.service.cmr.repository.ScriptService;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
/**
|
||||
* Quartz job that executes a scheduled JS script.
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
*/
|
||||
public class ExecuteScriptJob implements Job
|
||||
{
|
||||
private static final String PARAM_SCRIPT_LOCATION = "scriptLocation";
|
||||
private static final String PARAM_SCRIPT_SERVICE = "scriptService";
|
||||
private static final String PARAM_AUTHENTICATION_COMPONENT = "authenticationComponent";
|
||||
|
||||
/**
|
||||
* 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user