public class ScriptHelper
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static int |
ACTION_AUTHENTICATE |
static int |
ACTION_DELETE |
static int |
ACTION_INSERT |
static int |
ACTION_INVOKE |
static int |
ACTION_SELECT |
static int |
ACTION_UPDATE |
static java.lang.String |
LDAP_MULTI_ENTRIES |
static java.lang.String |
LDAP_MULTI_ENTRIES_ATTR |
static java.lang.String |
LDAP_MULTI_ENTRIES_ATTR_ZIP |
static java.lang.String |
LDAP_MULTIENTRIES_OBJECTCLASS |
| Constructor and Description |
|---|
ScriptHelper()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
addArrayToList(java.util.Collection list,
java.lang.Object[] array) |
static void |
addArrayToList(java.util.Collection list,
java.lang.Object[] array,
boolean isAllowDuplicate) |
static void |
addArrayToListString(java.util.List<java.lang.String> list,
java.lang.String[] array) |
static void |
addAttribute(LDAPEntry ldapEntry,
java.lang.String attrName,
java.lang.String attrValue)
add attribute to ldap entry
|
static void |
addAttribute(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.String attrValue)
add attribute to jdni entry.
|
static void |
addListToList(java.util.List list,
java.util.List listToAdd,
boolean isAllowDuplicate) |
static void |
addListToListString(java.util.List<java.lang.String> list,
java.util.List<java.lang.String> list2) |
static void |
addObjectToList(java.util.Collection list,
java.lang.Object obj,
boolean isAllowDuplicate) |
static void |
addValueToAllList(java.util.Collection listListValuesFound,
java.lang.Object value,
boolean duplicateListIfMultiple)
add value to all list found in listListValuesFound.
|
static void |
addValueToAllList(java.util.List listListValuesFound,
java.lang.Object value)
add value to all list found in listListValuesFound.
|
static void |
append(java.util.List<java.lang.StringBuilder> list,
java.util.List<java.lang.String> listString)
append elements from listString at the end of every element from list to
modify (list).
|
static void |
append(java.util.List<java.lang.StringBuilder> list,
java.lang.String s) |
static java.lang.String |
applyJNDI_DN_Format(java.lang.String dnWithEscapedValues)
apply on a dn with escaped value, JNDI formating rules.
|
static java.lang.String |
applyJNDI_FilterValue_Format(java.lang.String valueNotEscaped)
escape value to comply jndi format used in filer value sent over jndi
|
static void |
applyModificationToSearchResult(javax.naming.directory.SearchResult sr,
javax.naming.directory.ModificationItem[] modifs) |
javax.naming.NamingEnumeration |
Buildfulljoin(java.lang.String UrlsTojoin,
java.lang.String RDNName,
java.lang.String RefDNName,
boolean RefDNOnly,
int LookThroughLimit)
Join multiple objects on common identity (rdn value)
|
static java.util.Vector<LDAPEntry> |
buildLDAPEntryListFromLDIF(java.lang.String LDIFstring,
boolean compressed)
Build a list of ldapEntry from an LDIF string (compressed or not) .
|
static java.lang.String |
buildLDAPTimeStamp(long timeinmillisec,
boolean withmillisec) |
static LDAPEntry |
BuildLDIFEntry(java.lang.String dn,
java.lang.String LDIF,
boolean compressed) |
static java.lang.String |
buildLDIFfromLDAPEntryList(java.util.Vector<LDAPEntry> LDAPentries,
boolean compress)
Build an LDIF (or zipped LDIF) string from a list of LDAPentry .
|
static JDAPSearchResponse |
BuildLDIFResponse(java.lang.String dn,
java.lang.String LDIF,
boolean compressed) |
static LDAPEntry |
buildRootDse(java.lang.String rootfileName) |
static java.util.Vector |
BuildSubEntries(InterceptParam prop,
java.lang.String StartRelative2BaseDN,
java.lang.String[] subEntries)
overlapping of naming contexts : makes appear sub-entries under a naming
context.
|
static java.lang.String |
buildUTCTimeStamp(long timeinmillisec,
boolean withmillisec) |
static java.lang.String |
byteArraytoHex(byte[] Value)
Translate a byte array into an hexadecimal string
|
static java.lang.String |
byteArraytoSearchFilter(byte[] Value)
Translate a byte array into an hexadecimal string (for search filter)
|
static java.lang.String |
changeFilter(java.lang.String OriginalFilter,
java.lang.String[] AttrstoIgnore)
change the filter to avoid searching 'virtual' attributes, and make a search
fail .
|
static LDAPModification[] |
cloneLDAPModifications(LDAPModification[] mods) |
static java.util.List |
cloneList(java.util.Collection list)
result is an implementation of ArrayList do not clone values within list.
|
static <E> java.util.List<E> |
cloneList(java.util.Collection<E> list,
java.lang.Class listClass)
result is an implementation of ArrayList do not clone values within list.
|
static java.util.List |
cloneListOfList(java.util.Collection list)
result is an implementation of ArrayList do not clone values within list.
|
static java.util.Map |
cloneMap(java.util.Map map)
result is an implementation of HashMap do not clone values within list.
|
static javax.naming.directory.ModificationItem |
cloneModificationItem(javax.naming.directory.ModificationItem modif)
create clone
|
static int |
compareHex(java.lang.String s1,
java.lang.String s2)
Compare two hex strings.
|
static boolean |
comparePassword(java.lang.String password1,
java.lang.String password2)
| CLEAR | SSHA | SHA | SHA1 | MD5 | CRYPT
----------------------------------------------------- CLEAR | C | C | C | C |
C | C SSHA | C | C* | N/A | N/A | N/A | N/A SHA | C | N/A | C | C | N/A | N/A
SHA1 | C | N/A | C | C | N/A | N/A MD5 | C | N/A | N/A | N/A | C | N/A CRYPT
| C | N/A | N/A | N/A | N/A | C
where: C -- Comparable, which leads to return of 'true' or 'false' N/A -- Not
Comparable, which leads to exception of 'NoSuchAlgorithmException' C* -- For
the case of SSHA, the digests can only be compared based on the exact match.
|
static java.lang.String |
concat(java.lang.String str1,
java.lang.String str2,
java.lang.String Separator)
String Concatenation : str1 + Separator + str2
|
static java.lang.String |
constructDN(javax.naming.directory.SearchResult currentSR,
int scope,
CompoundObject co,
java.lang.String baseDN)
construct DN using value of SearchResult.
|
static java.lang.String |
constructDN(javax.naming.directory.SearchResult currentSR,
int scope,
DvxTreeNode metaNode,
java.lang.String baseDN)
Deprecated.
|
static boolean |
contains_IC(javax.naming.directory.Attribute attr,
java.lang.String value)
return true if valueToFind found in Attribute.
|
static boolean |
contains_IC(java.util.Collection list,
java.lang.Object valueToFind)
return true if valueToFind found in List.
|
static boolean |
contains_IC(java.lang.Object[] array,
java.lang.Object valueToFind)
return true if valueToFind found in List.
|
static boolean |
contains_IC(java.lang.String[] arrayStr,
java.util.List valuesToFind)
return true if valueToFind found in List.
|
static boolean |
contains(java.lang.Object[] array,
java.lang.Object valueToFind)
return true if valueToFind found in array use equals method.
|
static boolean |
contains(java.lang.String[] array,
java.lang.String valueToFind)
return true if valueToFind found in array ignore case.
|
static boolean |
contains(java.lang.String[] array,
java.lang.String valueToFind,
boolean ignoreCase)
return true if valueToFind found in array
|
static boolean |
containsArray(byte[][] array,
byte[] arrayToFind)
return true if valueToFind found in array use Arrays.equals() method.
|
static boolean |
containsArray(java.util.List list,
java.lang.Object[] arrayToFind)
return true if arrayToFind (values, not only reference) found in array ignore
case.
|
static boolean |
containsArray(java.lang.Object[][] array,
java.lang.Object[] arrayToFind)
return true if valueToFind found in array use Arrays.equals() method.
|
static boolean |
containsAttribute(javax.naming.directory.Attributes attrs,
javax.naming.directory.Attribute attrToFind) |
static boolean |
containsAttribute(javax.naming.directory.SearchResult sr,
java.lang.String attrToFind) |
static boolean |
containsKeysFromOtherMap(java.util.Map map1,
java.util.Map map2)
return true if every keys from map2 could be found in map1
|
static boolean |
containsModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> list,
javax.naming.directory.ModificationItem modif) |
static LDAPControl |
Control2LDAPControl(javax.naming.ldap.Control ctrl) |
protected static java.lang.String |
Control2String(javax.naming.ldap.Control ctrl) |
static java.lang.String |
Controls2String(javax.naming.ldap.Control[] ctrl) |
static javax.naming.directory.Attributes |
convertArrayLDAPAttribute2Attributes(LDAPAttribute[] attributes)
use BasicAttributesIndexed for impl.
|
static javax.naming.directory.ModificationItem[] |
convertArrayLDAPModification2ArrayModificationItem(LDAPModification[] arrayModif)
convert com.rli.slapd.server.LDAPModification[] to
javax.naming.directory.ModificationItem[]
|
static java.util.List<javax.naming.directory.ModificationItem> |
convertArrayLDAPModification2ListModificationItem(LDAPModification[] arrayModif)
convert com.rli.slapd.server.LDAPModification[] to
List
|
static LDAPModification[] |
convertArrayModificationItem2ArrayLDAPModification(javax.naming.directory.ModificationItem[] mods) |
static java.util.List |
convertArrayStrToList(java.lang.String[] array1) |
static java.util.List |
convertArrayStrToList(java.lang.String[] array1,
boolean toLowerCase) |
static java.lang.String |
convertArrayStrToString(java.lang.String[] array1,
char separChar) |
static java.util.List |
convertArrayToList(java.lang.Object[] array1) |
static java.lang.String |
convertArrayToString(java.lang.Object[] array1,
char separChar) |
static LDAPAttribute |
convertAttribute2LDAPAttribute(javax.naming.directory.Attribute attribute)
convert com.rli.slapd.server.LDAPAttribute to
javax.naming.directory.Attribute
|
static LDAPAttribute[] |
convertAttributes2ArrayLDAPAttribute(javax.naming.directory.Attributes attrs) |
static LDAPAttributeSet |
convertAttributes2ArrayLDAPAttributeSet(javax.naming.directory.Attributes attrs) |
static javax.naming.directory.ModificationItem[] |
convertAttributesToModificationItemArray(javax.naming.directory.Attributes attributes,
int mod_op)
create a ModificationItem[] from attributes
|
static byte[] |
convertFromPEMCertificate(byte[] pemByteArr) |
static javax.naming.directory.Attribute |
convertLDAPAttribute2Attribute(LDAPAttribute attribute)
convert com.rli.slapd.server.LDAPAttribute to
javax.naming.directory.Attribute
|
static javax.naming.directory.Attribute |
convertLDAPAttribute2Attribute(LDAPAttribute attribute,
java.lang.String newAttrName)
convert com.rli.slapd.server.LDAPAttribute to
javax.naming.directory.Attribute
|
static javax.naming.directory.ModificationItem |
convertLDAPModification2ModificationItem(LDAPModification modif)
convert com.rli.slapd.server.LDAPModification to
javax.naming.directory.ModificationItem
|
static LDAPModification[] |
convertListModificationItem2ArrayLDAPModification(java.util.Collection listModificationItems) |
static byte[][] |
convertListToArray2dBytes(java.util.Collection list)
list must contain byte[].
|
static int[] |
convertListToArrayInt(java.util.Collection list)
list must contain Integer.
|
static java.lang.String[] |
convertListToArrayString(java.util.Collection list) |
static LDAPModification |
convertModificationItem2LDAPModification(javax.naming.directory.ModificationItem modif)
convert javax.naming.directory.ModificationItem to
com.rli.slapd.server.LDAPModification
|
static byte[] |
convertStringSidToBinary(java.lang.String string)
Converts a String SID to its binary representation, according to the
algorithm described
here.
|
static java.lang.String |
convertStringSidToHex(java.lang.String theSID) |
static boolean |
CopyFile(java.lang.String src,
java.lang.String dest)
Copy a file
|
static javax.naming.directory.Attribute |
createAttribute(java.lang.String attrName,
javax.naming.directory.Attribute fromAttr)
create attr from existing attr with a different name
|
static javax.naming.directory.Attribute |
createAttribute(java.lang.String attrName,
java.util.Enumeration enumValues)
create attr using values from an enumeration
|
void |
createIRLObject(java.lang.String inURL)
Creates VDAPUrl object for given IRL.
|
static java.util.Map |
createMap(java.util.List keys,
java.util.List valuesForEachKey)
create Map from list of keys and values
|
static java.util.Map[] |
createMapAttrStrValuePossibility(java.util.Map mapKAttrNameVStrValueORListValues)
create array of combinaison of key,String value (unique).
|
static java.lang.String |
decodeFromBase64(java.lang.String s)
If input string starts with RLIConstants.BASE64TOKEN, decodes the input
string from base64, and returns the decoded value as String.
|
static java.lang.String |
decodeStringFromBase64(java.lang.String s)
Decode string from base64 assuming that the string IS base64 encoded and does
not have prefix RLIConstants.BASE64TOKEN
|
boolean |
deleteEntry(java.lang.String delURL)
delete entry pointed by given vdap-url.
|
static javax.naming.directory.Attribute |
DNremapLookup(javax.naming.directory.Attribute attr,
java.lang.String baseDN1,
java.lang.String baseDN2,
java.lang.String dnAttr)
optimized lookup for DN re-mapping in member or memberOf attributes and
translate into virtual DN
|
static javax.naming.directory.Attribute |
DNremapLookupForeign(javax.naming.directory.Attribute attr,
java.lang.String baseDN1,
java.lang.String baseDN2)
optimized lookup for re-mapping DN in member attributes that refer to
external forest DN and translate into virtual DN values that are not
'foreign' are kept as is
|
static javax.naming.directory.Attribute |
DNremapLookupUnnest(javax.naming.directory.Attribute Groupattr,
java.lang.String UserbaseDN,
java.lang.String GroupbaseDN,
java.lang.String dnAttr)
optimized lookup for DN re-mapping of member attribute and translate into
virtual DN.
|
static boolean |
doBind(javax.naming.directory.SearchResult mainEntry,
java.lang.String bindDN,
java.lang.String bindPWD,
VDQuery vdQuery,
java.util.Vector<LDAPControl[]> BindResponseControl)
return true if bind is successful
|
static boolean |
doBindWithExceptionSupport(javax.naming.directory.SearchResult mainEntry,
java.lang.String bindDN,
java.lang.String bindPWD,
VDQuery vdQuery,
java.util.Vector<LDAPControl[]> BindResponseControl) |
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult entry,
AttributesEnumeration enumeration,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayRequestedAttr,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter,
BackendMetaData bm,
boolean initRefCache) |
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult entry,
AttributesEnumeration enumeration,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayRequestedAttr,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter,
BackendMetaData bm,
boolean initRefCache,
boolean optimizeJoin,
boolean optimizeRequestedBackendAttribute) |
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
java.lang.String externalJoinStr,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr)
do external join on search result
|
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult sr,
java.lang.String virtualDn,
java.lang.String externalJoinStr,
int timeLimitMs,
java.lang.String filterToMatch,
java.lang.String[] arrayAttrRequested)
do external join on search result
|
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight)
do external join on search result
|
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages)
do external join on search result
|
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter)
do external join on search result
|
static javax.naming.directory.SearchResult |
doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayRequestedAttr,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter) |
static boolean |
doExternalJoinDelete(CompoundObject co,
java.lang.String dn)
do delete on external join (if possible)
|
static boolean |
doExternalJoinInsert(java.lang.String dn,
LDAPAttribute[] attributes,
CompoundObject co,
javax.naming.directory.SearchResult srMainEntry)
do insert on external join (if possible)
|
static boolean |
doExternalJoinUpdate(java.lang.String dn,
java.lang.Object modifs,
CompoundObject co,
javax.naming.directory.SearchResult srMainEntry)
do update on external join (if possible)
|
static void |
duplicateList(java.util.List list)
List will be duplicated and added at the end of current list
|
protected static void |
duplicateList(java.util.List list,
int nbDuplicate)
List will be duplicated and added "nbDuplicate" times at the end of current
list
|
static java.lang.String |
encodeIntoBase64(java.lang.String s)
Returns "{base64binary}" + input string encoded into base64.
|
static java.lang.String |
encodeStringIntoBase64(java.lang.String s)
Encode string into base64 without adding prefix RLIConstants.BASE64TOKEN.
|
static java.lang.String |
encryptPassword(java.lang.String clearTextpwd,
java.lang.String algorithm) |
static boolean |
equalsArrayIgnoreCase(java.lang.String[] array1,
java.lang.String[] array2)
return true if both set have same elemt, ignore case.
|
static boolean |
equalsArrayIgnoreOrder(java.lang.Object[] array1,
java.lang.Object[] array2)
return true if both set have same elemt, ignore order, ignore case.
|
static boolean |
equalsArrayIgnoreOrderIgnoreCase(java.lang.Object[] array1,
java.lang.Object[] array2)
return true if both set have same elemt, ignore order, ignore case.
|
static boolean |
equalsArrayNullSupport_2D(java.lang.Object[][] array1_2D,
java.lang.Object[][] array2_2D)
return true if both Object[][] are both null or equals.
|
static boolean |
equalsArrayNullSupport(byte[] array1,
byte[] array2)
return true if both objects are both null or equals.
|
static boolean |
equalsArrayNullSupport(int[] array1,
int[] array2)
return true if both objects are both null or equals.
|
static boolean |
equalsArrayNullSupport(java.lang.Object[] array1,
java.lang.Object[] array2)
return true if both objects are both null or equals.
|
static boolean |
equalsEmptySupport(java.lang.String s1,
java.lang.String s2)
Strings s1 and s2 are equal: 1) if they both are empty or null; 2) if they
both not empty or null AND they equal using default String.equals()
Otherwise, strings are not equal.
|
static boolean |
equalsIgnoreCaseNullSupport(java.lang.String str1,
java.lang.String str2)
return true if both objects are both null or equals ignoring case.
|
static boolean |
equalsIgnoreOrder(javax.naming.directory.Attributes attrs1,
javax.naming.directory.Attributes attrs2) |
static boolean |
equalsListAndArray(java.util.Collection list,
java.lang.Object[] array)
return true if List and Array have the same content, ordered.
|
static boolean |
equalsListAndList(java.util.Collection list1,
java.util.Collection list2)
return true if List1 and List2 have the same content, ordered.
|
static boolean |
equalsListArrayIgnoreOrder(java.util.Collection list1,
java.lang.Object[] array2)
return true if both set have same elemt, ignore order
|
static boolean |
equalsListArrayIgnoreOrderIgnoreCase(java.util.List list1,
java.lang.Object[] array2)
return true if both set have same elemt, ignore order, ignore case.
|
static boolean |
equalsListIgnoreOrder(java.util.Collection list1,
java.util.Collection list2)
return true if both list have same elemt, ignore order
|
static boolean |
equalsListIgnoreOrderIgnoreCase(java.util.List list1,
java.util.List list2)
return true if both list have same elemt, ignore order, ignore case.
|
static boolean |
equalsListModificationItemIgnoreOrder(java.util.Collection<javax.naming.directory.ModificationItem> list1,
java.util.Collection<javax.naming.directory.ModificationItem> list2) |
static boolean |
equalsMap(java.util.Map map1,
java.util.Map map2)
return true if both map have same elemt.
|
static boolean |
equalsMap(java.util.Map map1,
java.util.Map map2,
java.util.Map keysToIgnore)
return true if both map have same elemt.
|
static boolean |
equalsModificationItem(javax.naming.directory.ModificationItem modif1,
javax.naming.directory.ModificationItem modif2) |
static boolean |
equalsNullSupport(java.lang.Object obj1,
java.lang.Object objt2)
return true if both objects are both null or equals.
|
static boolean |
equalsToString(java.lang.Object obj1,
java.lang.Object obj2)
return true if Object obj1, and obj2 have same substring, null support
|
static java.lang.String |
escapeQuote(java.lang.String s) |
static java.lang.String |
escapeRDN(java.lang.String rdn) |
static java.lang.String |
escapeRDNValue(java.lang.String rdnValue) |
static java.lang.String |
escapeValueForChar(java.lang.String value,
char charToEscape)
escape char in str
|
static java.lang.String |
escapeValueForCharIfNeeded(java.lang.String value,
char charToEscape)
escape char in str only if not already escaped
|
void |
executeChangeCommand(XMLOperation src,
XMLOperation dest)
Execute insert / update / delete command in corresponding data-store.
|
javax.naming.NamingEnumeration |
executeCommand(XMLOperation scriptSrc,
int maxRows)
Execute command in corresponding data-store.
|
void |
executeSearchCommand(XMLOperation src,
XMLOperation dest,
int maxRows)
Execute Search command in corresponding data-store.
|
static java.lang.String[] |
explodeUrlList(java.lang.String urlList) |
static java.lang.Object |
extractAttrValueStringOrList(javax.naming.directory.Attribute attr)
extract string value or list (if multivalues) from attr.
|
static byte[] |
extractCookieFromControls(javax.naming.directory.DirContext ctx) |
static javax.naming.NamingEnumeration |
extractExternalEntries(AttributesEnumeration enumeration,
javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter) |
static javax.naming.NamingEnumeration |
extractExternalEntries(LDAPOperations ldapop,
AttributesEnumeration enumeration,
javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter) |
static javax.naming.NamingEnumeration |
extractExternalEntries(LDAPOperations ldapop,
AttributesEnumeration enumeration,
javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter,
boolean optimizeJoin,
boolean optimizeRequestedBackendAttribute) |
static javax.naming.NamingEnumeration |
extractExternalEntries(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] arrayAttrRequested)
extract external entry for an VDQuery
|
protected static javax.naming.NamingEnumeration |
extractExternalEntries(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter)
extract external entry for an VDQuery
|
protected static javax.naming.NamingEnumeration |
extractExternalEntries(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter) |
static java.util.Vector |
extractParamNames(java.lang.String strCommand)
Extracts names of link/base parameters from given command.
|
static java.util.Set<java.lang.String> |
extractRangeAttributeName(java.lang.String[] attributeNames) |
static java.util.List<java.lang.String> |
extractSqlAttributesToReplace(java.lang.String sql)
return list of attributes str that should changed with value: ex:
|
static java.util.List |
extractSqlAttributesToReplaceWithSqlName(java.lang.String sql)
return List of String[2] of attributes str that should changed with value:
ex:
|
static void |
fetchRangeAttributes(Connection conn,
BackendMetaData bm,
java.lang.String userid,
java.lang.String userpassword,
LDAPEntry entry,
java.lang.String remoteBaseDN,
java.util.Set<java.lang.String> requestedRangeAttributesLC) |
static void |
fetchRangeAttributes(LDAPOperations ldapOp,
javax.naming.directory.SearchResult sr,
java.lang.String remoteBaseDN,
java.util.Set<java.lang.String> requestedRangeAttributesLC) |
static java.lang.String |
FilterValuestoLowerCase(java.lang.String filter,
java.lang.String Attributelist)
change case of some attribute values in filter expression example:
FilterValuestoLowerCase("(&(o=DoDo)(cn=*Jo*))","cn") ->
"(&(o=DoDo)(cn=*jo*))"
|
static java.lang.String |
FilterValuestoUpperCase(java.lang.String filter,
java.lang.String Attributelist)
change case of some attribute values in filter expression example:
FilterValuestoUpperCase("(&(o=DoDo)(cn=*jo*))","o,cn") ->
"(&(o=DODO)(cn=*JO*))"
|
static javax.naming.directory.Attribute |
findAttribute(javax.naming.directory.Attributes attributes,
java.lang.String attrName)
find attr.
|
static javax.naming.directory.Attribute |
findAttribute(javax.naming.directory.Attributes attributes,
java.lang.String attrName,
boolean ignoreCase)
find attr.
|
static javax.naming.directory.Attribute |
findAttribute(java.util.Enumeration<javax.naming.directory.Attribute> enuAttr,
java.lang.String attrName,
boolean ignoreCase)
find attr.
|
static javax.naming.directory.Attribute |
findAttribute(javax.naming.directory.SearchResult entry,
java.lang.String attrName,
boolean ignoreCase)
find attr in ldap entry, allow to specify ignorecase.
|
static java.lang.String |
findAttributesInModification(LDAPModification[] arrayLDAPModification,
java.util.List<java.lang.String> attrs) |
static java.util.Vector |
findByCriteria(javax.naming.directory.SearchResult si,
java.util.Vector attrNames,
boolean returnMultiValues)
Returns attribute name/value(s) pair for entry pointed by given SearchResult.
|
static java.util.Vector |
findByCriteria(java.lang.String vdsurl,
java.util.Vector attrNames)
Returns attribute name/value pair for entry pointed by given IRL.
|
static java.util.Vector |
findByCriteria(java.lang.String vdsurl,
java.util.Vector attrNames,
boolean returnMultiValues)
Returns attribute name/value(s) pair for entry pointed by given IRL.
|
static java.util.List |
findEntryRespectingPattern(java.util.Map mapKkeyVvalue,
java.lang.String strWithStar)
return list of Entry matching a str which can accept wild card '*' ignore
case is on.
|
static java.lang.String |
findFirstNotEmpty(java.lang.String... strings)
Find first not empty input string and if it's found, return its position in
the list of parameters.
|
static LDAPAttribute |
findLDAPAttribute(LDAPAttribute[] arrayLDAPAttribute,
java.lang.String attrName)
find attribute in list of attr
|
static LDAPAttribute |
findLDAPAttribute(LDAPModification[] arrayLDAPModification,
java.lang.String attrName)
find attribute in list of modif ignore case.
|
static LDAPModification |
findLDAPModification(LDAPModification[] arrayLDAPModification,
java.lang.String attrName)
find attribute in list of modif
|
static javax.naming.directory.ModificationItem |
findModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> listModificationItem,
java.lang.String attrName,
boolean ignoreCase)
find modif in list
|
static javax.naming.directory.ModificationItem |
findModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> listModificationItem,
java.lang.String attrName,
boolean ignoreCase,
boolean ignoreRemoveAttribute)
find modif in list
|
static java.lang.String |
findStrIgnoreCase(java.util.Collection<java.lang.String> col,
java.lang.String key)
find key in collection ignoring case.
|
static java.util.Enumeration<java.lang.String> |
findValue(java.util.Map map,
java.lang.String key,
boolean ignorecase)
return a enumeration of string for value to look into map
|
static java.lang.String |
formatGUID(byte[] GuidValue)
Translate a Microsoft objectGUID into a formatted string
|
static java.lang.String |
formatGUID4AD(byte[] GuidValue)
Translate a Microsoft objectGUID into a search formatted string
|
static java.lang.String |
formatObjectGUID4AD(java.lang.String GuidValue)
Translate a formatted objectGUID string into a searchable string format.
|
static java.lang.String |
formatSID(byte[] sid)
Translate a Microsoft objectSID into a formatted string
|
static java.lang.String |
generateFormat(java.lang.String pvalue)
Generate a format for the random password generator with example password
|
static java.lang.String |
generateKeywordFilter(java.lang.String filter)
translate filter using keyword attributes
|
static java.lang.String |
generateKeywordFilter(java.lang.String baseDN,
java.lang.String filter,
int scope,
java.lang.String[] arrayDNContextKeywordActivated,
java.lang.String keywordAttributeName)
Deprecated.
|
static java.lang.String |
generateKeywordPatternFilter(java.lang.String filter)
translate filter using keyword attributes
|
static java.lang.String |
generateRandomPassword(java.lang.String Format)
Generate a random password following a format template A -uppercase letter ,
a -lowercase letter , 9 -digit , X -alphanumeric, K -special character
example : Aa99XXXXXX
|
static java.lang.String |
generateTraceException(java.lang.Throwable e) |
static java.lang.String |
generateValidLdapAttributeName(java.lang.String attrName)
valid attribute name and return alternate name if not valid, by removing not
valid characters.
|
int |
getAction(java.lang.String operationName)
Detects action for given operation-name.
|
static java.lang.String[] |
getArrayForString(java.lang.String s)
return array lenght 1 with s in first position
|
static java.lang.String[] |
getArrayForString(java.lang.String s1,
java.lang.String s2)
return array lenght 2 with s1 and s2
|
static java.lang.String[] |
getArrayValueForIdRdn(java.lang.String idValue)
explode id value and return it as an array of str.
|
static java.lang.String[] |
getAttributeNamesForListOfAttrStr(java.util.List listAttrStr)
return array of attribute name only: ex ORDERDETAILID,ORDERID respect list
order.
|
static java.lang.String |
getAttributeValue(javax.naming.directory.Attribute attr)
return first attribute value or null if not found
|
static java.lang.String |
getAttributeValue(javax.naming.directory.Attributes attrs,
java.lang.String name)
return first attribute value or null if not found
|
static java.lang.String |
getAttributeValue(LDAPEntry entry,
java.lang.String name)
return first attribute value or null if not found
|
static java.lang.String |
getAttributeValue(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
return first attribute value or null if not found
|
static java.lang.String[] |
getAttributeValues(LDAPEntry entry,
java.lang.String name)
return attribute values or null if not found
|
static java.lang.String[] |
getAttributeValues(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
return array of attribute values or null if not found
|
static javax.naming.NamingEnumeration |
getAttributeValuesEnum(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
return array of attribute values or null if not found
|
static javax.naming.NamingEnumeration |
getAttributeValuesEnum(javax.naming.directory.SearchResult currentSR,
java.lang.String name,
boolean ignoreCase)
return array of attribute values or null if not found
|
static java.util.List |
getAttributeValuesList(LDAPEntry entry,
java.lang.String name)
return List of attribute values or null if not found
|
static java.util.List |
getAttributeValuesList(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
return List of attribute values or null if not found
|
static java.util.Map |
getAttributeValuesMap(LDAPEntry entry,
java.util.List listAttrNames)
return map containing value for attribute requested.
|
static java.util.Map |
getAttributeValuesMap(javax.naming.directory.SearchResult entry,
java.util.List listAttrNames)
return map containing value for attribute requested.
|
static java.lang.Object |
getAttributeValueStringOrList(javax.naming.directory.SearchResult currentSR,
java.lang.String name,
boolean ignoreCaseAttrName)
return List of attribute values or null if not found
|
static LDAPEntry |
getAuthorizedAttributes(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP,
LDAPEntry target_resource,
java.lang.String searchFilter)
return an Entry with only authorized attributes.
|
static java.security.cert.X509Certificate |
getCert(byte[] certdata)
Translate a binary certificate attribute / value into an X509Certificate
structure
|
static java.lang.String |
getConnTraceId()
return the connection trace identifier for the current context of execution
or null if no context found.
|
static int |
getCurrentTimeLimitSec(long projectedLimitTimeMs)
return current time limit to user or throw ldap exception if expired
|
static int |
getCustomImplType(java.lang.Class intercepClass)
return custom type.
|
static java.lang.String |
getDateFromADTimestamp(java.lang.String ADtimestamp,
java.lang.String OutputFormat)
Translate a Microsoft AD timestamp into a formatted date/time
|
static java.lang.reflect.Method |
getDeclaredMethodInHierarchy(java.lang.Class c,
java.lang.String name,
java.lang.Class[] parameterTypes)
get declared method, look in hierarchy to find method if not found for
current class c.
|
static java.util.Vector |
getEntry(java.lang.String inDN)
Search master object.
|
java.lang.String |
getEntryDN(java.lang.String refURL)
Locates and returns base-dn for entry pointed by given url.
|
java.lang.String |
getEntryDN(java.lang.String refURL,
boolean includeProtocol)
Locates and returns base-dn for entry pointed by given url.
|
static java.lang.String |
getFilter4join(java.lang.String OriginalFilter,
java.util.Hashtable AttrstoIgnore) |
static java.lang.String |
getGlobalProperty(java.lang.String propertyname,
java.lang.String defaultvalue)
getGlobalProperty getting the value of a property shared by all scripts
running in the same java machine
|
static java.lang.String |
getIdRdnValue(javax.naming.directory.SearchResult currentSR,
java.util.Collection<java.lang.String> colRdnFields)
return value for identity attribute used in RDN
|
static ScriptHelper |
getInstance() |
static int |
getInterceptionImplType(java.lang.Class intercepClass)
return interface type.
|
VDAPUrl |
getIRLObject()
Returns VDAPUrl object corresponding to IRL.
|
static java.util.Hashtable |
getJoinAttributes(java.lang.String strAssociationURLs) |
static java.util.List |
getListForObject(java.lang.Object o)
return list with 1 elmt containing object
|
static java.util.List<java.lang.String> |
getListForString(java.lang.String s)
return list with 1 elmt containing str
|
static java.util.List<java.lang.String> |
getListForString(java.lang.String s1,
java.lang.String s2)
return list with 1 elmt containing str
|
static long |
getLong(java.lang.String Slong,
long Default) |
static java.util.Map |
getMapForObject(java.lang.Object key,
java.lang.Object value)
return map with 1 elmt pair
|
static java.lang.String |
getParentDN(java.lang.String dn)
return the parent dn string for a given dn, the empty string is the root
representation
|
static java.lang.String |
getRDN(java.lang.String dn)
return the rdn string for a given dn, the empty string is the root
representation
|
static java.lang.String |
getRDNName(java.lang.String dn)
Extract Rdn Name from DN, taking care of escaped commas
|
static java.lang.String |
getRDNValue(java.lang.String dn)
Extract Rdn Value from DN, taking care of escaped commas
|
static java.lang.String |
getRliGuid() |
static RliSentence |
getRliSentence(java.lang.String dn)
Use verb attribute stored in meta.
|
static int |
getScopeInt(java.lang.String scope) |
static java.lang.String |
getScopeStr(int scope)
return scope string for int value.
|
static java.lang.String |
getSentence(java.lang.String dn)
Translate a DN into a sentence
|
static java.lang.String |
getSentence(java.lang.String dn,
RliSentenceType sentenceType)
Use verb attribute stored in meta.
|
static java.util.List<java.lang.String> |
getSubjectAlternativeNames(java.security.cert.X509Certificate x509Certificate,
java.lang.Integer altOIDInt) |
static java.util.Map |
getSubMap(java.util.Map map,
java.util.List listSubKeys,
boolean ignoreCaseKeyName)
return sub map of a map having a list of keys, if sub attributes are the only
one in orignal map, return original map.
|
static java.util.Map |
getSubMapKAttrNameVStrOrListValues(javax.naming.directory.SearchResult sr,
java.util.List listSubKeys)
return sub map of a map having a list of keys extracted from entry
|
static java.util.Map |
getSubMapKAttrNameVStrOrListValues(javax.naming.directory.SearchResult sr,
java.util.List listSubKeys,
java.util.Map toMap)
return sub map of a map having a list of keys extracted from entry
|
static java.lang.String |
getValueContainedRespectCase(java.util.Collection col,
java.lang.String key_IC)
return value as contained in the list using a key value ignoring case.
|
static java.lang.Object |
getValueInMapIgnoreCase(java.util.Map map,
java.lang.String key)
find value in map ignoring case
|
static boolean |
hasAttribute(javax.naming.directory.SearchResult sr,
java.lang.String attrName)
return true if attr is found in SR
|
static boolean |
hasAttributeValue(javax.naming.directory.Attribute attr,
java.lang.String attrValue,
boolean ignoreCase)
return true if string value found in attr.
|
static boolean |
hasAttributeValue(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
boolean ignoreCase)
return true if attr is found in SR with value.
|
static boolean |
hasAttributeValues(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.Object value)
return true if attr is found in SR with value.
|
static boolean |
hasAttributeValues(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.Object value,
boolean ignoreCase)
return true if attr is found in SR with value.
|
static boolean |
hasInterfaceImplemented(java.lang.Class c,
java.lang.Class i)
return true if class c implements interface i.
|
static boolean |
hasKeysInMap(java.util.Map map,
java.util.List listKeys)
return true if map has all keys found in List.
|
static boolean |
hasNonEmptyValue(java.util.List<java.lang.String> values)
Indicates if the given list contains at least one non-empty value.
|
static boolean |
hasStringValueInArray(java.lang.String[] array,
java.lang.String value,
boolean isIgnoreCase)
return true if value is present in String array.
|
static byte[] |
HextobyteArray(java.lang.String s)
Translate an hexadecimal string into a byte array
|
static int |
indexOfStr(java.util.Collection col,
java.lang.String key)
find key in collection
|
static int |
indexOfStr(java.util.Collection col,
java.lang.String key,
boolean ignoreCase)
find key in collection
|
static int |
indexOfStrIgnoreCase(java.util.Collection col,
java.lang.String key)
find key in collection ignoring case.
|
boolean |
insertEntry(java.lang.String insURL)
Insert entry pointed by given vdap-url.
|
static boolean |
isAddAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP)
Check ACI before executing a Delete operation.
|
static boolean |
isAllNotEmpty(java.lang.String... strings)
Examples: isAllNotEmpty("1","2"); isAllNotEmpty("1", "");
|
static boolean |
isArrayContainsStrIgnoreCase(java.lang.String[] arrayStr,
java.lang.String strToFind)
return true if list contains strToFind, ignoring case.
|
static boolean |
isAttributeRequested(java.lang.String[] arrayRequestedAttribute,
java.lang.String attrname) |
static boolean |
isCompareAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP,
java.lang.String compareFilter)
Check ACI before executing a Compare operation.
|
static boolean |
isDeleteAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP)
Check ACI before executing a Delete operation.
|
static boolean |
isEmpty(javax.naming.directory.Attribute attr) |
static boolean |
isEmpty(javax.naming.directory.Attributes attrs)
support null value
|
static boolean |
isEmpty(AttributesEnumeration attrValues) |
static boolean |
isEmpty(BasicOperation op) |
static boolean |
isEmpty(byte[] array)
return true, if array is null, or empty
|
static boolean |
isEmpty(java.util.Collection list)
true if list is null or empty
|
static boolean |
isEmpty(java.lang.Iterable iterable) |
static boolean |
isEmpty(java.util.Map map)
true if map is null or empty
|
static boolean |
isEmpty(javax.naming.NamingEnumeration currentEnum) |
static boolean |
isEmpty(java.lang.Object[] array)
/** return true, if array is null, or empty, or every elemt is null
|
static boolean |
isEmpty(java.lang.String str) |
static boolean |
isEmpty(java.lang.String[] array)
return true, if array is null, or empty, or every elemt is null or empty("")
|
static boolean |
isEmpty(VDQueryGroup vdqGroup) |
static int |
isFilterContains(java.lang.String url,
java.lang.String attr,
java.lang.String pvalue) |
static int |
isFilterContains(java.lang.String url,
java.lang.String attr,
java.lang.String pvalue,
boolean exactmatch)
Detects if the search filter part of the url contains the 'attr' attribute
and if pvalue is not null check if the attribute value contains pvalue
|
static boolean |
isHexChar(char c) |
static boolean |
isJavaUuid(java.lang.String s)
Determines if s is formed by using java.util.UUID.randomUUID().toString().
|
static boolean |
isListContainingListValues(java.util.Collection list)
return true if one or more values from the Collection is a Collection
|
static boolean |
isListContainsStrIgnoreCase(java.util.List listNotNumericalAttributeNames,
java.lang.String strToFind)
return true if list contains strToFind, ignoring case.
|
static boolean |
isMapContainingListValues(java.util.Map map)
return true if one or more values from the map values is a Collection
|
boolean |
isMemberOf(java.lang.String userdn,
java.lang.String groupdn,
java.lang.String MemberAttr)
Check if a user is member of a group
|
static boolean |
isModifyAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP,
java.util.Vector requestedModifications)
Check ACI before executing a Modify operation.Function may be called from a
Global interception script Example of call : isAuthorized=isModifyAuthorized
(prop.getUserid(),prop.getDn(),prop.getClientIP (),prop.getModifications());
|
static boolean |
isModifyRDNAuthorized(java.lang.String userDN,
java.lang.String oldDN,
java.lang.String clientIP,
java.lang.String NewRDN)
Check ACI before executing a ModifyRdn operation.
|
static boolean |
isNotEmpty(java.lang.String str) |
boolean |
isRDNContains(java.lang.String url,
java.lang.String hyphon)
Detects if rdn contains "-" character.
|
static boolean |
isSearchResultAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP,
LDAPEntry target_resource)
Check ACI after executing a Search operation.
|
static int |
isSubEntry(java.lang.String dn,
java.lang.String[] subEntries,
boolean exactmatch) |
static boolean |
isValidLdapAttributeName(java.lang.String attrName) |
static boolean |
JDBCwriteblobFile(java.lang.String connectionString,
java.lang.String SQLCommand,
java.lang.String inFile) |
static boolean |
JDBCwriteblobStream(java.lang.String connectionString,
java.lang.String SQLCommand,
java.io.InputStream fis,
long size) |
static LDAPEntry |
JNDItoLDAP(javax.naming.directory.SearchResult sr)
Translates a JNDI entry representation (SearchResult) into an LDAPEntry
representaion
|
static LDAPEntry |
JNDItoLDAP(javax.naming.directory.SearchResult sr,
java.lang.String dn)
Translates a JNDI entry representation (SearchResult) into an LDAPEntry
representaion
|
protected static java.lang.String |
LDAPControl2String(LDAPControl LDAPctrl) |
static java.lang.String |
LDAPControls2String(LDAPControl[] LDAPctrls) |
static java.util.Collection<javax.naming.directory.SearchResult> |
LDAPtoJNDI(java.util.Collection<LDAPEntry> entries)
Translates an LDAPEntry representation into a JNDI entry representation
(SearchResult)
|
static javax.naming.directory.SearchResult |
LDAPtoJNDI(LDAPEntry entry)
Translates an LDAPEntry representation into a JNDI entry representation
(SearchResult)
|
static void |
LDAPtoJNDI(LDAPEntry entry,
javax.naming.directory.SearchResult sr)
Translates an LDAPEntry representation into a JNDI entry representation
(SearchResult)
|
static java.lang.String |
ldapToSqlFilter(java.lang.String ldapFilter,
int implType)
convert LDAP filter to SQL filter.
|
static java.lang.String |
left(java.lang.String str,
int nbchars)
Get the nbchars first charaters of a String
|
static java.lang.String |
left(java.lang.String str,
java.lang.String Separator)
Get the left part of a String up to a given separator
|
static java.lang.Class |
loadClass(java.lang.String className,
java.lang.String jarDir)
load class, try in current env.
|
static java.lang.Class |
loadCustomClass(java.lang.String scriptName)
load custom class
|
static java.lang.Class |
loadInterceptionClass(java.lang.String scriptName)
load interception class
|
static java.lang.Class |
loadInterceptionCustomClass(java.lang.String scriptName)
load interception class from interception jar or custom jar.
|
static java.security.cert.X509Certificate |
loadX509Certificate(byte[] byteArr) |
static void |
logDebug(java.lang.String msg)
log debug msg
|
static void |
logException(GenericLogger logger,
java.lang.Throwable t) |
static void |
logException(java.lang.String errorMsg)
log error msg
|
static void |
logException(java.lang.String msg,
java.lang.Throwable e)
log exception
|
static void |
logException(java.lang.Throwable e) |
java.lang.String |
LookUp(java.lang.String dn,
java.lang.String inAttr,
java.lang.String inAttrValue,
java.lang.String outAttr)
Lookup to use for translating id codes to friendly names i.e.
|
java.util.Vector |
LookUpAssociation(java.lang.String dn,
java.lang.String inAttr,
java.lang.String inAttrValue,
java.lang.String outAttr)
Lookup to use for getting associations i.e.
|
java.util.Vector |
LookUpCondition(java.lang.String dn,
java.lang.String Condition,
java.lang.String outAttr)
Lookup with search criteria
|
static javax.naming.directory.SearchResult |
lookupDN_Base(java.lang.String dn)
Performs a base search on a DN in the FID Server namespace.
|
javax.naming.NamingEnumeration |
lookupDN(java.lang.String aUrl)
Locates and returns entry pointed by given url.
|
javax.naming.NamingEnumeration |
lookupDN(VDAPUrl refObj,
int sScope)
Locates and returns entry pointed by given url.
|
static java.lang.String[] |
lowerCaseArray(java.lang.String[] array)
return same array with values to lower case
|
static java.util.List |
lowerCaseList(java.util.List list)
return same List with values to lower case
|
static java.lang.String |
makeRdnValueCaseSensitive(java.lang.String dn,
java.lang.String inputRdnName,
java.lang.String inputRdnValue)
Changes rdn value of dn to case-sensitive value (which is passed in
inputRdnValue).
|
static java.lang.String |
mapDN(java.lang.String DNtoMap,
java.lang.String suffix,
java.lang.String newsuffix) |
static java.lang.String |
mapFilterAttributes(java.lang.String ldapFilter,
java.lang.String sMapAttrs)
Dynamic LDAP filter , atribute names substitution
|
static java.lang.String |
mapFilterDNValues(java.lang.String ldapFilter,
java.lang.String AttributestoMap,
java.lang.String Suffix,
java.lang.String newSuffix) |
static boolean |
matchFilter(LDAPEntry lde,
java.lang.String ldapFilter)
Applies filter to a LDAPEntry entry
|
static boolean |
matchFilter(javax.naming.directory.SearchResult sr,
java.lang.String ldapFilter)
Applies dynamic filter to a JNDI SearchResult Enumeration entry
|
static java.util.List<java.lang.String> |
matchFilterAttributes(LDAPAttribute ldapAttr,
RLIFilter filter) |
static javax.naming.directory.Attributes |
matchFilterAttributes(LDAPEntry entry,
JDAPFilter filter)
Applies dynamic filter to a JNDI SearchResult Enumeration entry
|
static javax.naming.directory.Attributes |
matchFilterAttributes(javax.naming.directory.SearchResult sr,
JDAPFilter filter)
Applies dynamic filter to a JNDI SearchResult Enumeration entry
|
static boolean |
mergeAttribute(javax.naming.directory.Attribute attr1,
javax.naming.directory.Attribute attr2,
boolean checkContains)
merge values from attr2 in attr1
|
static javax.naming.directory.Attribute |
mergeAttributes(javax.naming.directory.SearchResult sr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
javax.naming.directory.Attribute attr2Merge,
int weightAttr2Merge,
java.lang.String newAttrName)
merge attr.
|
static void |
mergeAttributes(javax.naming.directory.SearchResult mainSR,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
javax.naming.directory.SearchResult secondarySR,
InternalAttributeSet secondaryAttrMeta)
merge secondarySR to mainSR respecting weights, and eventually updating
weight map
|
static java.lang.String |
mergeLdapFiltersAND(java.lang.String filter1,
java.lang.String filter2)
merge 2 filter with a AND condition
|
static java.lang.String |
mergeLdapFiltersOR(java.util.List<java.lang.String> listFilter)
merge filters with a OR condition
|
static java.lang.String |
mergeLdapFiltersOR(java.lang.String filter1,
java.lang.String filter2)
merge 2 filter with a OR condition
|
static java.util.Map |
mergeMaps(java.util.Map map1,
java.util.Map map2)
merge 2 maps, if one include other (has all keys from other) then return a
reference to bigger map, else create a new map.
|
static java.lang.String |
mergeSqlFiltersAND(java.util.List listFilters)
merge x Sql filter with a AND condition
|
static java.lang.String |
mergeSqlFiltersAND(java.lang.String sql1,
java.lang.String sql2)
merge 2 Sql filter with a AND condition
|
static java.lang.String |
mergeSqlFiltersOR(java.lang.String sql1,
java.lang.String sql2)
merge 2 Sql filter with a OR condition
|
boolean |
modifyEntry(java.lang.String modURL,
java.lang.String Action) |
static void |
modifyObject_AddAttribute(java.lang.String dn,
java.lang.String attribute,
java.lang.String value)
Modifies VDS entry by adding a value to attribute.
|
static void |
modifyObject_AddAttribute(java.lang.String dn,
java.lang.String attribute,
java.util.Vector<java.lang.String> values)
Modifies VDS entry by adding specified values to attribute.
|
static void |
modifyObject_RemoveAttribute(java.lang.String dn,
java.lang.String attribute)
Modifies VDS entry by removing the specified attribute.
|
static void |
modifyObject_RemoveAttribute(java.lang.String dn,
java.lang.String attribute,
java.lang.String value)
Modifies VDS entry by removing values from the specified attribute.
|
static void |
modifyObject_RemoveAttribute(java.lang.String dn,
java.lang.String attribute,
java.util.Vector<java.lang.String> values)
Modifies VDS entry by removing values from the specified attribute.
|
static void |
modifyObject_ReplaceAttribute(java.lang.String dn,
java.lang.String attribute,
java.lang.String value)
Modifies VDS entry by replacing values of the specified attribute with
specified value.
|
static void |
modifyObject_ReplaceAttribute(java.lang.String dn,
java.lang.String attribute,
java.util.Vector<java.lang.String> values)
Modifies VDS entry by replacing values of the specified attribute with
specified values.
|
static java.util.List<java.lang.String> |
namingEnumeration2List(java.util.Enumeration<java.lang.String> stringNamingEnumeration) |
static java.lang.String |
NormalizeDN(java.lang.String dn) |
static java.lang.String |
normalizePasswordAlgorithm(java.lang.String encodedpwd)
{SSHA} password encoding in VDS can be SHA-1 or SHA-256.
|
static LDAPEntry |
processJoin(InterceptParam prop,
LDAPEntry mainEntry)
Deprecated.
|
static javax.naming.directory.SearchResult |
processJoin(InterceptParam prop,
javax.naming.directory.SearchResult mainEntry) |
static java.lang.String |
quoteStrForSql(java.lang.String sql,
int implType)
in case table name has spaces [] --> ""
|
static int |
remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
ConnString2 lookupConnString2,
java.lang.String lookupbaseDN,
java.lang.String filter,
java.lang.String scope) |
static int |
remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
java.lang.String DestTemplate) |
static int |
remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
java.lang.String SrcSuffix,
java.lang.String DestSuffix) |
static int |
remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
java.lang.String lookupbaseDN,
java.lang.String filter,
java.lang.String scope) |
static java.lang.String |
removeAttrValue(javax.naming.directory.Attribute attr,
java.lang.String valueToRemove,
boolean ignorecase)
remove attr value in attribute
|
static java.lang.String |
removeBinarySuffix(java.lang.String attrNameLow)
remove ";binary" suffix
|
static LDAPAttribute[] |
removeLDAPAttributeFromArray(LDAPAttribute[] originalAttr,
java.util.List toRemove)
remove LDAPAttribute from orignal array and returns a new array of
LDAPAttribute.
|
static LDAPModification[] |
removeLDAPModificationFromArray(LDAPModification[] originalModif,
LDAPModification[] toRemove)
remove LDAPModification from orignal array and returns a new array of
LDAPModification.
|
static LDAPModification[] |
removeLDAPModificationFromArray(LDAPModification[] originalModif,
java.util.List toRemove)
remove LDAPModification from orignal array and returns a new array of
LDAPModification.
|
static void |
removeListFromListString(java.util.List<java.lang.String> list,
java.util.List<java.lang.String> list2) |
static javax.naming.directory.Attribute |
renameAttribute(java.lang.String newName,
javax.naming.directory.Attribute attr)
will create a new object.
|
static javax.naming.directory.ModificationItem |
renameModificationItem(java.lang.String newName,
javax.naming.directory.ModificationItem modif)
will create a new object
|
static java.lang.String |
replace(java.lang.String inStr,
java.lang.String what,
java.lang.String with)
Replace in a string a
|
static java.lang.String |
replaceFirst(java.lang.String inStr,
java.lang.String what,
java.lang.String with)
Replace the first occurence of a string by another one
|
static java.lang.String |
replaceignorecase(java.lang.String inStr,
java.lang.String what,
java.lang.String with)
Replace in a string occurences of a string with another (case incensitive)
|
static java.util.Vector |
replaceParameters4AssociationURLs(java.lang.String strAssociationURLs,
java.util.Vector paramNameValues)
Replaces value for parameters in assocition-url(s).
|
static java.lang.String |
replaceValue(java.lang.String strCommand,
java.lang.String paramName,
java.lang.String paramValue,
boolean quoteValue)
Replaces value for given parameter.
|
static java.lang.String |
ReplaceValueBetweenPattern(java.lang.String instring,
java.lang.String startpattern,
java.lang.String endpattern,
java.lang.String newvalue)
if the instring has a matching startpattern, and endpattern, change the
content between the 2 , with the newvalue provided
|
static java.lang.String |
requestADPassword(java.lang.String samAccount,
java.lang.String adHost,
int port,
boolean isSSL,
java.lang.String adUser,
java.lang.String adPwd,
boolean requestMD4)
Get the AD password hash.
|
static java.lang.String |
right(java.lang.String str,
int nbchars)
Get the nbchars last charaters of a String
|
static java.lang.String |
right(java.lang.String str,
java.lang.String Separator)
Get the right part of a String after a given separator
|
static boolean |
samePassword(java.lang.String pwd,
java.lang.String encodedpwd) |
static void |
setGlobalProperty(java.lang.String propertyname,
java.lang.String propertyvalue)
setGlobalProperty set the value of a property that is shared by all scripts
running in the same java machine
|
static void |
sortLdapEntryList(java.util.List listLdapEntries,
java.lang.String attrName,
boolean isAsc)
sort list of LdapEntries for attrName, ignore case.
|
static void |
storeInterceptParamInEntry(javax.naming.directory.SearchResult anEntry,
InterceptParam p)
store an InterceptParam in a SearchResult for debug/testing purpose
|
protected static javax.naming.ldap.Control |
String2Control(java.lang.String ctrlStr) |
static javax.naming.ldap.Control[] |
String2Controls(java.lang.String ctrlString) |
protected static LDAPControl |
String2LDAPControl(java.lang.String ctrlStr) |
static LDAPControl[] |
String2LDAPControls(java.lang.String ctrlString) |
static java.lang.String |
stringToHex(java.lang.String s) |
static void |
testConvertStringSidToBinary()
Example SID from "http://www.pcreview.co.uk/forums/thread-1458615.php".
|
static java.lang.String |
toLowerCase(java.lang.String s) |
static void |
toLowerCase(java.lang.String[] arrayStr) |
static java.lang.String |
toString(javax.naming.directory.Attribute attr)
safe to string for logging purpose.
|
static java.lang.String |
toString(javax.naming.directory.Attributes attrs) |
static java.lang.String |
toString(javax.naming.directory.ModificationItem modif)
safe to string for logging purpose.
|
static java.lang.String |
toString(java.lang.String[] values)
display string values separated by comma
|
static java.lang.String |
toStringListModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> list,
char separ)
call toString() for each component, separ with char.
|
XMLOperation |
ToSyncMessage(XMLOperation src) |
static java.lang.String |
toUpperCase(java.lang.String s) |
static java.lang.String |
translateValue(java.lang.String value,
java.lang.String ruleset,
int mode)
translate value using regular expressions / ruleset pattern
|
static java.lang.String |
unApplyJNDI_DN_Format(java.lang.String dnWithEscapedValues)
unapply on a dn with escaped value, JNDI formating rules.
|
static java.lang.String |
unapplyJNDI_FilterValue_Format(java.lang.String valueNotEscaped)
unescape value to comply jndi format used in filer value sent over jndi
|
static java.lang.String |
unescapeRDN(java.lang.String rdn) |
static java.lang.String |
unescapeRDNValue(java.lang.String rdnValue) |
static java.lang.String |
unescapeValueForChar(java.lang.String s,
char cUnescape)
unescape char c in string s
|
static void |
updateAttrValue(LDAPAttribute attr,
java.lang.Object newValue)
replace existing value for an attribute with new value.
|
static void |
updateAttrValue(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.Object newValue)
replace existing value for an attribute with new value.
|
boolean |
updateEntry(java.lang.String updURL)
Updates entry pointed by given vdap-url.
|
boolean |
updateProfilePassword(java.lang.String constr,
java.lang.String command)
Updates password in database using stored procedure, for a given profile.
|
boolean |
updateProfilePassword(java.lang.String constr,
java.lang.String profileEmail,
java.lang.String profileNewPassword)
Updates password in database using stored procedure, for a given profile
based on e-mail address.
|
static void |
validLdapAttributeName(java.lang.String attrName)
Attribute name MUST begin with a letter, and only contain ASCII letters,
digit characters and hyphens.
|
static boolean |
verifyUserLogin(java.lang.String serverURL,
java.lang.String userDN,
java.lang.String userPassword) |
public static final int ACTION_SELECT
public static final int ACTION_INSERT
public static final int ACTION_UPDATE
public static final int ACTION_DELETE
public static final int ACTION_AUTHENTICATE
public static final int ACTION_INVOKE
public static final java.lang.String LDAP_MULTI_ENTRIES
public static final java.lang.String LDAP_MULTI_ENTRIES_ATTR
public static final java.lang.String LDAP_MULTI_ENTRIES_ATTR_ZIP
public static final java.lang.String LDAP_MULTIENTRIES_OBJECTCLASS
public static ScriptHelper getInstance()
public static java.lang.String requestADPassword(java.lang.String samAccount,
java.lang.String adHost,
int port,
boolean isSSL,
java.lang.String adUser,
java.lang.String adPwd,
boolean requestMD4)
throws java.io.IOException
samAccount - SAM Account NameadHost - host of ADport - port of ADisSSL - if AD connection is SSLadUser - AD useradPwd - AD passwordrequestMD4 - request MD4java.io.IOException - if an error occurs.public static java.lang.String replaceValue(java.lang.String strCommand,
java.lang.String paramName,
java.lang.String paramValue,
boolean quoteValue)
paramName - --- link/base parameterparamValue - --- value for link/base parameterquoteValue - --- boolean indicating whether to quote the parameter valuepublic static java.util.Vector extractParamNames(java.lang.String strCommand)
strCommand - --- input commandpublic static java.util.Vector findByCriteria(java.lang.String vdsurl,
java.util.Vector attrNames)
vdsurl - --- IRLattrNames - --- attribute names in Vector. null means all
attributes.public static java.util.Vector findByCriteria(java.lang.String vdsurl,
java.util.Vector attrNames,
boolean returnMultiValues)
vdsurl - --- IRLattrNames - --- attribute names in Vector. null
means all attributes.returnMultiValues - --- boolean indicating whether to return
multi-values for attributes. true means
multi-values are return; false means
single-value is retruned.public static java.util.Vector findByCriteria(javax.naming.directory.SearchResult si,
java.util.Vector attrNames,
boolean returnMultiValues)
si - --- LDAP SearchResult objectattrNames - --- attribute names in Vector. null
means all attributes.returnMultiValues - --- boolean indicating whether to return
multi-values for attributes. true means
multi-values are return; false means
single-value is retruned.public boolean updateProfilePassword(java.lang.String constr,
java.lang.String profileEmail,
java.lang.String profileNewPassword)
constr - --- connection-string of databaseprofileEmail - --- e-mail address of profileprofileNewPassword - --- new password for profiletrue if
password update is successful; false otherwisepublic boolean updateProfilePassword(java.lang.String constr,
java.lang.String command)
constr - --- connection-string of databasecommand - --- SQL commandtrue if
password update is successful; false otherwisepublic boolean isRDNContains(java.lang.String url,
java.lang.String hyphon)
url - --- input urlhyphon - --- hyphon("-") charactertrue if "-" exists in url-rdn; false
otherwise.public static int isFilterContains(java.lang.String url,
java.lang.String attr,
java.lang.String pvalue)
public static int isFilterContains(java.lang.String url,
java.lang.String attr,
java.lang.String pvalue,
boolean exactmatch)
url - --- input url (LDAP url)attr - --- attribute name to look for in the search filterpvalue - --- value to look for (must be lowercase).exactmatch - --- value must match exactly (true) or just contain the
value specifiedpublic static java.lang.String ReplaceValueBetweenPattern(java.lang.String instring,
java.lang.String startpattern,
java.lang.String endpattern,
java.lang.String newvalue)
instring - --- input parameter containing the initial character
stringstartpattern - --- to look for in instring (will look for the last
occurence only)endpattern - --- to delimit the end of the replacementnewvalue - --- value that will replace what was between the patternspublic javax.naming.NamingEnumeration executeCommand(XMLOperation scriptSrc,
int maxRows)
scriptSrc - -- source parametermaxRows - -- maximum number of entries returned (0 = all)public void executeSearchCommand(XMLOperation src,
XMLOperation dest,
int maxRows)
src - : source parametersdest - : structure that will be fed with the resultset or resultcodemaxRows - : 0 - all otherwise max rows to returnpublic void executeChangeCommand(XMLOperation src,
XMLOperation dest)
src - : source parametersdest - : structure that will be fed with the resultcodepublic static java.util.Vector getEntry(java.lang.String inDN)
inDN - --- DN of master objectpublic static java.util.Vector replaceParameters4AssociationURLs(java.lang.String strAssociationURLs,
java.util.Vector paramNameValues)
strAssociationURLs - --- semi-colon(";") separated association-url(s)paramNameValues - --- attribute name/value pair for parameterspublic static java.util.Hashtable getJoinAttributes(java.lang.String strAssociationURLs)
public static java.lang.String getFilter4join(java.lang.String OriginalFilter,
java.util.Hashtable AttrstoIgnore)
public static java.lang.String changeFilter(java.lang.String OriginalFilter,
java.lang.String[] AttrstoIgnore)
OriginalFilter - AttrstoIgnore - - list of attributes in the filter expression to
replace with 'objectclass=*'public java.lang.String getEntryDN(java.lang.String refURL)
refURL - --- input urlpublic java.lang.String getEntryDN(java.lang.String refURL,
boolean includeProtocol)
refURL - --- input urlincludeProtocol - --- boolean indicating whether to include protocol
part with base-dnpublic javax.naming.NamingEnumeration lookupDN(java.lang.String aUrl)
aUrl - --- input ldap urlpublic javax.naming.NamingEnumeration lookupDN(VDAPUrl refObj,
int sScope)
refObj - --- VDAPUrl object corresponding to input urlsScope - --- search scope in given urlpublic boolean updateEntry(java.lang.String updURL)
updURL - --- input urltrue if
update operation was successful; false otherwisepublic boolean insertEntry(java.lang.String insURL)
insURL - --- input urltrue if
insert operation was successful; false otherwisepublic boolean deleteEntry(java.lang.String delURL)
delURL - --- input urltrue if
insert operation was successful; false otherwisepublic boolean modifyEntry(java.lang.String modURL,
java.lang.String Action)
public void createIRLObject(java.lang.String inURL)
inURL - --- input IRLpublic VDAPUrl getIRLObject()
Note --- VDAPUrl object must have been create using
"createIRLObject(inURL)",
before using this method, otherwise it would return null object.public int getAction(java.lang.String operationName)
operationName - --- operation-name i.e. SELECT, INSERT etc.public static boolean mergeAttribute(javax.naming.directory.Attribute attr1,
javax.naming.directory.Attribute attr2,
boolean checkContains)
attr1 - attr2 - checkContains - do a contains() before adding, not add if already
presentpublic javax.naming.NamingEnumeration Buildfulljoin(java.lang.String UrlsTojoin,
java.lang.String RDNName,
java.lang.String RefDNName,
boolean RefDNOnly,
int LookThroughLimit)
UrlsTojoin - : list of IRL (ldap url) defining the query each
object /collection of object , semi-colon separatedRDNName - : Name of the RDN attribute to build in the resultRefDNName - : Reference DN Attribute name to build (null if not
needed) - attribute will be fed with DN of join
entriesRefDNOnly - : returns only reference DN list , do not actually
join the entriesLookThroughLimit - maximum number of entries returnedpublic boolean isMemberOf(java.lang.String userdn,
java.lang.String groupdn,
java.lang.String MemberAttr)
userdn - - dn of the user to look for in the groupgroupdn - - dn of the groupMemberAttr - Sttribute use for holding members (uniquemember ,
member...)public java.lang.String LookUp(java.lang.String dn,
java.lang.String inAttr,
java.lang.String inAttrValue,
java.lang.String outAttr)
dn - - dn of the object to look intoinAttr - name of the input attributeinAttrValue - value of the input attributeoutAttr - name of the output attributepublic java.util.Vector LookUpAssociation(java.lang.String dn,
java.lang.String inAttr,
java.lang.String inAttrValue,
java.lang.String outAttr)
dn - - dn of the object to look intoinAttr - name of the input attributeinAttrValue - value of the input attributeoutAttr - name of the output attribute (case sensitive !)public java.util.Vector LookUpCondition(java.lang.String dn,
java.lang.String Condition,
java.lang.String outAttr)
dn - - dn of the object to look intoCondition - - valid ldap search filter syntax example :
(&(orderid=3)(productid=3))outAttr - name of the output attribute (case sensitive !)public XMLOperation ToSyncMessage(XMLOperation src)
src - source information coming from interception script or object crud
scriptpublic static java.lang.String generateRandomPassword(java.lang.String Format)
Format - string representing the format of the passwordpublic static java.lang.String generateFormat(java.lang.String pvalue)
pvalue - string representing the passwordpublic static java.lang.String encryptPassword(java.lang.String clearTextpwd,
java.lang.String algorithm)
clearTextpwd - Password to encode in cleartextalgorithm - "SSHA" "SHA" "CRYPT" or "MD5"public static boolean samePassword(java.lang.String pwd,
java.lang.String encodedpwd)
pwd - - clear password to compareencodedpwd - - encoded passwordpublic static java.lang.String normalizePasswordAlgorithm(java.lang.String encodedpwd)
encodedpwd - - encoded password like
{SSHA}HpZ2j5Zv1z/2WDS5StHsWkBAd9wnXbFsdXD27IbWkKEevt2oQ9ckbg==public static java.lang.String getSentence(java.lang.String dn)
dn - string representing the dnpublic static java.lang.String getSentence(java.lang.String dn,
RliSentenceType sentenceType)
dn - string representing the dntype - see RliSentenceTypepublic static RliSentence getRliSentence(java.lang.String dn)
dn - string representing the dnpublic static java.lang.String getRDNName(java.lang.String dn)
dn - string representing the dnpublic static java.lang.String getRDNValue(java.lang.String dn)
dn - string representing the dnpublic static java.lang.String getRDN(java.lang.String dn)
public static java.lang.String getParentDN(java.lang.String dn)
public static java.lang.String NormalizeDN(java.lang.String dn)
public static java.lang.String escapeRDN(java.lang.String rdn)
rdn - for instance : dn=uid=hello,ou=folks,o=acmepublic static java.lang.String unescapeRDN(java.lang.String rdn)
rdn - for instance : dn=uid\=hello\,ou\=folks\,o\=acmepublic static java.lang.String escapeRDNValue(java.lang.String rdnValue)
rdnvalue - for instance : uid=hello,ou=folks,o=acme
RFC 2253 :
http://www.ietf.org/rfc/rfc2253.txt
o a space or "#" character occurring at the beginning of the
string
o a space character occurring at the end of the string
o one of the characters ",", "+", """, "\", "<", ">" or ";"
Implementations MUST allow for space (ASCII 32) characters to be
present between name-component and ',' , between attributeTypeAndValue
and '+', between attributeType and '=', and between '=' and
attributeValue. These space characters are ignored when parsing.
(that is why a leading or trailing space has to be escaped ...)
public static java.lang.String unescapeRDNValue(java.lang.String rdnValue)
rdn - value for instance : uid\=hello\,ou\=folks\,o\=acme
unescape everything except for 0123456789abcdefABCDEF
public static java.lang.String escapeValueForChar(java.lang.String value,
char charToEscape)
value - charToEscape - public static java.lang.String escapeValueForCharIfNeeded(java.lang.String value,
char charToEscape)
value - charToEscape - public static java.lang.String unescapeValueForChar(java.lang.String s,
char cUnescape)
unescape char c in string s
s - cUnescape - unescape char c in string s ex: ','public static java.lang.String replace(java.lang.String inStr,
java.lang.String what,
java.lang.String with)
inStr - input stringwhat - sequence of character to replacewith - sequence of replacing characterspublic static java.lang.String replaceFirst(java.lang.String inStr,
java.lang.String what,
java.lang.String with)
inStr - input stringwhat - sequence of character to replacewith - sequence of replacing characterspublic static java.lang.String replaceignorecase(java.lang.String inStr,
java.lang.String what,
java.lang.String with)
inStr - input stringwhat - sequence of character to replacewith - sequence of replacing characterspublic static boolean isNotEmpty(java.lang.String str)
str - input string : check if null or emptypublic static boolean isEmpty(java.lang.String str)
str - input string : check if null or emptypublic static boolean isEmpty(BasicOperation op)
str - input BasicOperation : check if null or emptypublic static boolean isEmpty(byte[] array)
array - public static boolean isEmpty(java.lang.Object[] array)
array - public static boolean isEmpty(java.lang.String[] array)
array - public static boolean isEmpty(java.util.Collection list)
list - public static boolean isEmpty(java.util.Map map)
list - public static java.lang.String concat(java.lang.String str1,
java.lang.String str2,
java.lang.String Separator)
str1 - input string 1str2 - input string 2Separator - stringpublic static java.lang.String left(java.lang.String str,
java.lang.String Separator)
str - input stringSeparator - public static java.lang.String left(java.lang.String str,
int nbchars)
str - input stringnbchars - - int number of characters to getpublic static java.lang.String right(java.lang.String str,
java.lang.String Separator)
str - input stringSeparator - public static java.lang.String right(java.lang.String str,
int nbchars)
str - input stringnbchars - - int number of characters to getpublic static boolean CopyFile(java.lang.String src,
java.lang.String dest)
throws java.io.IOException
src - source file namedest - destination file namejava.io.IOExceptionpublic static boolean verifyUserLogin(java.lang.String serverURL,
java.lang.String userDN,
java.lang.String userPassword)
serverURL - - String e.g. LDAP://userDN - - String Distinguished name of the useruserPassword - - String password , in clear text or {rlib} encodedpublic static boolean JDBCwriteblobFile(java.lang.String connectionString,
java.lang.String SQLCommand,
java.lang.String inFile)
connectionString - SQLCommand - for prepare statement "UPDATE employees set photo=?
WHERE employeeid=5"inFile - file containing the blobpublic static boolean JDBCwriteblobStream(java.lang.String connectionString,
java.lang.String SQLCommand,
java.io.InputStream fis,
long size)
connectionString - SQLCommand - for prepare statement "UPDATE employees set photo=?
WHERE employeeid=5"fis - input Stream containing the byte array to store in
the databasesize - size of the streampublic static javax.naming.directory.Attributes matchFilterAttributes(javax.naming.directory.SearchResult sr,
JDAPFilter filter)
throws java.lang.Exception
sr - --- SearchResultldapFilter - --- String ldap search filter expressionjava.lang.Exceptionpublic static javax.naming.directory.Attributes matchFilterAttributes(LDAPEntry entry, JDAPFilter filter) throws java.lang.Exception
entry - --- SearchResultldapFilter - --- String ldap search filter expressionjava.lang.Exceptionpublic static java.util.List<java.lang.String> matchFilterAttributes(LDAPAttribute ldapAttr, RLIFilter filter) throws java.lang.Exception
java.lang.Exceptionpublic static boolean matchFilter(javax.naming.directory.SearchResult sr,
java.lang.String ldapFilter)
sr - --- SearchResultldapFilter - --- String ldap search filter expressionpublic static boolean matchFilter(LDAPEntry lde, java.lang.String ldapFilter)
lde - --- LDAPEntryldapFilter - --- String ldap search filter expressionpublic static java.lang.String mapFilterAttributes(java.lang.String ldapFilter,
java.lang.String sMapAttrs)
ldapFilter - --- String ldap search filter expressionsMapAttrs - --- String
public static java.lang.String mapDN(java.lang.String DNtoMap,
java.lang.String suffix,
java.lang.String newsuffix)
DNtoMap - input DN to remapsuffix - DN suffix to be replacednewsuffix - replacement DN suffixpublic static java.lang.String mapFilterDNValues(java.lang.String ldapFilter,
java.lang.String AttributestoMap,
java.lang.String Suffix,
java.lang.String newSuffix)
ldapFilter - original LDAP filterAttributestoMap - List of attributes names that may contain DN to remap
(comma separated)Suffix - suffix to be replaced in the valuenewSuffix - new suffix replacementpublic static javax.naming.directory.SearchResult processJoin(InterceptParam prop, javax.naming.directory.SearchResult mainEntry)
prop - InterceptParam - input parametersmainEntry - SearchResult : main JNDI entry@Deprecated public static LDAPEntry processJoin(InterceptParam prop, LDAPEntry mainEntry)
prop - InterceptParam - input parametersmainEntry - LDAPEntry : main LDAP entrypublic static java.lang.String buildLDAPTimeStamp(long timeinmillisec,
boolean withmillisec)
timeinmillisec - to translate into an ldap timestamp (if 0, method use
current systemtimewithmillisec - generates milliseconds "yyyyMMddHHmmss.SSSZ" or not
"yyyyMMddHHmmssZ"public static java.lang.String buildUTCTimeStamp(long timeinmillisec,
boolean withmillisec)
timeinmillisec - to translate into an ldap generalized(UTC) timestamp
(if 0, method use current systemtime)withmillisec - generates milliseconds "yyyyMMddHHmmss.SSSZ" or not
"yyyyMMddHHmmssZ"public static long getLong(java.lang.String Slong,
long Default)
Slong - String to translate into long valueDefault - long value to return if Slong is null or invalidpublic static java.lang.String byteArraytoSearchFilter(byte[] Value)
Value - - byte array containing the valuepublic static java.lang.String byteArraytoHex(byte[] Value)
Value - - byte array containing the valuepublic static java.lang.String stringToHex(java.lang.String s)
public static byte[] HextobyteArray(java.lang.String s)
s - - stringpublic static java.lang.String formatGUID(byte[] GuidValue)
GuidValue - - byte array containing the guid valuepublic static java.lang.String formatGUID4AD(byte[] GuidValue)
GuidValue - - byte array containing the guid valuepublic static java.lang.String formatObjectGUID4AD(java.lang.String GuidValue)
GuidValue - - formatted objectGUID stringpublic static java.lang.String formatSID(byte[] sid)
sid - - byte array containing the sid value - for instance :
S-1-5-21-1169329820-3755589439-2226661983-3280public static byte[] convertStringSidToBinary(java.lang.String string)
sid - SID in readable formatLdapUtils#convertBinarySidToString(byte[])public static java.lang.String convertStringSidToHex(java.lang.String theSID)
public static void testConvertStringSidToBinary()
throws java.lang.Exception
java.lang.Exceptionpublic static java.util.Collection<javax.naming.directory.SearchResult> LDAPtoJNDI(java.util.Collection<LDAPEntry> entries)
public static javax.naming.directory.SearchResult LDAPtoJNDI(LDAPEntry entry)
entry - LDAPEntry - LDAPEntry representationpublic static void LDAPtoJNDI(LDAPEntry entry, javax.naming.directory.SearchResult sr)
entry - LDAPEntry - LDAPEntry representationsr - - search result to put result in, all existing attribute are
deleted.public static LDAPEntry JNDItoLDAP(javax.naming.directory.SearchResult sr, java.lang.String dn)
sr - SearchResult - jndi entry representationdn - explicity set DNpublic static LDAPEntry JNDItoLDAP(javax.naming.directory.SearchResult sr)
sr - SearchResult - jndi entry representationpublic static java.lang.String getGlobalProperty(java.lang.String propertyname,
java.lang.String defaultvalue)
propertyname - - String property namedefaultvalue - - String default property value. if the requested
property is not found, return this default valuepublic static void setGlobalProperty(java.lang.String propertyname,
java.lang.String propertyvalue)
propertyname - - String property namepropertyvalue - - String proerty value. if null remove the propertypublic static boolean comparePassword(java.lang.String password1,
java.lang.String password2)
throws java.security.NoSuchAlgorithmException
password1 - - clear text or {SHA}, {SSHA}, {MD5} , {CRYPT}password2 - - clear text or {SHA}, {SSHA}, {MD5} , {CRYPT}java.security.NoSuchAlgorithmExceptionpublic static java.util.Vector BuildSubEntries(InterceptParam prop, java.lang.String StartRelative2BaseDN, java.lang.String[] subEntries)
prop - Interception Script property/ parameters objectStartRelative2BaseDN - set to "" if subEntries must appear under first
level ...subEntries - array of rdns ex.: {"dc=na","dc=ny","dc=or"} that
should appear as sub-entriespublic static int isSubEntry(java.lang.String dn,
java.lang.String[] subEntries,
boolean exactmatch)
dn - dn to comparesubEntries - array of rdnsexactmatch - if true dn must exactly match one of the subEntries values.
if false dn must start with one of the subEntries valuespublic static int remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
java.lang.String SrcSuffix,
java.lang.String DestSuffix)
DNlist - input Attribute containing list of DN to translateVDNlist - Output Attribute with translated list of DNSrcSuffix - DN suffix to replace in input attributeDestSuffix - - DN suffix to replace with in output attributepublic static int remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
java.lang.String DestTemplate)
DNlist - input Attribute containing list of DN to translateVDNlist - Output Attribute with translated list of DNDestTemplate - - output DN template containing %rdn to replace with rdn
value from input Attribute Dnpublic static int remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
java.lang.String lookupbaseDN,
java.lang.String filter,
java.lang.String scope)
DNlist - input Attribute containing list of DN to translateVDNlist - Output Attribute list of DN found from searchlookupbaseDN - Base DN to start search forfilter - search condition with placeholder for rdn (cn=%rdn) or dn
(distinguishedname=%dn)scope - base one subpublic static int remapDNvalues(javax.naming.directory.Attribute DNlist,
javax.naming.directory.Attribute VDNlist,
ConnString2 lookupConnString2,
java.lang.String lookupbaseDN,
java.lang.String filter,
java.lang.String scope)
DNlist - input Attribute containing list of DN to translateVDNlist - Output Attribute list of DN found from searchlookupConnString2 - connString2 for source where to searchlookupbaseDN - Base DN to start search forfilter - search condition with placeholder for rdn (cn=%rdn)
or dn (distinguishedname=%dn)scope - base one subpublic static LDAPEntry buildRootDse(java.lang.String rootfileName)
public static boolean isAddAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP)
userDN - : DN of the subject to check ACI forresourceDN - : DN of the entry to AddclientIP - : IP of the current TCP connectionpublic static boolean isDeleteAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP)
userDN - : DN of the subject to check ACI forresourceDN - : DN of the entry to DeleteclientIP - : IP of the current TCP connectionpublic static boolean isModifyAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP,
java.util.Vector requestedModifications)
userDN - : DN of the subject to check ACI forresourceDN - : DN of the entry to modifyclientIP - : IP of the current TCP connectionrequestedModifications - Vector with attributes and modifications
requestedpublic static boolean isModifyRDNAuthorized(java.lang.String userDN,
java.lang.String oldDN,
java.lang.String clientIP,
java.lang.String NewRDN)
userDN - : DN of the subject to check ACI foroldDN - : DN of the entry to modifyclientIP - : IP of the current TCP connectionNewRDN - : new dnpublic static boolean isCompareAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP,
java.lang.String compareFilter)
userDN - : DN of the subject to check ACI forresourceDN - : DN of the entry to compareclientIP - : IP of the current TCP connectioncompareFilter - : in the form attrname=value or just attrnamepublic static boolean isSearchResultAuthorized(java.lang.String userDN,
java.lang.String resourceDN,
java.lang.String clientIP,
LDAPEntry target_resource)
userDN - : DN of the subject to check ACI forresourceDN - : DN of the entry foundclientIP - : IP of the current TCP connectiontarget_resource - : entry foundpublic static LDAPEntry getAuthorizedAttributes(java.lang.String userDN, java.lang.String resourceDN, java.lang.String clientIP, LDAPEntry target_resource, java.lang.String searchFilter)
userDN - : DN of the subject to check ACI forresourceDN - : DN of the entry foundclientIP - : IP of the current TCP connectiontarget_resource - : entry foundsearchFilter - : search filterpublic static java.lang.String FilterValuestoUpperCase(java.lang.String filter,
java.lang.String Attributelist)
filter - - LDAP filter expressionAttributelist - - List of Attributes, comma seaprated , for which the
value'case has to be changedpublic static java.lang.String FilterValuestoLowerCase(java.lang.String filter,
java.lang.String Attributelist)
filter - - LDAP filter expressionAttributelist - - List of Attributes, comma seaprated , for which the
value'case has to be changedpublic static java.lang.String getDateFromADTimestamp(java.lang.String ADtimestamp,
java.lang.String OutputFormat)
ADtimestamp - - string containing the timestamp ascii value - for
instance : "131220409910000000"OutputFormat - - string containing the template to format the date - for
instance : "yyyy-MM-dd hh:mm:ss.SSS" - if null a default
format is assumedpublic static java.security.cert.X509Certificate getCert(byte[] certdata)
certdata - - byte array coming for instance from the userCertificate
attribute
return the X509Certificate - null if errorpublic static javax.naming.directory.Attribute DNremapLookup(javax.naming.directory.Attribute attr,
java.lang.String baseDN1,
java.lang.String baseDN2,
java.lang.String dnAttr)
throws LDAPException
attr - input Attribute containing values to re-mapbaseDN1 - for instance user location in virtual treebaseDN2 - for instance group location in virtual tree (can be null)dnAttr - Attribute in user or group entries containing the original DN
(for instance distinguishedName in AD)LDAPExceptionpublic static javax.naming.directory.Attribute DNremapLookupForeign(javax.naming.directory.Attribute attr,
java.lang.String baseDN1,
java.lang.String baseDN2)
throws LDAPException
attr - input Attribute containing values to re-mapbaseDN1 - for instance user location in virtual treebaseDN2 - for instance group location in virtual tree (can be null)LDAPExceptionpublic static javax.naming.directory.Attribute DNremapLookupUnnest(javax.naming.directory.Attribute Groupattr,
java.lang.String UserbaseDN,
java.lang.String GroupbaseDN,
java.lang.String dnAttr)
throws LDAPException
Groupattr - input Attribute containing values to re-mapUserbaseDN - user location in virtual treeGroupbaseDN - group location in virtual tree (can be null if same as
user)dnAttr - Attribute in user or group entries containing the original
DN (distinguishedName in AD)LDAPExceptionpublic static java.lang.String getIdRdnValue(javax.naming.directory.SearchResult currentSR,
java.util.Collection<java.lang.String> colRdnFields)
currentSR - colRdnFields - public static java.lang.String[] getArrayForString(java.lang.String s)
s - public static java.lang.String[] getArrayForString(java.lang.String s1,
java.lang.String s2)
s - public static java.lang.String[] getArrayValueForIdRdn(java.lang.String idValue)
idValue - public static java.lang.String mergeLdapFiltersAND(java.lang.String filter1,
java.lang.String filter2)
filter1 - filter2 - public static java.lang.String mergeLdapFiltersOR(java.lang.String filter1,
java.lang.String filter2)
filter1 - filter2 - public static java.lang.String mergeSqlFiltersAND(java.lang.String sql1,
java.lang.String sql2)
filter1 - filter2 - public static java.lang.String mergeSqlFiltersAND(java.util.List listFilters)
public static java.lang.String mergeSqlFiltersOR(java.lang.String sql1,
java.lang.String sql2)
filter1 - filter2 - public static java.lang.String mergeLdapFiltersOR(java.util.List<java.lang.String> listFilter)
filter1 - filter2 - public static java.lang.String getScopeStr(int scope)
scope - public static int getScopeInt(java.lang.String scope)
public static boolean isListContainsStrIgnoreCase(java.util.List listNotNumericalAttributeNames,
java.lang.String strToFind)
listNotNumericalAttributeNames - list of StringstrToFind - public static boolean isArrayContainsStrIgnoreCase(java.lang.String[] arrayStr,
java.lang.String strToFind)
listNotNumericalAttributeNames - list of StringstrToFind - public static void addAttribute(LDAPEntry ldapEntry, java.lang.String attrName, java.lang.String attrValue)
ldapEntry - attrName - attrValue - public static void addAttribute(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.String attrValue)
ldapEntry - attrName - attrValue - public static java.lang.Class loadClass(java.lang.String className,
java.lang.String jarDir)
className - jarDir - public static java.lang.Class loadInterceptionCustomClass(java.lang.String scriptName)
scriptName - public static java.lang.Class loadInterceptionClass(java.lang.String scriptName)
scriptName - public static java.lang.Class loadCustomClass(java.lang.String scriptName)
scriptName - public static int getInterceptionImplType(java.lang.Class intercepClass)
intercepClass - public static int getCustomImplType(java.lang.Class intercepClass)
intercepClass - public static java.util.List<java.lang.String> extractSqlAttributesToReplace(java.lang.String sql)
sql - public static java.util.List extractSqlAttributesToReplaceWithSqlName(java.lang.String sql)
ex of element of List returned: String[0]=APP.ORDER_DETAILS.ORDERDETAILID; value=@@[ORDERDETAILID : INTEGER], String[1]=APP.ORDER_DETAILS.ORDERID; value=@[ORDERID : INTEGER],
sql - public static java.lang.String[] getAttributeNamesForListOfAttrStr(java.util.List listAttrStr)
listAttrStr - list of attribute references ex:public static java.lang.String applyJNDI_FilterValue_Format(java.lang.String valueNotEscaped)
valueNotEscaped - public static boolean isHexChar(char c)
public static java.lang.String applyJNDI_DN_Format(java.lang.String dnWithEscapedValues)
baseDNForSearch - public static java.lang.String unApplyJNDI_DN_Format(java.lang.String dnWithEscapedValues)
baseDNForSearch - public static java.lang.String unapplyJNDI_FilterValue_Format(java.lang.String valueNotEscaped)
valueNotEscaped - public static java.lang.String getAttributeValue(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
currentSR - name - public static java.lang.String getAttributeValue(javax.naming.directory.Attributes attrs,
java.lang.String name)
currentSR - name - public static java.lang.String getAttributeValue(javax.naming.directory.Attribute attr)
currentSR - public static java.lang.String[] getAttributeValues(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
currentSR - name - public static javax.naming.NamingEnumeration getAttributeValuesEnum(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
currentSR - name - public static javax.naming.NamingEnumeration getAttributeValuesEnum(javax.naming.directory.SearchResult currentSR,
java.lang.String name,
boolean ignoreCase)
currentSR - name - public static java.util.List getAttributeValuesList(javax.naming.directory.SearchResult currentSR,
java.lang.String name)
currentSR - name - public static java.lang.Object getAttributeValueStringOrList(javax.naming.directory.SearchResult currentSR,
java.lang.String name,
boolean ignoreCaseAttrName)
currentSR - name - public static java.lang.String getAttributeValue(LDAPEntry entry, java.lang.String name)
entry - name - public static java.lang.String[] getAttributeValues(LDAPEntry entry, java.lang.String name)
entry - name - public static java.util.List getAttributeValuesList(LDAPEntry entry, java.lang.String name)
entry - name - public static java.util.Map getAttributeValuesMap(LDAPEntry entry, java.util.List listAttrNames)
entry - listAttrNames - public static javax.naming.directory.Attribute findAttribute(javax.naming.directory.SearchResult entry,
java.lang.String attrName,
boolean ignoreCase)
entry - attrName - ignoreCase - public static javax.naming.directory.Attribute findAttribute(javax.naming.directory.Attributes attributes,
java.lang.String attrName)
attributes - attrName - public static javax.naming.directory.Attribute findAttribute(javax.naming.directory.Attributes attributes,
java.lang.String attrName,
boolean ignoreCase)
attributes - attrName - ignoreCase - public static javax.naming.directory.Attribute findAttribute(java.util.Enumeration<javax.naming.directory.Attribute> enuAttr,
java.lang.String attrName,
boolean ignoreCase)
attributes - attrName - ignoreCase - public static javax.naming.directory.ModificationItem findModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> listModificationItem,
java.lang.String attrName,
boolean ignoreCase)
listModificationItem - attrName - ignoreCase - public static javax.naming.directory.ModificationItem findModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> listModificationItem,
java.lang.String attrName,
boolean ignoreCase,
boolean ignoreRemoveAttribute)
listModificationItem - attrName - ignoreCase - ignoreRemoveAttribute - ignore modif of type DirContext.REMOVE_ATTRIBUTEpublic static java.lang.Object extractAttrValueStringOrList(javax.naming.directory.Attribute attr)
attr - public static java.util.Map getAttributeValuesMap(javax.naming.directory.SearchResult entry,
java.util.List listAttrNames)
entry - listAttrNames - public static javax.naming.directory.SearchResult lookupDN_Base(java.lang.String dn)
dn - The DN to perform the base search on.null if the search fails.public static java.util.List<java.lang.String> getListForString(java.lang.String s)
s - public static java.util.List getListForObject(java.lang.Object o)
s - public static java.util.List<java.lang.String> getListForString(java.lang.String s1,
java.lang.String s2)
s - public static java.util.Map getMapForObject(java.lang.Object key,
java.lang.Object value)
s - public static boolean hasStringValueInArray(java.lang.String[] array,
java.lang.String value,
boolean isIgnoreCase)
array - value - isIgnoreCase - public static javax.naming.directory.ModificationItem convertLDAPModification2ModificationItem(LDAPModification modif)
attribute - public static LDAPModification convertModificationItem2LDAPModification(javax.naming.directory.ModificationItem modif)
modif - public static java.util.List<javax.naming.directory.ModificationItem> convertArrayLDAPModification2ListModificationItem(LDAPModification[] arrayModif)
arrayModif - public static javax.naming.directory.ModificationItem[] convertArrayLDAPModification2ArrayModificationItem(LDAPModification[] arrayModif)
arrayModif - public static javax.naming.directory.Attribute convertLDAPAttribute2Attribute(LDAPAttribute attribute)
attribute - public static javax.naming.directory.Attribute convertLDAPAttribute2Attribute(LDAPAttribute attribute, java.lang.String newAttrName)
attribute - forceValueString - if true value will be converted as String, if false,
will try to determine type of value.public static javax.naming.directory.Attributes convertArrayLDAPAttribute2Attributes(LDAPAttribute[] attributes)
attributes - public static LDAPAttribute[] convertAttributes2ArrayLDAPAttribute(javax.naming.directory.Attributes attrs)
public static LDAPAttributeSet convertAttributes2ArrayLDAPAttributeSet(javax.naming.directory.Attributes attrs)
public static LDAPModification[] convertListModificationItem2ArrayLDAPModification(java.util.Collection listModificationItems)
public static LDAPModification[] convertArrayModificationItem2ArrayLDAPModification(javax.naming.directory.ModificationItem[] mods)
public static LDAPAttribute convertAttribute2LDAPAttribute(javax.naming.directory.Attribute attribute)
attribute - public static javax.naming.directory.Attribute createAttribute(java.lang.String attrName,
javax.naming.directory.Attribute fromAttr)
attrName - fromAttr - public static javax.naming.directory.Attribute createAttribute(java.lang.String attrName,
java.util.Enumeration enumValues)
attrName - enumValues - public static boolean equalsNullSupport(java.lang.Object obj1,
java.lang.Object objt2)
obj1 - objt2 - public static boolean equalsIgnoreCaseNullSupport(java.lang.String str1,
java.lang.String str2)
str1 - str2 - public static boolean equalsArrayNullSupport(java.lang.Object[] array1,
java.lang.Object[] array2)
array1 - array2 - public static boolean equalsArrayNullSupport(byte[] array1,
byte[] array2)
array1 - array2 - public static boolean equalsArrayNullSupport_2D(java.lang.Object[][] array1_2D,
java.lang.Object[][] array2_2D)
array1 - array2 - public static boolean equalsArrayNullSupport(int[] array1,
int[] array2)
array1 - array2 - public static java.util.List convertArrayToList(java.lang.Object[] array1)
public static java.util.List convertArrayStrToList(java.lang.String[] array1)
public static java.util.List convertArrayStrToList(java.lang.String[] array1,
boolean toLowerCase)
public static java.lang.String convertArrayToString(java.lang.Object[] array1,
char separChar)
public static java.lang.String convertArrayStrToString(java.lang.String[] array1,
char separChar)
public static int[] convertListToArrayInt(java.util.Collection list)
list - public static byte[][] convertListToArray2dBytes(java.util.Collection list)
list - public static java.lang.String[] convertListToArrayString(java.util.Collection list)
public static boolean equalsListAndArray(java.util.Collection list,
java.lang.Object[] array)
list - array - public static boolean equalsListAndList(java.util.Collection list1,
java.util.Collection list2)
list - array - public static void addArrayToList(java.util.Collection list,
java.lang.Object[] array)
public static void addArrayToList(java.util.Collection list,
java.lang.Object[] array,
boolean isAllowDuplicate)
public static void addObjectToList(java.util.Collection list,
java.lang.Object obj,
boolean isAllowDuplicate)
public static void addListToList(java.util.List list,
java.util.List listToAdd,
boolean isAllowDuplicate)
public static java.util.Map cloneMap(java.util.Map map)
public static java.util.List cloneList(java.util.Collection list)
public static <E> java.util.List<E> cloneList(java.util.Collection<E> list,
java.lang.Class listClass)
public static java.util.List cloneListOfList(java.util.Collection list)
public static java.lang.String[] explodeUrlList(java.lang.String urlList)
urlList - url separated with ';'public static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult sr,
java.lang.String virtualDn,
java.lang.String externalJoinStr,
int timeLimitMs,
java.lang.String filterToMatch,
java.lang.String[] arrayAttrRequested)
throws LDAPException
sr - externalJoinStr - providedLDAPExceptionpublic static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
java.lang.String externalJoinStr,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr)
throws LDAPException
entry - virtualDn - virtual DN for entry, if null will do a getDN() on
entry to get itexternalJoinStr - providedtimeLimitMs - time limit in Ms to do external join, 0 if no limitLDAPExceptionpublic static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight)
throws LDAPException
entry - virtualDn - virtual DN for entry, if null will do a getDN() on
entry to get itexternalJoinStr - providedtimeLimitMs - time limit in Ms to do external join, 0 if no limitLDAPExceptionpublic static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages)
throws LDAPException
entry - virtualDn - virtual DN for entry, if null will do a getDN() on
entry to get itexternalJoinStr - providedtimeLimitMs - time limit in Ms to do external join, 0 if no limitLDAPExceptionpublic static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter)
throws LDAPException
entry - virtualDn - virtual DN for entry, if null will do a getDN() on
entry to get itexternalJoinStr - providedtimeLimitMs - time limit in Ms to do external join, 0 if no limitfilter - filter for current queryLDAPExceptionpublic static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult entry,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayRequestedAttr,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter)
throws LDAPException
LDAPExceptionpublic static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult entry,
AttributesEnumeration enumeration,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayRequestedAttr,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter,
BackendMetaData bm,
boolean initRefCache)
throws LDAPException
LDAPExceptionpublic static javax.naming.directory.SearchResult doExternalJoin(javax.naming.directory.SearchResult entry,
AttributesEnumeration enumeration,
VDQueryGroup xjoinGroup,
int timeLimitMs,
java.lang.String[] arrayRequestedAttr,
java.lang.String[] arrayReturnedAttr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
HDAPStore[] pstorages,
java.lang.String filter,
BackendMetaData bm,
boolean initRefCache,
boolean optimizeJoin,
boolean optimizeRequestedBackendAttribute)
throws LDAPException
LDAPExceptionpublic static boolean isAttributeRequested(java.lang.String[] arrayRequestedAttribute,
java.lang.String attrname)
public static boolean isEmpty(java.lang.Iterable iterable)
public static javax.naming.NamingEnumeration extractExternalEntries(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] arrayAttrRequested)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionprotected static javax.naming.NamingEnumeration extractExternalEntries(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionprotected static javax.naming.NamingEnumeration extractExternalEntries(javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionpublic static javax.naming.NamingEnumeration extractExternalEntries(AttributesEnumeration enumeration,
javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionpublic static javax.naming.NamingEnumeration extractExternalEntries(LDAPOperations ldapop,
AttributesEnumeration enumeration,
javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionpublic static javax.naming.NamingEnumeration extractExternalEntries(LDAPOperations ldapop,
AttributesEnumeration enumeration,
javax.naming.directory.SearchResult entry,
java.lang.String virtualDn,
int timeLimitMs,
VDQuery joinObj,
java.lang.String[] userRequestedAttributes,
java.lang.String[] arrayAttrRequested,
HDAPStore[] persistentStorages,
java.lang.String filter,
boolean optimizeJoin,
boolean optimizeRequestedBackendAttribute)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionpublic static int getCurrentTimeLimitSec(long projectedLimitTimeMs)
throws LDAPException
projectedLimitTimeMs - LDAPExceptionpublic static void logException(java.lang.Throwable e)
public static void logException(java.lang.String msg,
java.lang.Throwable e)
e - public static void logException(GenericLogger logger,
java.lang.Throwable t)
logger - t - public static java.lang.String generateTraceException(java.lang.Throwable e)
public static void logException(java.lang.String errorMsg)
e - public static void logDebug(java.lang.String msg)
e - public static boolean contains(java.lang.String[] array,
java.lang.String valueToFind)
array - valueToFind - public static boolean containsArray(java.util.List list,
java.lang.Object[] arrayToFind)
list - list of arrayvalueToFind - public static boolean contains(java.lang.Object[] array,
java.lang.Object valueToFind)
array - valueToFind - public static boolean containsArray(java.lang.Object[][] array,
java.lang.Object[] arrayToFind)
array - array of arrayarrayToFind - public static boolean contains(java.lang.String[] array,
java.lang.String valueToFind,
boolean ignoreCase)
array - valueToFind - ignoreCase - public static boolean contains_IC(java.util.Collection list,
java.lang.Object valueToFind)
list - valueToFind - ignoreCase - public static boolean contains_IC(javax.naming.directory.Attribute attr,
java.lang.String value)
list - valueToFind - ignoreCase - public static boolean contains_IC(java.lang.String[] arrayStr,
java.util.List valuesToFind)
list - valuesToFind - ignoreCase - public static boolean contains_IC(java.lang.Object[] array,
java.lang.Object valueToFind)
list - valueToFind - ignoreCase - public static boolean containsArray(byte[][] array,
byte[] arrayToFind)
array - array of arrayarrayToFind - public static java.lang.String quoteStrForSql(java.lang.String sql,
int implType)
sql - implType - see BackendSourceTypepublic static java.lang.String[] lowerCaseArray(java.lang.String[] array)
public static java.util.List lowerCaseList(java.util.List list)
public static java.lang.String findStrIgnoreCase(java.util.Collection<java.lang.String> col,
java.lang.String key)
col - key - public static int indexOfStrIgnoreCase(java.util.Collection col,
java.lang.String key)
col - key - public static int indexOfStr(java.util.Collection col,
java.lang.String key)
col - key - public static int indexOfStr(java.util.Collection col,
java.lang.String key,
boolean ignoreCase)
col - key - ignoreCase - (respecting case)public static java.lang.String getValueContainedRespectCase(java.util.Collection col,
java.lang.String key_IC)
col - key_IC - public static java.lang.Object getValueInMapIgnoreCase(java.util.Map map,
java.lang.String key)
map - key - public static boolean equalsListIgnoreOrder(java.util.Collection list1,
java.util.Collection list2)
list1 - list2 - public static boolean equalsListModificationItemIgnoreOrder(java.util.Collection<javax.naming.directory.ModificationItem> list1,
java.util.Collection<javax.naming.directory.ModificationItem> list2)
public static boolean containsModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> list,
javax.naming.directory.ModificationItem modif)
public static boolean equalsMap(java.util.Map map1,
java.util.Map map2)
map1 - map2 - public static boolean equalsMap(java.util.Map map1,
java.util.Map map2,
java.util.Map keysToIgnore)
map1 - map2 - public static boolean equalsListArrayIgnoreOrder(java.util.Collection list1,
java.lang.Object[] array2)
list1 - list2 - public static boolean equalsListIgnoreOrderIgnoreCase(java.util.List list1,
java.util.List list2)
list1 - list2 - public static boolean equalsListArrayIgnoreOrderIgnoreCase(java.util.List list1,
java.lang.Object[] array2)
list1 - list2 - public static boolean equalsArrayIgnoreOrderIgnoreCase(java.lang.Object[] array1,
java.lang.Object[] array2)
list1 - list2 - public static boolean equalsArrayIgnoreOrder(java.lang.Object[] array1,
java.lang.Object[] array2)
list1 - list2 - public static boolean equalsArrayIgnoreCase(java.lang.String[] array1,
java.lang.String[] array2)
list1 - list2 - public static void sortLdapEntryList(java.util.List listLdapEntries,
java.lang.String attrName,
boolean isAsc)
listLdapEntries - attrName - isAsc - public static java.util.List findEntryRespectingPattern(java.util.Map mapKkeyVvalue,
java.lang.String strWithStar)
mapKkeyVvalue - strWithStar - public static boolean equalsToString(java.lang.Object obj1,
java.lang.Object obj2)
obj1 - obj2 - public static void updateAttrValue(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.Object newValue)
sr - attrName - newValue - could be String or String[] or Collection(multi valued). if
null clear current value.public static void updateAttrValue(LDAPAttribute attr, java.lang.Object newValue)
attr - attrName - newValue - could be String or String[] (multi valued). if null clear
current value.public static boolean hasAttribute(javax.naming.directory.SearchResult sr,
java.lang.String attrName)
sr - attrName - public static boolean hasAttributeValue(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
boolean ignoreCase)
sr - attrName - public static boolean hasAttributeValues(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.Object value)
sr - attrName - value - could be String or Object[] (multi valued).public static boolean hasAttributeValues(javax.naming.directory.SearchResult sr,
java.lang.String attrName,
java.lang.Object value,
boolean ignoreCase)
sr - attrName - value - could be String or Object[] (multi valued) or
Collectionpublic static boolean hasAttributeValue(javax.naming.directory.Attribute attr,
java.lang.String attrValue,
boolean ignoreCase)
attr - attrValue - ignoreCase - public static void duplicateList(java.util.List list)
list - protected static void duplicateList(java.util.List list,
int nbDuplicate)
list - nbDuplicate - public static void addValueToAllList(java.util.List listListValuesFound,
java.lang.Object value)
listListValuesFound - value - public static void addValueToAllList(java.util.Collection listListValuesFound,
java.lang.Object value,
boolean duplicateListIfMultiple)
listListValuesFound - value - duplicateListIfMultiple - if false:If value is multiple (a List), will
add all value to all list. if true:every
multiple value, will generate a duplication of
the orignal set and for every multiplied
value, the combinaison ordered will be present
in list modified.public static java.util.Map createMap(java.util.List keys,
java.util.List valuesForEachKey)
keys - valuesForEachKey - public static java.util.Map[] createMapAttrStrValuePossibility(java.util.Map mapKAttrNameVStrValueORListValues)
mapKAttrNameVStrValueORListValues - public static java.util.Map getSubMap(java.util.Map map,
java.util.List listSubKeys,
boolean ignoreCaseKeyName)
map - listSubKeys - ignoreCaseKeyName - public static java.util.Map getSubMapKAttrNameVStrOrListValues(javax.naming.directory.SearchResult sr,
java.util.List listSubKeys)
map - listSubKeys - public static java.util.Map getSubMapKAttrNameVStrOrListValues(javax.naming.directory.SearchResult sr,
java.util.List listSubKeys,
java.util.Map toMap)
map - listSubKeys - public static boolean isListContainingListValues(java.util.Collection list)
list - public static boolean isMapContainingListValues(java.util.Map map)
map - public static LDAPAttribute findLDAPAttribute(LDAPModification[] arrayLDAPModification, java.lang.String attrName)
arrayLDAPModification - attrName - public static LDAPAttribute findLDAPAttribute(LDAPAttribute[] arrayLDAPAttribute, java.lang.String attrName)
arrayLDAPAttribute - attrName - public static LDAPModification findLDAPModification(LDAPModification[] arrayLDAPModification, java.lang.String attrName)
arrayLDAPModification - attrName - public static boolean containsKeysFromOtherMap(java.util.Map map1,
java.util.Map map2)
map1 - map2 - public static java.util.Map mergeMaps(java.util.Map map1,
java.util.Map map2)
map1 - map2 - public static boolean doExternalJoinInsert(java.lang.String dn,
LDAPAttribute[] attributes,
CompoundObject co,
javax.naming.directory.SearchResult srMainEntry)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
externalJoins - dn - attributes - co - srMainEntry - javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionpublic static boolean doExternalJoinUpdate(java.lang.String dn,
java.lang.Object modifs,
CompoundObject co,
javax.naming.directory.SearchResult srMainEntry)
throws javax.naming.NamingException,
java.io.IOException,
LDAPException
dn - modifs - array[] ModificationItem or
LDAPModificationco - srMainEntry - javax.naming.NamingExceptionjava.io.IOExceptionLDAPExceptionpublic static javax.naming.directory.ModificationItem[] convertAttributesToModificationItemArray(javax.naming.directory.Attributes attributes,
int mod_op)
attributes - mod_op - Modification to apply. It must be one of:
DirContext.ADD_ATTRIBUTE DirContext.REPLACE_ATTRIBUTE
DirContext.REMOVE_ATTRIBUTEpublic static boolean doExternalJoinDelete(CompoundObject co,
java.lang.String dn)
throws javax.naming.NamingException,
java.io.IOException
metaNode - dn - javax.naming.NamingExceptionjava.io.IOExceptionpublic static javax.naming.directory.Attribute renameAttribute(java.lang.String newName,
javax.naming.directory.Attribute attr)
newName - attr - public static javax.naming.directory.ModificationItem renameModificationItem(java.lang.String newName,
javax.naming.directory.ModificationItem modif)
newName - modif - public static boolean isEmpty(javax.naming.directory.Attributes attrs)
attrs - public static boolean hasKeysInMap(java.util.Map map,
java.util.List listKeys)
map - listKeys - public static void toLowerCase(java.lang.String[] arrayStr)
public static LDAPModification[] removeLDAPModificationFromArray(LDAPModification[] originalModif, LDAPModification[] toRemove)
originalModif - toRemove - public static LDAPModification[] removeLDAPModificationFromArray(LDAPModification[] originalModif, java.util.List toRemove)
originalModif - toRemove - public static LDAPAttribute[] removeLDAPAttributeFromArray(LDAPAttribute[] originalAttr, java.util.List toRemove)
originalAttr - toRemove - public static javax.naming.directory.ModificationItem cloneModificationItem(javax.naming.directory.ModificationItem modif)
modif - public static LDAPModification[] cloneLDAPModifications(LDAPModification[] mods)
public static boolean equalsModificationItem(javax.naming.directory.ModificationItem modif1,
javax.naming.directory.ModificationItem modif2)
public static java.lang.String toString(javax.naming.directory.Attributes attrs)
public static java.lang.String toString(javax.naming.directory.Attribute attr)
attr - public static java.lang.String toString(javax.naming.directory.ModificationItem modif)
modif - public static java.lang.String toStringListModificationItem(java.util.Collection<javax.naming.directory.ModificationItem> list,
char separ)
list - separ - public static boolean equalsIgnoreOrder(javax.naming.directory.Attributes attrs1,
javax.naming.directory.Attributes attrs2)
public static boolean containsAttribute(javax.naming.directory.SearchResult sr,
java.lang.String attrToFind)
public static boolean containsAttribute(javax.naming.directory.Attributes attrs,
javax.naming.directory.Attribute attrToFind)
public static boolean doBind(javax.naming.directory.SearchResult mainEntry,
java.lang.String bindDN,
java.lang.String bindPWD,
VDQuery vdQuery,
java.util.Vector<LDAPControl[]> BindResponseControl)
bindDN - bindPWD - public static boolean doBindWithExceptionSupport(javax.naming.directory.SearchResult mainEntry,
java.lang.String bindDN,
java.lang.String bindPWD,
VDQuery vdQuery,
java.util.Vector<LDAPControl[]> BindResponseControl)
throws LDAPException
LDAPExceptionpublic static java.lang.String removeAttrValue(javax.naming.directory.Attribute attr,
java.lang.String valueToRemove,
boolean ignorecase)
attr - valueToRemove - ignorecase - public static void append(java.util.List<java.lang.StringBuilder> list,
java.util.List<java.lang.String> listString)
list - listString - public static void append(java.util.List<java.lang.StringBuilder> list,
java.lang.String s)
public static java.util.Enumeration<java.lang.String> findValue(java.util.Map map,
java.lang.String key,
boolean ignorecase)
map - key - ignorecase - public static boolean isEmpty(javax.naming.NamingEnumeration currentEnum)
public static void mergeAttributes(javax.naming.directory.SearchResult mainSR,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
javax.naming.directory.SearchResult secondarySR,
InternalAttributeSet secondaryAttrMeta)
mainSR - mapKAttrName_LC_VCurrentWeight - secondarySR - secondaryAttrs - public static javax.naming.directory.Attribute mergeAttributes(javax.naming.directory.SearchResult sr,
java.util.Map<java.lang.String,java.lang.Integer> mapKAttrName_LC_VCurrentWeight,
javax.naming.directory.Attribute attr2Merge,
int weightAttr2Merge,
java.lang.String newAttrName)
sr - mapKAttrName_LC_VCurrentWeight - attr2Merge - newAttrName - put a new name if need to be remmaped
(will create new instance of
Attribute), null use existing name@Deprecated
public static java.lang.String constructDN(javax.naming.directory.SearchResult currentSR,
int scope,
DvxTreeNode metaNode,
java.lang.String baseDN)
currentSR - scope - metaNode - baseDN - public static java.lang.String constructDN(javax.naming.directory.SearchResult currentSR,
int scope,
CompoundObject co,
java.lang.String baseDN)
currentSR - scope - co - baseDN - public static boolean isEmpty(javax.naming.directory.Attribute attr)
public static void storeInterceptParamInEntry(javax.naming.directory.SearchResult anEntry,
InterceptParam p)
anEntry - p - public static boolean hasInterfaceImplemented(java.lang.Class c,
java.lang.Class i)
c - i - public static java.lang.reflect.Method getDeclaredMethodInHierarchy(java.lang.Class c,
java.lang.String name,
java.lang.Class[] parameterTypes)
throws java.lang.SecurityException,
java.lang.NoSuchMethodException
c - name - parameterTypes - java.lang.SecurityExceptionjava.lang.NoSuchMethodExceptionpublic static boolean isEmpty(AttributesEnumeration attrValues)
public static java.lang.String removeBinarySuffix(java.lang.String attrNameLow)
attrNameLow - public static boolean isEmpty(VDQueryGroup vdqGroup)
public static java.lang.String generateKeywordPatternFilter(java.lang.String filter)
filter - public static java.lang.String generateKeywordFilter(java.lang.String filter)
filter - @Deprecated
public static java.lang.String generateKeywordFilter(java.lang.String baseDN,
java.lang.String filter,
int scope,
java.lang.String[] arrayDNContextKeywordActivated,
java.lang.String keywordAttributeName)
baseDN - base DN for current searchfilter - searched filterscope - arrayDNContextKeywordActivated - DN to apply keyword search, if null
apply on any baseDNkeywordAttributeName - name of keyword attributepublic static java.lang.String translateValue(java.lang.String value,
java.lang.String ruleset,
int mode)
value - to translateruleset - - pattern "(.+) -->
ldap://[vds]/o=companydirectory?1.1?sub?(l=$1) ## (.+) -->
uid=ghost,ou=$1,o=companydirectory"mode - : 0: if no regex pattern matches , returns original value. 1:
if no pattern matches return null. 2: execute all regex
patternpublic static java.lang.String toString(java.lang.String[] values)
values - public static boolean isValidLdapAttributeName(java.lang.String attrName)
public static void validLdapAttributeName(java.lang.String attrName)
throws RliSyntaxException
attrName - RliSyntaxExceptionpublic static java.lang.String generateValidLdapAttributeName(java.lang.String attrName)
attrName - public static java.lang.String ldapToSqlFilter(java.lang.String ldapFilter,
int implType)
implType - implementation of SQL backend, depending of implementation
set, SQL dialect could be slightly different (especially
for sepcial characters like quotes) see BackendSourceType.*
for supported implementation. (use BackendSourceType.DERBY
if unknown)ldapFilter - public static java.util.List<java.lang.String> namingEnumeration2List(java.util.Enumeration<java.lang.String> stringNamingEnumeration)
public static void applyModificationToSearchResult(javax.naming.directory.SearchResult sr,
javax.naming.directory.ModificationItem[] modifs)
throws javax.naming.NamingException
javax.naming.NamingExceptionpublic static byte[] extractCookieFromControls(javax.naming.directory.DirContext ctx)
throws javax.naming.NamingException
javax.naming.NamingExceptionpublic static java.util.Set<java.lang.String> extractRangeAttributeName(java.lang.String[] attributeNames)
public static void fetchRangeAttributes(Connection conn,
BackendMetaData bm,
java.lang.String userid,
java.lang.String userpassword,
LDAPEntry entry,
java.lang.String remoteBaseDN,
java.util.Set<java.lang.String> requestedRangeAttributesLC)
throws LDAPException
LDAPExceptionpublic static void fetchRangeAttributes(LDAPOperations ldapOp,
javax.naming.directory.SearchResult sr,
java.lang.String remoteBaseDN,
java.util.Set<java.lang.String> requestedRangeAttributesLC)
throws LDAPException
LDAPExceptionprotected static LDAPControl String2LDAPControl(java.lang.String ctrlStr)
protected static javax.naming.ldap.Control String2Control(java.lang.String ctrlStr)
protected static java.lang.String LDAPControl2String(LDAPControl LDAPctrl)
public static java.lang.String LDAPControls2String(LDAPControl[] LDAPctrls)
protected static java.lang.String Control2String(javax.naming.ldap.Control ctrl)
public static java.lang.String Controls2String(javax.naming.ldap.Control[] ctrl)
public static javax.naming.ldap.Control[] String2Controls(java.lang.String ctrlString)
public static LDAPControl[] String2LDAPControls(java.lang.String ctrlString)
public static LDAPControl Control2LDAPControl(javax.naming.ldap.Control ctrl)
public static java.lang.String toLowerCase(java.lang.String s)
public static java.lang.String toUpperCase(java.lang.String s)
public static java.lang.String getRliGuid()
public static java.lang.String escapeQuote(java.lang.String s)
public static void modifyObject_AddAttribute(java.lang.String dn,
java.lang.String attribute,
java.util.Vector<java.lang.String> values)
throws java.lang.Throwable
If attribute does not exist, the attribute is created. The resulting attribute has a union of the specified value set and the prior value set. Adding an attribute with no value will throw InvalidAttributeValueException if the attribute must have at least one value. For a single-valued attribute where that attribute already exists, throws AttributeInUseException. If attempting to add more than one value to a single-valued attribute, throws InvalidAttributeValueException.
dn - dn of modified VDS entryattribute - name of modified attributevalues - added valuesjava.lang.Throwable - throws exception if there is a connection error or
modification error.public static void modifyObject_AddAttribute(java.lang.String dn,
java.lang.String attribute,
java.lang.String value)
throws java.lang.Throwable
If attribute does not exist, the attribute is created. The resulting attribute has a union of the specified value and the prior value set. Adding an attribute with no value will throw InvalidAttributeValueException if the attribute must have at least one value. For a single-valued attribute where that attribute already exists, throws AttributeInUseException. If attempting to add more than one value to a single-valued attribute, throws InvalidAttributeValueException.
dn - dn of modified VDS entryattribute - name of modified attributevalue - added valuejava.lang.Throwable - throws exception if there is a connection error or
modification error.public static void modifyObject_ReplaceAttribute(java.lang.String dn,
java.lang.String attribute,
java.util.Vector<java.lang.String> values)
throws java.lang.Throwable
If attribute already exists, replaces all existing values with new specified values. If the attribute does not exist, creates it. If no value is specified, deletes all the values of the attribute. Removal of the last value will remove the attribute if the attribute is required to have at least one value. If attempting to add more than one value to a single-valued attribute, throws InvalidAttributeValueException.
dn - dn of modified VDS entryattribute - name of modified attributevalues - replacing valuesjava.lang.Throwable - throws exception if there is a connection error or
modification error.public static void modifyObject_ReplaceAttribute(java.lang.String dn,
java.lang.String attribute,
java.lang.String value)
throws java.lang.Throwable
If attribute already exists, replaces all existing values with new specified values. If the attribute does not exist, creates it. If no value is specified, deletes all the values of the attribute. Removal of the last value will remove the attribute if the attribute is required to have at least one value. If attempting to add more than one value to a single-valued attribute, throws InvalidAttributeValueException.
dn - dn of modified VDS entryattribute - name of modified attributevalues - replacing valuejava.lang.Throwable - throws exception if there is a connection error or
modification error.public static void modifyObject_RemoveAttribute(java.lang.String dn,
java.lang.String attribute,
java.util.Vector<java.lang.String> values)
throws java.lang.Throwable
The resulting attribute has the set difference of its prior value set and the specified value set. If no values are specified, deletes the entire attribute. If the attribute does not exist, or if some or all members of the specified value set do not exist, this absence may be ignored and the operation succeeds, or a NamingException may be thrown to indicate the absence. Removal of the last value will remove the attribute if the attribute is required to have at least one value.
dn - dn of modified VDS entryattribute - name of modified attributevalues - removed valuesjava.lang.Throwable - throws exception if there is a connection error or
modification error.public static void modifyObject_RemoveAttribute(java.lang.String dn,
java.lang.String attribute,
java.lang.String value)
throws java.lang.Throwable
The resulting attribute has the set difference of its prior value set and the specified value. If no value is specified, deletes the entire attribute. If the attribute does not exist, or if the specified value set does not exist, this absence may be ignored and the operation succeeds, or a NamingException may be thrown to indicate the absence. Removal of the last value will remove the attribute if the attribute is required to have at least one value.
dn - dn of modified VDS entryattribute - name of modified attributevalue - removed valuejava.lang.Throwable - throws exception if there is a connection error or
modification error.public static void modifyObject_RemoveAttribute(java.lang.String dn,
java.lang.String attribute)
throws java.lang.Throwable
Deletes the entire attribute. If the attribute does not exist, this absence may be ignored and the operation succeeds, or a NamingException may be thrown to indicate the absence.
dn - dn of modified VDS entryattribute - name of modified attributejava.lang.Throwable - throws exception if there is a connection error or
modification error.public static boolean isAllNotEmpty(java.lang.String... strings)
strings - public static boolean equalsEmptySupport(java.lang.String s1,
java.lang.String s2)
s1 - s2 - public static boolean isJavaUuid(java.lang.String s)
s - public static java.lang.String findFirstNotEmpty(java.lang.String... strings)
strings - public static void addArrayToListString(java.util.List<java.lang.String> list,
java.lang.String[] array)
public static void addListToListString(java.util.List<java.lang.String> list,
java.util.List<java.lang.String> list2)
public static void removeListFromListString(java.util.List<java.lang.String> list,
java.util.List<java.lang.String> list2)
public static int compareHex(java.lang.String s1,
java.lang.String s2)
s1 - s2 - public static java.lang.String findAttributesInModification(LDAPModification[] arrayLDAPModification, java.util.List<java.lang.String> attrs)
public static boolean hasNonEmptyValue(java.util.List<java.lang.String> values)
values - A list of values.true if the given list contains at least one non-empty value,
or false otherwise.public static java.lang.String decodeFromBase64(java.lang.String s)
s - - input string; may start with RLIConstants.BASE64TOKEN.public static java.lang.String decodeStringFromBase64(java.lang.String s)
throws java.lang.Exception
s - java.lang.Exception - - if error happens during decoding.public static java.lang.String encodeIntoBase64(java.lang.String s)
s - public static java.lang.String encodeStringIntoBase64(java.lang.String s)
throws java.lang.Exception
s - java.lang.Exceptionpublic static java.lang.String makeRdnValueCaseSensitive(java.lang.String dn,
java.lang.String inputRdnName,
java.lang.String inputRdnValue)
dn - - should not be empty; if empty, dn is returned.inputRdnName - - should not be empty; if empty, dn is returned.inputRdnValue - - should not be empty; if empty, dn is returned.public static java.lang.String getConnTraceId()
public static java.lang.String buildLDIFfromLDAPEntryList(java.util.Vector<LDAPEntry> LDAPentries, boolean compress) throws java.io.UnsupportedEncodingException, java.io.IOException
values - LDAPentries: A list of LDAPentry. compress: zip the ldif string
returnedjava.io.UnsupportedEncodingExceptionjava.io.IOExceptionpublic static java.util.Vector<LDAPEntry> buildLDAPEntryListFromLDIF(java.lang.String LDIFstring, boolean compressed) throws java.io.UnsupportedEncodingException, java.io.IOException
values - LDIFstring: LDIF string (compressed or not) compressed: true if
zippedjava.io.UnsupportedEncodingExceptionjava.io.IOExceptionpublic static LDAPEntry BuildLDIFEntry(java.lang.String dn, java.lang.String LDIF, boolean compressed)
public static JDAPSearchResponse BuildLDIFResponse(java.lang.String dn,
java.lang.String LDIF,
boolean compressed)
public static byte[] convertFromPEMCertificate(byte[] pemByteArr)
public static java.security.cert.X509Certificate loadX509Certificate(byte[] byteArr)
public static java.util.List<java.lang.String> getSubjectAlternativeNames(java.security.cert.X509Certificate x509Certificate,
java.lang.Integer altOIDInt)
throws java.security.cert.CertificateParsingException
java.security.cert.CertificateParsingException