@Override public Set<URL> getAdditionalClasspathResources(final List<PropertyDescriptor> propertyDescriptors) { final Set<String> modulePaths = new LinkedHashSet<>(); for (final PropertyDescriptor descriptor : propertyDescriptors) { if (descriptor.isDynamicClasspathModifier()) { final String value = getProperty(descriptor); if (!StringUtils.isEmpty(value)) { final StandardPropertyValue propertyValue = new StandardPropertyValue(value, null, variableRegistry); modulePaths.add(propertyValue.evaluateAttributeExpressions().getValue()); } } } final Set<URL> additionalUrls = new LinkedHashSet<>(); try { final URL[] urls = ClassLoaderUtils.getURLsForClasspath(modulePaths, null, true); if (urls != null) { for (final URL url : urls) { additionalUrls.add(url); } } } catch (MalformedURLException mfe) { getLogger().error("Error processing classpath resources for " + id + ": " + mfe.getMessage(), mfe); } return additionalUrls; }
if (descriptor.isDynamicClasspathModifier()) { classpathChanged = true;
private void writeProperty(final PropertyDescriptor property) throws IOException { writeStartElement("property"); writeTextElement("name", property.getName()); writeTextElement("displayName", property.getDisplayName()); writeTextElement("description", property.getDescription()); writeTextElement("defaultValue", property.getDefaultValue()); writeTextElement("controllerServiceDefinition", property.getControllerServiceDefinition() == null ? null : property.getControllerServiceDefinition().getName()); writeTextArray("allowableValues", "allowableValue", property.getAllowableValues(), AllowableValue::getDisplayName); writeBooleanElement("required", property.isRequired()); writeBooleanElement("sensitive", property.isSensitive()); writeBooleanElement("expressionLanguageSupported", property.isExpressionLanguageSupported()); writeTextElement("expressionLanguageScope", property.getExpressionLanguageScope() == null ? null : property.getExpressionLanguageScope().name()); writeBooleanElement("dynamicallyModifiesClasspath", property.isDynamicClasspathModifier()); writeBooleanElement("dynamic", property.isDynamic()); writeEndElement(); }
@Override public Set<URL> getAdditionalClasspathResources(final List<PropertyDescriptor> propertyDescriptors) { final Set<String> modulePaths = new LinkedHashSet<>(); for (final PropertyDescriptor descriptor : propertyDescriptors) { if (descriptor.isDynamicClasspathModifier()) { final String value = getProperty(descriptor); if (!StringUtils.isEmpty(value)) { final StandardPropertyValue propertyValue = new StandardPropertyValue(value, null, variableRegistry); modulePaths.add(propertyValue.evaluateAttributeExpressions().getValue()); } } } final Set<URL> additionalUrls = new LinkedHashSet<>(); try { final URL[] urls = ClassLoaderUtils.getURLsForClasspath(modulePaths, null, true); if (urls != null) { for (final URL url : urls) { additionalUrls.add(url); } } } catch (MalformedURLException mfe) { getLogger().error("Error processing classpath resources for " + id + ": " + mfe.getMessage(), mfe); } return additionalUrls; }
if (descriptor.isDynamicClasspathModifier()) { classpathChanged = true;