Hi all,

In the org.wso2.carbon.idp.mgt.ui component the update method in
idp-mgt-edit-local.jsp submits the form to idp-mgt-edit-finish-local.jsp ,
which eventually call the updateResidentIdP method in
org.wso2.carbon.idp.mgt.ui.client.IdentityProviderMgtServiceClient class.


public void updateResidentIdP(IdentityProvider identityProvider) throws
Exception {
        try {
            idPMgtStub.updateResidentIdP(identityProvider);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            throw new Exception("Error occurred while retrieving list of
Identity Providers");
        }
    }

which calls the updateResidentIdP method
in org.wso2.carbon.idp.mgt.IdentityProviderManagementService through the
service stub.

public void updateResidentIdP(IdentityProvider identityProvider)
            throws IdentityApplicationManagementException {

    // invoking the listeners
    List<IdentityProviderMgtLister> listerns =
IdpMgtListenerServiceComponent.getListners();
    for(IdentityProviderMgtLister listner : listerns) {
    listner.updateResidentIdP(identityProvider);
    }

        String tenantDomain =
CarbonContext.getThreadLocalCarbonContext().getTenantDomain();

IdentityProviderManager.getInstance().updateResidentIdP(identityProvider,
tenantDomain);
    }

as you can see , the update method calls each listener's updateResidentIdp
method. Listeners should have registered as an osgi service
with IdentityProviderMgtLister interface.

when I searched for the osgi services registered to that interface , I
could only get one service ,

osgi> services (objectclass=*IdentityProviderMgtLister)
{org.wso2.carbon.idp.mgt.listener.IdentityProviderMgtLister}={service.id
=160}
  "Registered by bundle:" org.wso2.carbon.identity.provisioning_4.2.0 [246]
  "Bundles using service"
    org.wso2.carbon.idp.mgt_4.2.2 [279]


in the org.wso2.carbon.identity.provisioning component , implementation of
IdentityProviderMgtLister interface is
the IdentityProviderMgtProvisioningListener class. which has the following
method ,

@Override
    public void updateResidentIdP(IdentityProvider identityProvider) {
        log.debug("update Resident Identity Provider event received");
    }

which does nothing, so my question is,
aren't there any other implementations of IdentityProviderMgtLister ?

is it updating only through this method ,
IdentityProviderManager.getInstance().updateResidentIdP(identityProvider,
tenantDomain); ?

-- 
Lasitha Wattaladeniya
Software Engineer
WSO2, Inc. | http://wso2.com
lean. enterprise. middleware

Mobile : +94719397528
Blog : techreadme.blogspot.com
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to