Skip to content

Conversation

fbiville
Copy link
Contributor

Introduce ImportSpecificationSettings, with a builder API.

It allows users to disable dynamic service loading entirely,
and/or explicitly specify custom validator, source, action
and entity target extension implementation classes.

@fbiville
Copy link
Contributor Author

Note: I still need to find a way to read ImportSpecificationSettings while deserializing entity target extensions.

return actionProviders;
}

public Set<Class<? extends EntityTargetExtensionProvider<? extends EntityTargetExtension>>>
Copy link
Contributor Author

@fbiville fbiville Jul 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: I need to add the companion method for this in Plugins, and rely on that method somehow in

@SuppressWarnings("unchecked")
private static final List<EntityTargetExtensionProvider<? extends EntityTargetExtension>> EXTENSION_PROVIDERS =
ServiceLoader.load(EntityTargetExtensionProvider.class).stream()
.map(provider -> (EntityTargetExtensionProvider<? extends EntityTarget>) provider.get())
.collect(Collectors.toList());

not sure how to do the latter...

import org.neo4j.importer.v1.targets.EntityTargetExtensionProvider;
import org.neo4j.importer.v1.validation.SpecificationValidator;

public class ImportSpecificationSettings {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo: docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant