Merge "PrettyFormatter: Fix expand tab when syntax coloring is on." into stable-2.6
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java
index 76a0cfb..de84081 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java
@@ -29,6 +29,7 @@
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.History;
+import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.Anchor;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 import com.google.gwt.user.client.ui.HTMLTable.Cell;
@@ -77,7 +78,12 @@
 
   @Override
   protected void onOpenRow(final int row) {
-    History.newItem(Dispatcher.toGroup(getRowItem(row).getGroupId()));
+    GroupInfo groupInfo = getRowItem(row);
+    if (isInteralGroup(groupInfo)) {
+      History.newItem(Dispatcher.toGroup(groupInfo.getGroupId()));
+    } else if (groupInfo.url() != null) {
+      Window.open(groupInfo.url(), "_self", null);
+    }
   }
 
   public void display(GroupMap groups, String toHighlight) {
@@ -108,7 +114,7 @@
 
   void populate(final int row, final GroupInfo k, final String toHighlight) {
     if (k.url() != null) {
-      if (k.url().startsWith("#" + PageLinks.ADMIN_GROUPS)) {
+      if (isInteralGroup(k)) {
         table.setWidget(row, 1, new HighlightingInlineHyperlink(k.name(),
             Dispatcher.toGroup(k.getGroupId()), toHighlight));
       } else {
@@ -133,4 +139,9 @@
 
     setRowItem(row, k);
   }
+
+  private boolean isInteralGroup(final GroupInfo groupInfo) {
+    return groupInfo != null
+        && groupInfo.url().startsWith("#" + PageLinks.ADMIN_GROUPS);
+  }
 }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
index a50e71c..6e5ef65 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
@@ -160,7 +160,8 @@
     DashboardInfo info = new DashboardInfo(refName, path);
     info.project = project;
     info.definingProject = definingProject.getName();
-    info.title = replace(project, config.getString("dashboard", null, "title"));
+    String query = config.getString("dashboard", null, "title");
+    info.title = replace(project, query == null ? info.path : query);
     info.description = replace(project, config.getString("dashboard", null, "description"));
     info.foreach = config.getString("dashboard", null, "foreach");
 
diff --git a/pom.xml b/pom.xml
index fec2fc8..df0096d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -893,6 +893,13 @@
     </dependencies>
   </dependencyManagement>
 
+  <pluginRepositories>
+    <pluginRepository>
+      <id>gerrit-maven</id>
+      <url>https://gerrit-maven.commondatastorage.googleapis.com</url>
+    </pluginRepository>
+  </pluginRepositories>
+
   <repositories>
     <repository>
       <id>gerrit-maven</id>