public class Main
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ADDRESS_KEY |
static java.lang.String |
AUTH_DELEGATES_KEY |
static java.lang.String |
AUTO_OBJECT_PREFIX_KEY |
static java.lang.String |
AUTO_SET_PERMISSIONS_FOR_NEW_OBJECTS |
static java.lang.String |
BIND_KEY |
static java.lang.String |
DAILY |
static int |
DEFAULT_HTTP_PORT |
static int |
DEFAULT_HTTPS_PORT |
static int |
DEFAULT_PORT |
static int |
DEFAULT_SSL_PORT |
static java.lang.String |
DO_PULL_REPLICATION_KEY |
static java.lang.String |
DO_PUSH_REPLICATION_KEY |
static int |
DOP_LISTEN_BACKLOG |
static int |
DOPSSL_LISTEN_BACKLOG |
static java.lang.String |
ENABLE_AUDIT_LOGS_KEY |
static java.lang.String |
HTTP_PORT_KEY |
static java.lang.String[] |
HTTPS_KEY_STORE_FILE_NAMES |
static java.lang.String |
HTTPS_PORT_KEY |
static java.lang.String |
LISTEN_IP_KEY |
static java.lang.String |
LOG_ACCESSES_KEY |
static java.lang.String |
LOG_SAVE_INTERVAL_KEY |
static java.lang.String |
MONTHLY |
static java.lang.String |
NEVER |
static java.lang.String |
OWNER_ATTRIBUTES_KEY |
static java.lang.String |
PORT_KEY |
static java.lang.String |
PRIVATE_KEY_FILE |
static java.lang.String |
PUBLIC_KEY_FILE |
static int |
PUBLIC_KEY_HDL_IDX |
static java.lang.String |
REDIRECT_STDERR_KEY |
static java.lang.String |
REGISTER_HANDLES_KEY |
static java.lang.String |
SERVER_ADMIN_KEY |
static java.lang.String |
SERVER_ID_KEY |
static java.lang.String |
SERVER_INFO_FILE |
static java.lang.String |
SERVICE_ID_KEY |
static java.lang.String |
SSL_PORT_KEY |
static java.lang.String |
STORAGE_CLASS_KEY |
static java.lang.String |
STORAGE_DIR_KEY |
static java.lang.String |
STORED_PASSWORDS_FILE |
static java.lang.String |
VERSION_ATT |
static java.lang.String |
WEEKLY |
Constructor and Description |
---|
Main(java.security.PrivateKey serverKey,
java.io.File baseDir,
SetupHelper setup) |
Modifier and Type | Method and Description |
---|---|
void |
addOperator(java.lang.String knowbotID,
java.io.InputStream knowbotLoc)
Add the given knowbot to the set of operators for this repository
|
void |
addWarToHttpServer(java.io.File war,
java.lang.String contextPath) |
DOAuthentication |
getAuth()
Returns the DOAuthentication that identifies this server.
|
java.lang.String[] |
getAuthorizationDelegateAttributes() |
Authorizer |
getAuthorizer()
Return the Authorizer that determines which operations are allowed by whom
|
boolean |
getAutoSetPermissionsForNewObjects()
Returns true if newly created objects should have all access permissions for
|
java.io.File |
getBaseFolder()
Return the folder under which all of this server's configuration and other components
are located.
|
java.util.Iterator |
getConfigKeys()
Get an iterator over the set of server configuration keys
|
java.lang.String |
getConfigVal(java.lang.String configKey)
Get the value from the configuration table that is associated with the given key
|
java.lang.String |
getConfigVal(java.lang.String configKey,
java.lang.String defaultValue)
Get the value from the configuration table that is associated with the given key.
|
DelegationClient |
getDelegationClient()
Return delegation client that is used to verify group membership
|
java.lang.String |
getNextObjectID()
Gets the next object ID in the sequence.
|
java.lang.String[] |
getOwnerAttributes() |
java.security.PublicKey |
getPublicKey()
Returns the public key of this server
|
java.lang.String |
getServerAdmin()
Return the server administrator (ie super-user) who can perform any operation on any object.
|
java.lang.String |
getServerID()
Returns the identifier for this server
|
net.cnri.knowbots.station.CollaborationHub |
getServiceRegistry()
Return the knowbot/operator registry in which operators and other services are registered
|
java.security.Signature |
getSigner()
Returns the Signature object that can be used to sign data that is
endorsed by this repository.
|
Storage |
getStorage()
Returns a direct reference to the object storage
|
java.lang.String |
getStoredPasswordForUser(java.lang.String userID)
Get password stored in a local file rather than the handle system
|
AbstractTransactionQueue |
getTxnQueue()
Returns the transaction queue for this server
|
boolean |
isListening() |
boolean |
isThisServer(java.lang.String aLocalServerID)
Returns true if the given DOServerInfo object refers to this server.
|
static void |
main(java.lang.String[] argv) |
void |
performLocalOperation(DOServerOperationContext context,
boolean skipAuthorization,
java.io.InputStream in,
java.io.OutputStream out)
Invoke the given operation in the repository after checking that the client has
permission to invoke the given operation
|
void |
performOperation(DOServerOperationContext context,
java.io.InputStream in,
java.io.OutputStream out) |
void |
performOperation(java.lang.String objectID,
java.lang.String operationID,
HeaderSet params,
java.io.InputStream in,
java.io.OutputStream out)
This method can be called by an outside object when this repository is run
in embedded mode.
|
void |
performRemoteOperation(DOServerOperationContext context,
Authorizer.AuthorizationInfo auth,
java.io.InputStream in,
java.io.OutputStream out)
Forward the operation to the repository that is responsible for the object,
if the client is permitted to do so.
|
static void |
realMain(java.lang.String[] argv) |
void |
registerHandle(java.lang.String newHandle,
java.lang.String objectName)
Creates the given handle, if necessary, and sets the object server for it to
this object server.
|
void |
serveRequests() |
void |
setConfigVal(java.lang.String configKey,
java.lang.String configVal)
Associate the given value with the given key in the configuration table
|
void |
setKnowbotMapping(java.lang.String key,
java.lang.Object value)
Set the given key-value mapping in the server-level table that knowbots
can use to communicate.
|
void |
setupKnowbotDir(java.io.File knowbotDir) |
void |
shutdown() |
static void |
shutdown(java.lang.String[] args) |
void |
stopServing() |
public static final java.lang.String SERVER_INFO_FILE
public static final java.lang.String PRIVATE_KEY_FILE
public static final java.lang.String PUBLIC_KEY_FILE
public static final java.lang.String STORED_PASSWORDS_FILE
public static final int PUBLIC_KEY_HDL_IDX
public static final int DEFAULT_PORT
public static final int DEFAULT_HTTP_PORT
public static final int DEFAULT_SSL_PORT
public static final int DEFAULT_HTTPS_PORT
public static final int DOP_LISTEN_BACKLOG
public static final int DOPSSL_LISTEN_BACKLOG
public static final java.lang.String OWNER_ATTRIBUTES_KEY
public static final java.lang.String AUTH_DELEGATES_KEY
public static final java.lang.String DO_PUSH_REPLICATION_KEY
public static final java.lang.String DO_PULL_REPLICATION_KEY
public static final java.lang.String ENABLE_AUDIT_LOGS_KEY
public static final java.lang.String REGISTER_HANDLES_KEY
public static final java.lang.String AUTO_OBJECT_PREFIX_KEY
public static final java.lang.String SERVER_ADMIN_KEY
public static final java.lang.String PORT_KEY
public static final java.lang.String BIND_KEY
public static final java.lang.String ADDRESS_KEY
public static final java.lang.String REDIRECT_STDERR_KEY
public static final java.lang.String LOG_ACCESSES_KEY
public static final java.lang.String LOG_SAVE_INTERVAL_KEY
public static final java.lang.String MONTHLY
public static final java.lang.String WEEKLY
public static final java.lang.String DAILY
public static final java.lang.String NEVER
public static final java.lang.String HTTP_PORT_KEY
public static final java.lang.String SSL_PORT_KEY
public static final java.lang.String HTTPS_PORT_KEY
public static final java.lang.String STORAGE_CLASS_KEY
public static final java.lang.String STORAGE_DIR_KEY
public static final java.lang.String SERVER_ID_KEY
public static final java.lang.String SERVICE_ID_KEY
public static final java.lang.String[] HTTPS_KEY_STORE_FILE_NAMES
public static final java.lang.String LISTEN_IP_KEY
public static final java.lang.String AUTO_SET_PERMISSIONS_FOR_NEW_OBJECTS
public static final java.lang.String VERSION_ATT
public Main(java.security.PrivateKey serverKey, java.io.File baseDir, SetupHelper setup) throws java.lang.Exception
java.lang.Exception
public static void main(java.lang.String[] argv) throws java.lang.Exception
java.lang.Exception
public static void realMain(java.lang.String[] argv) throws java.lang.Exception
java.lang.Exception
public void setupKnowbotDir(java.io.File knowbotDir) throws net.cnri.util.StringEncodingException, java.io.IOException
net.cnri.util.StringEncodingException
java.io.IOException
public boolean getAutoSetPermissionsForNewObjects()
public DelegationClient getDelegationClient()
public java.lang.String[] getOwnerAttributes()
public java.lang.String[] getAuthorizationDelegateAttributes()
public java.util.Iterator getConfigKeys()
public java.lang.String getConfigVal(java.lang.String configKey)
public java.lang.String getConfigVal(java.lang.String configKey, java.lang.String defaultValue)
public void setConfigVal(java.lang.String configKey, java.lang.String configVal)
public java.lang.String getStoredPasswordForUser(java.lang.String userID)
public java.io.File getBaseFolder()
public void addOperator(java.lang.String knowbotID, java.io.InputStream knowbotLoc) throws java.lang.Exception
java.lang.Exception
public final java.lang.String getServerID()
public Storage getStorage()
public final java.lang.String getNextObjectID() throws java.lang.Exception
java.lang.Exception
public final AbstractTransactionQueue getTxnQueue()
public final boolean isThisServer(java.lang.String aLocalServerID) throws java.lang.Exception
java.lang.Exception
public java.security.Signature getSigner()
public net.cnri.knowbots.station.CollaborationHub getServiceRegistry()
public void setKnowbotMapping(java.lang.String key, java.lang.Object value)
public DOAuthentication getAuth()
public Authorizer getAuthorizer()
public java.lang.String getServerAdmin()
public java.security.PublicKey getPublicKey()
public void registerHandle(java.lang.String newHandle, java.lang.String objectName) throws DOException
DOException
public void serveRequests()
public void addWarToHttpServer(java.io.File war, java.lang.String contextPath) throws java.lang.Exception
java.lang.Exception
public boolean isListening()
public static void shutdown(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
public void shutdown() throws java.lang.Exception
java.lang.Exception
public void stopServing()
public void performOperation(java.lang.String objectID, java.lang.String operationID, HeaderSet params, java.io.InputStream in, java.io.OutputStream out) throws java.lang.Exception
java.lang.Exception
public void performOperation(DOServerOperationContext context, java.io.InputStream in, java.io.OutputStream out) throws java.lang.Exception
java.lang.Exception
public void performRemoteOperation(DOServerOperationContext context, Authorizer.AuthorizationInfo auth, java.io.InputStream in, java.io.OutputStream out) throws java.lang.Exception
java.lang.Exception
public void performLocalOperation(DOServerOperationContext context, boolean skipAuthorization, java.io.InputStream in, java.io.OutputStream out) throws java.lang.Exception
java.lang.Exception