Skip to content

Add Paginiation and Lookups by Attributes #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

pspaude
Copy link

@pspaude pspaude commented Jun 29, 2021

This comprises the work done by UW Madison to get the Grouper Connector working in their midPoint-Grouper envrionment. In using the Grouper Connector we noticed performance issues. Primarily the connector never returned Groups and the remote call timed out. Pagination was added to all queries that supported it which helped, but we needed to switch to retrieving groups by attribute(s) which then fixed the issues.

@@ -35,17 +35,27 @@ public class GrouperConfiguration extends AbstractConfiguration implements State

private static final Log LOG = Log.getLog(GrouperConfiguration.class);

private static final String DEFAULT_CONTENT_TYPE_JSON = "application/json; charset=utf-8";
private static final String DEFAULT_URI_BASE_PATH = "/grouper-ws/servicesRest/json/v2_4_000";
Copy link

Choose a reason for hiding this comment

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

this field probably shouldn't be hard coded

Copy link
Author

Choose a reason for hiding this comment

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

It's hard coded in the original and can't be customized see:

private static final String URI_BASE_PATH = "/grouper-ws/servicesRest/json/v2_4_000";

This PR makes is it configurable see line 150: https://github.internet2.edu/pspaude/midPoint-Grouper_connector/blob/25f00108d58e0f31158f6583906508e8db60ff62/src/main/java/com/evolveum/polygon/connector/grouper/rest/GrouperConfiguration.java#L150

@@ -48,6 +48,12 @@ class AbstractTest {
private static final String[] GROUP_EXCLUDE_PATTERN = { ".*_(includes|excludes|systemOfRecord|systemOfRecordAndIncludes)" };
private static final String SUBJECT_SOURCE = "ldap";
private static final String TEST_STEM = ":";
private static final Integer PAGE_SIZE = 5;
private static final String CONTENT_TYPE = "application/json; charset=utf-8";
private static final String URI_BASE_PATH = "/grouper-ws/servicesRest/json/v2_4_000";
Copy link

Choose a reason for hiding this comment

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

hard coded WS path

Copy link
Author

Choose a reason for hiding this comment

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

Those are canned configurations for testing when building/updating the connector's Java code. We'd have to figure out a way to abstract those out into a properties file and it wasn't viewed as worth it. The original https://github.internet2.edu/docker/midPoint-Grouper_connector/blob/master/src/test/java/com/evolveum/polygon/connector/grouper/test/AbstractTest.java doesn't have this because it's hard coded and can't be configured so it's that value anyways (see previous comment).

Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants