/** * Prepare classpath resource if needed file. * * @param resource the resource * @return the file */ public static Resource prepareClasspathResourceIfNeeded(final Resource resource) { if (resource == null) { LOGGER.debug("No resource defined to prepare. Returning null"); return null; } return prepareClasspathResourceIfNeeded(resource, false, resource.getFilename()); }
public AbstractResourceBasedServiceRegistry(final Resource configDirectory, final Collection<StringSerializer<RegisteredService>> serializers, final boolean enableWatcher, final ApplicationEventPublisher eventPublisher, final RegisteredServiceReplicationStrategy registeredServiceReplicationStrategy, final RegisteredServiceResourceNamingStrategy resourceNamingStrategy) throws Exception { super(eventPublisher); LOGGER.trace("Provided service registry directory is specified at [{}]", configDirectory); val pattern = String.join("|", getExtensions()); val servicesDirectory = ResourceUtils.prepareClasspathResourceIfNeeded(configDirectory, true, pattern); if (servicesDirectory == null) { throw new IllegalArgumentException("Could not determine the services configuration directory from " + configDirectory); } val file = servicesDirectory.getFile(); LOGGER.trace("Prepared service registry directory is specified at [{}]", file); initializeRegistry(Paths.get(file.getCanonicalPath()), serializers, enableWatcher, registeredServiceReplicationStrategy, resourceNamingStrategy); }