Hi All, I am working on adding access control support to APIM 2.1.x,. For this feature, we are making use of the registry property-search for the getting relevant resources based on user roles. While doing the implementation, I came across following behaviour,
Even though if we add multiple versions of an API, only one version of that particular API is visibile in the publisher. While analyzing this issue, I understood this issue is only happening if we are using PaginationContext init, with the sort property "overview_name" (i.e. API Name). This has happened because when finally sorting the merged attribute search result and property search result, we are using the TreeSet in [1] and in TreeSet if comparator [2] returns 0, it will be thought as duplicate and that value will be replaced TreeSet. Since in API Manager case, both the versions of API will have the same "overview_name" and the comparator will return the value as 0, so only one value will be given as result. In order to overcome this, we need to return some other value, whenever the comparison value is 0. I have created an github issue for this [3] and did a fix for this issue[ 4]. I tested this fix locally and it seems to be working fine. Appreciate if someone from registry team can review and merge this. [1] https://github.com/wso2/carbon-governance/blob/master/components/governance/org.wso2.carbon.governance.api/src/main/java/org/wso2/carbon/governance/api/util/GovernanceUtils.java#L2055 [2] https://github.com/wso2/carbon-governance/blob/master/components/governance/org.wso2.carbon.governance.api/src/main/java/org/wso2/carbon/governance/api/util/GovernanceUtils.java#L2056 [3] https://github.com/wso2/carbon-governance/issues/297 [4] https://github.com/wso2/carbon-governance/pull/298 Thanks. Regards, Megala -- Megala Uthayakumar Software Engineer Mobile : 0779967122
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
