private void registerFolderImporter(FolderImporterDescriptor folderImporterDescriptor, Extension extension) { String name = folderImporterDescriptor.getName(); String className = folderImporterDescriptor.getClassName(); FolderImporter folderImporter; try { folderImporter = (FolderImporter) extension.getContext().loadClass(className).newInstance(); } catch (ReflectiveOperationException e) { throw new NuxeoException(e); } folderImporter.setName(name); folderImporter.setFileManagerService(this); folderImporters.add(folderImporter); log.info("registered folder importer: {}", name); }
private void registerCreationContainerListProvider(CreationContainerListProviderDescriptor ccListProviderDescriptor, Extension extension) { String name = ccListProviderDescriptor.getName(); String[] docTypes = ccListProviderDescriptor.getDocTypes(); String className = ccListProviderDescriptor.getClassName(); CreationContainerListProvider provider; try { provider = (CreationContainerListProvider) extension.getContext().loadClass(className).newInstance(); } catch (ReflectiveOperationException e) { throw new NuxeoException(e); } provider.setName(name); provider.setDocTypes(docTypes); if (creationContainerListProviders.contains(provider)) { // equality and containment tests are based on unique names creationContainerListProviders.remove(provider); } // add the new provider at the beginning of the list creationContainerListProviders.add(0, provider); log.info("registered creationContaineterList provider: {}", name); }
FileImporter newPlugin; try { newPlugin = className != null ? (FileImporter) extension.getContext().loadClass(className).newInstance() : oldPlugin; } catch (ReflectiveOperationException e) { FileImporter plugin; try { plugin = (FileImporter) extension.getContext().loadClass(className).newInstance(); } catch (ReflectiveOperationException e) { throw new NuxeoException(e);
/** * Register a given provider identified by its name. * New provider with same name will be override. * * @param extension * @param registeredInfosProviders * @throws Exception */ private void registerInfosProvider(Extension extension, Map<String, DocumentInformationsProvider> registeredInfosProviders) { Object[] contributions = extension.getContributions(); for (Object contribution : contributions) { if(contribution instanceof DocumentInformationsProviderDescriptor){ DocumentInformationsProviderDescriptor descriptor = (DocumentInformationsProviderDescriptor) contribution; if(StringUtils.isNotBlank(descriptor.getName())){ try { DocumentInformationsProvider infosProvider = (DocumentInformationsProvider) extension.getContext().loadClass(descriptor.getProviderClassName()).newInstance(); registeredInfosProviders.put(descriptor.getName(), infosProvider); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { log.error("Can not register " + descriptor.getName(), e); } } else { log.error("Can not register an Informations provider which has no name: " .concat(StringUtils.isNotBlank(descriptor.getProviderClassName()) ? descriptor.getProviderClassName() : "null")); } } } }
protected void registerGenerators(Extension extension, final Object[] contribs) { // read the list of generators for (Object contrib : contribs) { final UIDGeneratorDescriptor generatorDescriptor = (UIDGeneratorDescriptor) contrib; final String generatorName = generatorDescriptor.getName(); UIDGenerator generator; try { generator = (UIDGenerator) extension.getContext() .loadClass(generatorDescriptor.getClassName()) .newInstance(); } catch (ReflectiveOperationException e) { throw new RuntimeException(e); } final String[] propNames = generatorDescriptor.getPropertyNames(); if (propNames.length == 0) { log.error("no property name defined on generator " + generatorName); } // set the property name on generator generator.setPropertyNames(propNames); // Register Generator for DocTypes and property name final String[] docTypes = generatorDescriptor.getDocTypes(); registerGeneratorForDocTypes(generator, docTypes); log.info("registered UID generator: " + generatorName); } }
@Override public void unregisterExtension(Extension extension) { String xp = extension.getExtensionPoint(); if (NOTIFICATIONS_EP.equals(xp)) { Object[] contribs = extension.getContributions(); for (Object contrib : contribs) { NotificationDescriptor notifDesc = (NotificationDescriptor) contrib; notificationRegistry.unregisterNotification(notifDesc); } } else if (TEMPLATES_EP.equals(xp)) { Object[] contribs = extension.getContributions(); for (Object contrib : contribs) { TemplateDescriptor templateDescriptor = (TemplateDescriptor) contrib; templateDescriptor.setContext(extension.getContext()); unregisterTemplate(templateDescriptor); } } else if (NOTIFICATION_VETO_EP.equals(xp)) { Object[] contribs = extension.getContributions(); for (Object contrib : contribs) { NotificationListenerVetoDescriptor vetoDescriptor = (NotificationListenerVetoDescriptor) contrib; notificationVetoRegistry.removeContribution(vetoDescriptor); } } }
for (Object contrib : contribs) { TemplateDescriptor templateDescriptor = (TemplateDescriptor) contrib; templateDescriptor.setContext(extension.getContext()); registerTemplate(templateDescriptor);
sbd.context = extension.getContext(); schemaManager.registerSchema(sbd);