gluu
公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.ldap.service.AttributeService クラス
org.gluu.oxtrust.ldap.service.AttributeService の継承関係図
Inheritance graph
org.gluu.oxtrust.ldap.service.AttributeService 連携図
Collaboration graph

公開メンバ関数

List< GluuAttribute > getAllPersonAttributes (UserRole gluuUserRole)
 
List< GluuAttribute > getAllContactAttributes (UserRole gluuUserRole)
 
List< String > getAllAttributeOrigins ()
 
List< String > getAllAttributeOrigins (Collection< GluuAttribute > attributes)
 
Map< String, String > getAllAttributeOriginDisplayNames (List< String > attributeOriginList, String[] objectClassTypes, String[] objectClassDisplayNames)
 
List< GluuAttribute > getCustomAttributes ()
 
GluuAttribute getAttributeByInum (String inum)
 
GluuAttribute getAttributeByInum (String inum, List< GluuAttribute > attributes)
 
List< GluuAttribute > getSCIMRelatedAttributes () throws Exception
 
List< GluuAttribute > getSCIMRelatedAttributesImpl (List< GluuAttribute > attributes) throws Exception
 
void addAttribute (GluuAttribute attribute)
 
void removeAttribute (String inum)
 
void removeAttribute (GluuAttribute attribute)
 
void updateAttribute (GluuAttribute attribute)
 
void clearAttributesCache (@Observes @EventType(Events.EVENT_CLEAR_ATTRIBUTES) Events event)
 
AttributeDataType [] getDataTypes ()
 
ScimCustomAtribute [] getScimCustomAttribute ()
 
Multivalued [] getOxMultivalued ()
 
UserRole [] getAttributeUserRoles ()
 
UserRole [] getViewTypes ()
 
AttributeUsageType [] getAttributeUsageTypes ()
 
boolean containsAttribute (GluuAttribute attribute)
 
String generateInumForNewAttribute ()
 
String toInumWithoutDelimiters (String inum)
 
String generateRandomOid ()
 
String getDnForAttribute (String inum)
 
String getCustomOrigin ()
 
void setAttributeMetadata (List< GluuCustomAttribute > customAttributes, List< GluuAttribute > attributes)
 
List< GluuCustomAttributegetCustomAttributesByAttributeDNs (List< String > attributeDNs, HashMap< String, GluuAttribute > attributesByDNs)
 
HashMap< String, GluuAttribute > getAttributeMapByDNs (List< GluuAttribute > attributes)
 
void sortCustomAttributes (List< GluuCustomAttribute > customAttributes, String sortByProperties)
 
String getDnForGroup (String inum) throws Exception
 
List< GluuAttribute > getAllActivePersonAttributes (UserRole admin)
 
List< GluuAttribute > searchAttributes (String pattern, int sizeLimit) throws Exception
 
List< GluuAttribute > searchPersonAttributes (String pattern, int sizeLimit) throws Exception
 
GluuAttribute getAttributeByDn (String Dn) throws Exception
 

静的公開変数類

static final String CUSTOM_ATTRIBUTE_OBJECTCLASS_PREFIX = "ox-"
 

限定公開メンバ関数

List< GluuAttribute > getAllAtributesImpl (String baseDn)
 

非公開メンバ関数

List< GluuAttribute > getAllPersonAtributesImpl (UserRole gluuUserRole, Collection< GluuAttribute > attributes)
 
List< GluuAttribute > getAllContactAtributesImpl (UserRole gluuUserRole, Collection< GluuAttribute > attributes)
 
String generateInumForNewAttributeImpl ()
 
String generateInum ()
 
List< GluuAttribute > getAllActiveAtributesImpl (UserRole gluuUserRole)
 

非公開変数類

AppConfiguration appConfiguration
 
ApplianceService applianceService
 
OrganizationService organizationService
 
Event< Eventsevent
 

詳解

Provides operations with attributes

著者
Yuriy Movchan Date: 10.13.2010

関数詳解

◆ addAttribute()

void org.gluu.oxtrust.ldap.service.AttributeService.addAttribute ( GluuAttribute  attribute)
inline

Add new custom attribute

引数
attributeAttribute
330  {
331  ldapEntryManager.persist(attribute);
332  event.select(new EventTypeQualifier(Events.EVENT_CLEAR_ATTRIBUTES)).fire(Events.EVENT_CLEAR_ATTRIBUTES);
333  }

◆ clearAttributesCache()

void org.gluu.oxtrust.ldap.service.AttributeService.clearAttributesCache ( @Observes @EventType(Events.EVENT_CLEAR_ATTRIBUTES) Events  event)
inline

Clear attributes cache after receiving event that attributes were changed

375  {
376  log.debug("Removing attributes from cache");
377  cacheService.removeAll(OxConstants.CACHE_ATTRIBUTE_NAME);
378  }

◆ containsAttribute()

boolean org.gluu.oxtrust.ldap.service.AttributeService.containsAttribute ( GluuAttribute  attribute)
inline

Check if LDAP server contains attribute with specified attributes

戻り値
True if attribute with specified attributes exist
443  {
444  return ldapEntryManager.contains(attribute);
445  }

◆ generateInum()

String org.gluu.oxtrust.ldap.service.AttributeService.generateInum ( )
inlineprivate
489  {
490  String inum = "";
491  int value;
492  while (true) {
493  inum = INumGenerator.generate(1);
494  try {
495  value = Integer.parseInt(inum, 16);
496  if (value < 7) {
497  continue;
498  }
499  } catch (Exception ex) {
500  log.error("Error generating inum: ", ex);
501 
502  }
503  break;
504  }
505  return inum;
506  }

◆ generateInumForNewAttribute()

String org.gluu.oxtrust.ldap.service.AttributeService.generateInumForNewAttribute ( )
inline

Generate new inum for attribute

戻り値
New inum for attribute
452  {
453  GluuAttribute attribute = null;
454  String newInum = null;
455  do {
457  String newDn = getDnForAttribute(newInum);
458  attribute = new GluuAttribute();
459  attribute.setDn(newDn);
460  } while (containsAttribute(attribute));
461 
462  return newInum;
463  }
boolean containsAttribute(GluuAttribute attribute)
Definition: AttributeService.java:443
String getDnForAttribute(String inum)
Definition: AttributeService.java:516
String generateInumForNewAttributeImpl()
Definition: AttributeService.java:484

◆ generateInumForNewAttributeImpl()

String org.gluu.oxtrust.ldap.service.AttributeService.generateInumForNewAttributeImpl ( )
inlineprivate

Generate new inum for attribute

戻り値
New inum for attribute
例外
Exception
484  {
485  String orgInum = organizationService.getInumForOrganization();
486  return orgInum + OxTrustConstants.inumDelimiter + "0005" + OxTrustConstants.inumDelimiter + generateInum();
487  }
String getInumForOrganization()
Definition: OrganizationService.java:189
OrganizationService organizationService
Definition: AttributeService.java:58
String generateInum()
Definition: AttributeService.java:489

◆ generateRandomOid()

String org.gluu.oxtrust.ldap.service.AttributeService.generateRandomOid ( )
inline
474  {
475  return Long.toString(System.currentTimeMillis());
476  }

◆ getAllActiveAtributesImpl()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAllActiveAtributesImpl ( UserRole  gluuUserRole)
inlineprivate
戻り値
例外
LDAPException
645  {
646  Filter filter = Filter.createEqualityFilter("gluuStatus", "active");
647  List<GluuAttribute> attributeList = ldapEntryManager.findEntries(getDnForAttribute(null), GluuAttribute.class,
648  filter);
649  String customOrigin = getCustomOrigin();
650  String[] objectClassTypes = appConfiguration.getPersonObjectClassTypes();
651  log.debug("objectClassTypes={}", Arrays.toString(objectClassTypes));
652  List<GluuAttribute> returnAttributeList = new ArrayList<GluuAttribute>();
653  for (GluuAttribute attribute : attributeList) {
654  if (StringHelper.equalsIgnoreCase(attribute.getOrigin(), appConfiguration.getPersonCustomObjectClass())
655  && (UserRole.ADMIN == gluuUserRole)) {
656  attribute.setCustom(true);
657  returnAttributeList.add(attribute);
658  continue;
659  }
660 
661  for (String objectClassType : objectClassTypes) {
662  if (attribute.getOrigin().equals(objectClassType)
663  && ((attribute.allowViewBy(gluuUserRole) || attribute.allowEditBy(gluuUserRole)))) {
664  attribute.setCustom(customOrigin.equals(attribute.getOrigin()));
665  returnAttributeList.add(attribute);
666  break;
667  }
668  }
669  }
670 
671  return returnAttributeList;
672  }
String getDnForAttribute(String inum)
Definition: AttributeService.java:516
AppConfiguration appConfiguration
Definition: AttributeService.java:52
String getCustomOrigin()
Definition: AttributeService.java:530

◆ getAllActivePersonAttributes()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAllActivePersonAttributes ( UserRole  admin)
inline
引数
admin
戻り値
628  {
629  @SuppressWarnings("unchecked")
630  List<GluuAttribute> activeAttributeList = (List<GluuAttribute>) cacheService
631  .get(OxConstants.CACHE_ACTIVE_ATTRIBUTE_NAME, OxConstants.CACHE_ACTIVE_ATTRIBUTE_KEY_LIST);
632  if (activeAttributeList == null) {
633  activeAttributeList = getAllActiveAtributesImpl(admin);
634  cacheService.put(OxConstants.CACHE_ACTIVE_ATTRIBUTE_NAME, OxConstants.CACHE_ATTRIBUTE_KEY_LIST,
635  activeAttributeList);
636  }
637 
638  return activeAttributeList;
639  }
do if[-f "$CONFIG"]
Definition: oxd-https-extension.init.d:165
List< GluuAttribute > getAllActiveAtributesImpl(UserRole gluuUserRole)
Definition: AttributeService.java:645

◆ getAllAtributesImpl()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAllAtributesImpl ( String  baseDn)
inlineprotected
535  {
536  List<GluuAttribute> attributeList = ldapEntryManager.findEntries(baseDn, GluuAttribute.class, null);
537  String customOrigin = getCustomOrigin();
538  for (GluuAttribute attribute : attributeList) {
539  attribute.setCustom(customOrigin.equals(attribute.getOrigin()));
540  }
541 
542  return attributeList;
543  }
String getCustomOrigin()
Definition: AttributeService.java:530

◆ getAllAttributeOriginDisplayNames()

Map<String, String> org.gluu.oxtrust.ldap.service.AttributeService.getAllAttributeOriginDisplayNames ( List< String >  attributeOriginList,
String []  objectClassTypes,
String []  objectClassDisplayNames 
)
inline

Get origin display names

引数
attributesList of origins
objectClassTypesList of objectClasses
objectClassDisplayNamesList of display names for objectClasses
戻り値
Map with key = origin and value = display name
224  {
225  // Put displayNames = origins if user don't specify right mapping in
226  // properties file
227  Map<String, String> attributeOriginDisplayNameMap = new HashMap<String, String>();
228  for (String origin : attributeOriginList) {
229  attributeOriginDisplayNameMap.put(origin, origin);
230  }
231 
232  if (objectClassTypes.length == objectClassDisplayNames.length) {
233  for (int i = 0; i < objectClassTypes.length; i++) {
234  String objectClass = objectClassTypes[i];
235  if (attributeOriginDisplayNameMap.containsKey(objectClass)) {
236  attributeOriginDisplayNameMap.put(objectClass, objectClassDisplayNames[i]);
237  }
238  }
239  }
240 
241  return attributeOriginDisplayNameMap;
242  }

◆ getAllAttributeOrigins() [1/2]

List<String> org.gluu.oxtrust.ldap.service.AttributeService.getAllAttributeOrigins ( )
inline

Get all origins

戻り値
List of origins
175  {
176  List<String> attributeOriginList = (List<String>) cacheService.get(OxConstants.CACHE_ATTRIBUTE_NAME,
177  OxTrustConstants.CACHE_ATTRIBUTE_ORIGIN_KEY_LIST);
178  if (attributeOriginList == null) {
179  attributeOriginList = getAllAttributeOrigins(getAllAttributes());
180  cacheService.put(OxConstants.CACHE_ATTRIBUTE_NAME, OxTrustConstants.CACHE_ATTRIBUTE_ORIGIN_KEY_LIST,
181  attributeOriginList);
182  }
183 
184  return attributeOriginList;
185  }
List< String > getAllAttributeOrigins()
Definition: AttributeService.java:175

◆ getAllAttributeOrigins() [2/2]

List<String> org.gluu.oxtrust.ldap.service.AttributeService.getAllAttributeOrigins ( Collection< GluuAttribute >  attributes)
inline

Get all origins

引数
attributesList of attributes
戻り値
List of origins
194  {
195  List<String> attributeOriginList = new ArrayList<String>();
196 
197  for (GluuAttribute attribute : attributes) {
198  String origin = attribute.getOrigin();
199  if (!attributeOriginList.contains(origin)) {
200  attributeOriginList.add(attribute.getOrigin());
201  }
202  }
203 
204  String customOrigin = getCustomOrigin();
205  if (!attributeOriginList.contains(customOrigin)) {
206  attributeOriginList.add(customOrigin);
207  }
208 
209  return attributeOriginList;
210  }
String getCustomOrigin()
Definition: AttributeService.java:530

◆ getAllContactAtributesImpl()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAllContactAtributesImpl ( UserRole  gluuUserRole,
Collection< GluuAttribute >  attributes 
)
inlineprivate

Get all contact attributes

引数
attributesList of attributes
戻り値
List of contact attributes
145  {
146  List<GluuAttribute> returnAttributeList = new ArrayList<GluuAttribute>();
147 
148  String[] objectClassTypes = appConfiguration.getContactObjectClassTypes();
149  for (GluuAttribute attribute : attributes) {
150  if (StringHelper.equalsIgnoreCase(attribute.getOrigin(), appConfiguration.getPersonCustomObjectClass())
151  && (UserRole.ADMIN == gluuUserRole)) {
152  attribute.setCustom(true);
153  returnAttributeList.add(attribute);
154  continue;
155  }
156 
157  for (String objectClassType : objectClassTypes) {
158  if (attribute.getOrigin().equals(objectClassType)
159  && (attribute.allowViewBy(gluuUserRole) || attribute.allowEditBy(gluuUserRole))) {
160  returnAttributeList.add(attribute);
161  break;
162  }
163  }
164  }
165 
166  return returnAttributeList;
167  }
AppConfiguration appConfiguration
Definition: AttributeService.java:52

◆ getAllContactAttributes()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAllContactAttributes ( UserRole  gluuUserRole)
inline

Get all contact attributes

戻り値
List of contact attributes
125  {
126  String key = OxTrustConstants.CACHE_ATTRIBUTE_CONTACT_KEY_LIST + "_" + gluuUserRole.getValue();
127  List<GluuAttribute> attributeList = (List<GluuAttribute>) cacheService.get(OxConstants.CACHE_ATTRIBUTE_NAME,
128  key);
129  if (attributeList == null) {
130  attributeList = getAllContactAtributesImpl(gluuUserRole, getAllAttributes());
131  cacheService.put(OxConstants.CACHE_ATTRIBUTE_NAME, key, attributeList);
132  }
133 
134  return attributeList;
135  }
List< GluuAttribute > getAllContactAtributesImpl(UserRole gluuUserRole, Collection< GluuAttribute > attributes)
Definition: AttributeService.java:144

◆ getAllPersonAtributesImpl()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAllPersonAtributesImpl ( UserRole  gluuUserRole,
Collection< GluuAttribute >  attributes 
)
inlineprivate

Get all organization attributes

引数
attributesList of attributes
戻り値
List of organization attributes
94  {
95  List<GluuAttribute> returnAttributeList = new ArrayList<GluuAttribute>();
96 
97  String[] objectClassTypes = appConfiguration.getPersonObjectClassTypes();
98  log.debug("objectClassTypes={}", Arrays.toString(objectClassTypes));
99  for (GluuAttribute attribute : attributes) {
100  if (StringHelper.equalsIgnoreCase(attribute.getOrigin(), appConfiguration.getPersonCustomObjectClass())
101  && (UserRole.ADMIN == gluuUserRole)) {
102  attribute.setCustom(true);
103  returnAttributeList.add(attribute);
104  continue;
105  }
106 
107  for (String objectClassType : objectClassTypes) {
108  if (attribute.getOrigin().equals(objectClassType)
109  && ((attribute.allowViewBy(gluuUserRole) || attribute.allowEditBy(gluuUserRole)))) {
110  returnAttributeList.add(attribute);
111  break;
112  }
113  }
114  }
115 
116  return returnAttributeList;
117  }
AppConfiguration appConfiguration
Definition: AttributeService.java:52

◆ getAllPersonAttributes()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAllPersonAttributes ( UserRole  gluuUserRole)
inline

Get all person attributes

引数
gluuUserRoleUser role
戻り値
List of person attributes
74  {
75  String key = OxTrustConstants.CACHE_ATTRIBUTE_PERSON_KEY_LIST + "_" + gluuUserRole.getValue();
76  List<GluuAttribute> attributeList = (List<GluuAttribute>) cacheService.get(OxConstants.CACHE_ATTRIBUTE_NAME,
77  key);
78  if (attributeList == null) {
79  attributeList = getAllPersonAtributesImpl(gluuUserRole, getAllAttributes());
80  cacheService.put(OxConstants.CACHE_ATTRIBUTE_NAME, key, attributeList);
81  }
82 
83  return attributeList;
84  }
List< GluuAttribute > getAllPersonAtributesImpl(UserRole gluuUserRole, Collection< GluuAttribute > attributes)
Definition: AttributeService.java:93

◆ getAttributeByDn()

GluuAttribute org.gluu.oxtrust.ldap.service.AttributeService.getAttributeByDn ( String  Dn) throws Exception
inline
723  {
724  return ldapEntryManager.find(GluuAttribute.class, Dn);
725  }

◆ getAttributeByInum() [1/2]

GluuAttribute org.gluu.oxtrust.ldap.service.AttributeService.getAttributeByInum ( String  inum)
inline

Get attribute by inum

引数
inumInum
戻り値
Attribute
275  {
277  }
List< GluuAttribute > getAllAtributesImpl(String baseDn)
Definition: AttributeService.java:535
String getDnForAttribute(String inum)
Definition: AttributeService.java:516
GluuAttribute getAttributeByInum(String inum)
Definition: AttributeService.java:275

◆ getAttributeByInum() [2/2]

GluuAttribute org.gluu.oxtrust.ldap.service.AttributeService.getAttributeByInum ( String  inum,
List< GluuAttribute >  attributes 
)
inline
279  {
280  for (GluuAttribute attribute : attributes) {
281  if (attribute.getInum().equals(inum)) {
282  return attribute;
283  }
284  }
285 
286  return null;
287  }

◆ getAttributeMapByDNs()

HashMap<String, GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getAttributeMapByDNs ( List< GluuAttribute >  attributes)
inline
595  {
596  HashMap<String, GluuAttribute> attributeDns = new HashMap<String, GluuAttribute>();
597  for (GluuAttribute attribute : attributes) {
598  attributeDns.put(attribute.getDn(), attribute);
599  }
600 
601  return attributeDns;
602  }

◆ getAttributeUsageTypes()

AttributeUsageType [] org.gluu.oxtrust.ldap.service.AttributeService.getAttributeUsageTypes ( )
inline

Get all usage types

戻り値
Array of Usage types
434  {
435  return new AttributeUsageType[] { AttributeUsageType.OPENID };
436  }

◆ getAttributeUserRoles()

UserRole [] org.gluu.oxtrust.ldap.service.AttributeService.getAttributeUserRoles ( )
inline

Get all available attribute user roles

戻り値
Array of attribute user roles
412  {
413  return new UserRole[] { UserRole.ADMIN, UserRole.USER };
414  }

◆ getCustomAttributes()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getCustomAttributes ( )
inline

Get custom attributes

戻り値
List of cusomt attributes
250  {
251  List<GluuAttribute> attributeList = (List<GluuAttribute>) cacheService.get(OxConstants.CACHE_ATTRIBUTE_NAME,
252  OxTrustConstants.CACHE_ATTRIBUTE_CUSTOM_KEY_LIST);
253  if (attributeList == null) {
254  attributeList = new ArrayList<GluuAttribute>();
255  for (GluuAttribute attribute : getAllAttributes()) {
256  if (attribute.isCustom()) {
257  attributeList.add(attribute);
258  }
259  }
260 
261  cacheService.put(OxConstants.CACHE_ATTRIBUTE_NAME, OxTrustConstants.CACHE_ATTRIBUTE_CUSTOM_KEY_LIST,
262  attributeList);
263  }
264 
265  return attributeList;
266  }

◆ getCustomAttributesByAttributeDNs()

List<GluuCustomAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getCustomAttributesByAttributeDNs ( List< String >  attributeDNs,
HashMap< String, GluuAttribute >  attributesByDNs 
)
inline

Get custom attributes by attribute DNs

引数
customAttributesList of attribute DNs
attributesList of custom attributes
577  {
578  List<GluuCustomAttribute> customAttributes = new ArrayList<GluuCustomAttribute>();
579  if (attributeDNs == null) {
580  return customAttributes;
581  }
582 
583  for (String releasedAttributeDn : attributeDNs) {
584  GluuAttribute attribute = attributesByDNs.get(releasedAttributeDn);
585  if (attribute != null) {
586  GluuCustomAttribute customAttribute = new GluuCustomAttribute(attribute.getName(), releasedAttributeDn);
587  customAttribute.setMetadata(attribute);
588  customAttributes.add(customAttribute);
589  }
590  }
591 
592  return customAttributes;
593  }

◆ getCustomOrigin()

String org.gluu.oxtrust.ldap.service.AttributeService.getCustomOrigin ( )
inline

Return current custom origin

戻り値
Current custom origin
530  {
531  return appConfiguration.getPersonCustomObjectClass();
532  }
AppConfiguration appConfiguration
Definition: AttributeService.java:52

◆ getDataTypes()

AttributeDataType [] org.gluu.oxtrust.ldap.service.AttributeService.getDataTypes ( )
inline

Get all available data types

戻り値
Array of data types
385  {
386  return AttributeDataType.values();
387  }

◆ getDnForAttribute()

String org.gluu.oxtrust.ldap.service.AttributeService.getDnForAttribute ( String  inum)
inline

Build DN string for attribute

引数
inumInum
戻り値
DN string for specified attribute or DN for attributes branch if inum is null
516  {
517  String organizationDn = organizationService.getDnForOrganization();
518  if (StringHelper.isEmpty(inum)) {
519  return String.format("ou=attributes,%s", organizationDn);
520  }
521 
522  return String.format("inum=%s,ou=attributes,%s", inum, organizationDn);
523  }
String getDnForOrganization(String inum)
Definition: OrganizationService.java:106
OrganizationService organizationService
Definition: AttributeService.java:58

◆ getDnForGroup()

String org.gluu.oxtrust.ldap.service.AttributeService.getDnForGroup ( String  inum) throws Exception
inline

Build DN string for group

引数
inumGroup Inum
戻り値
DN string for specified group or DN for groups branch if inum is null
615  {
616  String orgDn = organizationService.getDnForOrganization();
617  if (StringHelper.isEmpty(inum)) {
618  return String.format("ou=groups,%s", orgDn);
619  }
620 
621  return String.format("inum=%s,ou=groups,%s", inum, orgDn);
622  }
String getDnForOrganization(String inum)
Definition: OrganizationService.java:106
OrganizationService organizationService
Definition: AttributeService.java:58

◆ getOxMultivalued()

Multivalued [] org.gluu.oxtrust.ldap.service.AttributeService.getOxMultivalued ( )
inline

Get all available oxMultivalued attributes

戻り値
Array of data types
403  {
404  return Multivalued.values();
405  }

◆ getScimCustomAttribute()

ScimCustomAtribute [] org.gluu.oxtrust.ldap.service.AttributeService.getScimCustomAttribute ( )
inline

Get all available Scim Custom Atributes

戻り値
Array of data types
394  {
395  return ScimCustomAtribute.values();
396  }

◆ getSCIMRelatedAttributes()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getSCIMRelatedAttributes ( ) throws Exception
inline

Get SCIM related attributes

戻り値
Attribute
294  {
295  return getSCIMRelatedAttributesImpl(getAllAttributes());
296  }
List< GluuAttribute > getSCIMRelatedAttributesImpl(List< GluuAttribute > attributes)
Definition: AttributeService.java:305

◆ getSCIMRelatedAttributesImpl()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.getSCIMRelatedAttributesImpl ( List< GluuAttribute >  attributes) throws Exception
inline

Get SCIMAttributes

引数
attributesList of attributes
戻り値
list of Attributes
305  {
306 
307  List<GluuAttribute> result = new ArrayList<GluuAttribute>();
308 
309  for (GluuAttribute attribute : attributes) {
310 
311  boolean isEmpty = attribute.getOxSCIMCustomAttribute() == null;
312 
313  if (!isEmpty) {
314 
315  if (attribute.getOxSCIMCustomAttribute().getValue().equalsIgnoreCase("true")) {
316  result.add(attribute);
317  }
318  }
319  }
320 
321  return result;
322  }

◆ getViewTypes()

UserRole [] org.gluu.oxtrust.ldap.service.AttributeService.getViewTypes ( )
inline

Get all available attribute view types

戻り値
Array of attribute user roles
421  {
423  && applianceService.getAppliance().getWhitePagesEnabled().isBooleanValue()) {
424  return new UserRole[] { UserRole.ADMIN, UserRole.USER, UserRole.WHITEPAGES };
425  }
426  return new UserRole[] { UserRole.ADMIN, UserRole.USER };
427  }
GluuAppliance getAppliance(String[] returnAttributes)
Definition: ApplianceService.java:111
GluuBoolean getWhitePagesEnabled()
Definition: GluuAppliance.java:630
ApplianceService applianceService
Definition: AttributeService.java:55

◆ removeAttribute() [1/2]

void org.gluu.oxtrust.ldap.service.AttributeService.removeAttribute ( String  inum)
inline

Remove attribute with specified Inum

引数
inumInum
341  {
342  GluuAttribute attribute = new GluuAttribute();
343  attribute.setDn(getDnForAttribute(inum));
344 
345  removeAttribute(attribute);
346  }
String getDnForAttribute(String inum)
Definition: AttributeService.java:516
void removeAttribute(String inum)
Definition: AttributeService.java:341

◆ removeAttribute() [2/2]

void org.gluu.oxtrust.ldap.service.AttributeService.removeAttribute ( GluuAttribute  attribute)
inline

Remove attribute with specified Inum

引数
inumInum
354  {
355  log.trace("Removing attribute {}", attribute.getDisplayName());
356  ldapEntryManager.remove(attribute);
357  event.select(new EventTypeQualifier(Events.EVENT_CLEAR_ATTRIBUTES)).fire(Events.EVENT_CLEAR_ATTRIBUTES);
358  }

◆ searchAttributes()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.searchAttributes ( String  pattern,
int  sizeLimit 
) throws Exception
inline

Search groups by pattern

引数
patternPattern
sizeLimitMaximum count of results
戻り値
List of groups
例外
Exception
684  {
685  String[] targetArray = new String[] { pattern };
686  Filter displayNameFilter = Filter.createSubstringFilter(OxTrustConstants.displayName, null, targetArray, null);
687  Filter descriptionFilter = Filter.createSubstringFilter(OxTrustConstants.description, null, targetArray, null);
688  Filter nameFilter = Filter.createSubstringFilter(OxTrustConstants.attributeName, null, targetArray, null);
689  Filter inameFilter = Filter.createSubstringFilter(OxTrustConstants.iname, null, targetArray, null);
690  Filter searchFilter = Filter.createORFilter(displayNameFilter, descriptionFilter, inameFilter, nameFilter);
691 
692  List<GluuAttribute> result = ldapEntryManager.findEntries(getDnForAttribute(null), GluuAttribute.class,
693  searchFilter, sizeLimit);
694  String customOrigin = getCustomOrigin();
695  for (GluuAttribute attribute : result) {
696  attribute.setCustom(customOrigin.equals(attribute.getOrigin()));
697  }
698 
699  return result;
700  }
String getDnForAttribute(String inum)
Definition: AttributeService.java:516
String getCustomOrigin()
Definition: AttributeService.java:530

◆ searchPersonAttributes()

List<GluuAttribute> org.gluu.oxtrust.ldap.service.AttributeService.searchPersonAttributes ( String  pattern,
int  sizeLimit 
) throws Exception
inline
702  {
703  String[] objectClassTypes = appConfiguration.getPersonObjectClassTypes();
704  String[] targetArray = new String[] { pattern };
705  List<Filter> originFilters = new ArrayList<Filter>();
706  Filter displayNameFilter = Filter.createSubstringFilter(OxTrustConstants.displayName, null, targetArray, null);
707  Filter descriptionFilter = Filter.createSubstringFilter(OxTrustConstants.description, null, targetArray, null);
708  Filter inameFilter = Filter.createSubstringFilter(OxTrustConstants.iname, null, targetArray, null);
709  for (String objectClassType : objectClassTypes) {
710  Filter originFilter = Filter.createEqualityFilter(OxTrustConstants.origin, objectClassType);
711  originFilters.add(originFilter);
712  }
713  Filter searchFilter = Filter.createORFilter(displayNameFilter, descriptionFilter, inameFilter);
714  Filter originFilter = Filter.createORFilter(originFilters.toArray(new Filter[0]));
715  Filter filter = Filter.createANDFilter(searchFilter, originFilter);
716 
717  List<GluuAttribute> result = ldapEntryManager.findEntries(getDnForAttribute(null), GluuAttribute.class, filter,
718  sizeLimit);
719 
720  return result;
721  }
String getDnForAttribute(String inum)
Definition: AttributeService.java:516
AppConfiguration appConfiguration
Definition: AttributeService.java:52

◆ setAttributeMetadata()

void org.gluu.oxtrust.ldap.service.AttributeService.setAttributeMetadata ( List< GluuCustomAttribute customAttributes,
List< GluuAttribute >  attributes 
)
inline

Set metadata for every custom attribute

引数
customAttributesList of custom attributes
attributesList of attributes
553  {
554  if ((customAttributes == null) || (attributes == null)) {
555  return;
556  }
557 
558  for (GluuCustomAttribute personAttribute : customAttributes) {
559  GluuAttribute tmpAttribute = getAttributeByName(personAttribute.getName(), attributes);
560  if (tmpAttribute == null) {
561  log.error("Failed to find attribute '{}' metadata", personAttribute.getName());
562  }
563 
564  personAttribute.setMetadata(tmpAttribute);
565  }
566  }

◆ sortCustomAttributes()

void org.gluu.oxtrust.ldap.service.AttributeService.sortCustomAttributes ( List< GluuCustomAttribute customAttributes,
String  sortByProperties 
)
inline
604  {
605  ldapEntryManager.sortListByProperties(GluuCustomAttribute.class, customAttributes, false, sortByProperties);
606  }

◆ toInumWithoutDelimiters()

String org.gluu.oxtrust.ldap.service.AttributeService.toInumWithoutDelimiters ( String  inum)
inline

Convert inum to string without delimiters

戻り値
Inum string without delimiters
470  {
471  return inum.replace(".", "").replace(OxTrustConstants.inumDelimiter, "").replace("@", "");
472  }

◆ updateAttribute()

void org.gluu.oxtrust.ldap.service.AttributeService.updateAttribute ( GluuAttribute  attribute)
inline

Update specified attribute

引数
attributeAttribute
366  {
367  ldapEntryManager.merge(attribute);
368 
369  event.select(new EventTypeQualifier(Events.EVENT_CLEAR_ATTRIBUTES)).fire(Events.EVENT_CLEAR_ATTRIBUTES);
370  }

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.ldap.service.AttributeService.appConfiguration
private

◆ applianceService

ApplianceService org.gluu.oxtrust.ldap.service.AttributeService.applianceService
private

◆ CUSTOM_ATTRIBUTE_OBJECTCLASS_PREFIX

final String org.gluu.oxtrust.ldap.service.AttributeService.CUSTOM_ATTRIBUTE_OBJECTCLASS_PREFIX = "ox-"
static

◆ event

Event<Events> org.gluu.oxtrust.ldap.service.AttributeService.event
private

◆ organizationService

OrganizationService org.gluu.oxtrust.ldap.service.AttributeService.organizationService
private

このクラス詳解は次のファイルから抽出されました: