/** @see CredentialsAgent#store */ @Override public void store(RequestorType requestorType, String host, PasswordAuthentication credentials) throws CredentialsAgentException { if (requestorType == null) return; switch (requestorType) { case SERVER: if (Utils.equal(OsmApi.getOsmApi().getHost(), host)) { Main.pref.put("osm-server.username", credentials.getUserName()); if (credentials.getPassword() == null) { Main.pref.put("osm-server.password", null); } else { Main.pref.put("osm-server.password", String.valueOf(credentials.getPassword())); } } else if (host != null) { Main.pref.put("server.username." + host, credentials.getUserName()); if (credentials.getPassword() == null) { Main.pref.put("server.password." + host, null); } else { Main.pref.put("server.password." + host, String.valueOf(credentials.getPassword())); } } break; case PROXY: Main.pref.put(ProxyPreferencesPanel.PROXY_USER, credentials.getUserName()); if (credentials.getPassword() == null) { Main.pref.put(ProxyPreferencesPanel.PROXY_PASS, null); } else { Main.pref.put( ProxyPreferencesPanel.PROXY_PASS, String.valueOf(credentials.getPassword())); } break; } }
/** @see CredentialsAgent#lookup */ @Override public PasswordAuthentication lookup(RequestorType requestorType, String host) throws CredentialsAgentException { if (requestorType == null) return null; String user; String password; switch (requestorType) { case SERVER: if (Utils.equal(OsmApi.getOsmApi().getHost(), host)) { user = Main.pref.get("osm-server.username", null); password = Main.pref.get("osm-server.password", null); } else if (host != null) { user = Main.pref.get("server.username." + host, null); password = Main.pref.get("server.password." + host, null); } else { user = null; password = null; } if (user == null) return null; return new PasswordAuthentication( user, password == null ? new char[0] : password.toCharArray()); case PROXY: user = Main.pref.get(ProxyPreferencesPanel.PROXY_USER, null); password = Main.pref.get(ProxyPreferencesPanel.PROXY_PASS, null); if (user == null) return null; return new PasswordAuthentication( user, password == null ? new char[0] : password.toCharArray()); } return null; }