summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Spielmann <martin.spielmann@pingunaut.com>2016-07-29 19:00:46 +0200
committerMartin Spielmann <martin.spielmann@pingunaut.com>2016-07-29 19:00:46 +0200
commit20f61441ca08ea3136504cb9e55f92929d81226b (patch)
tree42c59bbbd470495a530b94f445679a42a6667e67
parent317c6b79051ff20d71287f2f4d60e7dd63a903df (diff)
downloadgitblit-20f61441ca08ea3136504cb9e55f92929d81226b.tar.gz
gitblit-20f61441ca08ea3136504cb9e55f92929d81226b.zip
Replaced HeaderContributors by Behaviors and fixed PageParameter methods
-rw-r--r--src/main/java/com/gitblit/wicket/Html5DateField.java9
-rw-r--r--src/main/java/com/gitblit/wicket/WicketUtils.java299
-rw-r--r--src/main/java/com/gitblit/wicket/charting/Charts.java3
-rw-r--r--src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java3
-rw-r--r--src/main/java/com/gitblit/wicket/ng/NgController.java7
-rw-r--r--src/main/java/com/gitblit/wicket/pages/ActivityPage.java3
-rw-r--r--src/main/java/com/gitblit/wicket/pages/ComparePage.java2
-rw-r--r--src/main/java/com/gitblit/wicket/pages/DashboardPage.java3
-rw-r--r--src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java16
-rw-r--r--src/main/java/com/gitblit/wicket/pages/MetricsPage.java3
-rw-r--r--src/main/java/com/gitblit/wicket/pages/OverviewPage.java3
-rw-r--r--src/main/java/com/gitblit/wicket/pages/RepositoryPage.java2
-rw-r--r--src/main/java/com/gitblit/wicket/pages/RootPage.java35
-rw-r--r--src/main/java/com/gitblit/wicket/pages/SummaryPage.java3
-rw-r--r--src/main/java/com/gitblit/wicket/panels/BasePanel.java4
-rw-r--r--src/main/java/com/gitblit/wicket/panels/FilterableProjectList.java3
-rw-r--r--src/main/java/com/gitblit/wicket/panels/FilterableRepositoryList.java3
-rw-r--r--src/main/java/com/gitblit/wicket/panels/ObjectContainer.java2
-rw-r--r--src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java5
-rw-r--r--src/main/java/com/gitblit/wicket/panels/RepositoriesPanel.java20
20 files changed, 188 insertions, 240 deletions
diff --git a/src/main/java/com/gitblit/wicket/Html5DateField.java b/src/main/java/com/gitblit/wicket/Html5DateField.java
index 66b273dd..e606272a 100644
--- a/src/main/java/com/gitblit/wicket/Html5DateField.java
+++ b/src/main/java/com/gitblit/wicket/Html5DateField.java
@@ -105,8 +105,8 @@ public class Html5DateField extends TextField<Date> implements ITextFormatProvid
* @return A pattern-specific converter
*/
@Override
- public IConverter getConverter(Class<?> type)
- {
+ public <C> IConverter<C> getConverter(Class<C> type) {
+
if (converter == null)
{
return super.getConverter(type);
@@ -148,9 +148,8 @@ public class Html5DateField extends TextField<Date> implements ITextFormatProvid
}
@Override
- protected String getInputType()
- {
- return "date";
+ protected String[] getInputTypes() {
+ return new String[]{"date"};
}
} \ No newline at end of file
diff --git a/src/main/java/com/gitblit/wicket/WicketUtils.java b/src/main/java/com/gitblit/wicket/WicketUtils.java
index 9a778291..356b35b6 100644
--- a/src/main/java/com/gitblit/wicket/WicketUtils.java
+++ b/src/main/java/com/gitblit/wicket/WicketUtils.java
@@ -33,8 +33,9 @@ import org.apache.wicket.request.http.WebRequest;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.ContextRelativeResource;
import org.apache.wicket.behavior.AttributeAppender;
-import org.apache.wicket.behavior.HeaderContributor;
-import org.apache.wicket.markup.html.IHeaderContributor;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.StringHeaderItem;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.ContextImage;
import org.apache.wicket.model.Model;
@@ -48,6 +49,7 @@ import com.gitblit.Keys;
import com.gitblit.models.FederationModel;
import com.gitblit.models.Metric;
import com.gitblit.utils.DiffUtils.DiffComparator;
+import com.gitblit.utils.GitBlitRequestUtils;
import com.gitblit.utils.HttpUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.utils.TimeUtils;
@@ -67,8 +69,7 @@ public class WicketUtils {
}
public static void setCssBackground(Component container, String value) {
- String background = MessageFormat.format("background-color:{0};",
- StringUtils.getColor(value));
+ String background = MessageFormat.format("background-color:{0};", StringUtils.getColor(value));
container.add(new AttributeModifier("style", background));
}
@@ -174,8 +175,7 @@ public class WicketUtils {
return newImage(wicketId, "file_h_16x16.png");
} else if (filename.endsWith(".sln")) {
return newImage(wicketId, "file_vs_16x16.png");
- } else if (filename.endsWith(".csv") || filename.endsWith(".xls")
- || filename.endsWith(".xlsx")) {
+ } else if (filename.endsWith(".csv") || filename.endsWith(".xls") || filename.endsWith(".xlsx")) {
return newImage(wicketId, "file_excel_16x16.png");
} else if (filename.endsWith(".doc") || filename.endsWith(".docx")) {
return newImage(wicketId, "file_doc_16x16.png");
@@ -201,14 +201,11 @@ public class WicketUtils {
return newImage(wicketId, "file_16x16.png");
}
- public static ContextImage getRegistrationImage(String wicketId, FederationModel registration,
- Component c) {
+ public static ContextImage getRegistrationImage(String wicketId, FederationModel registration, Component c) {
if (registration.isResultData()) {
- return WicketUtils.newImage(wicketId, "information_16x16.png",
- c.getString("gb.federationResults"));
+ return WicketUtils.newImage(wicketId, "information_16x16.png", c.getString("gb.federationResults"));
} else {
- return WicketUtils.newImage(wicketId, "arrow_left.png",
- c.getString("gb.federationRegistration"));
+ return WicketUtils.newImage(wicketId, "arrow_left.png", c.getString("gb.federationRegistration"));
}
}
@@ -250,17 +247,16 @@ public class WicketUtils {
}
public static String getGitblitURL(Request request) {
- HttpServletRequest req = ((WebRequest) request).getHttpServletRequest();
+ HttpServletRequest req = GitBlitRequestUtils.getServletRequest();
return HttpUtils.getGitblitURL(req);
}
- public static HeaderContributor syndicationDiscoveryLink(final String feedTitle,
- final String url) {
- return new HeaderContributor(new IHeaderContributor() {
+ public static Behavior syndicationDiscoveryLink(final String feedTitle, final String url) {
+ return new Behavior() {
private static final long serialVersionUID = 1L;
@Override
- public void renderHead(IHeaderResponse response) {
+ public void renderHead(Component c, IHeaderResponse response) {
String contentType = "application/rss+xml";
StringBuilder buffer = new StringBuilder();
@@ -268,226 +264,154 @@ public class WicketUtils {
buffer.append("type=\"").append(contentType).append("\" ");
buffer.append("title=\"").append(feedTitle).append("\" ");
buffer.append("href=\"").append(url).append("\" />");
- response.renderString(buffer.toString());
+ response.render(StringHeaderItem.forString(buffer.toString()));
}
- });
+ };
}
public static PageParameters newTokenParameter(String token) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("t", token);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("t", token);
}
- public static PageParameters newRegistrationParameter(String url,
- String name) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("u", url);
- parameterMap.put("n", name);
- return new PageParameters(parameterMap);
+ public static PageParameters newRegistrationParameter(String url, String name) {
+ return new PageParameters().add("u", url).add("n", name);
}
public static PageParameters newUsernameParameter(String username) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("user", username);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("user", username);
}
public static PageParameters newTeamnameParameter(String teamname) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("team", teamname);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("team", teamname);
}
public static PageParameters newProjectParameter(String projectName) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("p", projectName);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("p", projectName);
}
public static PageParameters newRepositoryParameter(String repositoryName) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- if (!StringUtils.isEmpty(repositoryName)) {
- parameterMap.put("r", repositoryName);
- }
- return new PageParameters(parameterMap);
+ return new PageParameters().add("r", repositoryName);
}
public static PageParameters newObjectParameter(String objectId) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("h", objectId);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("h", objectId);
}
- public static PageParameters newObjectParameter(String repositoryName,
- String objectId) {
- Map<String, String> parameterMap = new HashMap<String, String>();
+ public static PageParameters newObjectParameter(String repositoryName, String objectId) {
if (StringUtils.isEmpty(objectId)) {
return newRepositoryParameter(repositoryName);
}
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", objectId);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("r", repositoryName).add("h", objectId);
}
- public static PageParameters newDiffParameter(String repositoryName,
- String objectId, DiffComparator diffComparator) {
- Map<String, String> parameterMap = new HashMap<String, String>();
+ public static PageParameters newDiffParameter(String repositoryName, String objectId,
+ DiffComparator diffComparator) {
if (StringUtils.isEmpty(objectId)) {
return newRepositoryParameter(repositoryName);
}
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", objectId);
- parameterMap.put("w", "" + diffComparator.ordinal());
- return new PageParameters(parameterMap);
+ return new PageParameters().add("r", repositoryName).add("h", objectId).add("w", "" + diffComparator.ordinal());
}
- public static PageParameters newDiffParameter(String repositoryName,
- String objectId, DiffComparator diffComparator, String blobPath) {
- Map<String, String> parameterMap = new HashMap<String, String>();
+ public static PageParameters newDiffParameter(String repositoryName, String objectId, DiffComparator diffComparator,
+ String blobPath) {
if (StringUtils.isEmpty(objectId)) {
return newRepositoryParameter(repositoryName);
}
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", objectId);
- parameterMap.put("w", "" + diffComparator.ordinal());
- parameterMap.put("f", blobPath);
- return new PageParameters(parameterMap);
+ return newDiffParameter(repositoryName, objectId, diffComparator).add("f", blobPath);
}
- public static PageParameters newRangeParameter(String repositoryName,
- String startRange, String endRange) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", startRange + ".." + endRange);
- return new PageParameters(parameterMap);
+ public static PageParameters newRangeParameter(String repositoryName, String startRange, String endRange) {
+ return new PageParameters().add("r", repositoryName).add("h", startRange + ".." + endRange);
}
- public static PageParameters newPathParameter(String repositoryName,
- String objectId, String path) {
- Map<String, String> parameterMap = new HashMap<String, String>();
+ public static PageParameters newPathParameter(String repositoryName, String objectId, String path) {
if (StringUtils.isEmpty(path)) {
return newObjectParameter(repositoryName, objectId);
}
if (StringUtils.isEmpty(objectId)) {
- parameterMap.put("r", repositoryName);
- parameterMap.put("f", path);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("r", repositoryName).add("f", path);
}
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", objectId);
- parameterMap.put("f", path);
- return new PageParameters(parameterMap);
+ return new PageParameters().add("r", repositoryName).add("h", objectId).add("f", path);
}
- public static PageParameters newLogPageParameter(String repositoryName,
- String objectId, int pageNumber) {
- Map<String, String> parameterMap = new HashMap<String, String>();
+ public static PageParameters newLogPageParameter(String repositoryName, String objectId, int pageNumber) {
if (pageNumber <= 1) {
return newObjectParameter(repositoryName, objectId);
}
if (StringUtils.isEmpty(objectId)) {
- parameterMap.put("r", repositoryName);
- parameterMap.put("pg", String.valueOf(pageNumber));
- return new PageParameters(parameterMap);
+ return new PageParameters().add("r", repositoryName).add("pg", String.valueOf(pageNumber));
}
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", objectId);
- parameterMap.put("pg", String.valueOf(pageNumber));
- return new PageParameters(parameterMap);
+ return new PageParameters().add("r", repositoryName).add("h", objectId).add("pg", String.valueOf(pageNumber));
}
- public static PageParameters newHistoryPageParameter(String repositoryName,
- String objectId, String path, int pageNumber) {
- Map<String, String> parameterMap = new HashMap<String, String>();
+ public static PageParameters newHistoryPageParameter(String repositoryName, String objectId, String path, int pageNumber) {
if (pageNumber <= 1) {
return newObjectParameter(repositoryName, objectId);
}
- if (StringUtils.isEmpty(objectId)) {
- parameterMap.put("r", repositoryName);
- parameterMap.put("f", path);
- parameterMap.put("pg", String.valueOf(pageNumber));
- return new PageParameters(parameterMap);
+
+ PageParameters pp = new PageParameters();
+ pp.add("r", repositoryName);
+ pp.add("f", path);
+ pp.add("pg", String.valueOf(pageNumber));
+ if (!StringUtils.isEmpty(objectId)) {
+ pp.add("h", objectId);
}
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", objectId);
- parameterMap.put("f", path);
- parameterMap.put("pg", String.valueOf(pageNumber));
- return new PageParameters(parameterMap);
+ return pp;
}
public static PageParameters newFilestorePageParameter(int pageNumber, String filter) {
- Map<String, String> parameterMap = new HashMap<String, String>();
-
+ PageParameters pp = new PageParameters();
if (pageNumber > 1) {
- parameterMap.put("pg", String.valueOf(pageNumber));
+ pp.add("pg", String.valueOf(pageNumber));
}
if (filter != null) {
- parameterMap.put("s", String.valueOf(filter));
+ pp.add("s", String.valueOf(filter));
}
-
- return new PageParameters(parameterMap);
- }
-
- public static PageParameters newBlobDiffParameter(String repositoryName,
- String baseCommitId, String commitId, String path) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- if (StringUtils.isEmpty(commitId)) {
- parameterMap.put("r", repositoryName);
- parameterMap.put("f", path);
- parameterMap.put("hb", baseCommitId);
- return new PageParameters(parameterMap);
- }
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", commitId);
- parameterMap.put("f", path);
- parameterMap.put("hb", baseCommitId);
- return new PageParameters(parameterMap);
- }
-
- public static PageParameters newSearchParameter(String repositoryName,
- String commitId, String search, Constants.SearchType type) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- if (StringUtils.isEmpty(commitId)) {
- parameterMap.put("r", repositoryName);
- parameterMap.put("s", search);
- parameterMap.put("st", type.name());
- return new PageParameters(parameterMap);
- }
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", commitId);
- parameterMap.put("s", search);
- parameterMap.put("st", type.name());
- return new PageParameters(parameterMap);
- }
-
- public static PageParameters newSearchParameter(String repositoryName,
- String commitId, String search, Constants.SearchType type,
- int pageNumber) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- if (StringUtils.isEmpty(commitId)) {
- parameterMap.put("r", repositoryName);
- parameterMap.put("s", search);
- parameterMap.put("st", type.name());
- parameterMap.put("pg", String.valueOf(pageNumber));
- return new PageParameters(parameterMap);
- }
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", commitId);
- parameterMap.put("s", search);
- parameterMap.put("st", type.name());
- parameterMap.put("pg", String.valueOf(pageNumber));
- return new PageParameters(parameterMap);
- }
-
- public static PageParameters newBlameTypeParameter(String repositoryName,
- String commitId, String path, String blameType) {
- Map<String, String> parameterMap = new HashMap<String, String>();
- parameterMap.put("r", repositoryName);
- parameterMap.put("h", commitId);
- parameterMap.put("f", path);
- parameterMap.put("blametype", blameType);
- return new PageParameters(parameterMap);
+
+ return pp;
+ }
+
+ public static PageParameters newBlobDiffParameter(String repositoryName, String baseCommitId, String commitId,
+ String path) {
+ PageParameters pp = new PageParameters();
+ pp.add("r", repositoryName);
+ pp.add("f", path);
+ pp.add("hb", baseCommitId);
+ if (!StringUtils.isEmpty(commitId)) {
+ pp.add("h", commitId);
+ }
+ return pp;
+ }
+
+ public static PageParameters newSearchParameter(String repositoryName, String commitId, String search,
+ Constants.SearchType type) {
+ PageParameters pp = new PageParameters();
+ pp.add("r", repositoryName);
+ pp.add("s", search);
+ pp.add("st", type.name());
+ if (!StringUtils.isEmpty(commitId)) {
+ pp.add("h", commitId);
+ }
+ return pp;
+ }
+
+ public static PageParameters newSearchParameter(String repositoryName, String commitId, String search,
+ Constants.SearchType type, int pageNumber) {
+ PageParameters pp = new PageParameters();
+ pp.add("r", repositoryName);
+ pp.add("s", search);
+ pp.add("st", type.name());
+ pp.add("pg", String.valueOf(pageNumber));
+ if (!StringUtils.isEmpty(commitId)) {
+ pp.add("h", commitId);
+ }
+ return pp;
+ }
+
+ public static PageParameters newBlameTypeParameter(String repositoryName, String commitId, String path,
+ String blameType) {
+ return new PageParameters().add("r", repositoryName).add("h", commitId).add("f", path).add("blametype",
+ blameType);
}
public static PageParameters newTicketsParameters(String repositoryName, String... states) {
@@ -513,27 +437,27 @@ public class WicketUtils {
}
public static String getObject(PageParameters params) {
- return params.getString("h", null);
+ return params.get("h").toString(null);
}
public static String getPath(PageParameters params) {
- return params.getString("f", null);
+ return params.get("f").toString(null);
}
public static String getBaseObjectId(PageParameters params) {
- return params.getString("hb", null);
+ return params.get("hb").toString(null);
}
public static String getSearchString(PageParameters params) {
- return params.getString("s", null);
+ return params.get("s").toString(null);
}
public static String getSearchType(PageParameters params) {
- return params.getString("st", null);
+ return params.get("st").toString(null);
}
public static DiffComparator getDiffComparator(PageParameters params) {
- int ordinal = params.getInt("w", 0);
+ int ordinal = params.get("w").toInt(0);
return DiffComparator.values()[ordinal];
}
@@ -543,35 +467,35 @@ public class WicketUtils {
}
public static String getRegEx(PageParameters params) {
- return params.getString("x", "");
+ return params.get("x").toString("");
}
public static String getSet(PageParameters params) {
- return params.getString("set", "");
+ return params.get("set").toString("");
}
public static String getTeam(PageParameters params) {
- return params.getString("team", "");
+ return params.get("team").toString("");
}
public static int getDaysBack(PageParameters params) {
- return params.getInt("db", 0);
+ return params.get("db").toInt(0);
}
public static String getUsername(PageParameters params) {
- return params.getString("user", "");
+ return params.get("user").toString("");
}
public static String getTeamname(PageParameters params) {
- return params.getString("team", "");
+ return params.get("team").toString("");
}
public static String getToken(PageParameters params) {
- return params.getString("t", "");
+ return params.get("t").toString("");
}
public static String getUrlParameter(PageParameters params) {
- return params.getString("u", "");
+ return params.get("u").toString("");
}
public static String getNameParameter(PageParameters params) {
@@ -582,7 +506,8 @@ public class WicketUtils {
return createDateLabel(wicketId, date, timeZone, timeUtils, true);
}
- public static Label createDateLabel(String wicketId, Date date, TimeZone timeZone, TimeUtils timeUtils, boolean setCss) {
+ public static Label createDateLabel(String wicketId, Date date, TimeZone timeZone, TimeUtils timeUtils,
+ boolean setCss) {
String format = GitBlitWebApp.get().settings().getString(Keys.web.datestampShortFormat, "MM/dd/yy");
DateFormat df = new SimpleDateFormat(format);
if (timeZone == null) {
diff --git a/src/main/java/com/gitblit/wicket/charting/Charts.java b/src/main/java/com/gitblit/wicket/charting/Charts.java
index 54a7689b..fa765bbd 100644
--- a/src/main/java/com/gitblit/wicket/charting/Charts.java
+++ b/src/main/java/com/gitblit/wicket/charting/Charts.java
@@ -18,6 +18,7 @@ package com.gitblit.wicket.charting;
import java.util.ArrayList;
import java.util.List;
+import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.html.IHeaderContributor;
/**
@@ -26,7 +27,7 @@ import org.apache.wicket.markup.html.IHeaderContributor;
* @author Tim Ryan
*
*/
-public abstract class Charts implements IHeaderContributor {
+public abstract class Charts extends Behavior {
private static final long serialVersionUID = 1L;
diff --git a/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java b/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java
index 62bec934..f6b99426 100644
--- a/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java
+++ b/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java
@@ -17,6 +17,7 @@ package com.gitblit.wicket.charting;
import javax.servlet.ServletContext;
+import org.apache.wicket.Component;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
@@ -35,7 +36,7 @@ public class Flotr2Charts extends Charts {
private static final long serialVersionUID = 1L;
@Override
- public void renderHead(IHeaderResponse response) {
+ public void renderHead(Component component, IHeaderResponse response) {
// add Google Chart JS API reference
ServletContext servletContext = WebApplication.get().getServletContext();
diff --git a/src/main/java/com/gitblit/wicket/ng/NgController.java b/src/main/java/com/gitblit/wicket/ng/NgController.java
index ea15dcf2..648a12d9 100644
--- a/src/main/java/com/gitblit/wicket/ng/NgController.java
+++ b/src/main/java/com/gitblit/wicket/ng/NgController.java
@@ -19,9 +19,10 @@ import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
-import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.request.resource.PackageResourceReference;
import com.google.gson.Gson;
@@ -35,7 +36,7 @@ import com.google.gson.GsonBuilder;
* @author James Moger
*
*/
-public class NgController implements IHeaderContributor {
+public class NgController extends Behavior {
private static final long serialVersionUID = 1L;
@@ -53,7 +54,7 @@ public class NgController implements IHeaderContributor {
}
@Override
- public void renderHead(IHeaderResponse response) {
+ public void renderHead(Component component, IHeaderResponse response) {
// add Google AngularJS reference
response.render(JavaScriptHeaderItem.forReference(new PackageResourceReference(NgController.class, "angular.js")));
diff --git a/src/main/java/com/gitblit/wicket/pages/ActivityPage.java b/src/main/java/com/gitblit/wicket/pages/ActivityPage.java
index af4e39f7..f7c8ccf1 100644
--- a/src/main/java/com/gitblit/wicket/pages/ActivityPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/ActivityPage.java
@@ -25,7 +25,6 @@ import java.util.Map;
import java.util.Set;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Fragment;
@@ -118,7 +117,7 @@ public class ActivityPage extends RootPage {
// create the activity charts
if (app().settings().getBoolean(Keys.web.generateActivityGraph, true)) {
Charts charts = createCharts(recentActivity);
- add(new HeaderContributor(charts));
+ add(charts);
add(new Fragment("chartsPanel", "chartsFragment", this));
} else {
add(new Label("chartsPanel").setVisible(false));
diff --git a/src/main/java/com/gitblit/wicket/pages/ComparePage.java b/src/main/java/com/gitblit/wicket/pages/ComparePage.java
index 910c1467..2d1be64f 100644
--- a/src/main/java/com/gitblit/wicket/pages/ComparePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/ComparePage.java
@@ -33,7 +33,7 @@ import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.protocol.http.RequestUtils;
-import org.apache.wicket.request.target.basic.RedirectRequestTarget;
+//import org.apache.wicket.request.target.basic.RedirectRequestTarget;
import org.eclipse.jgit.diff.DiffEntry.ChangeType;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
diff --git a/src/main/java/com/gitblit/wicket/pages/DashboardPage.java b/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
index 73c6686f..0b247334 100644
--- a/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
@@ -29,7 +29,6 @@ import java.util.TimeZone;
import java.util.TreeSet;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Fragment;
import org.eclipse.jgit.lib.Repository;
@@ -240,7 +239,7 @@ public abstract class DashboardPage extends RootPage {
chart.setShowLegend(false);
charts.addChart(chart);
- add(new HeaderContributor(charts));
+ add(charts);
frag.add(new Fragment("charts", "chartsFragment", this));
} else {
frag.add(new Label("charts").setVisible(false));
diff --git a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
index ae12d02f..b7b3d817 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
import org.apache.wicket.extensions.markup.html.form.palette.Palette;
@@ -775,6 +776,11 @@ public class EditRepositoryPage extends RootSubPage {
public String getIdValue(FederationStrategy type, int index) {
return Integer.toString(index);
}
+
+ @Override
+ public FederationStrategy getObject(String id, IModel<? extends List<? extends FederationStrategy>> choices) {
+ return choices.getObject().get(Integer.valueOf(id));
+ }
}
private class GCPeriodRenderer implements IChoiceRenderer<Integer> {
@@ -797,6 +803,11 @@ public class EditRepositoryPage extends RootSubPage {
public String getIdValue(Integer value, int index) {
return Integer.toString(index);
}
+
+ @Override
+ public Integer getObject(String id, IModel<? extends List<? extends Integer>> choices) {
+ return choices.getObject().get(Integer.valueOf(id));
+ }
}
private class MaxActivityCommitsRenderer implements IChoiceRenderer<Integer> {
@@ -821,5 +832,10 @@ public class EditRepositoryPage extends RootSubPage {
public String getIdValue(Integer value, int index) {
return Integer.toString(index);
}
+
+ @Override
+ public Integer getObject(String id, IModel<? extends List<? extends Integer>> choices) {
+ return choices.getObject().get(Integer.valueOf(id));
+ }
}
}
diff --git a/src/main/java/com/gitblit/wicket/pages/MetricsPage.java b/src/main/java/com/gitblit/wicket/pages/MetricsPage.java
index 630e38fe..bf8a474a 100644
--- a/src/main/java/com/gitblit/wicket/pages/MetricsPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/MetricsPage.java
@@ -26,7 +26,6 @@ import java.util.Date;
import java.util.List;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import org.eclipse.jgit.lib.Repository;
@@ -72,7 +71,7 @@ public class MetricsPage extends RepositoryPage {
createBarChart(charts, "dayOfWeekChart", getDayOfWeekMetrics(r, objectId));
createPieChart(charts, "authorsChart", getAuthorMetrics(r, objectId));
- add(new HeaderContributor(charts));
+ add(charts);
}
diff --git a/src/main/java/com/gitblit/wicket/pages/OverviewPage.java b/src/main/java/com/gitblit/wicket/pages/OverviewPage.java
index d9dd10fa..4ec54691 100644
--- a/src/main/java/com/gitblit/wicket/pages/OverviewPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/OverviewPage.java
@@ -20,7 +20,6 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.repeater.Item;
@@ -147,7 +146,7 @@ public class OverviewPage extends RepositoryPage {
chart.setHeight(150);
charts.addChart(chart);
- add(new HeaderContributor(charts));
+ add(charts);
}
}
}
diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
index c484e074..d351bc70 100644
--- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
@@ -37,7 +37,7 @@ import org.apache.wicket.markup.html.link.ExternalLink;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
-import org.apache.wicket.request.target.basic.RedirectRequestTarget;
+//import org.apache.wicket.request.target.basic.RedirectRequestTarget;
import org.eclipse.jgit.diff.DiffEntry.ChangeType;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.Repository;
diff --git a/src/main/java/com/gitblit/wicket/pages/RootPage.java b/src/main/java/com/gitblit/wicket/pages/RootPage.java
index 9a28a1f7..08c4e30b 100644
--- a/src/main/java/com/gitblit/wicket/pages/RootPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RootPage.java
@@ -34,12 +34,14 @@ import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.http.WebRequest;
import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.behavior.HeaderContributor;
+import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
@@ -68,6 +70,7 @@ import com.gitblit.models.NavLink.PageNavLink;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.TeamModel;
import com.gitblit.models.UserModel;
+import com.gitblit.utils.GitBlitRequestUtils;
import com.gitblit.utils.ModelUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
@@ -78,6 +81,8 @@ import com.gitblit.wicket.panels.AvatarImage;
import com.gitblit.wicket.panels.LinkPanel;
import com.gitblit.wicket.panels.NavigationPanel;
+import de.akquinet.devops.GitBlitServer4UITests;
+
/**
* Root page is a topbar, navigable page like Repositories, Users, or
* Federation.
@@ -105,13 +110,13 @@ public abstract class RootPage extends BasePage {
protected void setupPage(String repositoryName, String pageName) {
// CSS header overrides
- add(new HeaderContributor(new IHeaderContributor() {
+ add(new Behavior() {
private static final long serialVersionUID = 1L;
@Override
- public void renderHead(IHeaderResponse response) {
+ public void renderHead(Component component, IHeaderResponse response) {
StringBuilder buffer = new StringBuilder();
- buffer.append("<style type=\"text/css\">\n");
+// buffer.append("<style type=\"text/css\">\n");
buffer.append(".navbar-inner {\n");
final String headerBackground = app().settings().getString(Keys.web.headerBackgroundColor, null);
if (!StringUtils.isEmpty(headerBackground)) {
@@ -143,10 +148,10 @@ public abstract class RootPage extends BasePage {
buffer.append(MessageFormat.format("color: {0} !important;\n", headerHover));
buffer.append("}\n");
}
- buffer.append("</style>\n");
- response.renderString(buffer.toString());
+// buffer.append("</style>\n");
+ response.render(CssHeaderItem.forCSS(buffer.toString(), "rootCss"));
}
- }));
+ });
boolean authenticateView = app().settings().getBoolean(Keys.web.authenticateViewPages, false);
boolean authenticateAdmin = app().settings().getBoolean(Keys.web.authenticateAdminPages, true);
@@ -255,8 +260,8 @@ public abstract class RootPage extends BasePage {
params.remove("user");
// remove days back parameter if it is the default value
- if (params.containsKey("db")
- && params.getInt("db") == app().settings().getInteger(Keys.web.activityDuration, 7)) {
+ if (!params.get("db").isEmpty()
+ && params.get("db").toInt() == app().settings().getInteger(Keys.web.activityDuration, 7)) {
params.remove("db");
}
return params;
@@ -271,8 +276,8 @@ public abstract class RootPage extends BasePage {
private void loginUser(UserModel user) {
if (user != null) {
- HttpServletRequest request = ((WebRequest) getRequest()).getHttpServletRequest();
- HttpServletResponse response = ((WebResponse) getResponse()).getHttpServletResponse();
+ HttpServletRequest request = GitBlitRequestUtils.getServletRequest();
+ HttpServletResponse response = GitBlitRequestUtils.getServletResponse();
// Set the user into the session
GitBlitWebSession session = GitBlitWebSession.get();
@@ -281,8 +286,8 @@ public abstract class RootPage extends BasePage {
session.replaceSession();
session.setUser(user);
- request = ((WebRequest) getRequest()).getHttpServletRequest();
- response = ((WebResponse) getResponse()).getHttpServletResponse();
+ request = GitBlitRequestUtils.getServletRequest();
+ response = GitBlitRequestUtils.getServletResponse();
request.getSession().setAttribute(Constants.ATTRIB_AUTHTYPE, AuthenticationType.CREDENTIALS);
// Set Cookie
@@ -569,7 +574,7 @@ public abstract class RootPage extends BasePage {
String username = RootPage.this.username.getObject();
char[] password = RootPage.this.password.getObject().toCharArray();
- HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
+ HttpServletRequest request = GitBlitRequestUtils.getServletRequest();
UserModel user = app().authentication().authenticate(username, password, request.getRemoteAddr());
if (user == null) {
@@ -613,7 +618,7 @@ public abstract class RootPage extends BasePage {
GitBlitWebSession session = GitBlitWebSession.get();
UserModel user = session.getUser();
boolean editCredentials = app().authentication().supportsCredentialChanges(user);
- HttpServletRequest request = ((WebRequest) getRequest()).getHttpServletRequest();
+ HttpServletRequest request = GitBlitRequestUtils.getServletRequest();
AuthenticationType authenticationType = (AuthenticationType) request.getAttribute(Constants.ATTRIB_AUTHTYPE);
boolean standardLogin = (null != authenticationType) ? authenticationType.isStandard() : true;
diff --git a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
index adf3026f..43f9c450 100644
--- a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
@@ -24,7 +24,6 @@ import java.util.List;
import org.apache.wicket.Component;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Fragment;
@@ -160,7 +159,7 @@ public class SummaryPage extends RepositoryPage {
add(new Label("commitsChart").setVisible(false));
} else {
Charts charts = createCharts(metrics);
- add(new HeaderContributor(charts));
+ add(charts);
}
}
diff --git a/src/main/java/com/gitblit/wicket/panels/BasePanel.java b/src/main/java/com/gitblit/wicket/panels/BasePanel.java
index 73f8e471..0f136ffd 100644
--- a/src/main/java/com/gitblit/wicket/panels/BasePanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/BasePanel.java
@@ -90,7 +90,7 @@ public abstract class BasePanel extends Panel {
private static final long serialVersionUID = 1L;
public JavascriptEventConfirmation(String event, String msg) {
- super(event, true, new Model<String>(msg));
+ super(event, new Model<String>(msg));
}
@Override
@@ -112,7 +112,7 @@ public abstract class BasePanel extends Panel {
private String initialValue = "";
public JavascriptTextPrompt(String event, String msg, String value) {
- super(event, true, new Model<String>(msg));
+ super(event, new Model<String>(msg));
initialValue = value;
}
diff --git a/src/main/java/com/gitblit/wicket/panels/FilterableProjectList.java b/src/main/java/com/gitblit/wicket/panels/FilterableProjectList.java
index 3a269a93..952fba34 100644
--- a/src/main/java/com/gitblit/wicket/panels/FilterableProjectList.java
+++ b/src/main/java/com/gitblit/wicket/panels/FilterableProjectList.java
@@ -26,7 +26,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import com.gitblit.Keys;
@@ -121,7 +120,7 @@ public class FilterableProjectList extends BasePanel {
// inject an AngularJS controller with static data
NgController ctrl = new NgController(ngCtrl);
ctrl.addVariable(ngList, list);
- add(new HeaderContributor(ctrl));
+ add(ctrl);
}
protected class ProjectListItem implements Serializable {
diff --git a/src/main/java/com/gitblit/wicket/panels/FilterableRepositoryList.java b/src/main/java/com/gitblit/wicket/panels/FilterableRepositoryList.java
index e4ce5ced..bf97d4f1 100644
--- a/src/main/java/com/gitblit/wicket/panels/FilterableRepositoryList.java
+++ b/src/main/java/com/gitblit/wicket/panels/FilterableRepositoryList.java
@@ -24,7 +24,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import com.gitblit.Keys;
@@ -140,7 +139,7 @@ public class FilterableRepositoryList extends BasePanel {
// inject an AngularJS controller with static data
NgController ctrl = new NgController(ngCtrl);
ctrl.addVariable(ngList, list);
- add(new HeaderContributor(ctrl));
+ add(ctrl);
}
protected class RepoListItem implements Serializable {
diff --git a/src/main/java/com/gitblit/wicket/panels/ObjectContainer.java b/src/main/java/com/gitblit/wicket/panels/ObjectContainer.java
index e26673e4..63f7b210 100644
--- a/src/main/java/com/gitblit/wicket/panels/ObjectContainer.java
+++ b/src/main/java/com/gitblit/wicket/panels/ObjectContainer.java
@@ -19,7 +19,7 @@ package com.gitblit.wicket.panels;
import java.util.List;
import org.apache.wicket.Component;
-import org.apache.wicket.ResourceReference;
+//import org.apache.wicket.ResourceReference;
import org.apache.wicket.core.request.ClientInfo;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupStream;
diff --git a/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java b/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
index f1d7d640..839d80f9 100644
--- a/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java
@@ -312,6 +312,11 @@ public class RegistrantPermissionsPanel extends BasePanel {
public String getIdValue(AccessPermission type, int index) {
return Integer.toString(index);
}
+
+ @Override
+ public AccessPermission getObject(String id, IModel<? extends List<? extends AccessPermission>> choices) {
+ return choices.getObject().get(Integer.valueOf(id));
+ }
}
private class ShowStateButton extends AjaxButton {
diff --git a/src/main/java/com/gitblit/wicket/panels/RepositoriesPanel.java b/src/main/java/com/gitblit/wicket/panels/RepositoriesPanel.java
index e36fcd6e..877e21de 100644
--- a/src/main/java/com/gitblit/wicket/panels/RepositoriesPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/RepositoriesPanel.java
@@ -26,6 +26,7 @@ import java.util.Map;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder;
+import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.markup.html.basic.Label;
@@ -307,9 +308,9 @@ public class RepositoriesPanel extends BasePanel {
};
add(dataView);
- if (dp instanceof SortableDataProvider<?>) {
+ if (dp instanceof SortableDataProvider<?,?>) {
// add sortable header
- SortableDataProvider<?> sdp = (SortableDataProvider<?>) dp;
+ SortableDataProvider<?,?> sdp = (SortableDataProvider<?,?>) dp;
Fragment fragment = new Fragment("headerContent", "flatRepositoryHeader", this);
fragment.add(newSort("orderByRepository", SortBy.repository, sdp, dataView));
fragment.add(newSort("orderByDescription", SortBy.description, sdp, dataView));
@@ -345,7 +346,7 @@ public class RepositoriesPanel extends BasePanel {
repository, description, owner, date;
}
- protected OrderByBorder newSort(String wicketId, SortBy field, SortableDataProvider<?> dp,
+ protected OrderByBorder newSort(String wicketId, SortBy field, SortableDataProvider<?,?> dp,
final DataView<?> dataView) {
return new OrderByBorder(wicketId, field.name(), dp) {
private static final long serialVersionUID = 1L;
@@ -357,7 +358,7 @@ public class RepositoriesPanel extends BasePanel {
};
}
- private static class SortableRepositoriesProvider extends SortableDataProvider<RepositoryModel> {
+ private static class SortableRepositoriesProvider extends SortableDataProvider<RepositoryModel, String> {
private static final long serialVersionUID = 1L;
@@ -365,11 +366,11 @@ public class RepositoriesPanel extends BasePanel {
protected SortableRepositoriesProvider(List<RepositoryModel> list) {
this.list = list;
- setSort(SortBy.date.name(), false);
+ setSort(SortBy.date.name(), SortOrder.DESCENDING);
}
@Override
- public int size() {
+ public long size() {
if (list == null) {
return 0;
}
@@ -382,8 +383,8 @@ public class RepositoriesPanel extends BasePanel {
}
@Override
- public Iterator<RepositoryModel> iterator(int first, int count) {
- SortParam sp = getSort();
+ public Iterator<? extends RepositoryModel> iterator(long first, long count) {
+ SortParam<String> sp = getSort();
String prop = sp.getProperty();
final boolean asc = sp.isAscending();
@@ -430,7 +431,8 @@ public class RepositoriesPanel extends BasePanel {
}
});
}
- return list.subList(first, first + count).iterator();
+ return list.subList(Math.toIntExact(first), Math.toIntExact(first + count)).iterator();
}
+
}
}