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 5db922ed
authored
Apr 18, 2010
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Plain Diff
Moved PlaceMap Servlet implementation to beans.
2 parents
6fd7ba35
dec183d9
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
409 additions
and
246 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/EventBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PlaceMapBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/SecurityBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/TestDataBean.java
code/LanBortalWeb/src/fi/insomnia/bortal/view/cdkansils.png → code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/testmap.png
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/EventChildGenericFacade.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/EventFacade.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/EventBeanLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/PlaceMapBeanLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/TestDataBeanLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/EventChildGenericFacadeLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/EventFacadeLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/EventMapFacadeLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/GenericFacadeLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/PlaceFacadeLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/UserFacadeLocal.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/EventStatus.java
code/LanBortalWeb/src/fi/insomnia/bortal/HostnameFilter.java
code/LanBortalWeb/src/fi/insomnia/bortal/servlet/PlaceMap.java
code/LanBortalWeb/src/fi/insomnia/bortal/view/TestDataView.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/EventBean.java
0 → 100644
View file @
5db922e
package
fi
.
insomnia
.
bortal
.
beans
;
import
javax.ejb.EJB
;
import
javax.ejb.Stateless
;
import
javax.persistence.TypedQuery
;
import
fi.insomnia.bortal.facade.EventFacade
;
import
fi.insomnia.bortal.model.Event
;
/**
* Session Bean implementation class EventBean
*/
@Stateless
public
class
EventBean
implements
EventBeanLocal
{
@EJB
private
EventFacade
eventFacade
;
@Override
public
Event
getEventByHostname
(
String
hostname
)
{
Event
ret
=
eventFacade
.
findByHostname
(
hostname
);
if
(
ret
==
null
)
{
ret
=
findOrCreateDefaultEvent
();
}
return
ret
;
}
public
Event
findOrCreateDefaultEvent
()
{
Event
ret
=
eventFacade
.
findByHostname
(
""
);
if
(
ret
==
null
)
{
ret
=
new
Event
();
ret
.
setReferer
(
""
);
ret
.
setName
(
"DEFAULT EVENT"
);
eventFacade
.
create
(
ret
);
}
return
ret
;
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PlaceMapBean.java
0 → 100644
View file @
5db922e
package
fi
.
insomnia
.
bortal
.
beans
;
import
java.awt.image.BufferedImage
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
javax.ejb.EJB
;
import
javax.ejb.Stateless
;
import
javax.imageio.ImageIO
;
import
fi.insomnia.bortal.facade.EventMapFacade
;
import
fi.insomnia.bortal.facade.PlaceFacade
;
import
fi.insomnia.bortal.facade.UserFacade
;
import
fi.insomnia.bortal.model.Event
;
import
fi.insomnia.bortal.model.EventMap
;
import
fi.insomnia.bortal.model.EventPk
;
import
fi.insomnia.bortal.model.Place
;
import
fi.insomnia.bortal.model.PlaceGroup
;
import
fi.insomnia.bortal.model.User
;
/**
* Session Bean implementation class PlaceMapBean
*/
@Stateless
public
class
PlaceMapBean
implements
PlaceMapBeanLocal
{
/**
* Default constructor.
*/
public
PlaceMapBean
()
{
// TODO Auto-generated constructor stub
}
@EJB
private
PlaceFacade
placeFacade
;
@EJB
private
EventMapFacade
eventMapFacade
;
@EJB
private
UserFacade
userFacade
;
@Override
public
void
printPlaceMapToStream
(
OutputStream
outputStream
,
String
filetype
,
Event
event
,
Integer
mapId
,
Integer
userId
,
Integer
placeId
)
throws
IOException
{
Integer
eventId
=
event
.
getId
();
Place
place
=
null
;
EventMap
map
=
null
;
if
(
placeId
!=
null
)
{
EventPk
pk
=
new
EventPk
();
pk
.
setEventId
(
eventId
);
pk
.
setId
(
placeId
);
place
=
placeFacade
.
find
(
eventId
,
placeId
);
}
if
(
place
!=
null
)
{
map
=
place
.
getMap
();
}
else
{
EventPk
pk
=
new
EventPk
();
pk
.
setEventId
(
eventId
);
pk
.
setId
(
mapId
);
map
=
eventMapFacade
.
find
(
pk
);
}
BufferedImage
image
=
map
.
getMapWithPlaces
();
if
(
userId
!=
null
)
{
User
user
=
userFacade
.
find
(
userId
);
if
(
user
!=
null
)
{
for
(
PlaceGroup
uplacegroup
:
user
.
getPlaceGroupList
())
{
for
(
Place
uplace
:
uplacegroup
.
getPlaces
())
uplace
.
drawOwnedPlace
(
image
);
}
}
}
if
(
place
!=
null
)
{
place
.
drawSelectedPlace
(
image
);
}
ImageIO
.
write
(
image
,
filetype
,
outputStream
);
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/SecurityBean.java
View file @
5db922e
...
...
@@ -22,9 +22,9 @@ public class SecurityBean implements SecurityBeanLocal {
private
final
Logger
logger
=
org
.
slf4j
.
LoggerFactory
.
getLogger
(
SecurityBean
.
class
);
@EJB
LogEntryTypeFacade
typeFacade
;
private
LogEntryTypeFacade
typeFacade
;
@EJB
LogEntryFacade
entryFacade
;
private
LogEntryFacade
entryFacade
;
/**
* Default constructor.
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/TestDataBean.java
0 → 100644
View file @
5db922e
package
fi
.
insomnia
.
bortal
.
beans
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URISyntaxException
;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
import
javax.ejb.EJB
;
import
javax.ejb.Stateless
;
import
fi.insomnia.bortal.facade.EventFacade
;
import
fi.insomnia.bortal.facade.EventMapFacade
;
import
fi.insomnia.bortal.facade.EventSettingsFacade
;
import
fi.insomnia.bortal.facade.EventStatusFacade
;
import
fi.insomnia.bortal.facade.PlaceFacade
;
import
fi.insomnia.bortal.facade.UserFacade
;
import
fi.insomnia.bortal.model.Event
;
import
fi.insomnia.bortal.model.EventMap
;
import
fi.insomnia.bortal.model.EventSettings
;
import
fi.insomnia.bortal.model.EventStatus
;
import
fi.insomnia.bortal.model.Place
;
import
fi.insomnia.bortal.model.User
;
/**
* Session Bean implementation class TestDataBean
*/
@Stateless
public
class
TestDataBean
implements
TestDataBeanLocal
{
public
static
final
String
TEST_MAP_IMAGE_NAME
=
"testmap.png"
;
@EJB
private
EventMapFacade
eventMapFacade
;
@EJB
private
EventStatusFacade
eventStatusFacade
;
@EJB
private
EventSettingsFacade
eventSettingsFacade
;
@EJB
private
EventFacade
eventFacade
;
@EJB
private
UserFacade
userFacade
;
@EJB
private
PlaceFacade
placeFacade
;
/**
* Default constructor.
*/
public
TestDataBean
()
{
// TODO Auto-generated constructor stub
}
public
EventMap
generateTestMap
(
Event
event
)
{
try
{
EventMap
map
=
new
EventMap
();
map
.
setEvent
(
event
);
InputStream
stream
=
getClass
().
getResourceAsStream
(
TEST_MAP_IMAGE_NAME
);
File
file
=
new
File
(
getClass
().
getResource
(
TEST_MAP_IMAGE_NAME
).
toURI
());
long
length
=
file
.
length
();
// Create the byte array to hold the data
byte
[]
bytes
=
new
byte
[(
int
)
length
];
// Read in the bytes
int
offset
=
0
;
int
numRead
=
0
;
while
(
offset
<
bytes
.
length
&&
(
numRead
=
stream
.
read
(
bytes
,
offset
,
bytes
.
length
-
offset
))
>=
0
)
{
offset
+=
numRead
;
}
// Ensure all the bytes have been read in
if
(
offset
<
bytes
.
length
)
{
throw
new
IOException
(
"Could not completely read file "
+
file
.
getName
());
}
stream
.
close
();
map
.
setMapData
(
bytes
);
eventMapFacade
.
create
(
map
);
return
map
;
}
catch
(
URISyntaxException
ex
)
{
Logger
.
getLogger
(
getClass
().
getName
()).
log
(
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
IOException
ex
)
{
Logger
.
getLogger
(
getClass
().
getName
()).
log
(
Level
.
SEVERE
,
null
,
ex
);
}
return
null
;
}
/**
* Generate all metashit, ex. events.
*/
public
Event
generateMetaData
()
{
EventStatus
status
=
new
EventStatus
();
status
.
setStatusName
(
"BLAAH"
);
eventStatusFacade
.
create
(
status
);
EventSettings
settings
=
new
EventSettings
();
settings
.
setOrganisation
(
"MUN ORGANISAATIO; EI SUN!"
);
settings
.
setAdmin
(
generateUser
());
eventSettingsFacade
.
create
(
settings
);
Event
event
=
new
Event
();
event
.
setName
(
"testEvent"
);
event
.
setSettings
(
settings
);
event
.
setStatus
(
status
);
eventFacade
.
create
(
event
);
return
event
;
}
private
User
generateUser
()
{
User
user
=
new
User
();
user
.
setNick
(
"Nick"
);
user
.
setPassword
(
"plaah"
);
userFacade
.
create
(
user
);
return
user
;
}
public
void
generateTestPlaces
(
EventMap
map
)
{
for
(
int
x
=
5
;
x
<
400
;
x
+=
50
)
{
for
(
int
y
=
5
;
y
<
150
;
y
+=
50
)
{
Place
place
=
new
Place
();
place
.
setMap
(
map
);
place
.
setMapX
(
x
);
place
.
setMapY
(
y
);
placeFacade
.
create
(
place
);
}
}
}
}
code/LanBortal
Web/src/fi/insomnia/bortal/view/cdkansils
.png
→
code/LanBortal
Beans/ejbModule/fi/insomnia/bortal/beans/testmap
.png
View file @
5db922e
12.8 KB
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/EventChildGenericFacade.java
View file @
5db922e
...
...
@@ -6,13 +6,21 @@ import fi.insomnia.bortal.model.EventPk;
/**
* Session Bean implementation class GenericFacade
*/
public
abstract
class
EventChildGenericFacade
<
T
extends
EventChildInterface
>
extends
GenericFacade
<
EventPk
,
T
>
implements
EventChildGenericFacadeLocal
<
T
>
{
public
abstract
class
EventChildGenericFacade
<
T
extends
EventChildInterface
>
extends
GenericFacade
<
EventPk
,
T
>
{
public
EventChildGenericFacade
(
Class
<
T
>
entityClass
)
{
super
(
entityClass
);
}
public
T
find
(
Integer
eventId
,
Integer
id
)
{
EventPk
pk
=
new
EventPk
();
pk
.
setEventId
(
eventId
);
pk
.
setId
(
id
);
return
find
(
pk
);
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/EventFacade.java
View file @
5db922e
...
...
@@ -4,6 +4,8 @@ import javax.ejb.LocalBean;
import
javax.ejb.Stateless
;
import
javax.persistence.EntityManager
;
import
javax.persistence.PersistenceContext
;
import
javax.persistence.TypedQuery
;
import
fi.insomnia.bortal.model.Event
;
@Stateless
...
...
@@ -21,4 +23,13 @@ public class EventFacade extends GenericFacade<Integer, Event> {
return
em
;
}
public
Event
findByHostname
(
String
hostname
)
{
TypedQuery
<
Event
>
q
=
em
.
createNamedQuery
(
"Event.findByReferer"
,
Event
.
class
);
q
.
setParameter
(
"referer"
,
hostname
);
return
this
.
getSingleNullableResult
(
q
);
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/GenericFacade.java
View file @
5db922e
...
...
@@ -13,7 +13,7 @@ import fi.insomnia.bortal.model.ModelInterface;
/**
* Session Bean implementation class GenericFacade
*/
public
abstract
class
GenericFacade
<
PK
,
T
extends
ModelInterface
<
PK
>>
implements
GenericFacadeLocal
<
PK
,
T
>
{
public
abstract
class
GenericFacade
<
PK
,
T
extends
ModelInterface
<
PK
>>{
private
Class
<
T
>
entClass
;
public
GenericFacade
(
Class
<
T
>
entityClass
)
...
...
@@ -27,16 +27,16 @@ public abstract class GenericFacade<PK,T extends ModelInterface<PK>> implements
protected
abstract
EntityManager
getEm
();
@Override
public
void
create
(
T
entity
)
{
getEm
().
persist
(
entity
);
}
@Override
public
void
remove
(
T
entity
)
{
getEm
().
remove
(
entity
);
}
@Override
public
T
merge
(
T
entity
)
{
return
getEm
().
merge
(
entity
);
}
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/UserFacade.java
View file @
5db922e
...
...
@@ -10,7 +10,7 @@ import fi.insomnia.bortal.model.User;
@Stateless
@LocalBean
public
class
UserFacade
extends
GenericFacade
<
Integer
,
User
>
implements
UserFacadeLocal
{
public
class
UserFacade
extends
GenericFacade
<
Integer
,
User
>{
public
static
final
String
DEFAULT_USER_LOGIN
=
"ANONYMOUS"
;
...
...
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/EventBeanLocal.java
0 → 100644
View file @
5db922e
package
fi
.
insomnia
.
bortal
.
beans
;
import
javax.ejb.Local
;
import
fi.insomnia.bortal.model.Event
;
@Local
public
interface
EventBeanLocal
{
Event
getEventByHostname
(
String
hostname
);
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/PlaceMapBeanLocal.java
0 → 100644
View file @
5db922e
package
fi
.
insomnia
.
bortal
.
beans
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
javax.ejb.Local
;
import
fi.insomnia.bortal.model.Event
;
@Local
public
interface
PlaceMapBeanLocal
{
void
printPlaceMapToStream
(
OutputStream
outputStream
,
String
filetype
,
Event
event
,
Integer
mapId
,
Integer
userId
,
Integer
placeId
)
throws
IOException
;
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/TestDataBeanLocal.java
0 → 100644
View file @
5db922e
package
fi
.
insomnia
.
bortal
.
beans
;
import
javax.ejb.Local
;
import
fi.insomnia.bortal.model.Event
;
import
fi.insomnia.bortal.model.EventMap
;
@Local
public
interface
TestDataBeanLocal
{
EventMap
generateTestMap
(
Event
event
);
Event
generateMetaData
();
void
generateTestPlaces
(
EventMap
map
);
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/EventChildGenericFacadeLocal.java
deleted
100644 → 0
View file @
6fd7ba3
package
fi
.
insomnia
.
bortal
.
facade
;
import
fi.insomnia.bortal.model.EventChildInterface
;
import
fi.insomnia.bortal.model.EventPk
;
public
interface
EventChildGenericFacadeLocal
<
T
extends
EventChildInterface
>
extends
GenericFacadeLocal
<
EventPk
,
T
>{
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/EventFacadeLocal.java
deleted
100644 → 0
View file @
6fd7ba3
package
fi
.
insomnia
.
bortal
.
facade
;
import
fi.insomnia.bortal.model.Event
;
public
interface
EventFacadeLocal
extends
GenericFacadeLocal
<
Integer
,
Event
>
{
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/EventMapFacadeLocal.java
deleted
100644 → 0
View file @
6fd7ba3
package
fi
.
insomnia
.
bortal
.
facade
;
import
fi.insomnia.bortal.model.EventMap
;
public
interface
EventMapFacadeLocal
extends
EventChildGenericFacadeLocal
<
EventMap
>
{
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/GenericFacadeLocal.java
deleted
100644 → 0
View file @
6fd7ba3
package
fi
.
insomnia
.
bortal
.
facade
;
import
java.util.List
;
import
javax.ejb.Local
;
import
fi.insomnia.bortal.model.ModelInterface
;
@Local
public
interface
GenericFacadeLocal
<
PK
,
T
extends
ModelInterface
<
PK
>>
{
void
create
(
T
entity
);
void
remove
(
T
entity
);
T
merge
(
T
entity
);
T
find
(
PK
id
);
List
<
T
>
findAll
();
List
<
T
>
findRange
(
int
[]
range
);
long
count
();
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/PlaceFacadeLocal.java
deleted
100644 → 0
View file @
6fd7ba3
package
fi
.
insomnia
.
bortal
.
facade
;
import
fi.insomnia.bortal.model.Place
;
public
interface
PlaceFacadeLocal
extends
EventChildGenericFacadeLocal
<
Place
>
{
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/facade/UserFacadeLocal.java
deleted
100644 → 0
View file @
6fd7ba3
package
fi
.
insomnia
.
bortal
.
facade
;
import
fi.insomnia.bortal.model.User
;
public
interface
UserFacadeLocal
extends
GenericFacadeLocal
<
Integer
,
User
>
{
}
code/LanBortalDatabase/src/fi/insomnia/bortal/model/EventStatus.java
View file @
5db922e
...
...
@@ -24,26 +24,22 @@ import javax.persistence.Version;
*
*/
@Entity
@Table
(
name
=
"event_status"
,
uniqueConstraints
=
{
@UniqueConstraint
(
columnNames
=
{
"status_name"
})
})
@NamedQueries
(
{
@Table
(
name
=
"event_status"
,
uniqueConstraints
=
{
@UniqueConstraint
(
columnNames
=
{
"status_name"
})})
@NamedQueries
({
@NamedQuery
(
name
=
"EventStatus.findAll"
,
query
=
"SELECT e FROM EventStatus e"
),
@NamedQuery
(
name
=
"EventStatus.findByStatusName"
,
query
=
"SELECT e FROM EventStatus e WHERE e.statusName = :statusName"
)
})
@NamedQuery
(
name
=
"EventStatus.findByStatusName"
,
query
=
"SELECT e FROM EventStatus e WHERE e.statusName = :statusName"
)})
public
class
EventStatus
implements
ModelInterface
<
Integer
>
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@Column
(
name
=
"event_status_id"
,
nullable
=
false
)
private
Integer
id
;
@Column
(
name
=
"status_name"
,
nullable
=
false
)
private
String
statusName
;
@OneToMany
(
cascade
=
CascadeType
.
ALL
,
mappedBy
=
"status"
)
private
List
<
Event
>
events
;
@Version
@Column
(
nullable
=
false
)
private
int
jpaVersionField
=
0
;
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/HostnameFilter.java
View file @
5db922e
...
...
@@ -83,4 +83,5 @@ public class HostnameFilter implements Filter {
return
ret
;
}
}
code/LanBortalWeb/src/fi/insomnia/bortal/servlet/PlaceMap.java
View file @
5db922e
...
...
@@ -4,24 +4,20 @@
*/
package
fi
.
insomnia
.
bortal
.
servlet
;
import
fi.insomnia.bortal.facade.EventMapFacadeLocal
;
import
fi.insomnia.bortal.facade.PlaceFacadeLocal
;
import
fi.insomnia.bortal.facade.UserFacadeLocal
;
import
fi.insomnia.bortal.model.EventMap
;
import
fi.insomnia.bortal.model.EventPk
;
import
fi.insomnia.bortal.model.Place
;
import
fi.insomnia.bortal.model.User
;
import
java.awt.image.BufferedImage
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
javax.ejb.EJB
;
import
javax.imageio.ImageIO
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServlet
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
fi.insomnia.bortal.HostnameFilter
;
import
fi.insomnia.bortal.beans.EventBeanLocal
;
import
fi.insomnia.bortal.beans.PlaceMapBeanLocal
;
import
fi.insomnia.bortal.model.Event
;
/**
*
* @author tuukka
...
...
@@ -32,98 +28,67 @@ public class PlaceMap extends HttpServlet {
*
*/
private
static
final
long
serialVersionUID
=
8769688627918936258L
;
@EJB
private
PlaceMapBeanLocal
placemapBean
;
private
EventBeanLocal
eventBean
;
public
static
final
String
PARAMETER_EVENT_MAP_ID
=
"mapid"
;
public
static
final
String
PARAMETER_SELECTED_PLACE_ID
=
"placeid"
;
public
static
final
String
PARAMETER_CURRENT_USER_ID
=
"userid"
;
public
static
final
String
PARAMETER_EVENT_ID
=
"eventid"
;
@EJB
private
PlaceFacadeLocal
placeFacade
;
@EJB
private
EventMapFacadeLocal
eventMapFacade
;
@EJB
private
UserFacadeLocal
userFacade
;
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request
* servlet request
* @param response
* servlet response
* @throws ServletException
* if a servlet-specific error occurs
* @throws IOException
* if an I/O error occurs
*/
protected
void
processRequest
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
ServletException
,
IOException
{
response
.
setContentType
(
"text/html;charset=UTF-8"
);
PrintWriter
out
=
response
.
getWriter
();
try
{
Integer
eventId
=
getIntegerParameter
(
request
,
PARAMETER_EVENT_ID
);
try
{
Integer
placeId
=
getIntegerParameter
(
request
,
PARAMETER_SELECTED_PLACE_ID
);
Integer
mapId
=
getIntegerParameter
(
request
,
PARAMETER_EVENT_MAP_ID
);
Integer
userId
=
getIntegerParameter
(
request
,
PARAMETER_CURRENT_USER_ID
);
Place
place
=
null
;
EventMap
map
=
null
;
if
(
placeId
!=
null
)
{
EventPk
pk
=
new
EventPk
();
pk
.
setEventId
(
eventId
);
pk
.
setId
(
placeId
);
place
=
placeFacade
.
find
(
pk
);
}
if
(
place
!=
null
)
{
map
=
place
.
getMap
();
}
else
{
EventPk
pk
=
new
EventPk
();
pk
.
setEventId
(
eventId
);
pk
.
setId
(
mapId
);
map
=
eventMapFacade
.
find
(
pk
);
}
BufferedImage
image
=
map
.
getMapWithPlaces
();
if
(
userId
!=
null
)
{
User
user
=
userFacade
.
find
(
userId
);
if
(
user
!=
null
)
{
place
.
drawOwnedPlace
(
image
);
}
}
if
(
place
!=
null
)
{
place
.
drawSelectedPlace
(
image
);
}
response
.
setContentType
(
"image/png"
);
placemapBean
.
printPlaceMapToStream
(
response
.
getOutputStream
(),
"png"
,
getEvent
(
request
),
mapId
,
userId
,
placeId
);
response
.
setContentType
(
"image/png"
);
ImageIO
.
write
(
image
,
"png"
,
response
.
getOutputStream
());
/* TODO output your page here
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet PlaceMap</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet PlaceMap at " + request.getContextPath () + "</h1>");
out.println("</body>");
out.println("</html>");
/*
* TODO output your page here out.println("<html>");
* out.println("<head>");
* out.println("<title>Servlet PlaceMap</title>");
* out.println("</head>"); out.println("<body>");
* out.println("<h1>Servlet PlaceMap at " + request.getContextPath
* () + "</h1>"); out.println("</body>"); out.println("</html>");
*/
}
finally
{
out
.
close
();
}
}
private
Event
getEvent
(
HttpServletRequest
request
)
{
String
hostname
=
HostnameFilter
.
getHostname
(
request
.
getSession
());
return
eventBean
.
getEventByHostname
(
hostname
);
}
public
void
addPlacesToMap
()
{
}
/***
* Convert request parameter into integer
*
* @param request
* @param parameter
* @return
...
...
@@ -138,13 +103,19 @@ public class PlaceMap extends HttpServlet {
return
null
;
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
// <editor-fold defaultstate="collapsed"
// desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*
* @param request
* servlet request
* @param response
* servlet response
* @throws ServletException
* if a servlet-specific error occurs
* @throws IOException
* if an I/O error occurs
*/
@Override
protected
void
doGet
(
HttpServletRequest
request
,
HttpServletResponse
response
)
...
...
@@ -154,10 +125,15 @@ public class PlaceMap extends HttpServlet {
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*
* @param request
* servlet request
* @param response
* servlet response
* @throws ServletException
* if a servlet-specific error occurs
* @throws IOException
* if an I/O error occurs
*/
@Override
protected
void
doPost
(
HttpServletRequest
request
,
HttpServletResponse
response
)
...
...
@@ -167,6 +143,7 @@ public class PlaceMap extends HttpServlet {
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/view/TestDataView.java
View file @
5db922e
...
...
@@ -4,23 +4,13 @@
*/
package
fi
.
insomnia
.
bortal
.
view
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URISyntaxException
;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
import
javax.ejb.EJB
;
import
javax.faces.bean.ManagedBean
;
import
javax.faces.bean.RequestScoped
;
import
fi.insomnia.bortal.facade.EventFacadeLocal
;
import
fi.insomnia.bortal.facade.EventMapFacadeLocal
;
import
fi.insomnia.bortal.facade.PlaceFacadeLocal
;
import
fi.insomnia.bortal.beans.TestDataBeanLocal
;
import
fi.insomnia.bortal.model.Event
;
import
fi.insomnia.bortal.model.EventMap
;
import
fi.insomnia.bortal.model.Place
;
/**
*
...
...
@@ -30,92 +20,22 @@ import fi.insomnia.bortal.model.Place;
@RequestScoped
public
class
TestDataView
{
public
static
final
String
TEST_MAP_IMAGE_NAME
=
"testmap.png"
;
@EJB
private
EventMapFacadeLocal
eventMapFacade
;
@EJB
private
EventFacadeLocal
eventFacade
;
private
TestDataBeanLocal
testdatabean
;
private
PlaceFacadeLocal
placeFacade
;
public
void
generateData
()
{
Event
event
=
generateMetaData
();
EventMap
map
=
generateTestMap
(
event
);
generateTestPlaces
(
map
);
}
private
EventMap
generateTestMap
(
Event
event
)
{
try
{
EventMap
map
=
new
EventMap
();
map
.
setEvent
(
event
);
InputStream
stream
=
getClass
().
getResourceAsStream
(
TEST_MAP_IMAGE_NAME
);
File
file
=
new
File
(
getClass
().
getResource
(
TEST_MAP_IMAGE_NAME
).
toURI
());
long
length
=
file
.
length
();
// Create the byte array to hold the data
byte
[]
bytes
=
new
byte
[(
int
)
length
];
// Read in the bytes
int
offset
=
0
;
int
numRead
=
0
;
while
(
offset
<
bytes
.
length
&&
(
numRead
=
stream
.
read
(
bytes
,
offset
,
bytes
.
length
-
offset
))
>=
0
)
{
offset
+=
numRead
;
}
// Ensure all the bytes have been read in
if
(
offset
<
bytes
.
length
)
{
throw
new
IOException
(
"Could not completely read file "
+
file
.
getName
());
}
stream
.
close
();
Event
event
=
testdatabean
.
generateMetaData
();
EventMap
map
=
testdatabean
.
generateTestMap
(
event
);
testdatabean
.
generateTestPlaces
(
map
);
map
.
setMapData
(
bytes
);
eventMapFacade
.
create
(
map
);
return
map
;
}
catch
(
URISyntaxException
ex
)
{
Logger
.
getLogger
(
TestDataView
.
class
.
getName
()).
log
(
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
IOException
ex
)
{
Logger
.
getLogger
(
TestDataView
.
class
.
getName
()).
log
(
Level
.
SEVERE
,
null
,
ex
);
}
return
null
;
}
/**
* Generate all metashit, ex. events.
*/
private
Event
generateMetaData
()
{
Event
event
=
new
Event
();
event
.
setName
(
"testEvent"
);
eventFacade
.
create
(
event
);
return
event
;
}
private
void
generateTestPlaces
(
EventMap
map
)
{
for
(
int
x
=
5
;
x
<
400
;
x
+=
50
)
{
for
(
int
y
=
5
;
y
<
150
;
y
+=
50
)
{
Place
place
=
new
Place
();
place
.
setMap
(
map
);
place
.
setMapX
(
x
);
place
.
setMapY
(
y
);
placeFacade
.
create
(
place
);
}
}
}
/** Creates a new instance of TestDataView */
public
TestDataView
()
{
}
}
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