Skip to content

Smart integration: SCIM connector development support#588

Open
johnstone3 wants to merge 2 commits intomasterfrom
vaia/wp1/3673
Open

Smart integration: SCIM connector development support#588
johnstone3 wants to merge 2 commits intomasterfrom
vaia/wp1/3673

Conversation

@johnstone3
Copy link
Copy Markdown

Replaces the old HTTP-based SCIM documentation discovery (JsonHalBackend) with a shadow-based approach using
ScimBackend. Schema is refreshed via delete + testResource before loading shadows of conndev_ScimSchema and
conndev_ScimResource object classes.

On the GUI side, BaseUrlConnectorStepPanel now detects the integration type and shows the appropriate fields —
scimBaseUrl + developmentMode for SCIM, baseAddress for REST. Suggested URL is pre-filled into the correct
field, and completion check reflects the same logic.

Copy link
Copy Markdown
Contributor

@tonydamage tonydamage left a comment

Choose a reason for hiding this comment

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

Could you please look into the comments?


var delta = PrismContext.get().deltaFor(ConnectorDevelopmentType.class)
.item(ConnectorDevelopmentType.F_PROCESSED_DOCUMENTATION)
.replaceRealValues(docs)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This would replace / remove also processed documentation which was discovered by midPilot service and downloaded, probably you need to track the processed documentation coming from this discovery vs the one from midPilot.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

updated

var mapper = new ObjectMapper();
var schemas = new ArrayList<String>();
for (var shadow : shadows) {
var attrs = shadow.findContainer(ShadowType.F_ATTRIBUTES);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

MidPilot service expects one schema per file / documentation.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So, implementation should not merge it into one JSON but let it as separated documentation, correct?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yes...

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

updated

@johnstone3 johnstone3 force-pushed the vaia/wp1/3673 branch 2 times, most recently from e059095 to d117004 Compare April 1, 2026 09:02
jkamenicky added 2 commits April 1, 2026 12:44
…d approach

Instead of fetching /Schemas and /ResourceTypes endpoints directly, discover
SCIM documentation by reading shadows of conndev_ScimSchema and conndev_ScimResource
object classes from the testing resource. Schema refresh (delete + testResource)
is triggered before shadow search to ensure up-to-date data.

Also add DEVELOPMENT_MODE constant to ScimRestConfigurationProperties and expose
JSON_FACTORY as protected in RestBackend.
…orStepPanel

Show scimBaseUrl and developmentMode fields for SCIM integration type,
and baseAddress for REST. Suggested URL is pre-filled into the correct
field based on integration type. Completion check and mandatory handling
updated accordingly. Fix reference to renamed BASE_ADDRESS_ITEM_NAME
in ConnectorDevelopmentWizardSummaryPanel.

Preserve non-SCIM processed documentation when refreshing SCIM docs;
refactor loadShadowsAsDocumentation to return one entry per shadow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants