--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Fri Oct 19 17:47:24 CEST 2012 -->
+<TITLE>
+LdapToolsImpl
+</TITLE>
+
+<META NAME="date" CONTENT="2012-10-19">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LdapToolsImpl";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapFilters.html" title="class in com.pentila.evalcomp.ldap.impl"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../com/pentila/evalcomp/ldap/impl/UserContextMapper.html" title="class in com.pentila.evalcomp.ldap.impl"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LdapToolsImpl.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.pentila.evalcomp.ldap.impl</FONT>
+<BR>
+Class LdapToolsImpl</H2>
+<PRE>
+java.lang.Object
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.pentila.evalcomp.ldap.impl.LdapToolsImpl</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LdapToolsImpl</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></DL>
+</PRE>
+
+<P>
+The Class LDAPToolsImpl provides methods to get data from ldap. Use this
+ class when you want to make queries to ldap.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected org.springframework.ldap.core.LdapTemplate</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#ldapTemplate">ldapTemplate</A></B></CODE>
+
+<BR>
+ The ldap template.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#add(com.pentila.evalcomp.domain.Entity)">add</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</CODE>
+
+<BR>
+ Add entity to ldap.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.springframework.ldap.core.DistinguishedName</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#buildDn(com.pentila.evalcomp.domain.Entity)">buildDn</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</CODE>
+
+<BR>
+ Builds the dn necessary to obtain an entity from ldap.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.springframework.ldap.core.DistinguishedName</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#buildDn(java.lang.String, boolean)">buildDn</A></B>(java.lang.String uid,
+ boolean isGroup)</CODE>
+
+<BR>
+ The dn is build using the uid.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#delete(com.pentila.evalcomp.domain.Entity)">delete</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</CODE>
+
+<BR>
+ Delete an entity from ldap.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#edit(com.pentila.evalcomp.domain.Entity)">edit</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</CODE>
+
+<BR>
+ Modify an entity in ldap.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#filterGroupUsersAdd(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)">filterGroupUsersAdd</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> ldGroup,
+ <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> dbGroup,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators)</CODE>
+
+<BR>
+ db -> ldap group user filters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#filterGroupUsersDelete(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)">filterGroupUsersDelete</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> ldGroup,
+ <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> dbGroup,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators)</CODE>
+
+<BR>
+ Filter group users delete.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<java.lang.String></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getAllGroupNames()">getAllGroupNames</A></B>()</CODE>
+
+<BR>
+ Gets the all group names.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getAllGroups()">getAllGroups</A></B>()</CODE>
+
+<BR>
+ Gets all groups.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<java.lang.String></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getAllUserNames()">getAllUserNames</A></B>()</CODE>
+
+<BR>
+ Gets the all user names.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getAllUsers()">getAllUsers</A></B>()</CODE>
+
+<BR>
+ Gets all users.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getEncodedPassword(java.lang.String)">getEncodedPassword</A></B>(java.lang.String cleartext)</CODE>
+
+<BR>
+ Gets the encoded password.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getGroup(java.lang.String)">getGroup</A></B>(java.lang.String uid)</CODE>
+
+<BR>
+ Get the Group object that has the given uid.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<java.util.Map<java.lang.String,java.lang.String>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getGroupAttributes(java.util.Set, java.lang.String[])">getGroupAttributes</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.lang.String[] columns)</CODE>
+
+<BR>
+ The method puts together all the filter object with "AND" in between
+ them, then it returns a Set of the values specified by the column
+ parameter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getGroups(org.springframework.ldap.filter.Filter)">getGroups</A></B>(org.springframework.ldap.filter.Filter filter)</CODE>
+
+<BR>
+ Gets the groups using a filter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getGroups(java.util.Set, java.util.List)">getGroups</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> bypassList)</CODE>
+
+<BR>
+ Gets the groups matching the filters ( the filters are put together with
+ an "&" in between) and excludes the groups found in bypassList.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getGroups(java.util.Set, java.util.Set)">getGroups</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> groups)</CODE>
+
+<BR>
+ Builds a list of groups from ldap.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getGroups(java.lang.String)">getGroups</A></B>(java.lang.String filter)</CODE>
+
+<BR>
+ Gets the groups using a String object filter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html" title="class in com.pentila.evalcomp.ldap.impl">LdapToolsImpl</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+ Gets the single instance of LdapToolsImpl.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.springframework.security.authentication.encoding.PasswordEncoder</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getLdapPasswordEncoder()">getLdapPasswordEncoder</A></B>()</CODE>
+
+<BR>
+ Gets the ldap password encoder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.springframework.ldap.core.LdapTemplate</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getLdapTemplate()">getLdapTemplate</A></B>()</CODE>
+
+<BR>
+ Gets the ldap template.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getModifyTimestamp(com.pentila.evalcomp.domain.Entity)">getModifyTimestamp</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</CODE>
+
+<BR>
+ Gets the modify timestamp of an entity.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUser(java.lang.String)">getUser</A></B>(java.lang.String uid)</CODE>
+
+<BR>
+ Gets the user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<java.util.Map<java.lang.String,java.lang.String>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUserAttributes(java.util.Set, java.lang.String[])">getUserAttributes</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.lang.String[] columns)</CODE>
+
+<BR>
+ The method puts together all the filter object with "AND" in between
+ them, then it returns a Set of the values specified by the column
+ parameter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUserGroups(java.lang.String)">getUserGroups</A></B>(java.lang.String uid)</CODE>
+
+<BR>
+ Gets the user groups.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsers(org.springframework.ldap.filter.Filter)">getUsers</A></B>(org.springframework.ldap.filter.Filter filter)</CODE>
+
+<BR>
+ Gets the users using a spring Filter object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsers(java.util.Set)">getUsers</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters)</CODE>
+
+<BR>
+ Used to obtain the users from ldap using some filter rules.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsers(java.util.Set, java.util.Set)">getUsers</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> users)</CODE>
+
+<BR>
+ Builds a list of users from ldap.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsers(java.lang.String)">getUsers</A></B>(java.lang.String filter)</CODE>
+
+<BR>
+ Gets the users using a String filter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsersFrom(com.pentila.evalcomp.domain.Group)">getUsersFrom</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> group)</CODE>
+
+<BR>
+ Gets the users from.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsersFrom(java.util.Set, java.util.Set)">getUsersFrom</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> userList)</CODE>
+
+<BR>
+ Gets the users matching the filters ( the filters are put together with
+ an "&" in between) and matching the userList.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsersFrom(java.lang.String)">getUsersFrom</A></B>(java.lang.String gid)</CODE>
+
+<BR>
+ Gets the users from group with the uid = uidGroup.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsersUidFromGroup(java.lang.String, java.lang.String)">getUsersUidFromGroup</A></B>(java.lang.String groupID,
+ java.lang.String style)</CODE>
+
+<BR>
+ Used to obtain an array of uid's of the users of the group with the uid
+ groupID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#getUsersWithout(java.util.Set, java.util.Set)">getUsersWithout</A></B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> bypassList)</CODE>
+
+<BR>
+ Gets the users matching the filters ( the filters are put together with
+ an "&" in between) and excludes the users found in bypassList.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#mapToContext(com.pentila.evalcomp.domain.Entity, org.springframework.ldap.core.DirContextAdapter, boolean)">mapToContext</A></B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity,
+ org.springframework.ldap.core.DirContextAdapter context,
+ boolean isNew)</CODE>
+
+<BR>
+ Method used to map to a DirContextAdapter spring object an entity object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#setLdapPasswordEncoder(org.springframework.security.authentication.encoding.PasswordEncoder)">setLdapPasswordEncoder</A></B>(org.springframework.security.authentication.encoding.PasswordEncoder ldapPasswordEncoder)</CODE>
+
+<BR>
+ Sets the ldap password encoder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html#setLdapTemplate(org.springframework.ldap.core.LdapTemplate)">setLdapTemplate</A></B>(org.springframework.ldap.core.LdapTemplate ldapTemplate)</CODE>
+
+<BR>
+ Sets the ldap template.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ldapTemplate"><!-- --></A><H3>
+ldapTemplate</H3>
+<PRE>
+protected org.springframework.ldap.core.LdapTemplate <B>ldapTemplate</B></PRE>
+<DL>
+<DD>The ldap template.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public <A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html" title="class in com.pentila.evalcomp.ldap.impl">LdapToolsImpl</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD>Gets the single instance of LdapToolsImpl.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>single instance of LdapToolsImpl</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(com.pentila.evalcomp.domain.Entity)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#add(com.pentila.evalcomp.domain.Entity)">ILdapTools</A></CODE></B></DD>
+<DD>Add entity to ldap.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#add(com.pentila.evalcomp.domain.Entity)">add</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - the object to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="buildDn(com.pentila.evalcomp.domain.Entity)"><!-- --></A><H3>
+buildDn</H3>
+<PRE>
+public org.springframework.ldap.core.DistinguishedName <B>buildDn</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#buildDn(com.pentila.evalcomp.domain.Entity)">ILdapTools</A></CODE></B></DD>
+<DD>Builds the dn necessary to obtain an entity from ldap. The dn is build
+ using the uid of the entity object. The dn has the ldap conventions
+ format.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#buildDn(com.pentila.evalcomp.domain.Entity)">buildDn</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - the entity
+<DT><B>Returns:</B><DD>the distinguished name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="buildDn(java.lang.String, boolean)"><!-- --></A><H3>
+buildDn</H3>
+<PRE>
+public org.springframework.ldap.core.DistinguishedName <B>buildDn</B>(java.lang.String uid,
+ boolean isGroup)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#buildDn(java.lang.String, boolean)">ILdapTools</A></CODE></B></DD>
+<DD>The dn is build using the uid. The dn has the ldap conventions format.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#buildDn(java.lang.String, boolean)">buildDn</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uid</CODE> - the uid<DD><CODE>isGroup</CODE> - the is group
+<DT><B>Returns:</B><DD>the distinguished name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(com.pentila.evalcomp.domain.Entity)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#delete(com.pentila.evalcomp.domain.Entity)">ILdapTools</A></CODE></B></DD>
+<DD>Delete an entity from ldap.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#delete(com.pentila.evalcomp.domain.Entity)">delete</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - the object to be deleted</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="edit(com.pentila.evalcomp.domain.Entity)"><!-- --></A><H3>
+edit</H3>
+<PRE>
+public <A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> <B>edit</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#edit(com.pentila.evalcomp.domain.Entity)">ILdapTools</A></CODE></B></DD>
+<DD>Modify an entity in ldap.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#edit(com.pentila.evalcomp.domain.Entity)">edit</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - the object to be modified
+<DT><B>Returns:</B><DD>the modified entity</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="filterGroupUsersAdd(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)"><!-- --></A><H3>
+filterGroupUsersAdd</H3>
+<PRE>
+public <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> <B>filterGroupUsersAdd</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> ldGroup,
+ <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> dbGroup,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#filterGroupUsersAdd(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)">ILdapTools</A></CODE></B></DD>
+<DD>db -> ldap group user filters.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#filterGroupUsersAdd(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)">filterGroupUsersAdd</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ldGroup</CODE> - the db group<DD><CODE>dbGroup</CODE> - the ld group<DD><CODE>filters</CODE> - the filters<DD><CODE>comparators</CODE> - the comparators
+<DT><B>Returns:</B><DD>the dbGroup with all params taken from ldGrop and the parsed list
+ of users set after</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="filterGroupUsersDelete(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)"><!-- --></A><H3>
+filterGroupUsersDelete</H3>
+<PRE>
+public <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> <B>filterGroupUsersDelete</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> ldGroup,
+ <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> dbGroup,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#filterGroupUsersDelete(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)">ILdapTools</A></CODE></B></DD>
+<DD>Filter group users delete.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#filterGroupUsersDelete(com.pentila.evalcomp.domain.Group, com.pentila.evalcomp.domain.Group, java.util.Set, java.util.Set)">filterGroupUsersDelete</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ldGroup</CODE> - the db group<DD><CODE>dbGroup</CODE> - the ld group<DD><CODE>filters</CODE> - the filters<DD><CODE>comparators</CODE> - the comparators
+<DT><B>Returns:</B><DD>the group</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllGroupNames()"><!-- --></A><H3>
+getAllGroupNames</H3>
+<PRE>
+public java.util.List<java.lang.String> <B>getAllGroupNames</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllGroupNames()">ILdapTools</A></CODE></B></DD>
+<DD>Gets the all group names.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllGroupNames()">getAllGroupNames</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the all group names</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllGroups()"><!-- --></A><H3>
+getAllGroups</H3>
+<PRE>
+public java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> <B>getAllGroups</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllGroups()">ILdapTools</A></CODE></B></DD>
+<DD>Gets all groups.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllGroups()">getAllGroups</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of Group objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllUserNames()"><!-- --></A><H3>
+getAllUserNames</H3>
+<PRE>
+public java.util.List<java.lang.String> <B>getAllUserNames</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllUserNames()">ILdapTools</A></CODE></B></DD>
+<DD>Gets the all user names.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllUserNames()">getAllUserNames</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the all user names</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllUsers()"><!-- --></A><H3>
+getAllUsers</H3>
+<PRE>
+public java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getAllUsers</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllUsers()">ILdapTools</A></CODE></B></DD>
+<DD>Gets all users.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getAllUsers()">getAllUsers</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of User objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroup(java.lang.String)"><!-- --></A><H3>
+getGroup</H3>
+<PRE>
+public <A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> <B>getGroup</B>(java.lang.String uid)
+ throws org.springframework.ldap.NameNotFoundException</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroup(java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Get the Group object that has the given uid.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroup(java.lang.String)">getGroup</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uid</CODE> - the given uid
+<DT><B>Returns:</B><DD>the group matching the uid
+<DT><B>Throws:</B>
+<DD><CODE>org.springframework.ldap.NameNotFoundException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupAttributes(java.util.Set, java.lang.String[])"><!-- --></A><H3>
+getGroupAttributes</H3>
+<PRE>
+public java.util.List<java.util.Map<java.lang.String,java.lang.String>> <B>getGroupAttributes</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.lang.String[] columns)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroupAttributes(java.util.Set, java.lang.String[])">ILdapTools</A></CODE></B></DD>
+<DD>The method puts together all the filter object with "AND" in between
+ them, then it returns a Set of the values specified by the column
+ parameter. For example, if column = "uid" it will give the set of uid's
+ found with the filter rules.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroupAttributes(java.util.Set, java.lang.String[])">getGroupAttributes</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filters</CODE> - the set of rules<DD><CODE>columns</CODE> - the columns
+<DT><B>Returns:</B><DD>a set of attributes matching the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroups(org.springframework.ldap.filter.Filter)"><!-- --></A><H3>
+getGroups</H3>
+<PRE>
+public java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> <B>getGroups</B>(org.springframework.ldap.filter.Filter filter)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(org.springframework.ldap.filter.Filter)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the groups using a filter.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(org.springframework.ldap.filter.Filter)">getGroups</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filter</CODE> - is a spring Filter object containing the filtering rules
+<DT><B>Returns:</B><DD>the list of groups</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroups(java.util.Set, java.util.List)"><!-- --></A><H3>
+getGroups</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> <B>getGroups</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> bypassList)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(java.util.Set, java.util.List)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the groups matching the filters ( the filters are put together with
+ an "&" in between) and excludes the groups found in bypassList.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(java.util.Set, java.util.List)">getGroups</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filters</CODE> - the filter rules<DD><CODE>bypassList</CODE> - groups that must be excluded if found in this list
+<DT><B>Returns:</B><DD>a set of groups matching the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroups(java.util.Set, java.util.Set)"><!-- --></A><H3>
+getGroups</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> <B>getGroups</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> groups)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(java.util.Set, java.util.Set)">ILdapTools</A></CODE></B></DD>
+<DD>Builds a list of groups from ldap. It searches in ldap for the groups
+ that are in the given set and that respect the comparation rules.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(java.util.Set, java.util.Set)">getGroups</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comparators</CODE> - the list of comparations. Example: c.getLdap() =
+ value(c.getDb()) . Here, the left part is the attribute name,
+ and the right part is the content of the other attribute.<DD><CODE>groups</CODE> - the groups searched
+<DT><B>Returns:</B><DD>a set of groups that match the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroups(java.lang.String)"><!-- --></A><H3>
+getGroups</H3>
+<PRE>
+public java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> <B>getGroups</B>(java.lang.String filter)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the groups using a String object filter.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getGroups(java.lang.String)">getGroups</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filter</CODE> - the String filter object containing the filtering rules
+<DT><B>Returns:</B><DD>a list of groups</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLdapTemplate()"><!-- --></A><H3>
+getLdapTemplate</H3>
+<PRE>
+public org.springframework.ldap.core.LdapTemplate <B>getLdapTemplate</B>()</PRE>
+<DL>
+<DD>Gets the ldap template.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ldap template</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getModifyTimestamp(com.pentila.evalcomp.domain.Entity)"><!-- --></A><H3>
+getModifyTimestamp</H3>
+<PRE>
+public java.lang.String <B>getModifyTimestamp</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getModifyTimestamp(com.pentila.evalcomp.domain.Entity)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the modify timestamp of an entity. The ldap attribute is
+ modifyTimestamp.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getModifyTimestamp(com.pentila.evalcomp.domain.Entity)">getModifyTimestamp</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - the entity object which will be searched
+<DT><B>Returns:</B><DD>the modifyTimestamp read from ldap</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUser(java.lang.String)"><!-- --></A><H3>
+getUser</H3>
+<PRE>
+public <A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A> <B>getUser</B>(java.lang.String uid)
+ throws org.springframework.ldap.NameNotFoundException</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUser(java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the user.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUser(java.lang.String)">getUser</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uid</CODE> - the uid
+<DT><B>Returns:</B><DD>the user
+<DT><B>Throws:</B>
+<DD><CODE>org.springframework.ldap.NameNotFoundException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserAttributes(java.util.Set, java.lang.String[])"><!-- --></A><H3>
+getUserAttributes</H3>
+<PRE>
+public java.util.List<java.util.Map<java.lang.String,java.lang.String>> <B>getUserAttributes</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.lang.String[] columns)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUserAttributes(java.util.Set, java.lang.String[])">ILdapTools</A></CODE></B></DD>
+<DD>The method puts together all the filter object with "AND" in between
+ them, then it returns a Set of the values specified by the column
+ parameter. For example, if column = "uid" it will give the set of uid's
+ found with the filter rules.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUserAttributes(java.util.Set, java.lang.String[])">getUserAttributes</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filters</CODE> - the set of rules<DD><CODE>columns</CODE> - the columns
+<DT><B>Returns:</B><DD>a set of attributes matching the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserGroups(java.lang.String)"><!-- --></A><H3>
+getUserGroups</H3>
+<PRE>
+public java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A>> <B>getUserGroups</B>(java.lang.String uid)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUserGroups(java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the user groups.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUserGroups(java.lang.String)">getUserGroups</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uid</CODE> - the uid
+<DT><B>Returns:</B><DD>the user groups</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsers(org.springframework.ldap.filter.Filter)"><!-- --></A><H3>
+getUsers</H3>
+<PRE>
+public java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsers</B>(org.springframework.ldap.filter.Filter filter)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(org.springframework.ldap.filter.Filter)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the users using a spring Filter object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(org.springframework.ldap.filter.Filter)">getUsers</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filter</CODE> - the filter object containing the filtering rules
+<DT><B>Returns:</B><DD>a list of users</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsers(java.util.Set)"><!-- --></A><H3>
+getUsers</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsers</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(java.util.Set)">ILdapTools</A></CODE></B></DD>
+<DD>Used to obtain the users from ldap using some filter rules. A filter
+ object has a string value representing a normal ldap query. The queries
+ are put together with an "&" in between.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(java.util.Set)">getUsers</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filters</CODE> - the filters set
+<DT><B>Returns:</B><DD>the users matching the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsers(java.util.Set, java.util.Set)"><!-- --></A><H3>
+getUsers</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsers</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Identifier.html" title="class in com.pentila.evalcomp.synchronization.model">Identifier</A>> comparators,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> users)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(java.util.Set, java.util.Set)">ILdapTools</A></CODE></B></DD>
+<DD>Builds a list of users from ldap. It searches in ldap for the users that
+ are in the given set and that respect the comparation rules.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(java.util.Set, java.util.Set)">getUsers</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comparators</CODE> - the list of comparations. Example: c.getLdap() =
+ value(c.getDb()) . Here, the left part is the attribute name,
+ and the right part is the content of the other attribute.<DD><CODE>users</CODE> - the users searched
+<DT><B>Returns:</B><DD>a set of users that match the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsers(java.lang.String)"><!-- --></A><H3>
+getUsers</H3>
+<PRE>
+public java.util.List<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsers</B>(java.lang.String filter)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the users using a String filter.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsers(java.lang.String)">getUsers</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filter</CODE> - the filter containing the filtering rules
+<DT><B>Returns:</B><DD>a list of users</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsersFrom(com.pentila.evalcomp.domain.Group)"><!-- --></A><H3>
+getUsersFrom</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsersFrom</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Group.html" title="class in com.pentila.evalcomp.domain">Group</A> group)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersFrom(com.pentila.evalcomp.domain.Group)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the users from.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersFrom(com.pentila.evalcomp.domain.Group)">getUsersFrom</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>group</CODE> - the group
+<DT><B>Returns:</B><DD>the users from</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsersFrom(java.util.Set, java.util.Set)"><!-- --></A><H3>
+getUsersFrom</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsersFrom</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> userList)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersFrom(java.util.Set, java.util.Set)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the users matching the filters ( the filters are put together with
+ an "&" in between) and matching the userList.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersFrom(java.util.Set, java.util.Set)">getUsersFrom</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filters</CODE> - the filter rules<DD><CODE>userList</CODE> - the user list
+<DT><B>Returns:</B><DD>a set of users matching the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsersFrom(java.lang.String)"><!-- --></A><H3>
+getUsersFrom</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsersFrom</B>(java.lang.String gid)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersFrom(java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the users from group with the uid = uidGroup.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersFrom(java.lang.String)">getUsersFrom</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>gid</CODE> - the uid of group
+<DT><B>Returns:</B><DD>the users list of the group</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsersUidFromGroup(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getUsersUidFromGroup</H3>
+<PRE>
+public java.lang.String[] <B>getUsersUidFromGroup</B>(java.lang.String groupID,
+ java.lang.String style)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersUidFromGroup(java.lang.String, java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Used to obtain an array of uid's of the users of the group with the uid
+ groupID.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersUidFromGroup(java.lang.String, java.lang.String)">getUsersUidFromGroup</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>groupID</CODE> - the group identifier<DD><CODE>style</CODE> - the style
+<DT><B>Returns:</B><DD>the array of user uid's</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsersWithout(java.util.Set, java.util.Set)"><!-- --></A><H3>
+getUsersWithout</H3>
+<PRE>
+public java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> <B>getUsersWithout</B>(java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/synchronization/model/Filter.html" title="class in com.pentila.evalcomp.synchronization.model">Filter</A>> filters,
+ java.util.Set<<A HREF="../../../../../com/pentila/evalcomp/domain/User.html" title="class in com.pentila.evalcomp.domain">User</A>> bypassList)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersWithout(java.util.Set, java.util.Set)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the users matching the filters ( the filters are put together with
+ an "&" in between) and excludes the users found in bypassList.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getUsersWithout(java.util.Set, java.util.Set)">getUsersWithout</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filters</CODE> - the filter rules<DD><CODE>bypassList</CODE> - users that must be excluded if found in this list
+<DT><B>Returns:</B><DD>a set of users matching the previous rules</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="mapToContext(com.pentila.evalcomp.domain.Entity, org.springframework.ldap.core.DirContextAdapter, boolean)"><!-- --></A><H3>
+mapToContext</H3>
+<PRE>
+public void <B>mapToContext</B>(<A HREF="../../../../../com/pentila/evalcomp/domain/Entity.html" title="class in com.pentila.evalcomp.domain">Entity</A> entity,
+ org.springframework.ldap.core.DirContextAdapter context,
+ boolean isNew)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#mapToContext(com.pentila.evalcomp.domain.Entity, org.springframework.ldap.core.DirContextAdapter, boolean)">ILdapTools</A></CODE></B></DD>
+<DD>Method used to map to a DirContextAdapter spring object an entity object.
+ Basically what it does is to define and set attributes for this context
+ object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#mapToContext(com.pentila.evalcomp.domain.Entity, org.springframework.ldap.core.DirContextAdapter, boolean)">mapToContext</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - the entity<DD><CODE>context</CODE> - the context<DD><CODE>isNew</CODE> - the is new</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLdapTemplate(org.springframework.ldap.core.LdapTemplate)"><!-- --></A><H3>
+setLdapTemplate</H3>
+<PRE>
+public void <B>setLdapTemplate</B>(org.springframework.ldap.core.LdapTemplate ldapTemplate)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#setLdapTemplate(org.springframework.ldap.core.LdapTemplate)">ILdapTools</A></CODE></B></DD>
+<DD>Sets the ldap template. This is set in the spring bean file
+ configuration. See more about ldap template in spring ldap api.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#setLdapTemplate(org.springframework.ldap.core.LdapTemplate)">setLdapTemplate</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ldapTemplate</CODE> - the new ldap template</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLdapPasswordEncoder()"><!-- --></A><H3>
+getLdapPasswordEncoder</H3>
+<PRE>
+public org.springframework.security.authentication.encoding.PasswordEncoder <B>getLdapPasswordEncoder</B>()</PRE>
+<DL>
+<DD>Gets the ldap password encoder.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ldap password encoder</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLdapPasswordEncoder(org.springframework.security.authentication.encoding.PasswordEncoder)"><!-- --></A><H3>
+setLdapPasswordEncoder</H3>
+<PRE>
+public void <B>setLdapPasswordEncoder</B>(org.springframework.security.authentication.encoding.PasswordEncoder ldapPasswordEncoder)</PRE>
+<DL>
+<DD>Sets the ldap password encoder.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ldapPasswordEncoder</CODE> - the new ldap password encoder</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEncodedPassword(java.lang.String)"><!-- --></A><H3>
+getEncodedPassword</H3>
+<PRE>
+public java.lang.String <B>getEncodedPassword</B>(java.lang.String cleartext)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getEncodedPassword(java.lang.String)">ILdapTools</A></CODE></B></DD>
+<DD>Gets the encoded password.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html#getEncodedPassword(java.lang.String)">getEncodedPassword</A></CODE> in interface <CODE><A HREF="../../../../../com/pentila/evalcomp/ldap/ILdapTools.html" title="interface in com.pentila.evalcomp.ldap">ILdapTools</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cleartext</CODE> - the cleartext
+<DT><B>Returns:</B><DD>the encoded password</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../com/pentila/evalcomp/ldap/impl/LdapFilters.html" title="class in com.pentila.evalcomp.ldap.impl"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../com/pentila/evalcomp/ldap/impl/UserContextMapper.html" title="class in com.pentila.evalcomp.ldap.impl"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?com/pentila/evalcomp/ldap/impl/LdapToolsImpl.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LdapToolsImpl.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>