Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-14519

Generic object properties within map not searchable

    XMLWordPrintable

    Details

    • Target Version/s:
    • Verified Version/s:
    • Story Points:
      1
    • Sprint:
      2020.05 - IDM, 2020.06 - IDM, 2020.07 - IDM

      Description

      1) Setup a basic MySQL-repo environment for IDM
      2) Update repo.json.json to have a new searchable property (/map/key):

                  "managed/user" : {
                      "mainTable" : "managedobjects",
                      "propertiesTable" : "managedobjectproperties",
                      "searchableDefault" : false,
                      "properties" : {
                          "/userName" : {
                              "searchable" : true
                          },
                          "/givenName" : {
                              "searchable" : true
                          },
                          "/sn" : {
                              "searchable" : true
                          },
                          "/mail" : {
                              "searchable" : true
                          },
                          "/accountStatus" : {
                              "searchable" : true
                          },
                          "/roles" : {
                              "searchable" : true
                          },
                          "/sunset" : {
                              "searchable" : true
                          },
                          "/map/key" : {
                              "searchable" : true
                          }
                      }
                  },
      

      3) Create a user which has /map/key within their defintion:

      curl -u openidm-admin:openidm-admin http://localhost:8080/openidm/managed/user?_action=create -H 'Content-type: application/json' --data '{"userName":"jfeasel","givenName":"Jake","sn":"Feasel","mail":"jake.feasel@forgerock.com", "map": { "key": "foo" }}' -X POST
      

      4) Query for presence of user with this key:

      curl -u openidm-admin:openidm-admin 'http://localhost:28080/openidm/managed/user?_queryFilter=/map/key+eq+"foo"'
      

      Expected result:
      Created user is returned

      Actual result:
      No results

      Looking within the repo, I can see that there is no entry for /map/key within managedobjectproperties. Therefore it's not surprising that the record isn't returned. The problem appears to be that nested properties of an object are not being created within the managedobjectproperties table. This makes seraching for them (and sorting by them) impossible.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              cgdrake Chris Drake
              Reporter:
              jake.feasel Jake Feasel
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: