|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umk.mat.merdacz.JGServer.DbWrapper
Wrappes all db stuff. We are creating one object of this (one db connection) per player connection. This makes all quite easy (doesn't need to be synchronized because user requests are parsed sequently)
Field Summary | |
private java.lang.Class |
aClass
eXist Driver for XML:DB API |
private org.xmldb.api.base.Collection |
col
Root collection in database for this server (JGSdb currently hardcoded) |
private org.xmldb.api.base.Database |
db
Our servers database instance (using driver from aClass) |
private java.lang.String |
dbAddress
Address of db which we got form configuration file. |
private java.lang.String |
dbPass
User password used for db connection (from configuration file) |
private java.lang.String |
dbUser
User used for db connection (from configuration file) |
private static java.lang.String |
driver
eXist NXD driver is hardcoded - this should be changed in production version |
private org.xmldb.api.base.Collection |
game
JGSdb/games collection. |
private static java.lang.String |
gamesCollectionName
Hardcoded. |
private org.xmldb.api.base.Collection |
rooms
JGSdb/rooms collection |
private static java.lang.String |
roomsCollectionName
Hardcoded. |
private org.xmldb.api.base.Collection |
users
JGSdb/games/{gameName}/users collection |
private org.xmldb.api.modules.XPathQueryService |
xpqService
Service to pass XPath and XQuery questions to NXD (now eXist) |
private org.xmldb.api.modules.XUpdateQueryService |
xuqService
Service to pass XUpdate queries to NXD (now eXist) |
Constructor Summary | |
DbWrapper(java.lang.String dbAddress,
java.lang.String dbUser,
java.lang.String dbPass)
Wrappes connection to NXD. |
Method Summary | |
void |
dbAddInvite(java.lang.String playerName,
java.lang.String roomName)
Uses XUpdate to append <invite> element under
<invitations> node in proper roomName room. |
boolean |
dbAddRoom(java.lang.String roomName,
java.lang.String roomOwner,
java.lang.String roomType)
Adds file {roomName}.xml to JGSdb/games/{gameName}/rooms with proper information about created room. |
boolean |
dbCheckLogin(java.lang.String name,
java.lang.String password)
Checks whether login name and password match |
java.lang.String |
dbGetRooms()
Gets rooms from db as XML. |
boolean |
dbRegister(java.lang.String name,
java.lang.String password)
Registers new user in database. |
void |
dbRemoveRoom(java.lang.String roomName)
We don't check ownership of room here. |
void |
setGame(java.lang.String gameName)
Must be called before any other method use. |
void |
unsetGame()
It probably doesn't really need to be called after logout, but calling it is quite good idea. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static java.lang.String driver
private java.lang.Class aClass
private org.xmldb.api.base.Database db
private org.xmldb.api.base.Collection col
private static java.lang.String gamesCollectionName
private org.xmldb.api.base.Collection game
private static java.lang.String roomsCollectionName
private org.xmldb.api.base.Collection rooms
private org.xmldb.api.base.Collection users
private java.lang.String dbAddress
private java.lang.String dbUser
private java.lang.String dbPass
private org.xmldb.api.modules.XPathQueryService xpqService
private org.xmldb.api.modules.XUpdateQueryService xuqService
Constructor Detail |
public DbWrapper(java.lang.String dbAddress, java.lang.String dbUser, java.lang.String dbPass) throws DbWrapperException
dbAddress
- dbUser
- dbPass
-
DbWrapperException
Method Detail |
public void setGame(java.lang.String gameName) throws DbWrapperException
gameName
- indicates sub-collection of JGSdb/games which to use
DbWrapperException
org.xmldb.api.base.XMLDBException
public void unsetGame()
public boolean dbCheckLogin(java.lang.String name, java.lang.String password) throws DbWrapperException
name
- password
-
DbWrapperException
public boolean dbRegister(java.lang.String name, java.lang.String password) throws DbWrapperException
name
- password
-
DbWrapperException
public boolean dbAddRoom(java.lang.String roomName, java.lang.String roomOwner, java.lang.String roomType) throws DbWrapperException
Doesn't we double check room existence?
roomName
- roomOwner
- roomType
-
DbWrapperException
public void dbRemoveRoom(java.lang.String roomName) throws DbWrapperException
roomName
-
DbWrapperException
public void dbAddInvite(java.lang.String playerName, java.lang.String roomName) throws DbWrapperException
<invite>
element under
<invitations>
node in proper roomName room.
playerName
- roomName
-
DbWrapperException
public java.lang.String dbGetRooms() throws DbWrapperException
DbWrapperException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |