CESNET/perun — pull request #596 by stavamichal (2014-11-24 13:13:31+00:00)
Title: New ExtSourceApi and optimization for extSources

- rename old ExtSourceApi to ExtSourceSimpleApi
- rename old methods findSubjects to findSubjectsLogins and change
javadoc for these methods
- create new ExtSourceApi which extends ExtSourceApiImpl and define new
methods findSubjects
- all extSources implements ExtSourceSimpleApi except XMLExtSource
which use ExtSourceApi because of better optimization when using
method findSubjects instead of findSubjectsLogins
- create new method getCandidate from extSource which need only
prepared subject Data in Map structure and can create member without
calling extSource again (in entry, api, bl and blimpl)
- in method findCandidates change behavior depending on used extSource
(simple or classic)
- if ExtSourceSimple is used: use findSubjectsLogins method and for
every subject get attributes by method getCandidate from extSource
- if ExtSource is used: use findSubjects method and for every subject
get attribtues by method getCandidate from subjectData (map with
attributes)
- for both now also test uniqness of logins (throw exception if some
login is there more than once)