public ConfigInfo apply()

in src/main/java/com/googlesource/gerrit/plugins/imagare/GetPreference.java [61:97]


  public ConfigInfo apply(AccountResource rsrc) throws AuthException, PermissionBackendException {
    if (self.get() != rsrc.getUser()) {
      permissionBackend.currentUser().check(ADMINISTRATE_SERVER);
    }

    String username = self.get().getUserName().get();

    ConfigInfo globalCfg = getConfig.get().apply(new ConfigResource());

    Config db = projectCache.getAllProjects().getConfig(pluginName + ".config").get();
    ConfigInfo info = new ConfigInfo();

    info.defaultProject =
        MoreObjects.firstNonNull(
            db.getString(PREFERENCE, username, KEY_DEFAULT_PROJECT), globalCfg.defaultProject);

    info.linkDecoration =
        db.getEnum(
            PREFERENCE,
            username,
            KEY_LINK_DECORATION,
            MoreObjects.firstNonNull(globalCfg.linkDecoration, LinkDecoration.NONE));
    if (LinkDecoration.NONE.equals(info.linkDecoration)) {
      info.linkDecoration = null;
    }

    info.stage =
        db.getBoolean(
            PREFERENCE, username, KEY_STAGE, (globalCfg.stage != null ? globalCfg.stage : false));
    if (!info.stage) {
      info.stage = null;
    }

    info.pattern = globalCfg.pattern;

    return info;
  }