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");
}
}