summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/utils
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-09-25 09:45:45 -0400
committerJames Moger <james.moger@gitblit.com>2011-09-25 09:45:45 -0400
commitdd9ae71bc1cb13b90dcc8d9689550eb7dfe7d035 (patch)
treef2fba4e206618bcbe30d2b8e7a9911001fcc6e0e /src/com/gitblit/utils
parentc729c59cedff4e800c659e524081fbd1be8db3c1 (diff)
downloadgitblit-dd9ae71bc1cb13b90dcc8d9689550eb7dfe7d035.tar.gz
gitblit-dd9ae71bc1cb13b90dcc8d9689550eb7dfe7d035.zip
Revised federation proposal mechanism. Added SendProposalPage.
Diffstat (limited to 'src/com/gitblit/utils')
-rw-r--r--src/com/gitblit/utils/FederationUtils.java28
1 files changed, 10 insertions, 18 deletions
diff --git a/src/com/gitblit/utils/FederationUtils.java b/src/com/gitblit/utils/FederationUtils.java
index 129fe42c..4cb6881a 100644
--- a/src/com/gitblit/utils/FederationUtils.java
+++ b/src/com/gitblit/utils/FederationUtils.java
@@ -27,7 +27,6 @@ import java.security.SecureRandom;
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.net.ssl.X509TrustManager;
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 @@ public class FederationUtils {
*
* @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 class FederationUtils {
*/
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 @@ public class FederationUtils {
* @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 @@ public class FederationUtils {
* @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;