use of de.bps.course.nodes.vc.provider.VCProvider in project OpenOLAT by OpenOLAT.
the class VCCourseNode method createEditController.
@Override
public TabbableController createEditController(UserRequest ureq, WindowControl wControl, BreadcrumbPanel stackPanel, ICourse course, UserCourseEnvironment userCourseEnv) {
updateModuleConfigDefaults(false);
CourseNode chosenNode = course.getEditorTreeModel().getCourseNode(userCourseEnv.getCourseEditorEnv().getCurrentCourseNodeId());
// load and check configuration
String providerId = getModuleConfiguration().getStringValue(CONF_PROVIDER_ID);
VCProvider provider = providerId == null ? VCProviderFactory.createDefaultProvider() : VCProviderFactory.createProvider(providerId);
TabbableDefaultController childTabCntrllr;
if (provider != null) {
VCConfiguration config = handleConfig(provider);
// create room if configured to do it immediately
if (config.isCreateMeetingImmediately()) {
Long key = course.getResourceableId();
// here, the config is empty in any case, thus there are no start and end dates
provider.createClassroom(key + "_" + this.getIdent(), this.getShortName(), this.getLongTitle(), null, null, config);
}
// create edit controller
childTabCntrllr = new VCEditController(ureq, wControl, this, course, userCourseEnv, provider, config);
} else {
// empty panel
childTabCntrllr = new NoProviderController(ureq, wControl);
}
NodeEditController nodeEditCtr = new NodeEditController(ureq, wControl, course.getEditorTreeModel(), course, chosenNode, userCourseEnv, childTabCntrllr);
nodeEditCtr.addControllerListener(childTabCntrllr);
return nodeEditCtr;
}
use of de.bps.course.nodes.vc.provider.VCProvider in project OpenOLAT by OpenOLAT.
the class VCCourseNode method cleanupOnDelete.
@Override
public void cleanupOnDelete(ICourse course) {
super.cleanupOnDelete(course);
// load configuration
final String providerId = getModuleConfiguration().getStringValue(CONF_PROVIDER_ID);
VCProvider provider = providerId == null ? VCProviderFactory.createDefaultProvider() : VCProviderFactory.createProvider(providerId);
VCConfiguration config = handleConfig(provider);
// remove meeting
provider.removeClassroom(course.getResourceableId() + "_" + this.getIdent(), config);
}
use of de.bps.course.nodes.vc.provider.VCProvider in project OpenOLAT by OpenOLAT.
the class VCSelectionForm method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
int num = VCProviderFactory.getProviders().size();
String[] keys = new String[num];
String[] vals = new String[num];
int i = 0;
for (VCProvider provider : VCProviderFactory.getProviders()) {
keys[i] = provider.getProviderId();
vals[i] = provider.getDisplayName();
i++;
}
selVC = uifactory.addDropdownSingleselect("config.select.vc", flc, keys, vals, null);
selVC.select(selectedProvider, true);
selVC.addActionListener(FormEvent.ONCHANGE);
}
use of de.bps.course.nodes.vc.provider.VCProvider in project openolat by klemens.
the class VCSelectionForm method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
int num = VCProviderFactory.getProviders().size();
String[] keys = new String[num];
String[] vals = new String[num];
int i = 0;
for (VCProvider provider : VCProviderFactory.getProviders()) {
keys[i] = provider.getProviderId();
vals[i] = provider.getDisplayName();
i++;
}
selVC = uifactory.addDropdownSingleselect("config.select.vc", flc, keys, vals, null);
selVC.select(selectedProvider, true);
selVC.addActionListener(FormEvent.ONCHANGE);
}
use of de.bps.course.nodes.vc.provider.VCProvider in project openolat by klemens.
the class AdobeConnectCleanupJob method executeWithDB.
@Override
public void executeWithDB(JobExecutionContext arg0) throws JobExecutionException {
if (!VCProviderFactory.existsProvider(providerId)) {
// same as dummy job
return;
}
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;
}
// cleanup unused meetings
if (cleanupMeetings) {
logger.info("Start cleaning unused Adobe Connect meetings");
cleanupMeetings(adobe, daysToKeep);
}
// cleanup unused moderator guest accounts
if (cleanupModerators) {
logger.info("Start cleaning unused Adobe Connect moderator guest accounts");
cleanupModerators(adobe);
}
}
Aggregations