Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Antti Väyrynen
/
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 052eee2e
authored
Sep 11, 2012
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Logijuttua, showBill:n billLines..
1 parent
ac499fc7
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
315 additions
and
161 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/JaasBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/LoggingBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/UserBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/GenericFacade.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/UserFacade.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/LoggingBeanLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/UserBeanLocal.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/LogEntry_.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/Reader_.java
code/LanBortalUtilities/src/fi/insomnia/bortal/utilities/SearchQuery.java
code/LanBortalWeb/WebContent/bill/showBill.xhtml
code/LanBortalWeb/WebContent/resources/cditools/bills/showBill.xhtml
code/LanBortalWeb/WebContent/resources/style/insomnia2/css/tyyli.css
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_en.properties
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_fi.properties
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/PaginationView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/map/PlaceView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/ReaderView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserSearchView.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/JaasBean.java
View file @
052eee2
...
...
@@ -64,7 +64,7 @@ public class JaasBean implements JaasBeanLocal, JaasBeanRemote {
if
(
user
.
isAnonymous
())
{
logger
.
info
(
"logging in as anonymous!!!"
);
}
else
if
(!
user
.
checkPassword
(
password
))
{
secubean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
eventUser
.
getUser
()
,
"Login failed: wrong password for username "
,
username
);
secubean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
eventUser
,
"Login failed: wrong password for username "
,
username
);
eventUser
=
null
;
user
=
null
;
}
...
...
@@ -78,7 +78,7 @@ public class JaasBean implements JaasBeanLocal, JaasBeanRemote {
eventUser
.
setCreator
(
eventUser
);
}
}
else
{
secubean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
(
User
)
null
,
"Login failed: Username not found: "
,
username
);
secubean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
eventbean
.
getCurrentEvent
(),
null
,
"Login failed: Username not found: "
,
username
);
}
return
eventUser
;
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/LoggingBean.java
View file @
052eee2
...
...
@@ -14,6 +14,7 @@ import org.slf4j.Logger;
import
fi.insomnia.bortal.facade.LogEntryFacade
;
import
fi.insomnia.bortal.facade.LogEntryTypeFacade
;
import
fi.insomnia.bortal.model.EventUser
;
import
fi.insomnia.bortal.model.LanEvent
;
import
fi.insomnia.bortal.model.LogEntry
;
import
fi.insomnia.bortal.model.LogEntryType
;
import
fi.insomnia.bortal.model.User
;
...
...
@@ -33,6 +34,8 @@ public class LoggingBean implements LoggingBeanLocal {
private
LogEntryTypeFacade
typeFacade
;
@EJB
private
LogEntryFacade
entryFacade
;
@EJB
private
EventBeanLocal
eventbean
;
@Resource
UserTransaction
utx
;
...
...
@@ -86,14 +89,19 @@ public class LoggingBean implements LoggingBeanLocal {
// }
@Override
public
LogEntry
logMessage
(
SecurityLogType
paramType
,
User
user
,
public
LogEntry
logMessage
(
SecurityLogType
paramType
,
LanEvent
event
,
User
user
,
Object
...
description
)
{
LogEntry
entry
=
null
;
if
(
event
==
null
)
{
event
=
eventbean
.
getCurrentEvent
();
}
try
{
String
desc
=
toString
(
description
);
utx
.
begin
();
LogEntryType
type
=
typeFacade
.
findOrCreate
(
paramType
);
entry
=
new
LogEntry
(
Calendar
.
getInstance
());
entry
.
setParentEvent
(
event
);
entry
.
setType
(
type
);
entry
.
setDescription
(
desc
);
entry
.
setUser
(
user
);
...
...
@@ -113,9 +121,15 @@ public class LoggingBean implements LoggingBeanLocal {
}
@Override
public
LogEntry
logMessage
(
SecurityLogType
paramType
,
EventUser
user
,
Object
...
description
)
{
return
logMessage
(
paramType
,
user
.
getUser
(),
description
);
public
LogEntry
logMessage
(
SecurityLogType
paramType
,
EventUser
user
,
Object
...
description
)
{
LanEvent
event
=
null
;
User
usr
=
null
;
if
(
user
!=
null
)
{
event
=
user
.
getEvent
();
usr
=
user
.
getUser
();
}
return
logMessage
(
paramType
,
event
,
usr
,
description
);
}
private
static
final
String
toString
(
Object
...
desc
)
{
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/UserBean.java
View file @
052eee2
...
...
@@ -46,6 +46,7 @@ import fi.insomnia.bortal.model.UserImage;
import
fi.insomnia.bortal.util.MailMessage
;
import
fi.insomnia.bortal.utilities.I18n
;
import
fi.insomnia.bortal.utilities.PasswordFunctions
;
import
fi.insomnia.bortal.utilities.SearchQuery
;
import
fi.insomnia.bortal.utilities.SearchResult
;
/**
...
...
@@ -309,8 +310,8 @@ public class UserBean implements UserBeanLocal {
@Override
@RolesAllowed
(
UserPermission
.
S_VIEW_ALL
)
public
SearchResult
<
User
>
getUsers
(
int
page
,
int
pagesize
,
String
sort
,
String
search
)
{
return
userFacade
.
searchAllUsers
(
page
,
pagesize
,
sort
,
search
);
public
SearchResult
<
User
>
getUsers
(
SearchQuery
search
)
{
return
userFacade
.
searchAllUsers
(
search
);
}
// @Override
...
...
@@ -497,12 +498,12 @@ public class UserBean implements UserBeanLocal {
}
@Override
public
SearchResult
<
User
>
getEventUsers
(
int
page
,
int
pagesize
,
String
sort
,
String
search
)
{
if
(
search
==
null
||
search
.
isEmpty
())
public
SearchResult
<
User
>
getEventUsers
(
SearchQuery
search
)
{
if
(
search
.
getSearch
()
==
null
||
search
.
getSearch
()
.
isEmpty
())
{
return
userFacade
.
searchEventUsers
(
page
,
pagesize
,
sort
,
search
);
return
userFacade
.
searchEventUsers
(
search
);
}
else
{
return
userFacade
.
searchAllUsers
(
page
,
pagesize
,
sort
,
search
);
return
userFacade
.
searchAllUsers
(
search
);
}
}
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/GenericFacade.java
View file @
052eee2
...
...
@@ -9,21 +9,20 @@ import javax.persistence.NoResultException;
import
javax.persistence.TypedQuery
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.insomnia.bortal.facade.callbacks.FacadeCallback
;
import
fi.insomnia.bortal.utilities.SearchQuery
;
import
fi.insomnia.bortal.utilities.SearchResult
;
import
fi.insomnia.bortal.utilities.jpa.ModelInterface
;
public
abstract
class
GenericFacade
<
C
extends
ModelInterface
>
{
private
final
Class
<
C
>
entClass
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
GenericFacade
.
class
);
// private static final Logger logger =
// LoggerFactory.getLogger(GenericFacade.class);
public
GenericFacade
(
Class
<
C
>
entityClass
)
{
this
.
entClass
=
entityClass
;
...
...
@@ -110,53 +109,55 @@ public abstract class GenericFacade<C extends ModelInterface> {
return
ret
;
}
@Deprecated
protected
List
<
C
>
search
(
String
query
,
String
[]
fields
,
String
orderfield
)
{
return
search
(
0
,
0
,
query
,
fields
,
orderfield
);
}
@Deprecated
protected
SearchResult
<
C
>
searcher
(
int
page
,
int
pagesize
,
String
query
,
String
[]
fields
,
String
orderfield
)
{
SearchResult
<
C
>
ret
=
new
SearchResult
<
C
>();
ret
.
setResults
(
search
(
page
,
pagesize
,
query
,
fields
,
orderfield
));
ret
.
setResultcount
(
searchCount
(
query
,
fields
));
return
ret
;
}
// @Deprecated
// protected List<C> search(String query, String[] fields, String
// orderfield) {
// return search(0, 0, query, fields, orderfield);
// }
//
// @Deprecated
// protected SearchResult<C> searcher(int page, int pagesize, String query,
// String[] fields, String orderfield) {
// SearchResult<C> ret = new SearchResult<C>();
// ret.setResults(search(page, pagesize, query, fields, orderfield));
// ret.setResultcount(searchCount(query, fields));
// return ret;
// }
// Le fu... Tuota.. generics ei hanskaa ... operaattoria.. tehdään siis
// näin... :(
protected
SearchResult
<
C
>
searcher
(
int
page
,
int
pagesize
,
FacadeCallback
<
C
>
callback
)
{
return
searcher
(
page
,
pagesize
,
Collections
.
singletonList
(
callback
));
protected
SearchResult
<
C
>
searcher
(
SearchQuery
search
,
FacadeCallback
<
C
>
callback
)
{
return
searcher
(
search
,
Collections
.
singletonList
(
callback
));
}
protected
SearchResult
<
C
>
searcher
(
int
page
,
int
pagesize
,
FacadeCallback
<
C
>
cb1
,
FacadeCallback
<
C
>
cb2
)
{
protected
SearchResult
<
C
>
searcher
(
SearchQuery
search
,
FacadeCallback
<
C
>
cb1
,
FacadeCallback
<
C
>
cb2
)
{
ArrayList
<
FacadeCallback
<
C
>>
cbs
=
new
ArrayList
<
FacadeCallback
<
C
>>();
cbs
.
add
(
cb1
);
cbs
.
add
(
cb2
);
return
searcher
(
page
,
pagesize
,
cbs
);
return
searcher
(
search
,
cbs
);
}
protected
SearchResult
<
C
>
searcher
(
int
page
,
int
pagesize
,
FacadeCallback
<
C
>
cb1
,
FacadeCallback
<
C
>
cb2
,
FacadeCallback
<
C
>
cb3
)
{
protected
SearchResult
<
C
>
searcher
(
SearchQuery
search
,
FacadeCallback
<
C
>
cb1
,
FacadeCallback
<
C
>
cb2
,
FacadeCallback
<
C
>
cb3
)
{
ArrayList
<
FacadeCallback
<
C
>>
cbs
=
new
ArrayList
<
FacadeCallback
<
C
>>();
cbs
.
add
(
cb1
);
cbs
.
add
(
cb2
);
cbs
.
add
(
cb3
);
return
searcher
(
page
,
pagesize
,
cbs
);
return
searcher
(
search
,
cbs
);
}
protected
SearchResult
<
C
>
searcher
(
int
page
,
int
pagesize
,
FacadeCallback
<
C
>
cb1
,
FacadeCallback
<
C
>
cb2
,
FacadeCallback
<
C
>
cb3
,
FacadeCallback
<
C
>
cb4
)
{
protected
SearchResult
<
C
>
searcher
(
SearchQuery
search
,
FacadeCallback
<
C
>
cb1
,
FacadeCallback
<
C
>
cb2
,
FacadeCallback
<
C
>
cb3
,
FacadeCallback
<
C
>
cb4
)
{
ArrayList
<
FacadeCallback
<
C
>>
cbs
=
new
ArrayList
<
FacadeCallback
<
C
>>();
cbs
.
add
(
cb1
);
cbs
.
add
(
cb2
);
cbs
.
add
(
cb3
);
cbs
.
add
(
cb4
);
return
searcher
(
page
,
pagesize
,
cbs
);
return
searcher
(
search
,
cbs
);
}
protected
SearchResult
<
C
>
searcher
(
int
page
,
int
pagesize
,
List
<
FacadeCallback
<
C
>>
list
)
{
protected
SearchResult
<
C
>
searcher
(
SearchQuery
search
,
List
<
FacadeCallback
<
C
>>
list
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
C
>
listCQuery
=
cb
.
createQuery
(
getEntityClass
());
...
...
@@ -169,9 +170,9 @@ public abstract class GenericFacade<C extends ModelInterface> {
TypedQuery
<
Long
>
countQ
=
getEm
().
createQuery
(
countCQuery
);
TypedQuery
<
C
>
listQ
=
getEm
().
createQuery
(
listCQuery
);
if
(
pagesize
>
0
)
{
listQ
.
setFirstResult
(
page
*
pagesize
);
listQ
.
setMaxResults
(
pagesize
);
if
(
search
.
getPagesize
()
>
0
)
{
listQ
.
setFirstResult
(
search
.
getPage
()
*
search
.
getPagesize
()
);
listQ
.
setMaxResults
(
search
.
getPagesize
()
);
}
...
...
@@ -201,52 +202,55 @@ public abstract class GenericFacade<C extends ModelInterface> {
}
@Deprecated
protected
List
<
C
>
search
(
int
page
,
int
pagesize
,
String
query
,
String
[]
fields
,
String
orderfield
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
C
>
cq
=
cb
.
createQuery
(
getEntityClass
());
Root
<
C
>
root
=
cq
.
from
(
getEntityClass
());
addPredicates
(
cq
,
root
,
query
,
fields
);
TypedQuery
<
C
>
q
=
getEm
().
createQuery
(
cq
);
if
(
pagesize
>
0
)
{
q
.
setFirstResult
(
page
*
pagesize
);
q
.
setMaxResults
(
pagesize
);
}
List
<
C
>
ret
=
q
.
getResultList
();
return
ret
;
}
@Deprecated
protected
void
addPredicates
(
CriteriaQuery
<?>
cq
,
Root
<
C
>
root
,
String
query
,
String
[]
fields
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
if
(
query
!=
null
&&
!
query
.
isEmpty
()
&&
fields
!=
null
&&
fields
.
length
>
0
)
{
List
<
Predicate
>
preds
=
new
ArrayList
<
Predicate
>();
for
(
String
field
:
fields
)
{
Path
<
String
>
rootfield
=
root
.
get
(
field
);
preds
.
add
(
cb
.
like
(
cb
.
lower
(
rootfield
),
query
));
}
cq
.
where
(
cb
.
or
(
preds
.
toArray
(
new
Predicate
[
preds
.
size
()])));
}
}
@Deprecated
protected
long
searchCount
(
String
query
,
String
[]
fields
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
Long
>
cq
=
cb
.
createQuery
(
Long
.
class
);
Root
<
C
>
root
=
cq
.
from
(
getEntityClass
());
addPredicates
(
cq
,
root
,
query
,
fields
);
cq
.
select
(
getEm
().
getCriteriaBuilder
().
count
(
root
));
TypedQuery
<
Long
>
q
=
getEm
().
createQuery
(
cq
);
return
q
.
getSingleResult
();
}
// @Deprecated
// protected List<C> search(int page, int pagesize, String query, String[]
// fields, String orderfield) {
//
// CriteriaBuilder cb = getEm().getCriteriaBuilder();
// CriteriaQuery<C> cq = cb.createQuery(getEntityClass());
//
// Root<C> root = cq.from(getEntityClass());
//
// addPredicates(cq, root, query, fields);
//
// TypedQuery<C> q = getEm().createQuery(cq);
// if (pagesize > 0) {
// q.setFirstResult(page * pagesize);
// q.setMaxResults(pagesize);
//
// }
// List<C> ret = q.getResultList();
// return ret;
// }
//
// @Deprecated
// protected void addPredicates(CriteriaQuery<?> cq, Root<C> root, String
// query, String[] fields) {
// CriteriaBuilder cb = getEm().getCriteriaBuilder();
// if (query != null && !query.isEmpty() && fields != null && fields.length
// > 0) {
// List<Predicate> preds = new ArrayList<Predicate>();
// for (String field : fields) {
// Path<String> rootfield = root.get(field);
// preds.add(cb.like(cb.lower(rootfield), query));
// }
// cq.where(cb.or(preds.toArray(new Predicate[preds.size()])));
// }
//
// }
//
// @Deprecated
// protected long searchCount(String query, String[] fields) {
// CriteriaBuilder cb = getEm().getCriteriaBuilder();
// CriteriaQuery<Long> cq = cb.createQuery(Long.class);
// Root<C> root = cq.from(getEntityClass());
//
// addPredicates(cq, root, query, fields);
// cq.select(getEm().getCriteriaBuilder().count(root));
//
// TypedQuery<Long> q = getEm().createQuery(cq);
// return q.getSingleResult();
// }
// @Deprecated
// public List<C> findAll(int page, int pagesize, String sort) {
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/UserFacade.java
View file @
052eee2
...
...
@@ -27,6 +27,7 @@ import fi.insomnia.bortal.model.EventUser_;
import
fi.insomnia.bortal.model.LanEvent
;
import
fi.insomnia.bortal.model.User
;
import
fi.insomnia.bortal.model.User_
;
import
fi.insomnia.bortal.utilities.SearchQuery
;
import
fi.insomnia.bortal.utilities.SearchResult
;
@Stateless
...
...
@@ -104,17 +105,17 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
return
super
.
merge
(
user
);
}
public
SearchResult
<
User
>
searchAllUsers
(
int
page
,
int
pagesize
,
String
sort
,
String
search
)
{
public
SearchResult
<
User
>
searchAllUsers
(
SearchQuery
search
)
{
List
<
FacadeCallback
<
User
>>
callbacks
=
new
ArrayList
<
FacadeCallback
<
User
>>();
if
(
s
ort
==
null
||
sort
.
isEmpty
())
{
if
(
s
earch
.
getSort
()
==
null
||
search
.
getSort
()
.
isEmpty
())
{
callbacks
.
add
(
new
OrderCallback
<
User
>(
false
,
User_
.
id
));
}
else
{
callbacks
.
add
(
new
OrderCallback
<
User
>(
false
,
s
ort
));
callbacks
.
add
(
new
OrderCallback
<
User
>(
false
,
s
earch
.
getSort
()
));
}
callbacks
.
add
(
new
StringSearchPredicateCreator
<
User
>(
search
,
getAttrlist
()));
callbacks
.
add
(
new
StringSearchPredicateCreator
<
User
>(
search
.
getSearch
()
,
getAttrlist
()));
return
super
.
searcher
(
page
,
pagesize
,
callbacks
);
return
super
.
searcher
(
search
,
callbacks
);
// return this.search(page, pagesize, query, NAMEFIELDS, sort);
}
...
...
@@ -147,7 +148,7 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
SearchResult
<
User
>
searchEventUsers
(
int
page
,
int
pagesize
,
String
sort
,
String
search
)
public
SearchResult
<
User
>
searchEventUsers
(
SearchQuery
query
)
{
ArrayList
<
FacadeCallback
<
EventUser
>>
callbacks
=
new
ArrayList
<
FacadeCallback
<
EventUser
>>();
callbacks
.
add
(
new
OrderCallback
<
EventUser
>(
false
,
EventUser_
.
id
));
...
...
@@ -167,9 +168,9 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
TypedQuery
<
Long
>
countQ
=
getEm
().
createQuery
(
countCQuery
);
TypedQuery
<
User
>
listQ
=
getEm
().
createQuery
(
listCQuery
);
if
(
pagesize
>
0
)
{
listQ
.
setFirstResult
(
page
*
pagesize
);
listQ
.
setMaxResults
(
pagesize
);
if
(
query
.
getPagesize
()
>
0
)
{
listQ
.
setFirstResult
(
query
.
getPage
()
*
query
.
getPagesize
()
);
listQ
.
setMaxResults
(
query
.
getPagesize
()
);
}
return
new
SearchResult
<
User
>(
listQ
.
getResultList
(),
countQ
.
getSingleResult
());
}
...
...
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/LoggingBeanLocal.java
View file @
052eee2
...
...
@@ -3,13 +3,14 @@ package fi.insomnia.bortal.beans;
import
javax.ejb.Local
;
import
fi.insomnia.bortal.model.EventUser
;
import
fi.insomnia.bortal.model.LanEvent
;
import
fi.insomnia.bortal.model.LogEntry
;
import
fi.insomnia.bortal.model.User
;
@Local
public
interface
LoggingBeanLocal
{
LogEntry
logMessage
(
SecurityLogType
paramType
,
User
user
,
Object
...
description
);
LogEntry
logMessage
(
SecurityLogType
paramType
,
LanEvent
event
,
User
user
,
Object
...
description
);
LogEntry
logMessage
(
SecurityLogType
paramType
,
EventUser
user
,
Object
...
description
);
...
...
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/UserBeanLocal.java
View file @
052eee2
...
...
@@ -10,6 +10,7 @@ import fi.insomnia.bortal.model.GroupMembership;
import
fi.insomnia.bortal.model.Role
;
import
fi.insomnia.bortal.model.User
;
import
fi.insomnia.bortal.model.UserImage
;
import
fi.insomnia.bortal.utilities.SearchQuery
;
import
fi.insomnia.bortal.utilities.SearchResult
;
@Local
...
...
@@ -17,9 +18,9 @@ public interface UserBeanLocal {
List
<
EventUser
>
getUsers
();
SearchResult
<
User
>
getUsers
(
int
page
,
int
pagesize
,
String
sort
,
String
search
);
SearchResult
<
User
>
getUsers
(
SearchQuery
search
);
SearchResult
<
User
>
getEventUsers
(
int
page
,
int
pagesize
,
String
sort
,
String
search
);
SearchResult
<
User
>
getEventUsers
(
SearchQuery
search
);
EventUser
mergeChanges
(
EventUser
user
);
...
...
code/LanBortalDatabase/src/fi/insomnia/bortal/model/LogEntry_.java
View file @
052eee2
...
...
@@ -5,7 +5,7 @@ import javax.annotation.Generated;
import
javax.persistence.metamodel.SingularAttribute
;
import
javax.persistence.metamodel.StaticMetamodel
;
@Generated
(
value
=
"Dali"
,
date
=
"2012-0
5-12T19:23:44.258
+0300"
)
@Generated
(
value
=
"Dali"
,
date
=
"2012-0
9-11T02:27:08.849
+0300"
)
@StaticMetamodel
(
LogEntry
.
class
)
public
class
LogEntry_
extends
GenericEntity_
{
public
static
volatile
SingularAttribute
<
LogEntry
,
LanEvent
>
parentEvent
;
...
...
code/LanBortalDatabase/src/fi/insomnia/bortal/model/Reader_.java
View file @
052eee2
...
...
@@ -6,9 +6,10 @@ import javax.persistence.metamodel.ListAttribute;
import
javax.persistence.metamodel.SingularAttribute
;
import
javax.persistence.metamodel.StaticMetamodel
;
@Generated
(
value
=
"Dali"
,
date
=
"2012-09-
09T02:58:31.995
+0300"
)
@Generated
(
value
=
"Dali"
,
date
=
"2012-09-
10T17:55:33.516
+0300"
)
@StaticMetamodel
(
Reader
.
class
)
public
class
Reader_
extends
GenericEntity_
{
public
static
volatile
SingularAttribute
<
Reader
,
ReaderType
>
type
;
public
static
volatile
SingularAttribute
<
Reader
,
LanEvent
>
event
;
public
static
volatile
SingularAttribute
<
Reader
,
Integer
>
gamepoints
;
public
static
volatile
SingularAttribute
<
Reader
,
Integer
>
maxEvents
;
...
...
@@ -20,5 +21,4 @@ public class Reader_ extends GenericEntity_ {
public
static
volatile
SingularAttribute
<
Reader
,
Integer
>
mapX
;
public
static
volatile
SingularAttribute
<
Reader
,
Integer
>
mapY
;
public
static
volatile
ListAttribute
<
Reader
,
ReaderEvent
>
events
;
public
static
volatile
SingularAttribute
<
Reader
,
ReaderType
>
type
;
}
code/LanBortalUtilities/src/fi/insomnia/bortal/utilities/SearchQuery.java
0 → 100644
View file @
052eee2
package
fi
.
insomnia
.
bortal
.
utilities
;
import
java.io.Serializable
;
public
class
SearchQuery
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8777921789916093938L
;
private
int
page
=
0
;
private
int
pagesize
=
20
;
private
String
sort
=
null
;
private
String
search
=
null
;
public
SearchQuery
()
{
super
();
}
public
SearchQuery
(
int
page
,
int
pagesize
,
String
sort
,
String
search
)
{
super
();
this
.
page
=
page
;
this
.
pagesize
=
pagesize
;
this
.
sort
=
sort
;
this
.
search
=
search
;
}
public
int
getPage
()
{
return
page
;
}
public
void
setPage
(
int
page
)
{
if
(
page
<
0
)
{
this
.
page
=
0
;
}
else
{
this
.
page
=
page
;
}
}
public
int
getPagesize
()
{
if
(
pagesize
<
1
)
{
pagesize
=
20
;
}
return
pagesize
;
}
public
void
setPagesize
(
int
pagesize
)
{
this
.
pagesize
=
pagesize
;
}
public
String
getSort
()
{
return
sort
;
}
public
void
setSort
(
String
sort
)
{
this
.
sort
=
sort
;
}
public
String
getSearch
()
{
return
search
;
}
public
void
setSearch
(
String
search
)
{
this
.
search
=
search
;
}
public
void
addPage
(
Integer
count
)
{
if
(
count
!=
null
)
{
page
+=
count
;
}
}
}
code/LanBortalWeb/WebContent/bill/showBill.xhtml
View file @
052eee2
...
...
@@ -38,24 +38,24 @@
});
</script>
</ui:fragment>
<ui:fragment
rendered=
"#{billEditView.checkoutFiAvailable}"
>
<table
border=
"0"
>
<tr>
<ui:repeat
varStatus=
"idx"
value=
"#{billEditView.checkoutFiToken}"
var=
"bank"
>
<td>
<form
action=
"#{bank.url}"
method=
"post"
>
<ui:repeat
value=
"#{bank.postParams}"
var=
"valp"
>
<input
type=
"hidden"
name=
"#{valp.key}"
value=
"#{valp.value}"
/>
</ui:repeat>
<input
type=
'image'
src=
'#{bank.icon}'
/>
</form>
</td>
<h:outputText
escape=
"false"
value=
"</tr><tr>"
rendered=
"#{idx.index % 4 == 3}"
/>
</ui:repeat>
</tr>
</table>
<ui:fragment
rendered=
"#{billEditView.checkoutFiAvailable}"
>
<table
border=
"0"
>
<tr>
<ui:repeat
varStatus=
"idx"
value=
"#{billEditView.checkoutFiToken}"
var=
"bank"
>
<td>
<form
action=
"#{bank.url}"
method=
"post"
>
<ui:repeat
value=
"#{bank.postParams}"
var=
"valp"
>
<input
type=
"hidden"
name=
"#{valp.key}"
value=
"#{valp.value}"
/>
</ui:repeat>
<input
type=
'image'
src=
'#{bank.icon}'
/>
</form>
</td>
<h:outputText
escape=
"false"
value=
"</tr><tr>"
rendered=
"#{idx.index % 4 == 3}"
/>
</ui:repeat>
</tr>
</table>
</ui:fragment>
</ui:define>
...
...
code/LanBortalWeb/WebContent/resources/cditools/bills/showBill.xhtml
View file @
052eee2
...
...
@@ -14,10 +14,10 @@
<h:panelGrid
columns=
"2"
columnClasses=
"topalign,topalign"
>
<h:outputLabel
for=
"billnr"
value=
"#{i18n['bill.billNumber']}:"
/>
<h:outputText
id=
"billnr"
value=
"#{cc.attrs.bill.billNumber}"
/>
<h:outputLabel
for=
"refnr"
value=
"#{i18n['bill.referencenumber']}"
/>
<h:outputText
id=
"refnr"
value=
"#{cc.attrs.bill.referenceNumber}"
/>
<h:outputLabel
for=
"billAmount"
value=
"#{i18n['bill.billAmount']}"
/>
<h:outputText
id=
"billAmount"
value=
"#{cc.attrs.bill.totalPrice()}"
>
<f:convertNumber
maxFractionDigits=
"2"
minFractionDigits=
"2"
/>
...
...
@@ -71,6 +71,48 @@
</h:panelGrid>
</h:panelGrid>
<h2>
#{i18n['bill.billLines']}
</h2>
<h:dataTable
styleClass=
"border"
border=
"1"
value=
"#{cc.attrs.bill.billLines}"
var=
"line"
>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['billine.name']}"
/>
</f:facet>
<h:outputText
value=
"#{line.name}"
/>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['billine.quantity']}"
/>
</f:facet>
<h:outputText
value=
"#{line.quantity}"
>
<f:convertNumber
minFractionDigits=
"2"
maxFractionDigits=
"2"
/>
</h:outputText>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['billine.unitName']}"
/>
</f:facet>
<h:outputText
value=
"#{line.unitName}"
/>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['billine.unitPrice']}"
/>
</f:facet>
<h:outputText
value=
"#{line.unitPrice}"
>
<f:convertNumber
minFractionDigits=
"2"
maxFractionDigits=
"2"
/>
</h:outputText>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['billine.linePrice']}"
/>
</f:facet>
<h:outputText
value=
"#{line.linePrice}"
>
<f:convertNumber
minFractionDigits=
"2"
maxFractionDigits=
"2"
/>
</h:outputText>
</h:column>
</h:dataTable>
</composite:implementation>
</html>
code/LanBortalWeb/WebContent/resources/style/insomnia2/css/tyyli.css
View file @
052eee2
...
...
@@ -221,4 +221,12 @@ td ul {
font-size
:
9px
;
float
:
left
;
margin
:
4px
;
}
table
{
border-collapse
:
collapse
;
}
table
.border
td
,
table
.border
th
{
padding
:
1px
4px
;
}
\ No newline at end of file
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_en.properties
View file @
052eee2
...
...
@@ -38,6 +38,7 @@ bill.addr5 = Address 5
bill.address
=
Payers address
bill.billAmount
=
Bill amount
bill.billIsPaid
=
Bill is paid
bill.billLines
=
Products
bill.billNumber
=
Bill number
bill.billPaidDate
=
Paid date
bill.deliveryTerms
=
Delivery terms
...
...
@@ -63,6 +64,7 @@ bill.totalPrice = Total
billedit.billnotfound
=
Bill not found. Select again.
billine.linePrice
=
Total
billine.name
=
Product
billine.quantity
=
Quantity
billine.referencedProduct
=
Referenced product
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_fi.properties
View file @
052eee2
...
...
@@ -38,6 +38,7 @@ bill.addr5 = Osoite 5
bill.address
=
Maksajan osoite
bill.billAmount
=
Laskun summa
bill.billIsPaid
=
Lasku on maksettu
bill.billLines
=
Tuotteet
bill.billNumber
=
Laskun numero
bill.billPaidDate
=
Maksup
\u
00E4iv
\u
00E4
bill.deliveryTerms
=
Toimitusehdot
...
...
@@ -61,6 +62,7 @@ bill.show = N\u00E4yt\u00E4
bill.theirReference
=
Asiakkaan viite
bill.totalPrice
=
Laskun summa
billine.linePrice
=
Yhteens
\u
00E4
billine.name
=
Tuote
billine.quantity
=
Lukum
\u
00E4
\u
00E4r
\u
00E4
billine.referencedProduct
=
Tuoteviittaus
...
...
@@ -421,14 +423,14 @@ resetMail.username = K\u00E4ytt\u00E4j\u00E4tunnus
resetmailSent.body
=
Antamasi k
\u
00E4ytt
\u
00E4j
\u
00E4tunnuksen s
\u
00E4hk
\u
00F6postiosoitteeseen on l
\u
00E4hetetty osoite jossa voit vaihtaa tunnuksen salasanan.
resetmailSent.header
=
S
\u
00E4hk
\u
00F6posti l
\u
00E4hetetty
role.cardtemplate
=
Korttipohja
role.create
=
Luo rooli
role.description
=
Kuvaus
role.edit
=
Muokkaa
role.edit.save
=
Tallenna
role.name
=
Nimi
role.parents
=
Periytyy
role.savePermissions
=
Tallenna oikeudet
role.cardtemplate
=
Korttipohja
role.create
=
Luo rooli
role.description
=
Kuvaus
role.edit
=
Muokkaa
role.edit.save
=
Tallenna
role.name
=
Nimi
role.parents
=
Periytyy
role.savePermissions
=
Tallenna oikeudet
sendPicture.header
=
L
\u
00E4het
\u
00E4 kuva
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/PaginationView.java
View file @
052eee2
...
...
@@ -7,18 +7,20 @@ import javax.faces.model.ListDataModel;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.insomnia.bortal.utilities.SearchQuery
;
import
fi.insomnia.bortal.utilities.SearchResult
;
import
fi.insomnia.bortal.utilities.jpa.ModelInterface
;
public
abstract
class
PaginationView
<
T
extends
ModelInterface
>
extends
GenericCDIView
implements
IPaginationView
{
private
static
final
long
serialVersionUID
=
-
1226554409762987631L
;
protected
Integer
page
=
0
;
protected
Integer
pagesize
=
20
;
// protected Integer page = 0;
// protected Integer pagesize = 20;
private
SearchQuery
searchQuery
=
new
SearchQuery
();
protected
Long
resultcount
=
0L
;
private
Long
pagecount
=
0L
;
protected
String
sort
;
protected
String
search
;
//
protected String sort;
//
protected String search;
private
List
<
T
>
results
;
private
ListDataModel
<
T
>
resultdatamodel
;
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PaginationView
.
class
);
...
...
@@ -32,11 +34,10 @@ public abstract class PaginationView<T extends ModelInterface> extends GenericCD
public
String
addToPage
(
Integer
count
)
{
pagechangeCallback
();
if
(
count
!=
null
)
{
page
+=
count
;
}
if
(
page
>=
pagecount
)
{
page
=
pagecount
.
intValue
()
-
1
;
searchQuery
.
addPage
(
count
);
if
(
searchQuery
.
getPage
()
>=
pagecount
)
{
searchQuery
.
setPage
(
pagecount
.
intValue
()
-
1
);
}
return
null
;
}
...
...
@@ -50,17 +51,14 @@ public abstract class PaginationView<T extends ModelInterface> extends GenericCD
public
String
gotoFirstpage
()
{
// logger.info("Setting page to first page");
pagechangeCallback
();
page
=
0
;
searchQuery
.
setPage
(
0
)
;
return
null
;
}
public
String
gotoLastpage
()
{
// logger.info("Setting page to last page");
pagechangeCallback
();
page
=
pagecount
.
intValue
()
-
1
;
if
(
page
<
0
)
{
page
=
0
;
}
searchQuery
.
setPage
(
pagecount
.
intValue
()
-
1
);
return
null
;
}
...
...
@@ -74,23 +72,20 @@ public abstract class PaginationView<T extends ModelInterface> extends GenericCD
@Override
public
Integer
getPage
()
{
return
page
;
return
searchQuery
.
getPage
()
;
}
public
void
setPage
(
Integer
page
)
{
this
.
page
=
page
;
searchQuery
.
setPage
(
page
)
;
}
@Override
public
Integer
getPagesize
()
{
if
(
pagesize
<
1
)
{
pagesize
=
20
;
}
return
pagesize
;
return
searchQuery
.
getPagesize
();
}
public
void
setPagesize
(
Integer
pagesize
)
{
this
.
pagesize
=
pagesize
;
searchQuery
.
setPagesize
(
pagesize
)
;
}
@Override
...
...
@@ -100,7 +95,7 @@ public abstract class PaginationView<T extends ModelInterface> extends GenericCD
public
void
setResultcount
(
Long
resultcount
)
{
this
.
resultcount
=
resultcount
;
pagecount
=
((
resultcount
+
pagesize
-
1
)
/
pagesize
);
pagecount
=
((
resultcount
+
searchQuery
.
getPagesize
()
-
1
)
/
searchQuery
.
getPagesize
()
);
}
@Override
...
...
@@ -113,24 +108,24 @@ public abstract class PaginationView<T extends ModelInterface> extends GenericCD
}
public
String
getSort
()
{
return
s
ort
;
return
s
earchQuery
.
getSort
()
;
}
public
void
setSort
(
String
sort
)
{
this
.
sort
=
sort
;
searchQuery
.
setSort
(
sort
)
;
}
public
String
getSearch
()
{
return
search
;
return
search
Query
.
getSearch
()
;
}
public
void
setSearch
(
String
search
)
{
this
.
search
=
search
;
searchQuery
.
setSearch
(
search
)
;
}
public
String
newSearch
()
{
logger
.
info
(
"Setting new Search for pagination.."
);
page
=
0
;
setPage
(
0
)
;
setResults
(
null
);
resultdatamodel
=
null
;
return
null
;
...
...
@@ -145,4 +140,12 @@ public abstract class PaginationView<T extends ModelInterface> extends GenericCD
resultdatamodel
=
null
;
}
public
SearchQuery
getSearchQuery
()
{
return
searchQuery
;
}
public
void
setSearchQuery
(
SearchQuery
searchQuery
)
{
this
.
searchQuery
=
searchQuery
;
}
}
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/map/PlaceView.java
View file @
052eee2
...
...
@@ -23,6 +23,7 @@ import fi.insomnia.bortal.model.EventMap;
import
fi.insomnia.bortal.model.EventUser
;
import
fi.insomnia.bortal.model.Place
;
import
fi.insomnia.bortal.model.User
;
import
fi.insomnia.bortal.utilities.SearchQuery
;
import
fi.insomnia.bortal.web.annotations.SelectedUser
;
import
fi.insomnia.bortal.web.cdiview.GenericCDIView
;
...
...
@@ -41,7 +42,7 @@ public class PlaceView extends GenericCDIView {
@EJB
private
transient
UserBeanLocal
userbean
;
@EJB
private
transient
PlaceBeanLocal
placebean
;
...
...
@@ -153,7 +154,7 @@ public class PlaceView extends GenericCDIView {
public
String
searchUser
()
{
super
.
beginConversation
();
userlist
=
new
ListDataModel
<
User
>(
userbean
.
getUsers
(
0
,
0
,
null
,
searchuser
).
getResults
());
userlist
=
new
ListDataModel
<
User
>(
userbean
.
getUsers
(
new
SearchQuery
(
0
,
0
,
null
,
searchuser
)
).
getResults
());
return
null
;
}
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/ReaderView.java
View file @
052eee2
...
...
@@ -17,6 +17,7 @@ import fi.insomnia.bortal.enums.apps.ShopPermission;
import
fi.insomnia.bortal.enums.apps.UserPermission
;
import
fi.insomnia.bortal.model.ReaderEvent
;
import
fi.insomnia.bortal.model.User
;
import
fi.insomnia.bortal.utilities.SearchQuery
;
import
fi.insomnia.bortal.web.cdiview.GenericCDIView
;
@Named
...
...
@@ -72,7 +73,7 @@ public class ReaderView extends GenericCDIView {
if
(
usersearch
==
null
||
usersearch
.
length
()
<
2
)
{
super
.
addFaceMessage
(
"user.tooShortSearch"
);
}
else
{
userlist
=
UserCardWrapper
.
initWrapper
(
userbean
.
getUsers
(
0
,
0
,
null
,
usersearch
).
getResults
(),
userbean
);
userlist
=
UserCardWrapper
.
initWrapper
(
userbean
.
getUsers
(
new
SearchQuery
(
0
,
0
,
null
,
usersearch
)
).
getResults
(),
userbean
);
}
return
null
;
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserSearchView.java
View file @
052eee2
...
...
@@ -23,7 +23,7 @@ public class UserSearchView extends PaginationView<User> {
public
void
initView
()
{
if
(
requirePermissions
(
permbean
.
hasPermission
(
UserPermission
.
VIEW_ALL
)))
{
super
.
setResult
(
userbean
.
getEventUsers
(
page
,
pagesize
,
sort
,
search
));
super
.
setResult
(
userbean
.
getEventUsers
(
getSearchQuery
()
));
}
}
...
...
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