package org.sakaiproject.metaobj.job; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.sakaiproject.component.cover.ServerConfigurationService; import org.sakaiproject.metaobj.shared.mgt.StructuredArtifactDefinitionManager; import org.sakaiproject.tool.api.Session; import org.sakaiproject.tool.cover.SessionManager; /** * This job will verify/convert bad Metaobj (form definition) schema hashes. * If "metaobj.schemahash.update" is set to true, they will be updated. * @author chrismaurer * */ public class UpdateSchemaHashJob implements Job { StructuredArtifactDefinitionManager structuredArtifactDefinitionManager = null; public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { Session sakaiSession = SessionManager.getCurrentSession(); String userId = sakaiSession.getUserId(); String eId = sakaiSession.getUserEid(); try { sakaiSession.setUserId("admin"); sakaiSession.setUserEid("admin"); boolean updateSchemaHashes = ServerConfigurationService.getBoolean("metaobj.schemahash.update", false); getStructuredArtifactDefinitionManager().verifySchemaHashes(updateSchemaHashes); } finally { sakaiSession.setUserEid(userId); sakaiSession.setUserId(eId); } } public StructuredArtifactDefinitionManager getStructuredArtifactDefinitionManager() { return structuredArtifactDefinitionManager; } public void setStructuredArtifactDefinitionManager(StructuredArtifactDefinitionManager structuredArtifactDefinitionManager) { this.structuredArtifactDefinitionManager = structuredArtifactDefinitionManager; } }