1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package net.sf.jguard.ext.authentication.manager;
29
30 import java.security.Principal;
31 import java.util.HashSet;
32 import java.util.Iterator;
33 import java.util.Set;
34 import net.sf.jguard.ext.authentication.PersistedPrincipal;
35 import net.sf.jguard.core.organization.Organization;
36 import net.sf.jguard.core.principals.RolePrincipal;
37 import net.sf.jguard.ext.organization.PersistedOrganization;
38 import org.hibernate.Session;
39
40
41
42
43
44 public class HibernateConverterUtils {
45
46 public static net.sf.jguard.ext.authentication.PersistedPrincipal getPersistedPrincipal(Principal ppal) {
47
48 if (ppal instanceof RolePrincipal) {
49 RolePrincipal rp = (RolePrincipal) ppal;
50 Long id = rp.getId();
51 net.sf.jguard.ext.authentication.PersistedPrincipal principal = null;
52 if(id!=null){
53 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
54 principal = (PersistedPrincipal) session.get(PersistedPrincipal.class,id);
55 return principal;
56 }else{
57 principal = new net.sf.jguard.ext.authentication.PersistedPrincipal();
58 principal.setClassName(ppal.getClass().getName());
59 principal.setName(rp.getLocalName());
60 principal.setApplicationName(rp.getApplicationName());
61 }
62 return principal;
63 }else{
64 return null;
65 }
66
67 }
68
69 public static Set getjavaSecurityPrincipals(Set principals){
70 Set ppals = new HashSet();
71 Iterator it = principals.iterator();
72 while(it.hasNext()){
73 net.sf.jguard.ext.authentication.PersistedPrincipal principal = (net.sf.jguard.ext.authentication.PersistedPrincipal)it.next();
74 String applicationName = principal.getApplicationName();
75 String className = principal.getClassName();
76 String name = principal.getName();
77
78 if(RolePrincipal.class.getName().equals(className)){
79 RolePrincipal role = new RolePrincipal();
80 role.setApplicationName(applicationName);
81 role.setLocalName(name);
82 role.setId(principal.getId());
83 ppals.add(role);
84 }
85 }
86 return ppals;
87 }
88
89 public static Set getPersistedPrincipals(Set ppals) {
90 Set s = new HashSet();
91 Iterator it = ppals.iterator();
92 while (it.hasNext()) {
93 java.security.Principal ppal = (java.security.Principal) it.next();
94 net.sf.jguard.ext.authentication.PersistedPrincipal principal = getPersistedPrincipal(ppal);
95 if(principal != null){
96 s.add(principal);
97 }
98 }
99 return s;
100 }
101
102
103 public static Set getOrganizations(Set persistedOrganizations){
104 Set orgas = new HashSet();
105 Iterator it = persistedOrganizations.iterator();
106 while(it.hasNext()){
107 PersistedOrganization org = (PersistedOrganization)it.next();
108 Organization orga = org.toOrganization();
109 orgas.add(orga);
110 }
111 return orgas;
112 }
113 }