summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/wicket
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-09-14 09:13:51 -0400
committerJames Moger <james.moger@gitblit.com>2011-09-14 09:13:51 -0400
commit8f73a7cc630bb61d088c7cdad30a6708870184ee (patch)
tree8eeb99b221d4a6e9c8f9a66f70051fc9a92e7fe6 /src/com/gitblit/wicket
parent94dfef9efa0208ebf5bea9fb539bae7344551620 (diff)
downloadgitblit-8f73a7cc630bb61d088c7cdad30a6708870184ee.tar.gz
gitblit-8f73a7cc630bb61d088c7cdad30a6708870184ee.zip
Implemented Federation Sets. Documentation.
Diffstat (limited to 'src/com/gitblit/wicket')
-rw-r--r--src/com/gitblit/wicket/GitBlitWebApp.properties9
-rw-r--r--src/com/gitblit/wicket/pages/EditRepositoryPage.html9
-rw-r--r--src/com/gitblit/wicket/pages/EditRepositoryPage.java24
-rw-r--r--src/com/gitblit/wicket/pages/FederationProposalPage.java1
-rw-r--r--src/com/gitblit/wicket/panels/FederationTokensPanel.html9
-rw-r--r--src/com/gitblit/wicket/panels/FederationTokensPanel.java29
6 files changed, 57 insertions, 24 deletions
diff --git a/src/com/gitblit/wicket/GitBlitWebApp.properties b/src/com/gitblit/wicket/GitBlitWebApp.properties
index ab7ef4bd..72d9d36d 100644
--- a/src/com/gitblit/wicket/GitBlitWebApp.properties
+++ b/src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -108,9 +108,9 @@ gb.federateOrigin = federate the origin
gb.excludeFromFederation = exclude from federation
gb.excludeFromFederationDescription = block federated Gitblit instances from pulling this object
gb.tokens = federation tokens
-gb.tokenAllDescription = federate repositories, users, & settings
-gb.tokenUnrDescription = federate repositories & users
-gb.tokenJurDescription = federate repositories
+gb.tokenAllDescription = all repositories, users, & settings
+gb.tokenUnrDescription = all repositories & users
+gb.tokenJurDescription = all repositories
gb.federatedRepositoryDefinitions = repository definitions
gb.federatedUserDefinitions = user definitions
gb.federatedSettingDefinitions = setting definitions
@@ -128,9 +128,10 @@ gb.inclusions = inclusions
gb.exclusions = exclusions
gb.registration = registration
gb.registrations = federation registrations
-gb.sendProposal send proposal
+gb.sendProposal propose
gb.status = status
gb.origin = origin
gb.federationStrategy = federation strategy
gb.federationRegistration = federation registration
gb.federationResults = federation pull results
+gb.federationSets = federation sets \ No newline at end of file
diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.html b/src/com/gitblit/wicket/pages/EditRepositoryPage.html
index 2dd031be..c33184da 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.html
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.html
@@ -23,10 +23,13 @@
<tr><th><wicket:message key="gb.enableDocs"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="useDocs" tabindex="6" /> &nbsp;<i><wicket:message key="gb.useDocsDescription"></wicket:message></i></td></tr>
<tr><th><wicket:message key="gb.showRemoteBranches"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showRemoteBranches" tabindex="7" /> &nbsp;<i><wicket:message key="gb.showRemoteBranchesDescription"></wicket:message></i></td></tr>
<tr><th><wicket:message key="gb.showReadme"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showReadme" tabindex="8" /> &nbsp;<i><wicket:message key="gb.showReadmeDescription"></wicket:message></i></td></tr>
- <tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select wicket:id="accessRestriction" tabindex="9" /></td></tr>
- <tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="10" /> &nbsp;<i><wicket:message key="gb.isFrozenDescription"></wicket:message></i></td></tr>
+ <tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="9" /> &nbsp;<i><wicket:message key="gb.isFrozenDescription"></wicket:message></i></td></tr>
+ <tr><td style="padding-top:10px;" colspan="2"><hr></hr></td></tr>
+ <tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select wicket:id="accessRestriction" tabindex="10" /></td></tr>
+ <tr><th style="vertical-align: top;"><wicket:message key="gb.permittedUsers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr>
+ <tr><td style="padding-top:10px;" colspan="2"><hr></hr></td></tr>
<tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select wicket:id="federationStrategy" tabindex="11" /></td></tr>
- <tr><th style="vertical-align: top;"><wicket:message key="gb.permittedUsers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr>
+ <tr><th style="vertical-align: top;"><wicket:message key="gb.federationSets"></wicket:message></th><td style="padding:2px;"><span wicket:id="federationSets"></span></td></tr>
<tr><th></th><td class="editButton"><input type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="12" /> <input type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="13" /></td></tr>
</tbody>
</table>
diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
index 3b6e6f38..7349ca5f 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -73,6 +73,7 @@ public class EditRepositoryPage extends BasePage {
// ensure this user can create or edit this repository
checkPermissions(repositoryModel);
+ List<String> federationSets = new ArrayList<String>();
List<String> repositoryUsers = new ArrayList<String>();
if (isCreate) {
super.setupPage("", getString("gb.newRepository"));
@@ -82,12 +83,21 @@ public class EditRepositoryPage extends BasePage {
repositoryUsers.addAll(GitBlit.self().getRepositoryUsers(repositoryModel));
Collections.sort(repositoryUsers);
}
+ federationSets.addAll(repositoryModel.federationSets);
}
final String oldName = repositoryModel.name;
+ // users palette
final Palette<String> usersPalette = new Palette<String>("users", new ListModel<String>(
repositoryUsers), new CollectionModel<String>(GitBlit.self().getAllUsernames()),
new ChoiceRenderer<String>("", ""), 10, false);
+
+ // federation sets palette
+ List<String> sets = GitBlit.getStrings(Keys.federation.sets);
+ final Palette<String> federationSetsPalette = new Palette<String>("federationSets",
+ new ListModel<String>(federationSets), new CollectionModel<String>(sets),
+ new ChoiceRenderer<String>("", ""), 10, false);
+
CompoundPropertyModel<RepositoryModel> model = new CompoundPropertyModel<RepositoryModel>(
repositoryModel);
Form<RepositoryModel> form = new Form<RepositoryModel>("editForm", model) {
@@ -136,6 +146,15 @@ public class EditRepositoryPage extends BasePage {
return;
}
+ // save federation set preferences
+ if (repositoryModel.federationStrategy.exceeds(FederationStrategy.EXCLUDE)) {
+ repositoryModel.federationSets.clear();
+ Iterator<String> sets = federationSetsPalette.getSelectedChoices();
+ while (sets.hasNext()) {
+ repositoryModel.federationSets.add(sets.next());
+ }
+ }
+
// save the repository
GitBlit.self().updateRepositoryModel(oldName, repositoryModel, isCreate);
@@ -171,8 +190,8 @@ public class EditRepositoryPage extends BasePage {
.asList(AccessRestrictionType.values()), new AccessRestrictionRenderer()));
form.add(new CheckBox("isFrozen"));
// TODO enable origin definition
- form.add(new TextField<String>("origin").setEnabled(false/*isCreate*/));
-
+ form.add(new TextField<String>("origin").setEnabled(false/* isCreate */));
+
// federation strategies - remove ORIGIN choice if this repository has
// no origin.
List<FederationStrategy> federationStrategies = new ArrayList<FederationStrategy>(
@@ -187,6 +206,7 @@ public class EditRepositoryPage extends BasePage {
form.add(new CheckBox("showRemoteBranches"));
form.add(new CheckBox("showReadme"));
form.add(usersPalette);
+ form.add(federationSetsPalette);
form.add(new Button("save"));
Button cancel = new Button("cancel") {
diff --git a/src/com/gitblit/wicket/pages/FederationProposalPage.java b/src/com/gitblit/wicket/pages/FederationProposalPage.java
index 4685d2fe..c2a2d24b 100644
--- a/src/com/gitblit/wicket/pages/FederationProposalPage.java
+++ b/src/com/gitblit/wicket/pages/FederationProposalPage.java
@@ -79,6 +79,7 @@ public class FederationProposalPage extends BasePage {
sb.append(asParam(p, proposal.name, "frequency",
GitBlit.getString(Keys.federation.defaultFrequency, "60 mins")));
sb.append(asParam(p, proposal.name, "folder", proposal.name));
+ sb.append(asParam(p, proposal.name, "freeze", "true"));
sb.append(asParam(p, proposal.name, "sendStatus", "true"));
sb.append(asParam(p, proposal.name, "notifyOnError", "true"));
sb.append(asParam(p, proposal.name, "exclude", ""));
diff --git a/src/com/gitblit/wicket/panels/FederationTokensPanel.html b/src/com/gitblit/wicket/panels/FederationTokensPanel.html
index 6749e40e..06c1869a 100644
--- a/src/com/gitblit/wicket/panels/FederationTokensPanel.html
+++ b/src/com/gitblit/wicket/panels/FederationTokensPanel.html
@@ -8,8 +8,7 @@
<wicket:panel>
<div class="admin_nav">
- <a wicket:id="federatedRepositories"><wicket:message key="gb.federatedRepositoryDefinitions">[repositories]</wicket:message></a>
- | <a wicket:id="federatedUsers"><wicket:message key="gb.federatedUserDefinitions">[users]</wicket:message></a>
+ <a wicket:id="federatedUsers"><wicket:message key="gb.federatedUserDefinitions">[users]</wicket:message></a>
| <a wicket:id="federatedSettings"><wicket:message key="gb.federatedSettingDefinitions">[settings]</wicket:message></a>
</div>
@@ -20,15 +19,13 @@
<wicket:message key="gb.tokens">[tokens]</wicket:message>
</th>
<th></th>
- <th></th>
<th class="right"></th>
</tr>
<tbody>
<tr wicket:id="row">
- <td class="left"><span class="list" wicket:id="field">[field]</span></td>
+ <td class="left"><span wicket:id="description"></span></td>
<td><span class="sha1"" wicket:id="value">[value]</span></td>
- <td><span wicket:id="description"></span></td>
- <td class="rightAlign"><span class="link"><a wicket:id="send"><wicket:message key="gb.sendProposal">[send proposal]</wicket:message></a></span></td>
+ <td class="rightAlign"><span class="link"><a wicket:id="repositoryDefinitions"><wicket:message key="gb.federatedRepositoryDefinitions">[repository definitions]</wicket:message></a> | <a wicket:id="send"><wicket:message key="gb.sendProposal">[send proposal]</wicket:message></a></span></td>
</tr>
</tbody>
</table>
diff --git a/src/com/gitblit/wicket/panels/FederationTokensPanel.java b/src/com/gitblit/wicket/panels/FederationTokensPanel.java
index 166f1bd0..a9cbdcd3 100644
--- a/src/com/gitblit/wicket/panels/FederationTokensPanel.java
+++ b/src/com/gitblit/wicket/panels/FederationTokensPanel.java
@@ -16,6 +16,7 @@
package com.gitblit.wicket.panels;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import org.apache.wicket.markup.html.basic.Label;
@@ -29,6 +30,7 @@ import com.gitblit.Constants.FederationRequest;
import com.gitblit.Constants.FederationToken;
import com.gitblit.FederationServlet;
import com.gitblit.GitBlit;
+import com.gitblit.Keys;
import com.gitblit.wicket.WicketUtils;
public class FederationTokensPanel extends BasePanel {
@@ -38,11 +40,7 @@ public class FederationTokensPanel extends BasePanel {
public FederationTokensPanel(String wicketId, final boolean showFederation) {
super(wicketId);
- String baseUrl = getRequest().getRelativePathPrefixToContextRoot();
- add(new ExternalLink("federatedRepositories", FederationServlet.asPullLink(baseUrl, GitBlit
- .self().getFederationToken(FederationToken.REPOSITORIES),
- FederationRequest.PULL_REPOSITORIES)));
-
+ final String baseUrl = getRequest().getRelativePathPrefixToContextRoot();
add(new ExternalLink("federatedUsers", FederationServlet.asPullLink(baseUrl, GitBlit.self()
.getFederationToken(FederationToken.USERS_AND_REPOSITORIES),
FederationRequest.PULL_USERS)));
@@ -52,7 +50,13 @@ public class FederationTokensPanel extends BasePanel {
final List<String[]> data = new ArrayList<String[]>();
for (FederationToken token : FederationToken.values()) {
- data.add(new String[] { token.name(), GitBlit.self().getFederationToken(token) });
+ data.add(new String[] { token.name(), GitBlit.self().getFederationToken(token), null });
+ }
+ List<String> sets = GitBlit.getStrings(Keys.federation.sets);
+ Collections.sort(sets);
+ for (String set : sets) {
+ data.add(new String[] { FederationToken.REPOSITORIES.name(),
+ GitBlit.self().getFederationToken(set), set });
}
DataView<String[]> dataView = new DataView<String[]>("row", new ListDataProvider<String[]>(
@@ -69,10 +73,18 @@ public class FederationTokensPanel extends BasePanel {
public void populateItem(final Item<String[]> item) {
final String[] entry = item.getModelObject();
final FederationToken token = FederationToken.fromName(entry[0]);
-
- item.add(new Label("field", entry[0]));
+ if (entry[2] == null) {
+ // standard federation token
+ item.add(new Label("description", describeToken(token)));
+ } else {
+ // federation set token
+ item.add(new Label("description", entry[2]));
+ }
item.add(new Label("value", entry[1]));
+ item.add(new ExternalLink("repositoryDefinitions", FederationServlet.asPullLink(
+ baseUrl, entry[1], FederationRequest.PULL_REPOSITORIES)));
+
// TODO make this work
Link<Void> sendProposal = new Link<Void>("send") {
@@ -87,7 +99,6 @@ public class FederationTokensPanel extends BasePanel {
"Please enter URL for remote Gitblit instance:"));
item.add(sendProposal);
- item.add(new Label("description", describeToken(token)));
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}