From f97bf09263fe8ef7ba4dcf231dfe7b8265b1e0df Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 27 Apr 2011 21:22:12 -0400
Subject: [PATCH] Centralized markdown transforms. Moved config ops to GitBlit.
---
src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java | 41 +++++++++++++++++++++--------------------
1 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java b/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java
index 5ce356a..974fb9a 100644
--- a/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java
+++ b/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java
@@ -4,7 +4,6 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
@@ -12,8 +11,8 @@
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import com.gitblit.wicket.LinkPanel;
+import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.TreePage;
-
public class PathBreadcrumbsPanel extends Panel {
@@ -21,19 +20,21 @@
private final String ROOT = "--ROOT--";
- public PathBreadcrumbsPanel(String id, final String repositoryName, String pathName, final String commitId) {
+ public PathBreadcrumbsPanel(String id, final String repositoryName, String pathName, final String objectId) {
super(id);
List<BreadCrumb> crumbs = new ArrayList<BreadCrumb>();
crumbs.add(new BreadCrumb("[" + repositoryName + "]", ROOT, false));
- String[] paths = pathName.split("/");
- StringBuilder sb = new StringBuilder();
-
- for (int i = 0; i < paths.length; i++) {
- String path = paths[i];
- sb.append(path);
- crumbs.add(new BreadCrumb(path, sb.toString(), (i == (paths.length - 1))));
- sb.append("/");
+ if (pathName != null && pathName.length() > 0) {
+ String[] paths = pathName.split("/");
+ StringBuilder sb = new StringBuilder();
+
+ for (int i = 0; i < paths.length; i++) {
+ String path = paths[i];
+ sb.append(path);
+ crumbs.add(new BreadCrumb(path, sb.toString(), (i == (paths.length - 1))));
+ sb.append("/");
+ }
}
ListDataProvider<BreadCrumb> crumbsDp = new ListDataProvider<BreadCrumb>(crumbs);
@@ -43,26 +44,26 @@
public void populateItem(final Item<BreadCrumb> item) {
final BreadCrumb entry = item.getModelObject();
String path = entry.getPath();
- String parameters = "p=" + repositoryName + ",h=" + commitId;
- if (path != null) {
- parameters += ",f=" + path;
+ if (entry.isLeaf) {
+ item.add(new Label("pathLink", entry.name));
+ item.add(new Label("pathSeparator", "").setVisible(false));
+ } else {
+ item.add(new LinkPanel("pathLink", null, entry.name, TreePage.class, WicketUtils.newPathParameter(repositoryName, objectId, path)));
+ item.add(new Label("pathSeparator", "/"));
}
-
- item.add(new LinkPanel("pathLink", null, entry.name, TreePage.class, new PageParameters(parameters)));
- item.add(new Label("pathSeparator", entry.isLeaf ? "":"/"));
}
};
add(pathsView);
}
private class BreadCrumb implements Serializable {
-
+
private static final long serialVersionUID = 1L;
-
+
final String name;
final String path;
final boolean isLeaf;
-
+
BreadCrumb(String name, String path, boolean isLeaf) {
this.name = name;
this.path = path;
--
Gitblit v1.9.1