/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean addDomain(@NonNull Domain domain, List<Credentials> credentials) throws IOException { checkPermission(CredentialsProvider.MANAGE_DOMAINS); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); boolean modified = false; for (Credentials c : credentials) { if (list.contains(c)) { continue; } list.add(c); modified = true; } if (modified) { checkedSave(CredentialsProvider.MANAGE_DOMAINS); } return modified; } else { domainCredentialsMap.put(domain, new ArrayList<Credentials>(credentials)); checkedSave(CredentialsProvider.MANAGE_DOMAINS); return true; } }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean removeDomain(@NonNull Domain domain) throws IOException { checkPermission(CredentialsProvider.MANAGE_DOMAINS); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { domainCredentialsMap.remove(domain); checkedSave(CredentialsProvider.MANAGE_DOMAINS); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean addDomain(@NonNull Domain domain, List<Credentials> credentials) throws IOException { checkPermission(CredentialsProvider.MANAGE_DOMAINS); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); boolean modified = false; for (Credentials c : credentials) { if (list.contains(c)) { continue; } list.add(c); modified = true; } if (modified) { checkedSave(CredentialsProvider.MANAGE_DOMAINS); } return modified; } else { domainCredentialsMap.put(domain, new ArrayList<Credentials>(credentials)); checkedSave(CredentialsProvider.MANAGE_DOMAINS); return true; } }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean updateDomain(@NonNull Domain current, @NonNull Domain replacement) throws IOException { checkPermission(CredentialsProvider.MANAGE_DOMAINS); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(current)) { domainCredentialsMap.put(replacement, domainCredentialsMap.remove(current)); checkedSave(CredentialsProvider.MANAGE_DOMAINS); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean removeDomain(@NonNull Domain domain) throws IOException { checkPermission(CredentialsProvider.MANAGE_DOMAINS); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { domainCredentialsMap.remove(domain); checkedSave(CredentialsProvider.MANAGE_DOMAINS); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean addCredentials(@NonNull Domain domain, @NonNull Credentials credentials) throws IOException { checkPermission(CredentialsProvider.CREATE); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); if (list.contains(credentials)) { return false; } list.add(credentials); checkedSave(CredentialsProvider.CREATE); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean removeCredentials(@NonNull Domain domain, @NonNull Credentials credentials) throws IOException { checkPermission(CredentialsProvider.DELETE); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); if (!list.contains(credentials)) { return false; } list.remove(credentials); checkedSave(CredentialsProvider.DELETE); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean updateDomain(@NonNull Domain current, @NonNull Domain replacement) throws IOException { checkPermission(CredentialsProvider.MANAGE_DOMAINS); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(current)) { domainCredentialsMap.put(replacement, domainCredentialsMap.remove(current)); checkedSave(CredentialsProvider.MANAGE_DOMAINS); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean addCredentials(@NonNull Domain domain, @NonNull Credentials credentials) throws IOException { checkPermission(CredentialsProvider.CREATE); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); if (list.contains(credentials)) { return false; } list.add(credentials); checkedSave(CredentialsProvider.CREATE); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean removeCredentials(@NonNull Domain domain, @NonNull Credentials credentials) throws IOException { checkPermission(CredentialsProvider.DELETE); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); if (!list.contains(credentials)) { return false; } list.remove(credentials); checkedSave(CredentialsProvider.DELETE); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean updateCredentials(@NonNull Domain domain, @NonNull Credentials current, @NonNull Credentials replacement) throws IOException { checkPermission(CredentialsProvider.UPDATE); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); int index = list.indexOf(current); if (index == -1) { return false; } list.set(index, replacement); checkedSave(CredentialsProvider.UPDATE); return true; } return false; }
/** * Implementation for {@link StoreImpl} to delegate to while keeping the lock synchronization simple. */ private synchronized boolean updateCredentials(@NonNull Domain domain, @NonNull Credentials current, @NonNull Credentials replacement) throws IOException { checkPermission(CredentialsProvider.UPDATE); Map<Domain, List<Credentials>> domainCredentialsMap = getDomainCredentialsMap(); if (domainCredentialsMap.containsKey(domain)) { List<Credentials> list = domainCredentialsMap.get(domain); int index = list.indexOf(current); if (index == -1) { return false; } list.set(index, replacement); checkedSave(CredentialsProvider.UPDATE); return true; } return false; }