diff --git a/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectCleanupJob.java b/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectCleanupJob.java index 4aecb2dd28fec7d11cf7c99623f0e44af4befea2..86f2a21a4e65229fdf94b0778ee14b3ad7505012 100644 --- a/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectCleanupJob.java +++ b/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectCleanupJob.java @@ -34,6 +34,7 @@ import org.springframework.scheduling.quartz.QuartzJobBean; import de.bps.course.nodes.VCCourseNode; import de.bps.course.nodes.vc.MeetingDate; +import de.bps.course.nodes.vc.provider.VCProvider; import de.bps.course.nodes.vc.provider.VCProviderFactory; /** @@ -57,19 +58,20 @@ public class AdobeConnectCleanupJob extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { - AdobeConnectProvider adobe = null; - - boolean success = VCProviderFactory.existsProvider(providerId); - if(!success) return;//same as dummy job - - try { - adobe = (AdobeConnectProvider) VCProviderFactory.createProvider(providerId); - } catch(ClassCastException e) { - throw new JobExecutionException("Invalid configuration: defined a virtual classroom cleanup job and provider implementation doesn't fit"); + if(!VCProviderFactory.existsProvider(providerId)) { + return;//same as dummy job } - success = adobe.isProviderAvailable() && adobe.isEnabled(); - if(!success) { + VCProvider provider = VCProviderFactory.createProvider(providerId); + if(!provider.isEnabled()) { + return; + } + if(!(provider instanceof AdobeConnectProvider)) { + logger.error("Invalid configuration: defined a virtual classroom cleanup job and provider implementation doesn't fit"); + return; + } + AdobeConnectProvider adobe = (AdobeConnectProvider)provider; + if(!adobe.isProviderAvailable()) { logger.debug("Tried to cleanup Adobe Connect meetings but it's actually not available"); return; }