Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Codecrew
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
30
Merge Requests
2
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 8ff3746a
authored
May 13, 2012
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Käyttäjän tagiin assosioimista...
1 parent
1458594e
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
124 additions
and
9 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ReaderBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/UserBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/PrintedCardFacade.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/ReaderBeanLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/UserBeanLocal.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/ReaderEvent.java
code/LanBortalWeb/WebContent/shop/assocToUser.xhtml
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/ReaderView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/UserCardWrapper.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ReaderBean.java
View file @
8ff3746
...
...
@@ -15,6 +15,7 @@ import fi.insomnia.bortal.facade.ReaderFacade;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.Reader
;
import
fi.insomnia.bortal.model.ReaderEvent
;
import
fi.insomnia.bortal.model.User
;
/**
* Session Bean implementation class ReaderBean
...
...
@@ -179,4 +180,9 @@ public class ReaderBean implements ReaderBeanLocal {
}
return
ret
;
}
@Override
public
User
findTagFromAnyEvent
(
String
value
)
{
return
cardfacade
.
findLatestByRfidFromAny
(
value
).
getUser
().
getUser
();
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/UserBean.java
View file @
8ff3746
...
...
@@ -425,6 +425,9 @@ public class UserBean implements UserBeanLocal {
@Override
public
EventUser
getEventUser
(
User
user
)
{
if
(
user
!=
null
&&
user
.
getId
()
!=
null
)
{
user
=
userFacade
.
find
(
user
.
getId
());
}
EventUser
ret
=
eventUserFacade
.
find
(
user
);
if
(
ret
==
null
)
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/PrintedCardFacade.java
View file @
8ff3746
...
...
@@ -5,12 +5,13 @@ import java.util.List;
import
javax.ejb.EJB
;
import
javax.ejb.LocalBean
;
import
javax.ejb.Stateless
;
import
javax.persistence.TypedQuery
;
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.
I
User
;
import
fi.insomnia.bortal.model.
Event
User
;
import
fi.insomnia.bortal.model.LanEvent
;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.PrintedCard_
;
...
...
@@ -51,7 +52,7 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> {
}
public
List
<
PrintedCard
>
getCards
(
I
User
user
)
{
public
List
<
PrintedCard
>
getCards
(
Event
User
user
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
PrintedCard
>
cq
=
cb
.
createQuery
(
PrintedCard
.
class
);
Root
<
PrintedCard
>
root
=
cq
.
from
(
PrintedCard
.
class
);
...
...
@@ -61,4 +62,19 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> {
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
PrintedCard
findLatestByRfidFromAny
(
String
uid
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
PrintedCard
>
cq
=
cb
.
createQuery
(
PrintedCard
.
class
);
Root
<
PrintedCard
>
root
=
cq
.
from
(
PrintedCard
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
PrintedCard_
.
rfidUid
),
uid
));
cq
.
orderBy
(
cb
.
desc
(
root
.
get
(
PrintedCard_
.
printTime
)));
TypedQuery
<
PrintedCard
>
q
=
getEm
().
createQuery
(
cq
);
q
.
setMaxResults
(
1
);
return
getSingleNullableResult
(
q
);
}
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/ReaderBeanLocal.java
View file @
8ff3746
...
...
@@ -7,6 +7,7 @@ import javax.ejb.Local;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.Reader
;
import
fi.insomnia.bortal.model.ReaderEvent
;
import
fi.insomnia.bortal.model.User
;
@Local
public
interface
ReaderBeanLocal
{
...
...
@@ -25,4 +26,6 @@ public interface ReaderBeanLocal {
ReaderEvent
getEvent
(
Integer
eventid
);
User
findTagFromAnyEvent
(
String
value
);
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/UserBeanLocal.java
View file @
8ff3746
...
...
@@ -55,6 +55,13 @@ public interface UserBeanLocal {
List
<
Role
>
findUsersRoles
(
EventUser
u
);
/**
* NOTICE! If the user parameter is a persisted object the returned
* EventUser has a reloaded user, eg changes to the User object are lost!
*
* @param user
* @return
*/
EventUser
getEventUser
(
User
user
);
}
code/LanBortalDatabase/src/fi/insomnia/bortal/model/ReaderEvent.java
View file @
8ff3746
...
...
@@ -127,4 +127,5 @@ public class ReaderEvent extends GenericEntity {
ret
.
append
(
secs
).
append
(
" sec"
);
return
ret
.
toString
();
}
}
code/LanBortalWeb/WebContent/shop/assocToUser.xhtml
View file @
8ff3746
...
...
@@ -12,6 +12,26 @@
<ui:define
name=
"content"
>
<ui:fragment
rendered=
"#{!empty readerView.neighborUser}"
>
<h1>
Neighbor event user found:
</h1>
<h:outputText
value=
"#{readerView.neighborUser.user.wholeName}"
/>
<h:form>
<h:dataTable
var=
"card"
value=
"#{readerView.neighborUser.printedCards}"
>
<h:column>
<h:outputText
value=
"#{card.template.name}"
/>
</h:column>
<h:column>
<h:outputText
value=
"#{card.printCount}"
/>
</h:column>
<h:column>
<h:commandButton
action=
"#{readerView.assocToNeighborCard()}"
value=
"#{i18n['readerView.assocToNeighborCard']}"
/>
</h:column>
</h:dataTable>
<h:commandButton
action=
"#{readerView.assocToNeighbor()}"
value=
"#{i18n['readerView.assocToNeighbor']}"
/>
</h:form>
</ui:fragment>
<h:outputText
rendered=
"#{empty readerView.event}"
value=
"#{i18n['rfidevent.empty']}"
/>
<h:panelGrid
columns=
"2"
rendered=
"#{!empty readerView.event}"
>
<h:outputLabel
value=
"#{i18n['rfidevent.reader']}:"
/>
...
...
@@ -41,7 +61,7 @@
<f:facet
name=
"header"
>
<h:outputText
value=
"Id"
/>
</f:facet>
<h:outputText
value=
"#{user.user.id}"
/>
<h:outputText
value=
"#{user.user.
user.
id}"
/>
</h:column>
<h:column>
<f:facet
name=
"header"
>
...
...
@@ -77,7 +97,7 @@
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['readerview.cards']}"
/>
</f:facet>
<h:dataTable
value=
"#{user.
c
ards}"
var=
"card"
>
<h:dataTable
value=
"#{user.
printedC
ards}"
var=
"card"
>
<h:column>
<h:outputText
value=
"#{card.template.name}"
/>
</h:column>
...
...
@@ -88,6 +108,7 @@
<h:commandButton
action=
"#{readerView.assocToCard()}"
value=
"#{i18n['reader.assocToCard']}"
/>
</h:column>
</h:dataTable>
<h:commandButton
action=
"#{readerView.createCardForUser()}"
value=
"#{i18n['reader.createNewCard']}"
/>
</h:column>
</h:dataTable>
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/ReaderView.java
View file @
8ff3746
...
...
@@ -27,7 +27,7 @@ public class ReaderView extends GenericCDIView {
private
String
placecode
;
private
String
usersearch
;
private
ListDataModel
<
User
>
userlist
;
private
ListDataModel
<
User
CardWrapper
>
userlist
;
@Inject
private
ReaderNameContainer
namecontainer
;
...
...
@@ -40,9 +40,15 @@ public class ReaderView extends GenericCDIView {
@EJB
private
UserBeanLocal
userbean
;
private
UserCardWrapper
neighborUser
;
public
void
initUserassocView
()
{
if
(
super
.
requirePermissions
(
UserPermission
.
CREATE_NEW
))
{
if
(
super
.
requirePermissions
(
UserPermission
.
CREATE_NEW
)
&&
event
==
null
)
{
event
=
readerbean
.
getEvent
(
eventid
);
if
(
event
.
getPrintedCard
()
==
null
)
{
User
neigUser
=
readerbean
.
findTagFromAnyEvent
(
event
.
getValue
());
setNeighborUser
(
new
UserCardWrapper
(
neigUser
,
userbean
));
}
super
.
beginConversation
();
}
}
...
...
@@ -52,7 +58,7 @@ public class ReaderView extends GenericCDIView {
if
(
usersearch
==
null
||
usersearch
.
length
()
<
2
)
{
super
.
addFaceMessage
(
"user.tooShortSearch"
);
}
else
{
userlist
=
new
ListDataModel
<
User
>(
userbean
.
getUsers
(
0
,
0
,
null
,
usersearch
).
getResults
()
);
userlist
=
UserCardWrapper
.
initWrapper
(
userbean
.
getUsers
(
0
,
0
,
null
,
usersearch
).
getResults
(),
userbean
);
}
return
null
;
...
...
@@ -109,12 +115,20 @@ public class ReaderView extends GenericCDIView {
this
.
usersearch
=
usersearch
;
}
public
ListDataModel
<
User
>
getUserlist
()
{
public
ListDataModel
<
User
CardWrapper
>
getUserlist
()
{
return
userlist
;
}
public
void
setUserlist
(
ListDataModel
<
User
>
userlist
)
{
public
void
setUserlist
(
ListDataModel
<
User
CardWrapper
>
userlist
)
{
this
.
userlist
=
userlist
;
}
public
UserCardWrapper
getNeighborUser
()
{
return
neighborUser
;
}
public
void
setNeighborUser
(
UserCardWrapper
neighborUser
)
{
this
.
neighborUser
=
neighborUser
;
}
}
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/UserCardWrapper.java
0 → 100644
View file @
8ff3746
package
fi
.
insomnia
.
bortal
.
web
.
cdiview
.
shop
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.faces.model.ListDataModel
;
import
fi.insomnia.bortal.beans.UserBeanLocal
;
import
fi.insomnia.bortal.model.EventUser
;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.User
;
public
class
UserCardWrapper
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2755200540851855878L
;
private
final
EventUser
user
;
private
final
ListDataModel
<
PrintedCard
>
printedCards
;
public
UserCardWrapper
(
User
u
,
UserBeanLocal
userbean
)
{
user
=
userbean
.
getEventUser
(
u
);
printedCards
=
new
ListDataModel
<
PrintedCard
>(
user
.
getPrintedCards
());
}
public
static
ListDataModel
<
UserCardWrapper
>
initWrapper
(
List
<
User
>
users
,
UserBeanLocal
userbean
)
{
List
<
UserCardWrapper
>
ret
=
new
ArrayList
<
UserCardWrapper
>();
for
(
User
u
:
users
)
{
ret
.
add
(
new
UserCardWrapper
(
u
,
userbean
));
}
return
new
ListDataModel
<
UserCardWrapper
>(
ret
);
}
public
EventUser
getUser
()
{
return
user
;
}
public
ListDataModel
<
PrintedCard
>
getPrintedCards
()
{
return
printedCards
;
}
}
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