dist1.acb.CBL
Class Primary

java.lang.Object
  extended byjava.lang.Thread
      extended bydist1.acb.common.transport.AbstractConnectionServer
          extended bydist1.acb.CBL.Primary
All Implemented Interfaces:
java.lang.Runnable, Server, UpdatesExecutor

public class Primary
extends AbstractConnectionServer
implements Server

The Primary

Version:
$Revision: 1.40 $
Author:
Alexander Stasiv

Nested Class Summary
 class Primary.ClientManager
          Client manager
 
Field Summary
 
Fields inherited from class dist1.acb.common.transport.AbstractConnectionServer
log, socketPort
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
Primary(java.util.LinkedList replicasBackup)
          Constructor for the Primary object
 
Method Summary
protected  AbstractPersonalManager createPersonalManager(java.net.Socket s, java.lang.ThreadGroup group)
          Concrete creating a PersonalManager
 java.util.logging.Logger getLogger()
          Returns logger for current server
 java.util.LinkedList getReplicasBackup()
          Returns list for backuping replicas
 CBL getThisCBL()
          Returns information about this CBL
protected  void handleUnrecoverableError(java.lang.Throwable e)
           
 Response hBeginSellTransaction(java.lang.String login, RequestUpdate request)
          Handler for request BeginSellTransaction
 Response hCloseSession(java.lang.String login, RequestUpdate request)
          Handler for request CloseSession
 Response hDeleteOldUsers(java.lang.String login, RequestUpdate request)
          Handler for request DeleteOldUsers
 Response hEndSellTransaction(java.lang.String login, RequestUpdate request)
          Handler for request BeginSellTransaction
 Response hInitCBLTable(java.lang.String login, RequestUpdate request)
          Handler for request InitCBLTable
 Response hInsertLog(java.lang.String login, RequestUpdate request)
          Handler for request insert log
 Response hLogin(java.lang.String login, RequestUpdate request)
          Handler for request Login
 Response hMoneyFromAccount(java.lang.String login, RequestUpdate request)
          Handler for request MoneyFromAccount
 Response hMoneyToAccount(java.lang.String login, RequestUpdate request)
          Handler for request MoneyToAccount
 Response hotJoin(RequestForHotJoin request)
          Handler for request for HotJoin.
 Response hRegister(java.lang.String login, RequestUpdate request)
          Handler for request Register
 Response hRemoveCBL(java.lang.String login, RequestUpdate request)
          Handler for request RemoveCBL
 Response hRemoveFiles(java.lang.String login, RequestUpdate request)
          Handler for request RemoveFiles
 Response hShare(java.lang.String login, RequestUpdate request)
          Handler for request Share
 Response hUpdateCBL(java.lang.String login, RequestUpdate request)
          Handler for request insert log
 Response hUpdateUser(java.lang.String login, RequestUpdate request)
          Handler for request insert log
 boolean isPrimary()
          Checks if the current server is the Primary
 void run()
          Main processing method for the Primary object
 void startServer()
          Start the server
 void stopServer()
          Stop the server
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Primary

public Primary(java.util.LinkedList replicasBackup)
        throws java.lang.Exception
Constructor for the Primary object

Parameters:
replicasBackup - if this parameter is not null, the Primary will start the work using the HotJoin Protocol
Throws:
java.lang.Exception - if something wrong
Method Detail

getLogger

public java.util.logging.Logger getLogger()
Returns logger for current server

Specified by:
getLogger in interface Server
Returns:
Logger for current server

isPrimary

public boolean isPrimary()
Checks if the current server is the Primary

Specified by:
isPrimary in interface Server
Returns:
true if the Server is the Primary, false is it is a Backup

getReplicasBackup

public java.util.LinkedList getReplicasBackup()
Returns list for backuping replicas

Specified by:
getReplicasBackup in interface Server
Returns:
List for backuping replicas

getThisCBL

public CBL getThisCBL()
Returns information about this CBL

Specified by:
getThisCBL in interface Server
Returns:
Regerence to CBL object

hBeginSellTransaction

public Response hBeginSellTransaction(java.lang.String login,
                                      RequestUpdate request)
Handler for request BeginSellTransaction

Specified by:
hBeginSellTransaction in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hCloseSession

public Response hCloseSession(java.lang.String login,
                              RequestUpdate request)
Handler for request CloseSession

Specified by:
hCloseSession in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hDeleteOldUsers

public Response hDeleteOldUsers(java.lang.String login,
                                RequestUpdate request)
Handler for request DeleteOldUsers

Specified by:
hDeleteOldUsers in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hEndSellTransaction

public Response hEndSellTransaction(java.lang.String login,
                                    RequestUpdate request)
Handler for request BeginSellTransaction

Specified by:
hEndSellTransaction in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hInitCBLTable

public Response hInitCBLTable(java.lang.String login,
                              RequestUpdate request)
Handler for request InitCBLTable

Specified by:
hInitCBLTable in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hInsertLog

public Response hInsertLog(java.lang.String login,
                           RequestUpdate request)
Handler for request insert log

Specified by:
hInsertLog in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hLogin

public Response hLogin(java.lang.String login,
                       RequestUpdate request)
Handler for request Login

Specified by:
hLogin in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hMoneyFromAccount

public Response hMoneyFromAccount(java.lang.String login,
                                  RequestUpdate request)
Handler for request MoneyFromAccount

Specified by:
hMoneyFromAccount in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hMoneyToAccount

public Response hMoneyToAccount(java.lang.String login,
                                RequestUpdate request)
Handler for request MoneyToAccount

Specified by:
hMoneyToAccount in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hRegister

public Response hRegister(java.lang.String login,
                          RequestUpdate request)
Handler for request Register

Specified by:
hRegister in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hRemoveCBL

public Response hRemoveCBL(java.lang.String login,
                           RequestUpdate request)
Handler for request RemoveCBL

Specified by:
hRemoveCBL in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hRemoveFiles

public Response hRemoveFiles(java.lang.String login,
                             RequestUpdate request)
Handler for request RemoveFiles

Specified by:
hRemoveFiles in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hShare

public Response hShare(java.lang.String login,
                       RequestUpdate request)
Handler for request Share

Specified by:
hShare in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hUpdateCBL

public Response hUpdateCBL(java.lang.String login,
                           RequestUpdate request)
Handler for request insert log

Specified by:
hUpdateCBL in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hUpdateUser

public Response hUpdateUser(java.lang.String login,
                            RequestUpdate request)
Handler for request insert log

Specified by:
hUpdateUser in interface UpdatesExecutor
Parameters:
login - Urer's login
request - The request
Returns:
A response

hotJoin

public Response hotJoin(RequestForHotJoin request)
Handler for request for HotJoin. Used by ControlSocket

Parameters:
request - The request
Returns:
A response

run

public void run()
Main processing method for the Primary object

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class AbstractConnectionServer

startServer

public void startServer()
Start the server

Specified by:
startServer in interface Server

stopServer

public void stopServer()
Stop the server

Specified by:
stopServer in interface Server

createPersonalManager

protected AbstractPersonalManager createPersonalManager(java.net.Socket s,
                                                        java.lang.ThreadGroup group)
Concrete creating a PersonalManager

Specified by:
createPersonalManager in class AbstractConnectionServer
Parameters:
s - A socket with connected client
group - Thread group to which current thread will be related
Returns:
New object ClientManager

handleUnrecoverableError

protected void handleUnrecoverableError(java.lang.Throwable e)
Specified by:
handleUnrecoverableError in class AbstractConnectionServer


Copyright © 2004 Phoenix Team (CMU/AIT). All Rights Reserved.