private static String findId(final Collection<AccountExternalId> ids) { for (final AccountExternalId i : ids) { if (i.isScheme(AccountExternalId.SCHEME_GERRIT)) { return i.getSchemeRest(); } } return null; }
@Override public void postRun() throws Exception { AuthType authType = flags.cfg.getEnum(AuthType.values(), "auth", null, "type", null); if (authType != AuthType.DEVELOPMENT_BECOME_ANY_ACCOUNT) { return; } try (ReviewDb db = dbFactory.open()) { if (db.accounts().anyAccounts().toList().isEmpty()) { ui.header("Gerrit Administrator"); if (ui.yesno(true, "Create administrator user")) { Account.Id id = new Account.Id(db.nextAccountId()); String username = ui.readString("admin", "username"); String name = ui.readString("Administrator", "name"); String httpPassword = ui.readString("secret", "HTTP password"); AccountSshKey sshKey = readSshKey(id); String email = readEmail(sshKey); AccountExternalId extUser = new AccountExternalId( id, new AccountExternalId.Key(AccountExternalId.SCHEME_USERNAME, username)); if (!Strings.isNullOrEmpty(httpPassword)) { extUser.setPassword(httpPassword); } db.accountExternalIds().insert(Collections.singleton(extUser)); if (email != null) { AccountExternalId extMailto = new AccountExternalId( id, new AccountExternalId.Key(AccountExternalId.SCHEME_MAILTO, email)); extMailto.setEmailAddress(email); db.accountExternalIds().insert(Collections.singleton(extMailto)); } Account a = new Account(id, TimeUtil.nowTs()); a.setFullName(name); a.setPreferredEmail(email); db.accounts().insert(Collections.singleton(a)); AccountGroupMember m = new AccountGroupMember(new AccountGroupMember.Key(id, new AccountGroup.Id(1))); db.accountGroupMembers().insert(Collections.singleton(m)); if (sshKey != null) { db.accountSshKeys().insert(Collections.singleton(sshKey)); } } } } }
public Response<String> apply(IdentifiedUser user, String newPassword) throws ResourceNotFoundException, ResourceConflictException, OrmException { if (user.getUserName() == null) { throw new ResourceConflictException("username must be set"); } AccountExternalId id = dbProvider .get() .accountExternalIds() .get(new AccountExternalId.Key(SCHEME_USERNAME, user.getUserName())); if (id == null) { throw new ResourceNotFoundException(); } id.setPassword(newPassword); dbProvider.get().accountExternalIds().update(Collections.singleton(id)); accountCache.evict(user.getAccountId()); return Strings.isNullOrEmpty(newPassword) ? Response.<String>none() : Response.ok(newPassword); }
private String format(final Account account, final ContactInformation info) throws ContactInformationStoreException { Timestamp on = account.getContactFiledOn(); if (on == null) { on = new Timestamp(System.currentTimeMillis()); } final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); df.setTimeZone(UTC); final StringBuilder b = new StringBuilder(); field(b, "Account-Id", account.getId().toString()); field(b, "Date", df.format(on) + " " + UTC.getID()); field(b, "Full-Name", account.getFullName()); field(b, "Preferred-Email", account.getPreferredEmail()); try { final ReviewDb db = schema.open(); try { for (final AccountExternalId e : db.accountExternalIds().byAccount(account.getId())) { final StringBuilder oistr = new StringBuilder(); if (e.getEmailAddress() != null && e.getEmailAddress().length() > 0) { if (oistr.length() > 0) { oistr.append(' '); } oistr.append(e.getEmailAddress()); } if (e.isScheme(AccountExternalId.SCHEME_MAILTO)) { if (oistr.length() > 0) { oistr.append(' '); } oistr.append('<'); oistr.append(e.getExternalId()); oistr.append('>'); } field(b, "Identity", oistr.toString()); } } finally { db.close(); } } catch (OrmException e) { throw new ContactInformationStoreException(e); } field(b, "Address", info.getAddress()); field(b, "Country", info.getCountry()); field(b, "Phone-Number", info.getPhoneNumber()); field(b, "Fax-Number", info.getFaxNumber()); return b.toString(); }