protected void registerVersioningService(VersioningServiceDescriptor contrib) { String klass = contrib.className; try { VersioningService vs = (VersioningService) context.getRuntimeContext().loadClass(klass).newInstance(); versioningServices.put(contrib, vs); } catch (ReflectiveOperationException e) { throw new RuntimeException("Failed to instantiate: " + klass, e); } log.info("Registered versioning service: " + klass); recompute(); }
protected void registerVersionRemovalPolicy(CoreServicePolicyDescriptor contrib) { String klass = contrib.getKlass(); try { VersionRemovalPolicy policy = (VersionRemovalPolicy) context.getRuntimeContext().loadClass(klass).newInstance(); versionRemovalPolicies.put(contrib, policy); } catch (ReflectiveOperationException e) { throw new RuntimeException("Failed to instantiate " + VERSION_REMOVAL_POLICY_XP + ": " + klass, e); } }
protected void registerOrphanVersionRemovalFilter(CoreServiceOrphanVersionRemovalFilterDescriptor contrib) { String klass = contrib.getKlass(); try { OrphanVersionRemovalFilter filter = (OrphanVersionRemovalFilter) context.getRuntimeContext().loadClass( klass).newInstance(); orphanVersionRemovalFilters.put(contrib, filter); } catch (ReflectiveOperationException e) { throw new RuntimeException("Failed to instantiate " + ORPHAN_VERSION_REMOVAL_FILTER_XP + ": " + klass, e); } }
Class<?> klass; try { klass = getRuntimeContext().loadClass(className); } catch (ClassNotFoundException e) { throw new RuntimeException(e);
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); }
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);
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); }
/** * 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); } }