This repository was archived by the owner on Jul 24, 2024. It is now read-only.
This repository was archived by the owner on Jul 24, 2024. It is now read-only.
[Custom connectors] Verification process missing #8609
Open
Description
This is a...
[x] Feature request
[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Documentation issue or request
Description
While working on #7466 I realized the validation process for Swagger connections is missing producing the following error on meta
:
2020-06-01 08:29:36.342 WARN 1 --- [ XNIO-1 task-1] i.s.connector.meta.v1.VerifierEndpoint : No factory finder of type: io.syndesis.connector.support.verifier.api.Verifier for id: i-M8PdK9xYED-7ijVaUwYz
org.apache.camel.RuntimeCamelException: java.lang.NullPointerException
at org.apache.camel.support.ObjectHelper.newInstance(ObjectHelper.java:224) ~[camel-support-3.1.0.jar!/:3.1.0]
...
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
Caused by: java.lang.NullPointerException: null
at org.apache.camel.support.ObjectHelper.newInstance(ObjectHelper.java:222) ~[camel-support-3.1.0.jar!/:3.1.0]
... 86 common frames omitted
Problem
- A custom connector has an autogenerated
id
as these kind of connectors are created from template based on a base connector (ie,rest-swagger
). - The
ui
is always providing a verification button in connections using the connectorid
to bind such verification to a known connector (which is supposed to provide the verification logic). - With a custom connector, given that the
id
was autogenerated, we have a faling procedure (see [Verification] Unsupported/missing verification #8608 and error trace above.
Possible solution
We can either add a new connector parameter or leverage the metadata
to include a new configuration that will drive the ui
to the correct verification procedure.
When a custom connector is created we can include that configuration to provide the id
of the connector base (ie, rest-swagger
).
The ui
will check this new parameter, and, if missing, still use the previous one in order to make the call to the proper verification process.