|
29 | 29 | import org.apache.wicket.Component;
|
30 | 30 | import org.apache.wicket.PageParameters;
|
31 | 31 | import org.apache.wicket.Request;
|
| 32 | +import org.apache.wicket.RequestCycle; |
32 | 33 | import org.apache.wicket.behavior.AttributeAppender;
|
33 | 34 | import org.apache.wicket.behavior.HeaderContributor;
|
34 | 35 | import org.apache.wicket.behavior.SimpleAttributeModifier;
|
@@ -449,32 +450,43 @@ public static PageParameters newBlobDiffParameter(String repositoryName,
|
449 | 450 | public static PageParameters newSearchParameter(String repositoryName,
|
450 | 451 | String commitId, String search, Constants.SearchType type) {
|
451 | 452 | Map<String, String> parameterMap = new HashMap<String, String>();
|
452 |
| - if (StringUtils.isEmpty(commitId)) { |
453 |
| - parameterMap.put("r", repositoryName); |
454 |
| - parameterMap.put("s", search); |
455 |
| - parameterMap.put("st", type.name()); |
456 |
| - return new PageParameters(parameterMap); |
457 |
| - } |
| 453 | + setCommitIdIf(commitId, parameterMap); |
458 | 454 | parameterMap.put("r", repositoryName);
|
459 |
| - parameterMap.put("h", commitId); |
460 | 455 | parameterMap.put("s", search);
|
461 | 456 | parameterMap.put("st", type.name());
|
462 | 457 | return new PageParameters(parameterMap);
|
463 | 458 | }
|
464 | 459 |
|
| 460 | + public static void setCommitIdIf(String commitId, Map<String, String> parameterMap) { |
| 461 | + if (StringUtils.isEmpty(commitId)) { |
| 462 | + final String branch = getRequestParameter("h"); |
| 463 | + if (!StringUtils.isEmpty(branch)) { |
| 464 | + parameterMap.put("h", branch); |
| 465 | + } |
| 466 | + }else{ |
| 467 | + parameterMap.put("h", commitId); |
| 468 | + } |
| 469 | + } |
| 470 | + |
| 471 | + protected static String getRequestParameter(final String key) { |
| 472 | + final HttpServletRequest req = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest(); |
| 473 | + final String branch = req == null ? null : req.getParameter(key); |
| 474 | + return branch; |
| 475 | + } |
| 476 | + public static void setCommitIdIf(final PageParameters params) { |
| 477 | + if( params.get("h") == null ){ |
| 478 | + final String branch = getRequestParameter("h"); |
| 479 | + if (!StringUtils.isEmpty(branch)) { |
| 480 | + params.put("h", branch); |
| 481 | + } |
| 482 | + } |
| 483 | + } |
465 | 484 | public static PageParameters newSearchParameter(String repositoryName,
|
466 | 485 | String commitId, String search, Constants.SearchType type,
|
467 | 486 | int pageNumber) {
|
468 | 487 | Map<String, String> parameterMap = new HashMap<String, String>();
|
469 |
| - if (StringUtils.isEmpty(commitId)) { |
470 |
| - parameterMap.put("r", repositoryName); |
471 |
| - parameterMap.put("s", search); |
472 |
| - parameterMap.put("st", type.name()); |
473 |
| - parameterMap.put("pg", String.valueOf(pageNumber)); |
474 |
| - return new PageParameters(parameterMap); |
475 |
| - } |
| 488 | + setCommitIdIf(commitId, parameterMap); |
476 | 489 | parameterMap.put("r", repositoryName);
|
477 |
| - parameterMap.put("h", commitId); |
478 | 490 | parameterMap.put("s", search);
|
479 | 491 | parameterMap.put("st", type.name());
|
480 | 492 | parameterMap.put("pg", String.valueOf(pageNumber));
|
|
0 commit comments