package com.swingsane.business.auth; import java.util.HashMap; import au.com.southsky.jfreesane.SanePasswordProvider; import com.swingsane.preferences.model.Login; /** * @author Roland Quast (roland@formreturn.com) * */ public class SwingSanePasswordProvider extends SanePasswordProvider { public static final String MARKER_MD5 = "$MD5$"; private HashMap<String, Login> logins; public SwingSanePasswordProvider(HashMap<String, Login> logins) { this.logins = logins; } @Override public final boolean canAuthenticate(String resource) { return logins.containsKey(parseResourceString(resource)); } @Override public final String getPassword(String resource) { return logins.get(parseResourceString(resource)).getPassword(); } @Override public final String getUsername(String resource) { return logins.get(parseResourceString(resource)).getUsername(); } private String parseResourceString(String resource) { return resource.contains(MARKER_MD5) ? resource.substring(0, resource.indexOf(MARKER_MD5)) : resource; } }