Add example of how to get AccountInfo in extension panel The Gerrit client may pass complete JavaScriptObjects to the extension panels. Change-Id: Id4e402c979524a7f13c772067cfaf958a2b9c594 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookProfileExtension.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookProfileExtension.java index e46425f..e50427a 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookProfileExtension.java +++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookProfileExtension.java
@@ -14,6 +14,8 @@ package com.googlesource.gerrit.plugins.cookbook.client; +import com.google.gerrit.client.GerritUiExtensionPoint; +import com.google.gerrit.client.info.AccountInfo; import com.google.gerrit.plugin.client.extension.Panel; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.HTMLTable.CellFormatter; @@ -26,12 +28,14 @@ static class Factory implements Panel.EntryPoint { @Override public void onLoad(Panel panel) { - panel.setWidget(new CookBookProfileExtension()); + AccountInfo accountInfo = + panel.getObject(GerritUiExtensionPoint.Key.ACCOUNT_INFO).cast(); + panel.setWidget(new CookBookProfileExtension(accountInfo)); } } - CookBookProfileExtension() { - Grid g = new Grid(2, 2); + CookBookProfileExtension(AccountInfo accountInfo) { + Grid g = new Grid(3, 2); g.addStyleName("infoBlock"); g.addStyleName("accountInfoBlock"); CellFormatter fmt = g.getCellFormatter(); @@ -45,11 +49,17 @@ g.setText(1, 0, "Department"); fmt.addStyleName(1, 0, "header"); - g.setText(1, 1, "Cookies"); + g.setText(1, 1, "Cookies " + accountInfo.email()); + + g.setText(2, 0, "CookBook Email"); + fmt.addStyleName(2, 0, "header"); + g.setText(2, 1, accountInfo.username() != null + ? accountInfo.username() + "@cookbook.com" + : "N/A"); add(g); fmt.addStyleName(0, 0, "topmost"); fmt.addStyleName(0, 1, "topmost"); - fmt.addStyleName(1, 0, "bottomheader"); + fmt.addStyleName(2, 0, "bottomheader"); } }