Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Max Mecklin
/
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 4109b346
authored
May 12, 2012
by
Juho Juopperi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
OrgRole and OrgRoleFacade
1 parent
e09f6ef3
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
158 additions
and
0 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/OrgRoleFacade.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/OrgRole.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/OrgRoleFacade.java
0 → 100644
View file @
4109b34
package
fi
.
insomnia
.
bortal
.
facade
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.ejb.LocalBean
;
import
javax.ejb.Stateless
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Root
;
import
fi.insomnia.bortal.beans.EventBeanLocal
;
import
fi.insomnia.bortal.model.EventOrganiser
;
import
fi.insomnia.bortal.model.OrgRole
;
import
fi.insomnia.bortal.model.OrgRole_
;
import
fi.insomnia.bortal.model.User
;
/**
* Session Bean implementation class OrgRoleFacade
*/
@Stateless
@LocalBean
public
class
OrgRoleFacade
extends
IntegerPkGenericFacade
<
OrgRole
>
{
@EJB
EventBeanLocal
eventBean
;
public
OrgRoleFacade
()
{
super
(
OrgRole
.
class
);
}
public
List
<
OrgRole
>
findForUser
(
User
user
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
OrgRole
>
cq
=
cb
.
createQuery
(
OrgRole
.
class
);
Root
<
OrgRole
>
root
=
cq
.
from
(
OrgRole
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
OrgRole_
.
eventOrganizer
),
eventBean
.
getCurrentEvent
().
getOrganiser
()),
cb
.
isMember
(
user
,
root
.
get
(
OrgRole_
.
users
)));
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
OrgRole
createRole
(
EventOrganiser
org
,
String
roleName
)
{
OrgRole
ret
=
new
OrgRole
();
ret
.
setEventOrganizer
(
org
);
ret
.
setName
(
roleName
);
create
(
ret
);
return
ret
;
}
public
List
<
OrgRole
>
findAll
()
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
OrgRole
>
cq
=
cb
.
createQuery
(
OrgRole
.
class
);
Root
<
OrgRole
>
root
=
cq
.
from
(
OrgRole
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
OrgRole_
.
eventOrganizer
),
eventBean
.
getCurrentEvent
().
getOrganiser
()));
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
}
code/LanBortalDatabase/src/fi/insomnia/bortal/model/OrgRole.java
0 → 100644
View file @
4109b34
package
fi
.
insomnia
.
bortal
.
model
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.JoinTable
;
import
javax.persistence.ManyToMany
;
import
javax.persistence.ManyToOne
;
import
javax.persistence.Table
;
import
javax.persistence.UniqueConstraint
;
import
org.eclipse.persistence.annotations.OptimisticLocking
;
import
org.eclipse.persistence.annotations.OptimisticLockingType
;
/**
* Entity implementation class for Entity: OrganizationalRole
*
*/
@Entity
@Table
(
name
=
"org_roles"
,
uniqueConstraints
=
{
@UniqueConstraint
(
columnNames
=
{
OrgRole
.
NAME_COLUMN
})
})
@OptimisticLocking
(
type
=
OptimisticLockingType
.
CHANGED_COLUMNS
)
public
class
OrgRole
extends
GenericEntity
{
private
static
final
long
serialVersionUID
=
1L
;
protected
static
final
String
NAME_COLUMN
=
"role_name"
;
@Column
(
name
=
NAME_COLUMN
,
nullable
=
false
)
private
String
name
;
@ManyToMany
()
@JoinTable
(
name
=
"org_role_memberships"
,
joinColumns
=
{
@JoinColumn
(
name
=
"org_role_id"
,
referencedColumnName
=
OrgRole
.
ID_COLUMN
)
},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"user_id"
,
referencedColumnName
=
User
.
ID_COLUMN
)
})
private
List
<
User
>
users
;
@ManyToMany
()
@JoinTable
(
name
=
"org_role_parents"
,
joinColumns
=
{
@JoinColumn
(
name
=
"parent_id"
,
referencedColumnName
=
OrgRole
.
ID_COLUMN
)
},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"org_role_id"
,
referencedColumnName
=
OrgRole
.
ID_COLUMN
)
})
private
List
<
OrgRole
>
parents
=
new
ArrayList
<
OrgRole
>();
@ManyToMany
(
mappedBy
=
"parents"
)
private
List
<
OrgRole
>
children
=
new
ArrayList
<
OrgRole
>();
@Column
(
nullable
=
false
)
@ManyToOne
()
private
EventOrganiser
eventOrganizer
;
public
OrgRole
()
{
super
();
}
public
List
<
User
>
getUsers
()
{
return
this
.
users
;
}
public
void
setUsers
(
List
<
User
>
users
)
{
this
.
users
=
users
;
}
public
String
getName
()
{
return
this
.
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
List
<
OrgRole
>
getParents
()
{
return
parents
;
}
public
void
setParents
(
List
<
OrgRole
>
parents
)
{
this
.
parents
=
parents
;
}
public
List
<
OrgRole
>
getChildren
()
{
return
children
;
}
public
void
setChildren
(
List
<
OrgRole
>
children
)
{
this
.
children
=
children
;
}
public
EventOrganiser
getEventOrganizer
()
{
return
eventOrganizer
;
}
public
void
setEventOrganizer
(
EventOrganiser
eventOrganizer
)
{
this
.
eventOrganizer
=
eventOrganizer
;
}
}
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