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

公開メンバ関数

boolean contains (String inum, String gluuInum, String type)
 
boolean containsAttribute (String inum, String gluuInum)
 
boolean containsPerson (String inum, String gluuInum)
 
boolean containsGroup (String inum, String gluuInum)
 
boolean containsAppliance (String inum, String gluuInum)
 
boolean containsTrustRelationship (String inum, String gluuInum)
 
boolean containsServer (String inum, String gluuInum)
 
boolean containsOrganization (String inum, String gluuInum)
 
String getDnForInum (String baseDn, String inum)
 
String generateInums (String type)
 
String generateInums (String type, boolean checkInDb)
 
boolean addInumByObject (EntityManager inumEntryManager, InumSqlEntry inumEntry)
 
boolean containsInum (EntityManager inumEntryManager, String inum)
 
InumSqlEntry findInum (EntityManager inumEntryManager, String inum)
 
InumSqlEntry findInum (EntityManager inumEntryManager, String inum, String type)
 
List< InumSqlEntryfindInums (EntityManager inumEntryManager, String type)
 
boolean removeInum (EntityManager inumEntryManager, String inum)
 
InumSqlEntry findInumByObject (EntityManager inumEntryManager, String inum)
 
boolean addInum (EntityManager inumEntryManager, String inum, String type)
 

変数

PersistenceEntryManager ldapEntryManager
 
OrganizationService organizationService
 

非公開メンバ関数

String getInum (String type, String gluu)
 
String generateInum (int size)
 

非公開変数類

Logger log
 
AppConfiguration appConfiguration
 

静的非公開変数類

static final long serialVersionUID = 6685720517520443399L
 
static final String PEOPLE = "0000"
 
static final String GROUP = "0003"
 
static final String ATTRIBUTE = "0005"
 
static final String TRUST_RELATIONSHIP = "0006"
 
static final String CLIENT = "0008"
 
static final String UMA_SCOPE = "0009"
 
static final String UMA_RESOURCE_SET = "0010"
 
static final String INTERCEPTION_SCRIPT = "0011"
 
static final String SECTOR_IDENTIFIER = "0012"
 
static final String SEPARATOR = "!"
 
static final int MAX = 100
 

詳解

関数詳解

◆ addInum()

boolean org.gluu.oxtrust.ldap.service.InumService.addInum ( EntityManager  inumEntryManager,
String  inum,
String  type 
)
inline

Add an Inum to the DB

戻り値
True if user exist
444  {
445  boolean successs = false;
446 
447  EntityTransaction entityTransaction = inumEntryManager.getTransaction();
448 
449  entityTransaction.begin();
450  try {
451  // Prepare inum
452  InumSqlEntry inumEntry = new InumSqlEntry();
453  inumEntry.setInum(inum);
454  inumEntry.setType(type);
455 
456  // add inum
457  inumEntryManager.persist(inumEntry);
458 
459  successs = true;
460  } finally {
461  if (successs) {
462  // Commit transaction
463  entityTransaction.commit();
464  } else {
465  // Rollback transaction
466  entityTransaction.rollback();
467  }
468  }
469 
470  return successs;
471 
472  }

◆ addInumByObject()

boolean org.gluu.oxtrust.ldap.service.InumService.addInumByObject ( EntityManager  inumEntryManager,
InumSqlEntry  inumEntry 
)
inline

Add an Inum to the DB by object

戻り値
True if user exist
248  {
249  boolean successs = false;
250 
251  EntityTransaction entityTransaction = inumEntryManager.getTransaction();
252 
253  entityTransaction.begin();
254  try {
255 
256  // add inum
257  inumEntryManager.persist(inumEntry);
258 
259  successs = true;
260  } finally {
261  if (successs) {
262  // Commit transaction
263  entityTransaction.commit();
264  } else {
265  // Rollback transaction
266  entityTransaction.rollback();
267  }
268  }
269 
270  return successs;
271 
272  }

◆ contains()

boolean org.gluu.oxtrust.ldap.service.InumService.contains ( String  inum,
String  gluuInum,
String  type 
)
inline
87  {
88  boolean contains = false;
89  if ("attribute".equals(type)) {
90  contains = containsAttribute(inum, gluuInum);
91  } else if ("people".equals(type)) {
92  contains = containsPerson(inum, gluuInum);
93  } else if ("organization".equals(type)) {
94  contains = containsOrganization(inum, gluuInum);
95  } else if ("appliance".equals(type)) {
96  contains = containsAppliance(inum, gluuInum);
97  } else if ("group".equals(type)) {
98  contains = containsGroup(inum, gluuInum);
99  } else if ("server".equals(type)) {
100  contains = containsServer(inum, gluuInum);
101  } else if ("trelationship".equals(type)) {
102  contains = containsTrustRelationship(inum, gluuInum);
103 // } else if ("client".equals(type)) {
104 // contains = containsClient(inum, gluuInum);
105 // } else if ("uma-scope".equals(type)) {
106 // contains = containsUmaScope(inum, gluuInum);
107 // } else if ("uma-resource-set".equals(type)) {
108 // contains = containsUmaResourceSet(inum, gluuInum);
109 // } else if ("interception-script".equals(type)) {
110 // contains = containsInterceptionScript(inum, gluuInum);
111  }
112  return contains;
113  }
boolean containsServer(String inum, String gluuInum)
Definition: InumService.java:158
boolean containsAppliance(String inum, String gluuInum)
Definition: InumService.java:146
boolean containsAttribute(String inum, String gluuInum)
Definition: InumService.java:116
boolean containsPerson(String inum, String gluuInum)
Definition: InumService.java:122
boolean containsOrganization(String inum, String gluuInum)
Definition: InumService.java:164
boolean contains(String inum, String gluuInum, String type)
Definition: InumService.java:87
boolean containsTrustRelationship(String inum, String gluuInum)
Definition: InumService.java:152
boolean containsGroup(String inum, String gluuInum)
Definition: InumService.java:134

◆ containsAppliance()

boolean org.gluu.oxtrust.ldap.service.InumService.containsAppliance ( String  inum,
String  gluuInum 
)
inline
146  {
147  GluuAppliance appliance = new GluuAppliance();
148  appliance.setBaseDn(String.format("inum=%s,ou=appliances,o=gluu", inum));
149  return ldapEntryManager.contains(appliance);
150  }
PersistenceEntryManager ldapEntryManager
Definition: InumService.java:79

◆ containsAttribute()

boolean org.gluu.oxtrust.ldap.service.InumService.containsAttribute ( String  inum,
String  gluuInum 
)
inline
116  {
117  GluuAttribute attribute = new GluuAttribute();
118  attribute.setBaseDn("inum=" + inum + ",ou=attributes,o=" + gluuInum + "o=gluu");
119  return ldapEntryManager.contains(attribute);
120  }
PersistenceEntryManager ldapEntryManager
Definition: InumService.java:79

◆ containsGroup()

boolean org.gluu.oxtrust.ldap.service.InumService.containsGroup ( String  inum,
String  gluuInum 
)
inline
134  {
135  boolean contains = true;
136  GluuGroup group = new GluuGroup();
137  group.setBaseDn(String.format("inum=%s,ou=groups,o=%s,o=gluu", inum, gluuInum));
138  contains = ldapEntryManager.contains(group);
139  if (contains)
140  return true;
141  group.setBaseDn(String.format("inum=%s,ou=groups,o=gluu", inum));
142  contains = ldapEntryManager.contains(group);
143  return contains;
144  }
boolean contains(String inum, String gluuInum, String type)
Definition: InumService.java:87
PersistenceEntryManager ldapEntryManager
Definition: InumService.java:79

◆ containsInum()

boolean org.gluu.oxtrust.ldap.service.InumService.containsInum ( EntityManager  inumEntryManager,
String  inum 
)
inline

Check if inum DB contains an inum

戻り値
True if user exist
279  {
280  return inumEntryManager.createQuery("select u.id from inumTable u where u.inum = :inum").setParameter("inum", inum)
281  .setMaxResults(1).getResultList().size() > 0;
282  }

◆ containsOrganization()

boolean org.gluu.oxtrust.ldap.service.InumService.containsOrganization ( String  inum,
String  gluuInum 
)
inline
164  {
165  InumEntry organization = new InumEntry();
166  organization.setBaseDn(String.format("o=%s,o=gluu", inum));
167  return ldapEntryManager.contains(organization);
168  }
PersistenceEntryManager ldapEntryManager
Definition: InumService.java:79

◆ containsPerson()

boolean org.gluu.oxtrust.ldap.service.InumService.containsPerson ( String  inum,
String  gluuInum 
)
inline
122  {
123  boolean contains = true;
124  GluuCustomPerson person = new GluuCustomPerson();
125  person.setBaseDn(String.format("inum=%s,ou=people,o=%s,o=gluu", inum, gluuInum));
126  contains = ldapEntryManager.contains(person);
127  if (contains)
128  return true;
129  person.setBaseDn(String.format("inum=%s,ou=people,o=gluu", inum));
130  contains = ldapEntryManager.contains(person);
131  return contains;
132  }
boolean contains(String inum, String gluuInum, String type)
Definition: InumService.java:87
PersistenceEntryManager ldapEntryManager
Definition: InumService.java:79

◆ containsServer()

boolean org.gluu.oxtrust.ldap.service.InumService.containsServer ( String  inum,
String  gluuInum 
)
inline
158  {
159  GluuAppliance appliance = new GluuAppliance();
160  appliance.setBaseDn(String.format("inum=%s,ou=servers,o=gluu", inum));
161  return ldapEntryManager.contains(appliance);
162  }
PersistenceEntryManager ldapEntryManager
Definition: InumService.java:79

◆ containsTrustRelationship()

boolean org.gluu.oxtrust.ldap.service.InumService.containsTrustRelationship ( String  inum,
String  gluuInum 
)
inline
152  {
153  GluuSAMLTrustRelationship tRelation = new GluuSAMLTrustRelationship();
154  tRelation.setBaseDn(String.format("inum=%s,ou=trustRelationships,inum=%s,o=gluu", inum, gluuInum));
155  return ldapEntryManager.contains(tRelation);
156  }
PersistenceEntryManager ldapEntryManager
Definition: InumService.java:79

◆ findInum() [1/2]

InumSqlEntry org.gluu.oxtrust.ldap.service.InumService.findInum ( EntityManager  inumEntryManager,
String  inum 
)
inline

get an inum from inum DB by inum value

戻り値
InumSqlEntry
289  {
290 
291  boolean successs = false;
292 
293  EntityTransaction entityTransaction = inumEntryManager.getTransaction();
294 
295  entityTransaction.begin();
296 
297  InumSqlEntry result = null;
298  try {
299 
300  @SuppressWarnings("unchecked")
301  List<InumSqlEntry> inumList = inumEntryManager.createQuery("select u from inumTable u where u.inum = :inum")
302  .setParameter("inum", inum).setMaxResults(1).getResultList();
303 
304  if (inumList.size() == 0) {
305  result = null;
306  } else {
307  result = inumList.get(0);
308  successs = true;
309  }
310 
311  } finally {
312  if (successs) {
313  // Commit transaction
314  entityTransaction.commit();
315  } else {
316  // Rollback transaction
317  entityTransaction.rollback();
318  }
319  }
320  return result;
321  }
do if[-f "$CONFIG"]
Definition: oxd-https-extension.init.d:165

◆ findInum() [2/2]

InumSqlEntry org.gluu.oxtrust.ldap.service.InumService.findInum ( EntityManager  inumEntryManager,
String  inum,
String  type 
)
inline

get an inum from inum DB by inum value and type

戻り値
InumSqlEntry
328  {
329  @SuppressWarnings("unchecked")
330  List<InumSqlEntry> inumList = inumEntryManager.createQuery("select u from inumTable u where u.inum = :inum and u.type = :type")
331  .setParameter("inum", inum).setParameter("type", type).setMaxResults(1).getResultList();
332 
333  if (inumList.size() == 0) {
334  return null;
335  }
336 
337  return inumList.get(0);
338  }
do if[-f "$CONFIG"]
Definition: oxd-https-extension.init.d:165

◆ findInumByObject()

InumSqlEntry org.gluu.oxtrust.ldap.service.InumService.findInumByObject ( EntityManager  inumEntryManager,
String  inum 
)
inline

get an inum from inum DB by inum value

戻り値
InumSqlEntry
406  {
407 
408  boolean successs = false;
409 
410  EntityTransaction entityTransaction = inumEntryManager.getTransaction();
411 
412  entityTransaction.begin();
413  InumSqlEntry result = null;
414 
415  try {
416 
417  InumSqlEntry tempInum = new InumSqlEntry();
418  tempInum.setInum(inum);
419 
420  // find inum
421  result = inumEntryManager.find(InumSqlEntry.class, tempInum);
422  if (result != null) {
423  successs = true;
424  }
425  } finally {
426  if (successs) {
427  // Commit transaction
428  entityTransaction.commit();
429  } else {
430  // Rollback transaction
431  entityTransaction.rollback();
432  }
433  }
434 
435  return result;
436 
437  }

◆ findInums()

List<InumSqlEntry> org.gluu.oxtrust.ldap.service.InumService.findInums ( EntityManager  inumEntryManager,
String  type 
)
inline

get a list of inums from inum DB associated to a specific type

戻り値
List of InumSqlEntry
345  {
346  @SuppressWarnings("unchecked")
347  List<InumSqlEntry> inumList = inumEntryManager.createQuery("select u from inumTable u where u.type = :type")
348  .setParameter("type", type).getResultList();
349 
350  if (inumList.size() == 0) {
351  return null;
352  }
353 
354  return inumList;
355  }
do if[-f "$CONFIG"]
Definition: oxd-https-extension.init.d:165

◆ generateInum()

String org.gluu.oxtrust.ldap.service.InumService.generateInum ( int  size)
inlineprivate
225  {
226  String inum = "";
227  long value;
228  while (true) {
229  inum = INumGenerator.generate(size);
230  try {
231  value = Long.parseLong(inum.replace(".", ""), 16);
232  if (value < 7) {
233  continue;
234  }
235  } catch (Exception ex) {
236  log.error("Error generating inum: " + ex.getMessage());
237  }
238  break;
239  }
240  return inum;
241  }
Logger log
Definition: InumService.java:76

◆ generateInums() [1/2]

String org.gluu.oxtrust.ldap.service.InumService.generateInums ( String  type)
inline
177  {
178  return generateInums(type, true);
179  }
String generateInums(String type)
Definition: InumService.java:177

◆ generateInums() [2/2]

String org.gluu.oxtrust.ldap.service.InumService.generateInums ( String  type,
boolean  checkInDb 
)
inline
181  {
182  String inum = "";
183  int counter = 0;
185  try {
186  while (true) {
187  inum = getInum(type, gluu);
188  if (inum == null || inum.trim().equals(""))
189  break;
190 
191  if (!checkInDb) {
192  break;
193  }
194  if (!contains(inum, gluu, type)) {
195  break;
196  }
197  /* Just to make sure it doesn't get into an infinite loop */
198  if (counter > MAX) {
199  inum = "";
200  log.error("Infinite loop problem while generating new inum");
201  break;
202  }
203  counter++;
204  }
205  } catch (Exception ex) {
206  log.error("Failed to generate inum", ex);
207  }
208  return inum;
209  }
OrganizationService organizationService
Definition: InumService.java:82
String getInum(String type, String gluu)
Definition: InumService.java:211
String getInumForOrganization()
Definition: OrganizationService.java:189
boolean contains(String inum, String gluuInum, String type)
Definition: InumService.java:87
static final int MAX
Definition: InumService.java:73
Logger log
Definition: InumService.java:76

◆ getDnForInum()

String org.gluu.oxtrust.ldap.service.InumService.getDnForInum ( String  baseDn,
String  inum 
)
inline
170  {
171  if (baseDn == null || baseDn.trim().equals("")) {
172  baseDn = appConfiguration.getBaseDN();
173  }
174  return String.format("inum=%s,ou=inums,%s", inum, baseDn);
175  }
AppConfiguration appConfiguration
Definition: InumService.java:85

◆ getInum()

String org.gluu.oxtrust.ldap.service.InumService.getInum ( String  type,
String  gluu 
)
inlineprivate
211  {
212  String inum = "";
213  if ("people".equals(type)) {
214  inum = gluu + SEPARATOR + PEOPLE + SEPARATOR + generateInum(2);
215  } else if ("group".equals(type)) {
216  inum = gluu + SEPARATOR + GROUP + SEPARATOR + generateInum(2);
217  } else if ("attribute".equals(type)) {
218  inum = gluu + SEPARATOR + ATTRIBUTE + SEPARATOR + generateInum(2);
219  } else if ("trelationship".equals(type)) {
220  inum = gluu + SEPARATOR + TRUST_RELATIONSHIP + SEPARATOR + generateInum(2);
221  }
222  return inum;
223  }
static final String SEPARATOR
Definition: InumService.java:71
static final String PEOPLE
Definition: InumService.java:58
static final String ATTRIBUTE
Definition: InumService.java:63
static final String GROUP
Definition: InumService.java:61
static final String TRUST_RELATIONSHIP
Definition: InumService.java:64
String generateInum(int size)
Definition: InumService.java:225

◆ removeInum()

boolean org.gluu.oxtrust.ldap.service.InumService.removeInum ( EntityManager  inumEntryManager,
String  inum 
)
inline

removes an inum from inum DB

戻り値
List of InumSqlEntry
362  {
363 
364  boolean successs = false;
365 
366  EntityTransaction entityTransaction = inumEntryManager.getTransaction();
367  InumSqlEntry inumEntry = null;
368  try {
369  inumEntry = findInum(inumEntryManager, inum);
370  } catch (Exception ex) {
371  log.error("an error occured : could not find inum", ex);
372  ex.printStackTrace();
373  return false;
374  }
375 
376  if (inumEntry == null) {
377  return false;
378  }
379 
380  entityTransaction.begin();
381 
382  try {
383 
384  inumEntryManager.remove(inumEntry);
385  successs = true;
386 
387  } finally {
388  if (successs) {
389  // Commit transaction
390  entityTransaction.commit();
391  } else {
392  // Rollback transaction
393  entityTransaction.rollback();
394  }
395  }
396 
397  return successs;
398 
399  }
InumSqlEntry findInum(EntityManager inumEntryManager, String inum)
Definition: InumService.java:289
Logger log
Definition: InumService.java:76

メンバ詳解

◆ appConfiguration

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

◆ ATTRIBUTE

final String org.gluu.oxtrust.ldap.service.InumService.ATTRIBUTE = "0005"
staticprivate

◆ CLIENT

final String org.gluu.oxtrust.ldap.service.InumService.CLIENT = "0008"
staticprivate

◆ GROUP

final String org.gluu.oxtrust.ldap.service.InumService.GROUP = "0003"
staticprivate

◆ INTERCEPTION_SCRIPT

final String org.gluu.oxtrust.ldap.service.InumService.INTERCEPTION_SCRIPT = "0011"
staticprivate

◆ ldapEntryManager

PersistenceEntryManager org.gluu.oxtrust.ldap.service.InumService.ldapEntryManager
package

◆ log

Logger org.gluu.oxtrust.ldap.service.InumService.log
private

◆ MAX

final int org.gluu.oxtrust.ldap.service.InumService.MAX = 100
staticprivate

◆ organizationService

OrganizationService org.gluu.oxtrust.ldap.service.InumService.organizationService
package

◆ PEOPLE

final String org.gluu.oxtrust.ldap.service.InumService.PEOPLE = "0000"
staticprivate

◆ SECTOR_IDENTIFIER

final String org.gluu.oxtrust.ldap.service.InumService.SECTOR_IDENTIFIER = "0012"
staticprivate

◆ SEPARATOR

final String org.gluu.oxtrust.ldap.service.InumService.SEPARATOR = "!"
staticprivate

◆ serialVersionUID

final long org.gluu.oxtrust.ldap.service.InumService.serialVersionUID = 6685720517520443399L
staticprivate

◆ TRUST_RELATIONSHIP

final String org.gluu.oxtrust.ldap.service.InumService.TRUST_RELATIONSHIP = "0006"
staticprivate

◆ UMA_RESOURCE_SET

final String org.gluu.oxtrust.ldap.service.InumService.UMA_RESOURCE_SET = "0010"
staticprivate

◆ UMA_SCOPE

final String org.gluu.oxtrust.ldap.service.InumService.UMA_SCOPE = "0009"
staticprivate

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