edu.iastate.anthill.indus.agent
Class IndusHttpServer

java.lang.Object
  extended byjava.lang.Thread
      extended byedu.iastate.anthill.indus.agent.IndusHttpServer
All Implemented Interfaces:
IndusCommand, java.lang.Runnable

public class IndusHttpServer
extends java.lang.Thread
implements IndusCommand

Agent to communicate with data source editor, as TCP server

Since:
1.0
Author:
Jie Bao

Nested Class Summary
(package private) static class IndusHttpServer.MyTrayNotifier
           
 
Field Summary
(package private) static java.lang.String configFileName
           
static int DATATYPE
           
(package private)  java.lang.String m_rootPath
           
static int MAPPING
           
(package private) static Console output
           
(package private)  java.lang.String port
           
(package private) static boolean running
           
static int SCHEMA
           
static int VIEW
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Fields inherited from interface edu.iastate.anthill.indus.agent.IndusCommand
CMD_DELETE_MAPPING, CMD_DELETE_SCHEMA, CMD_DELETE_TYPE, CMD_DELETE_VIEW, CMD_GET_ALL_MAPPING, CMD_GET_ALL_SCHEMA, CMD_GET_ALL_TYPE, CMD_GET_ALL_VIEW, CMD_GET_MAPPING_DETAILS, CMD_GET_SCHEMA_DETAILS, CMD_GET_TYPE_DETAILS, CMD_GET_VIEW_DETAILS, CMD_HELLO, CMD_NEW_TYPE, CMD_UPDATE_MAPPING, CMD_UPDATE_SCHEMA, CMD_UPDATE_TYPE, CMD_UPDATE_VIEW, RES_GENERAL_ERROR, RES_OK, RES_UNKNOWN_CMD
 
Constructor Summary
IndusHttpServer(java.lang.String m_rootPath, java.lang.String port)
           
 
Method Summary
private  java.lang.String getFilePath(java.lang.String name, int type)
           
private  void handleDelete(java.io.DataOutputStream outToClient, java.lang.String clientSentence, int type)
          Delete a specified file
private  void handleGetAll(java.lang.String path, java.io.DataOutputStream outToClient)
          handle GetAllSchema and GetAllMapping and GetAllView
private  void handleGetAllType(java.lang.String path, java.io.DataOutputStream outToClient)
           
private  void handleGetDetails(java.io.DataOutputStream outToClient, java.lang.String clientSentence, int type)
          handleGetMappingDetails
private  void handleHello(java.io.DataOutputStream outToClient)
          handleHello
private  void handleNewType(java.io.DataOutputStream outToClient, java.lang.String clientSentence)
          handleNewType
private  void handleUpdate(java.io.DataOutputStream outToClient, java.lang.String clientSentence, int type)
          handleUpdateMapping: create new or update existing file
(package private)  void initializeDirectory()
          Create empty directories to save data
(package private)  boolean loadConfig()
           
static void main(java.lang.String[] args)
          Launch the server independently
private  java.lang.String mappingFile(java.lang.String name)
           
private static boolean pathValid(java.lang.String path)
           
 void run()
           
(package private)  void saveConfig()
           
private  java.lang.String schemaFile(java.lang.String schema)
           
(package private) static void showConsole()
           
private  java.lang.String typeFile(java.lang.String type)
           
private  java.lang.String viewFile(java.lang.String view)
           
 
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
 

Field Detail

m_rootPath

java.lang.String m_rootPath

port

java.lang.String port

running

static boolean running

DATATYPE

public static final int DATATYPE
See Also:
Constant Field Values

SCHEMA

public static final int SCHEMA
See Also:
Constant Field Values

MAPPING

public static final int MAPPING
See Also:
Constant Field Values

VIEW

public static final int VIEW
See Also:
Constant Field Values

output

static final Console output

configFileName

static java.lang.String configFileName
Constructor Detail

IndusHttpServer

public IndusHttpServer(java.lang.String m_rootPath,
                       java.lang.String port)
Method Detail

showConsole

static void showConsole()

typeFile

private java.lang.String typeFile(java.lang.String type)

schemaFile

private java.lang.String schemaFile(java.lang.String schema)

mappingFile

private java.lang.String mappingFile(java.lang.String name)

viewFile

private java.lang.String viewFile(java.lang.String view)

getFilePath

private java.lang.String getFilePath(java.lang.String name,
                                     int type)

run

public void run()
Specified by:
run in interface java.lang.Runnable

handleDelete

private void handleDelete(java.io.DataOutputStream outToClient,
                          java.lang.String clientSentence,
                          int type)
Delete a specified file

Parameters:
outToClient - DataOutputStream
clientSentence - String
Since:
2005-03-23

handleGetDetails

private void handleGetDetails(java.io.DataOutputStream outToClient,
                              java.lang.String clientSentence,
                              int type)
handleGetMappingDetails

Parameters:
outToClient - DataOutputStream
clientSentence - String
Since:
2004-10-03

handleUpdate

private void handleUpdate(java.io.DataOutputStream outToClient,
                          java.lang.String clientSentence,
                          int type)
handleUpdateMapping: create new or update existing file

Parameters:
outToClient - DataOutputStream
clientSentence - String
Since:
2004-10-03

handleHello

private void handleHello(java.io.DataOutputStream outToClient)
handleHello

Parameters:
outToClient - DataOutputStream

handleGetAll

private void handleGetAll(java.lang.String path,
                          java.io.DataOutputStream outToClient)
handle GetAllSchema and GetAllMapping and GetAllView

Parameters:
outToClient - DataOutputStream

handleNewType

private void handleNewType(java.io.DataOutputStream outToClient,
                           java.lang.String clientSentence)
handleNewType

Parameters:
outToClient - DataOutputStream

handleGetAllType

private void handleGetAllType(java.lang.String path,
                              java.io.DataOutputStream outToClient)

pathValid

private static boolean pathValid(java.lang.String path)
Returns:
boolean
Since:
2005-03-17

loadConfig

boolean loadConfig()
Returns:
boolean
Since:
2005-03-25

saveConfig

void saveConfig()
Since:
2005-03-25

initializeDirectory

void initializeDirectory()
Create empty directories to save data

Since:
2005-03-25

main

public static void main(java.lang.String[] args)
Launch the server independently

Parameters:
args - String[]
Since:
2004-10-07 Example of use: IndusHttpServer c:\baojie 2006 IndusHttpServer c:\baojie Make sure the folder has subfolder data, data\types, data\schema, data\mapping data\view