Class UserFileStore

  • All Implemented Interfaces:
    edu.uiuc.ncsa.security.core.Store<User>, edu.uiuc.ncsa.security.storage.MonitoredStoreInterface<User>, Map<edu.uiuc.ncsa.security.core.Identifier,​User>, UserStore

    public class UserFileStore
    extends edu.uiuc.ncsa.security.storage.monitored.MonitoredFileStore<User>
    implements UserStore

    Created by Jeff Gaynor
    on 3/2/12 at 12:52 PM

    • Constructor Detail

      • UserFileStore

        public UserFileStore​(File file,
                             UserProvider up,
                             edu.uiuc.ncsa.security.storage.data.MapConverter converter,
                             boolean removeEmptyFiles,
                             boolean removeFailedFiles)
      • UserFileStore

        public UserFileStore​(File storeDirectory,
                             File indexDirectory,
                             edu.uiuc.ncsa.security.core.util.IdentifiableProviderImpl<User> up,
                             edu.uiuc.ncsa.security.storage.data.MapConverter converter,
                             boolean removeEmptyFiles,
                             Incrementable incrementable,
                             boolean removeFailedFiles)
    • Method Detail

      • save

        public void save​(User t)
        Specified by:
        save in interface edu.uiuc.ncsa.security.core.Store<User>
        Overrides:
        save in class edu.uiuc.ncsa.security.storage.FileStore<User>
      • realSave

        public void realSave​(boolean checkExists,
                             User t)
        Overrides:
        realSave in class edu.uiuc.ncsa.security.storage.FileStore<User>
      • createAndRegisterUser

        public User createAndRegisterUser​(UserMultiID userMultiKey,
                                          String idP,
                                          String idPDisplayName,
                                          String firstName,
                                          String lastName,
                                          String email,
                                          String affiliation,
                                          String displayName,
                                          String organizationalUnit)
        Description copied from interface: UserStore
        Create a user from all the given possible information. Some of this might be missing, but the minimal set is the remoteUser and idp. Note that this creates the user uid too AND it registers the user.
        Specified by:
        createAndRegisterUser in interface UserStore
        Returns:
      • get

        public Collection<User> get​(UserMultiID userMultiKey,
                                    String idP)
        Description copied from interface: UserStore
        The remote user and idp together form a composite key for access. (Our URIs are internally generated unique identifiers and are not used outside of the store).
        Specified by:
        get in interface UserStore
        Returns:
      • get

        public User get​(Object key)
        Specified by:
        get in interface Map<edu.uiuc.ncsa.security.core.Identifier,​User>
        Overrides:
        get in class edu.uiuc.ncsa.security.storage.monitored.MonitoredFileStore<User>
      • create

        public User create​(boolean newIdentifier)
        Description copied from interface: UserStore
        Create a user, optionally with a new serial string. The default behavior for this store is that new users are not created with a new serial identifier (or various operations such as listing users can run through a great many unused identifiers and if they are expensive to create, such as from an SQL database, this might slow down the application noticeably.)
        Specified by:
        create in interface UserStore
        Returns:
      • create

        public User create()
        Specified by:
        create in interface edu.uiuc.ncsa.security.core.Store<User>
        Overrides:
        create in class edu.uiuc.ncsa.security.storage.FileStore<User>
      • getUserID

        public edu.uiuc.ncsa.security.core.Identifier getUserID​(UserMultiID userMultiKey,
                                                                String idP)
        Description copied from interface: UserStore
        Resolves the user id given the remoteUser and IdP.
        Specified by:
        getUserID in interface UserStore
        Returns:
      • updateCheckSerialString

        public void updateCheckSerialString​(User user,
                                            boolean noNewSerialID)
        Description copied from interface: UserStore
        Save the current user but do not change the serial identifier. Note that this circumvents the contract for Store.update(edu.uiuc.ncsa.security.core.Identifiable) for this interface, which, because of issue CIL-69 requires it in most cases. This is in effect an internal call that allows for administrative updates. If noNewSerialID = false, then the effect is the same as calling Store.update(Identifiable) and a new serial id is created.
        Specified by:
        updateCheckSerialString in interface UserStore
      • update

        public void update​(User t)
        Specified by:
        update in interface edu.uiuc.ncsa.security.core.Store<User>
        Overrides:
        update in class edu.uiuc.ncsa.security.storage.FileStore<User>
      • getMapConverter

        public edu.uiuc.ncsa.security.storage.data.MapConverter getMapConverter()
        Specified by:
        getMapConverter in interface UserStore
        Overrides:
        getMapConverter in class edu.uiuc.ncsa.security.storage.FileStore<User>
      • getMostRecent

        public List<User> getMostRecent​(int n,
                                        List<String> attributes)
        Specified by:
        getMostRecent in interface edu.uiuc.ncsa.security.core.Store<User>
        Overrides:
        getMostRecent in class edu.uiuc.ncsa.security.storage.monitored.MonitoredFileStore<User>