From dd9ae71bc1cb13b90dcc8d9689550eb7dfe7d035 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sun, 25 Sep 2011 09:45:45 -0400 Subject: [PATCH] Revised federation proposal mechanism. Added SendProposalPage. --- src/com/gitblit/utils/FederationUtils.java | 28 ++++++++++------------------ 1 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/com/gitblit/utils/FederationUtils.java b/src/com/gitblit/utils/FederationUtils.java index 129fe42..4cb6881 100644 --- a/src/com/gitblit/utils/FederationUtils.java +++ b/src/com/gitblit/utils/FederationUtils.java @@ -27,7 +27,6 @@ import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.Collection; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -41,9 +40,9 @@ import javax.servlet.http.HttpServletResponse; import com.gitblit.Constants.FederationRequest; -import com.gitblit.Constants.FederationToken; import com.gitblit.FederationServlet; import com.gitblit.models.FederationModel; +import com.gitblit.models.FederationProposal; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.google.gson.Gson; @@ -94,22 +93,15 @@ * * @param remoteUrl * the remote Gitblit instance to send a federation proposal to - * @param tokenType - * type of the provided federation token - * @param myToken - * my federation token - * @param myUrl - * my Gitblit url - * @param myRepositories - * the repositories I want to share keyed by their clone url + * @param proposal + * a complete federation proposal * @return true if the proposal was received */ - public static boolean propose(String remoteUrl, FederationToken tokenType, String myToken, - String myUrl, Map<String, RepositoryModel> myRepositories) throws Exception { - String url = FederationServlet.asFederationLink(remoteUrl, tokenType, myToken, - FederationRequest.PROPOSAL, myUrl); + public static boolean propose(String remoteUrl, FederationProposal proposal) throws Exception { + String url = FederationServlet + .asFederationLink(remoteUrl, null, FederationRequest.PROPOSAL); Gson gson = new GsonBuilder().setPrettyPrinting().create(); - String json = gson.toJson(myRepositories); + String json = gson.toJson(proposal); int status = writeJson(url, json); return status == HttpServletResponse.SC_OK; } @@ -126,7 +118,7 @@ */ public static Map<String, RepositoryModel> getRepositories(FederationModel registration, boolean checkExclusions) throws Exception { - String url = FederationServlet.asPullLink(registration.url, registration.token, + String url = FederationServlet.asFederationLink(registration.url, registration.token, FederationRequest.PULL_REPOSITORIES); Map<String, RepositoryModel> models = readGson(url, REPOSITORIES_TYPE); if (checkExclusions) { @@ -149,7 +141,7 @@ * @throws Exception */ public static Collection<UserModel> getUsers(FederationModel registration) throws Exception { - String url = FederationServlet.asPullLink(registration.url, registration.token, + String url = FederationServlet.asFederationLink(registration.url, registration.token, FederationRequest.PULL_USERS); Collection<UserModel> models = readGson(url, USERS_TYPE); return models; @@ -164,7 +156,7 @@ * @throws Exception */ public static Map<String, String> getSettings(FederationModel registration) throws Exception { - String url = FederationServlet.asPullLink(registration.url, registration.token, + String url = FederationServlet.asFederationLink(registration.url, registration.token, FederationRequest.PULL_SETTINGS); Map<String, String> settings = readGson(url, SETTINGS_TYPE); return settings; -- Gitblit v1.9.1