Merge registration methods for clients and hooks.

This commit is contained in:
akwizgran
2018-04-18 11:16:49 +01:00
parent 57a6c8cb3a
commit f25fbc5b94
7 changed files with 14 additions and 46 deletions

View File

@@ -22,17 +22,11 @@ public interface ClientVersioningManager {
int MAJOR_VERSION = 0;
/**
* Registers a client that will be advertised to contacts. This method
* should be called before {@link LifecycleManager#startServices(String)}.
* Registers a client that will be advertised to contacts. The hook will
* be called when the visibility of the client changes. This method should
* be called before {@link LifecycleManager#startServices(String)}.
*/
void registerClient(ClientId clientId, int majorVersion, int minorVersion);
/**
* Registers a hook that will be called when the visibility of the given
* client changes. This method should be called before
* {@link LifecycleManager#startServices(String)}.
*/
void registerClientVersioningHook(ClientId clientId, int majorVersion,
void registerClient(ClientId clientId, int majorVersion, int minorVersion,
ClientVersioningHook hook);
/**

View File

@@ -53,9 +53,7 @@ public class PropertiesModule {
transportPropertyManager);
contactManager.registerContactHook(transportPropertyManager);
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
MAJOR_VERSION, transportPropertyManager);
MINOR_VERSION, transportPropertyManager);
return transportPropertyManager;
}
}

View File

@@ -80,14 +80,9 @@ class ClientVersioningManagerImpl implements ClientVersioningManager, Client,
@Override
public void registerClient(ClientId clientId, int majorVersion,
int minorVersion) {
int minorVersion, ClientVersioningHook hook) {
clients.add(new ClientMinorVersion(clientId, majorVersion,
minorVersion));
}
@Override
public void registerClientVersioningHook(ClientId clientId,
int majorVersion, ClientVersioningHook hook) {
hooks.put(new ClientVersion(clientId, majorVersion), hook);
}

View File

@@ -57,9 +57,7 @@ public class IntroductionModule {
MAJOR_VERSION, introductionManager);
conversationManager.registerConversationClient(introductionManager);
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
MAJOR_VERSION, introductionManager);
MINOR_VERSION, introductionManager);
return introductionManager;
}

View File

@@ -64,9 +64,7 @@ public class MessagingModule {
messagingManager);
conversationManager.registerConversationClient(messagingManager);
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
MAJOR_VERSION, messagingManager);
MINOR_VERSION, messagingManager);
return messagingManager;
}

View File

@@ -49,17 +49,12 @@ public class GroupInvitationModule {
privateGroupManager.registerPrivateGroupHook(groupInvitationManager);
conversationManager.registerConversationClient(groupInvitationManager);
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
MAJOR_VERSION, groupInvitationManager);
MINOR_VERSION, groupInvitationManager);
// The group invitation manager handles client visibility changes for
// the private group manager
clientVersioningManager.registerClient(PrivateGroupManager.CLIENT_ID,
PrivateGroupManager.MAJOR_VERSION,
PrivateGroupManager.MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(
PrivateGroupManager.CLIENT_ID,
PrivateGroupManager.MAJOR_VERSION,
PrivateGroupManager.MINOR_VERSION,
groupInvitationManager.getPrivateGroupClientVersioningHook());
return groupInvitationManager;
}

View File

@@ -85,16 +85,11 @@ public class SharingModule {
blogManager.registerRemoveBlogHook(blogSharingManager);
clientVersioningManager.registerClient(BlogSharingManager.CLIENT_ID,
BlogSharingManager.MAJOR_VERSION,
BlogSharingManager.MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(
BlogSharingManager.CLIENT_ID, BlogSharingManager.MAJOR_VERSION,
blogSharingManager);
BlogSharingManager.MINOR_VERSION, blogSharingManager);
// The blog sharing manager handles client visibility changes for the
// blog manager
clientVersioningManager.registerClient(BlogManager.CLIENT_ID,
BlogManager.MAJOR_VERSION, BlogManager.MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(
BlogManager.CLIENT_ID, BlogManager.MAJOR_VERSION,
BlogManager.MAJOR_VERSION, BlogManager.MINOR_VERSION,
blogSharingManager.getShareableClientVersioningHook());
return blogSharingManager;
}
@@ -149,16 +144,11 @@ public class SharingModule {
forumManager.registerRemoveForumHook(forumSharingManager);
clientVersioningManager.registerClient(ForumSharingManager.CLIENT_ID,
ForumSharingManager.MAJOR_VERSION,
ForumSharingManager.MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(
ForumSharingManager.CLIENT_ID,
ForumSharingManager.MAJOR_VERSION, forumSharingManager);
ForumSharingManager.MINOR_VERSION, forumSharingManager);
// The forum sharing manager handles client visibility changes for the
// forum manager
clientVersioningManager.registerClient(ForumManager.CLIENT_ID,
ForumManager.MAJOR_VERSION, ForumManager.MINOR_VERSION);
clientVersioningManager.registerClientVersioningHook(
ForumManager.CLIENT_ID, ForumManager.MAJOR_VERSION,
ForumManager.MAJOR_VERSION, ForumManager.MINOR_VERSION,
forumSharingManager.getShareableClientVersioningHook());
return forumSharingManager;
}