public ServerNotificationRegistration getSpecificServerRegistration(RESTRequest request,
                                                                        int clientID,
                                                                        String source_objName,
                                                                        String listener_objName,
                                                                        String registrationID) {
        //Get the client area
        ClientNotificationArea clientArea = getInboxIfAvailable(clientID, null);

        List<ServerNotification> registrations = clientArea.getServerRegistrations(request, source_objName);

        if (registrations != null) {
            //Get the IDs from the request
            String[] artifacts = registrationID.split("_");
            int filterID = Integer.parseInt(artifacts[0]);
            int handbackID = Integer.parseInt(artifacts[1]);

            //loop registrations to match request
            for (ServerNotification registration : registrations) {
                if (registration.listener.getCanonicalName().equals(listener_objName) &&
                    registration.filter == filterID &&
                    registration.handback == handbackID) {
                    //found a matching registration, so build and return filter/handback objects (could be null too)
                    ServerNotificationRegistration returningRegistration = new ServerNotificationRegistration();
                    returningRegistration.filter = (NotificationFilter) clientArea.getObject(filterID, null, null);
                    returningRegistration.handback = clientArea.getObject(handbackID, null, null);
                    return returningRegistration;
                }
            }
        }

        return null;
    }
public ServerNotificationRegistration getSpecificServerRegistration ( RESTRequest request , int clientID , String source_objName , String listener_objName , String registrationID ) { ClientNotificationArea clientArea = getInboxIfAvailable ( clientID , null ) ; List < ServerNotification > registrations = clientArea . getServerRegistrations ( request , source_objName ) ; if ( registrations != null ) { String [ ] artifacts = registrationID . split ( "_" ) ; int filterID = Integer . parseInt ( artifacts [ 0 ] ) ; int handbackID = Integer . parseInt ( artifacts [ 1 ] ) ; for ( ServerNotification registration : registrations ) { if ( registration . listener . getCanonicalName ( ) . equals ( listener_objName ) && registration . filter == filterID && registration . handback == handbackID ) { ServerNotificationRegistration returningRegistration = new ServerNotificationRegistration ( ) ; returningRegistration . filter = ( NotificationFilter ) clientArea . getObject ( filterID , null , null ) ; returningRegistration . handback = clientArea . getObject ( handbackID , null , null ) ; return returningRegistration ; } } } return null ; }
Return the filter and handback that were registered for the given server-side notification, represented
by the 3-tuple {source mbean, listener mbean, registrationID ID}.