From 4838c534a2f29109e7e5bcf8bad074fd4fa17f6d Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 29 Sep 2011 11:09:22 -0400
Subject: [PATCH] Set default federation strategy in model (issue 20)
---
src/com/gitblit/wicket/pages/SendProposalPage.java | 40 ++++++++++++++++++++++++++++++++++------
1 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/SendProposalPage.java b/src/com/gitblit/wicket/pages/SendProposalPage.java
index adef0c5..635b432 100644
--- a/src/com/gitblit/wicket/pages/SendProposalPage.java
+++ b/src/com/gitblit/wicket/pages/SendProposalPage.java
@@ -26,6 +26,7 @@
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.CompoundPropertyModel;
+import com.gitblit.Constants.FederationProposalResult;
import com.gitblit.GitBlit;
import com.gitblit.models.FederationProposal;
import com.gitblit.models.RepositoryModel;
@@ -52,7 +53,7 @@
final String token = WicketUtils.getToken(params);
- myUrl = WicketUtils.getHostURL(getRequest());
+ myUrl = WicketUtils.getGitblitURL(getRequest());
destinationUrl = "https://";
// temporary proposal
@@ -78,17 +79,44 @@
error("Please enter a destination url for your proposal!");
return;
}
-
+
// build new proposal
FederationProposal proposal = GitBlit.self().createFederationProposal(myUrl, token);
proposal.url = myUrl;
proposal.message = message;
try {
- if (FederationUtils.propose(destinationUrl, proposal)) {
- info(MessageFormat.format("Proposal successfully received by {0}.", destinationUrl));
+ FederationProposalResult res = FederationUtils
+ .propose(destinationUrl, proposal);
+ switch (res) {
+ case ACCEPTED:
+ info(MessageFormat.format("Proposal successfully received by {0}.",
+ destinationUrl));
setResponsePage(RepositoriesPage.class);
- } else {
- error(MessageFormat.format("Sorry, {0} rejected your proposal.", destinationUrl));
+ break;
+ case NO_POKE:
+ error(MessageFormat.format(
+ "Sorry, {0} could not find a Gitblit instance at {1}.",
+ destinationUrl, myUrl));
+ break;
+ case NO_PROPOSALS:
+ error(MessageFormat.format(
+ "Sorry, {0} is not accepting proposals at this time.",
+ destinationUrl));
+ break;
+ case FEDERATION_DISABLED:
+ error(MessageFormat
+ .format("Sorry, {0} is not configured to federate with any Gitblit instances.",
+ destinationUrl));
+ break;
+ case MISSING_DATA:
+ error(MessageFormat.format("Sorry, {0} did not receive any proposal data!",
+ destinationUrl));
+ break;
+ case ERROR:
+ error(MessageFormat.format(
+ "Sorry, {0} reports that an unexpected error occurred!",
+ destinationUrl));
+ break;
}
} catch (Exception e) {
if (!StringUtils.isEmpty(e.getMessage())) {
--
Gitblit v1.9.1