Merge "On client-side use AccountInfo instead of Account"
This commit is contained in:
@@ -14,15 +14,52 @@
|
||||
|
||||
package com.google.gerrit.client.info;
|
||||
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gwt.core.client.JavaScriptObject;
|
||||
import com.google.gwt.core.client.JsArray;
|
||||
import com.google.gwtjsonrpc.client.impl.ser.JavaSqlTimestamp_JsonSerializer;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
public class AccountInfo extends JavaScriptObject {
|
||||
public final Account.Id getId() {
|
||||
return new Account.Id(_accountId());
|
||||
}
|
||||
|
||||
public final native int _accountId() /*-{ return this._account_id || 0; }-*/;
|
||||
public final native String name() /*-{ return this.name; }-*/;
|
||||
public final native String email() /*-{ return this.email; }-*/;
|
||||
public final native String username() /*-{ return this.username; }-*/;
|
||||
|
||||
public final Timestamp registeredOn() {
|
||||
Timestamp ts = _getRegisteredOn();
|
||||
if (ts == null) {
|
||||
ts = JavaSqlTimestamp_JsonSerializer.parseTimestamp(registeredOnRaw());
|
||||
_setRegisteredOn(ts);
|
||||
}
|
||||
return ts;
|
||||
}
|
||||
|
||||
private final native String registeredOnRaw() /*-{ return this.registered_on; }-*/;
|
||||
private final native Timestamp _getRegisteredOn() /*-{ return this._cts; }-*/;
|
||||
private final native void _setRegisteredOn(Timestamp ts) /*-{ this._cts = ts; }-*/;
|
||||
|
||||
public final Timestamp contactFiledOn() {
|
||||
if (contactFiledOnRaw() != null) {
|
||||
Timestamp ts = _getContactFiledOn();
|
||||
if (ts == null) {
|
||||
ts = JavaSqlTimestamp_JsonSerializer.parseTimestamp(contactFiledOnRaw());
|
||||
_setContactFiledOn(ts);
|
||||
}
|
||||
return ts;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private final native String contactFiledOnRaw() /*-{ return this.contact_filed_on; }-*/;
|
||||
private final native Timestamp _getContactFiledOn() /*-{ return this._cts; }-*/;
|
||||
private final native void _setContactFiledOn(Timestamp ts) /*-{ this._cts = ts; }-*/;
|
||||
|
||||
/**
|
||||
* @return true if the server supplied avatar information about this account.
|
||||
* The information may be an empty list, indicating no avatars are
|
||||
@@ -46,6 +83,10 @@ public class AccountInfo extends JavaScriptObject {
|
||||
private final native JsArray<AvatarInfo> avatars()
|
||||
/*-{ return this.avatars }-*/;
|
||||
|
||||
public final native void name(String n) /*-{ this.name = n }-*/;
|
||||
public final native void email(String e) /*-{ this.email = e }-*/;
|
||||
public final native void username(String n) /*-{ this.username = n }-*/;
|
||||
|
||||
public static native AccountInfo create(int id, String name,
|
||||
String email, String username) /*-{
|
||||
return {'_account_id': id, 'name': name, 'email': email,
|
||||
|
||||
Reference in New Issue
Block a user