Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Riina Antikainen
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit d3c77168
authored
Mar 21, 2010
by
Tuukka Kivilahti
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of tkfftk@dev.intra.insomnia.fi:/data/bortal
2 parents
6657389e
bd99ab66
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
49 additions
and
7 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/SessionHandlerBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/RoleFacade.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/UserFacade.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/Role.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/SessionHandlerBean.java
View file @
d3c7716
package
fi
.
insomnia
.
bortal
.
beans
;
package
fi
.
insomnia
.
bortal
.
beans
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -13,6 +14,7 @@ import org.slf4j.Logger;
...
@@ -13,6 +14,7 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
fi.insomnia.bortal.facade.AccessRightFacade
;
import
fi.insomnia.bortal.facade.AccessRightFacade
;
import
fi.insomnia.bortal.facade.RoleFacade
;
import
fi.insomnia.bortal.facade.UserFacade
;
import
fi.insomnia.bortal.facade.UserFacade
;
import
fi.insomnia.bortal.model.AccessRight
;
import
fi.insomnia.bortal.model.AccessRight
;
import
fi.insomnia.bortal.model.Role
;
import
fi.insomnia.bortal.model.Role
;
...
@@ -30,6 +32,8 @@ public class SessionHandlerBean implements SessionHandlerBeanLocal {
...
@@ -30,6 +32,8 @@ public class SessionHandlerBean implements SessionHandlerBeanLocal {
private
UserFacade
userfacade
;
private
UserFacade
userfacade
;
@EJB
@EJB
private
AccessRightFacade
accessRightFacade
;
private
AccessRightFacade
accessRightFacade
;
@EJB
private
RoleFacade
roleFacade
;
/**
/**
* Default constructor.
* Default constructor.
...
@@ -103,7 +107,18 @@ public class SessionHandlerBean implements SessionHandlerBeanLocal {
...
@@ -103,7 +107,18 @@ public class SessionHandlerBean implements SessionHandlerBeanLocal {
return
null
;
return
null
;
}
}
/**
* Makes sure default user and public role exist and the user is member of
* the role.
*/
public
User
getDefaultUser
()
{
public
User
getDefaultUser
()
{
return
userfacade
.
getDefaultUser
();
Role
publicRole
=
roleFacade
.
getOrCreatePublicRole
();
User
defaultUser
=
userfacade
.
getOrCreateDefaultUser
();
if
(!
defaultUser
.
getRoles
().
contains
(
publicRole
))
{
ArrayList
<
Role
>
userRoles
=
new
ArrayList
<
Role
>();
userRoles
.
add
(
publicRole
);
defaultUser
.
setRoles
(
userRoles
);
}
return
defaultUser
;
}
}
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/RoleFacade.java
View file @
d3c7716
...
@@ -4,12 +4,16 @@ import javax.ejb.LocalBean;
...
@@ -4,12 +4,16 @@ import javax.ejb.LocalBean;
import
javax.ejb.Stateless
;
import
javax.ejb.Stateless
;
import
javax.persistence.EntityManager
;
import
javax.persistence.EntityManager
;
import
javax.persistence.PersistenceContext
;
import
javax.persistence.PersistenceContext
;
import
javax.persistence.TypedQuery
;
import
fi.insomnia.bortal.model.Role
;
import
fi.insomnia.bortal.model.Role
;
import
fi.insomnia.bortal.model.User
;
@Stateless
@Stateless
@LocalBean
@LocalBean
public
class
RoleFacade
extends
GenericFacade
<
Role
>
{
public
class
RoleFacade
extends
GenericFacade
<
Role
>
{
private
static
final
String
PUBLIC_ROLE_NAME
=
"public"
;
@PersistenceContext
@PersistenceContext
private
EntityManager
em
;
private
EntityManager
em
;
...
@@ -21,4 +25,26 @@ public class RoleFacade extends GenericFacade<Role> {
...
@@ -21,4 +25,26 @@ public class RoleFacade extends GenericFacade<Role> {
return
em
;
return
em
;
}
}
public
Role
findByName
(
String
name
)
{
TypedQuery
<
Role
>
q
=
em
.
createNamedQuery
(
"User.findByName"
,
Role
.
class
);
q
.
setParameter
(
"name"
,
name
);
return
q
.
getSingleResult
();
}
public
Role
getOrCreatePublicRole
()
{
Role
publicRole
=
findByName
(
PUBLIC_ROLE_NAME
);
if
(
publicRole
==
null
)
{
publicRole
=
createPublicRole
();
}
return
publicRole
;
}
private
Role
createPublicRole
()
{
Role
publicRole
=
new
Role
();
publicRole
.
setName
(
PUBLIC_ROLE_NAME
);
em
.
persist
(
publicRole
);
return
publicRole
;
}
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/UserFacade.java
View file @
d3c7716
...
@@ -31,7 +31,7 @@ public class UserFacade extends GenericFacade<User> {
...
@@ -31,7 +31,7 @@ public class UserFacade extends GenericFacade<User> {
return
q
.
getSingleResult
();
return
q
.
getSingleResult
();
}
}
public
User
getDefaultUser
()
{
public
User
get
OrCreate
DefaultUser
()
{
User
defaultUser
=
findByLogin
(
DEFAULT_USER_LOGIN
);
User
defaultUser
=
findByLogin
(
DEFAULT_USER_LOGIN
);
// Create if doesn't exist yet
// Create if doesn't exist yet
...
...
code/LanBortalDatabase/src/fi/insomnia/bortal/model/Role.java
View file @
d3c7716
...
@@ -20,14 +20,15 @@ import javax.persistence.NamedQueries;
...
@@ -20,14 +20,15 @@ import javax.persistence.NamedQueries;
import
javax.persistence.NamedQuery
;
import
javax.persistence.NamedQuery
;
import
javax.persistence.OneToMany
;
import
javax.persistence.OneToMany
;
import
javax.persistence.Table
;
import
javax.persistence.Table
;
import
javax.persistence.UniqueConstraint
;
import
javax.persistence.Version
;
import
javax.persistence.Version
;
/**
/**
*
*
*/
*/
@Entity
@Entity
@Table
(
name
=
"roles"
)
@Table
(
name
=
"roles"
,
uniqueConstraints
=
{
@UniqueConstraint
(
columnNames
=
{
"events_pk_id"
,
"role_name"
})
}
)
@NamedQueries
({
@NamedQueries
(
{
@NamedQuery
(
name
=
"Role.findAll"
,
query
=
"SELECT r FROM Role r"
),
@NamedQuery
(
name
=
"Role.findAll"
,
query
=
"SELECT r FROM Role r"
),
@NamedQuery
(
name
=
"Role.findByRoleName"
,
query
=
"SELECT r FROM Role r WHERE r.name = :name"
)
})
@NamedQuery
(
name
=
"Role.findByRoleName"
,
query
=
"SELECT r FROM Role r WHERE r.name = :name"
)
})
public
class
Role
implements
EventChildInterface
{
public
class
Role
implements
EventChildInterface
{
...
@@ -41,11 +42,11 @@ public class Role implements EventChildInterface {
...
@@ -41,11 +42,11 @@ public class Role implements EventChildInterface {
private
String
name
;
private
String
name
;
@ManyToMany
(
cascade
=
CascadeType
.
ALL
)
@ManyToMany
(
cascade
=
CascadeType
.
ALL
)
@JoinTable
(
name
=
"role_memberships"
,
joinColumns
=
{
@JoinColumn
(
name
=
"roles_id"
,
referencedColumnName
=
"entity_id"
),
@JoinColumn
(
name
=
"roles_event_id"
,
referencedColumnName
=
"events_pk_id"
)
},
inverseJoinColumns
=
@JoinColumn
(
name
=
"users_id"
,
referencedColumnName
=
"users_id"
))
@JoinTable
(
name
=
"role_memberships"
,
joinColumns
=
{
@JoinColumn
(
name
=
"roles_id"
,
referencedColumnName
=
"entity_id"
),
@JoinColumn
(
name
=
"roles_event_id"
,
referencedColumnName
=
"events_pk_id"
)
},
inverseJoinColumns
=
@JoinColumn
(
name
=
"users_id"
,
referencedColumnName
=
"users_id"
))
private
List
<
User
>
users
;
private
List
<
User
>
users
;
@ManyToMany
@ManyToMany
@JoinColumns
({
@JoinColumns
(
{
@JoinColumn
(
name
=
"role_id"
,
referencedColumnName
=
"entity_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
),
@JoinColumn
(
name
=
"role_id"
,
referencedColumnName
=
"entity_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
),
@JoinColumn
(
name
=
"role_event_id"
,
referencedColumnName
=
"events_pk_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
)
})
@JoinColumn
(
name
=
"role_event_id"
,
referencedColumnName
=
"events_pk_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
)
})
private
List
<
Role
>
children
=
new
ArrayList
<
Role
>();
private
List
<
Role
>
children
=
new
ArrayList
<
Role
>();
...
@@ -56,7 +57,7 @@ public class Role implements EventChildInterface {
...
@@ -56,7 +57,7 @@ public class Role implements EventChildInterface {
@OneToMany
(
cascade
=
CascadeType
.
ALL
,
mappedBy
=
"role"
)
@OneToMany
(
cascade
=
CascadeType
.
ALL
,
mappedBy
=
"role"
)
private
List
<
RoleRight
>
roleRights
;
private
List
<
RoleRight
>
roleRights
;
@JoinColumns
({
@JoinColumns
(
{
@JoinColumn
(
name
=
"card_template_id"
,
referencedColumnName
=
"entity_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
),
@JoinColumn
(
name
=
"card_template_id"
,
referencedColumnName
=
"entity_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
),
@JoinColumn
(
name
=
"card_template_event_id"
,
referencedColumnName
=
"events_pk_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
)
})
@JoinColumn
(
name
=
"card_template_event_id"
,
referencedColumnName
=
"events_pk_id"
,
nullable
=
false
,
updatable
=
false
,
insertable
=
false
)
})
@ManyToOne
@ManyToOne
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment