From fdf4cbecd568a643e5a0e1c0d09a4a36b84f0986 Mon Sep 17 00:00:00 2001 From: Josh Larson Date: Fri, 9 Sep 2016 16:30:59 -0500 Subject: [PATCH] Initial Commit --- .classpath | 8 + .gitignore | 3 + .project | 23 + cfg/lightspeed.cfg | 4 + data/lightspeed.sql | 31 ++ data/releases/placeholder | 0 fxml/BuildDataPane.css | 40 ++ fxml/BuildDataPane.fxml | 72 +++ fxml/DeploymentDataPane.css | 8 + fxml/DeploymentDataPane.fxml | 35 ++ fxml/PrimaryView.css | 37 ++ fxml/PrimaryView.fxml | 38 ++ lib/fast-json-1.4.jar | Bin 0 -> 14056 bytes lib/sqlite-jdbc-3.8.11.2.jar | Bin 0 -> 5575351 bytes res/connected.png | Bin 0 -> 2200 bytes res/connected.svg | 43 ++ res/connected_large.png | Bin 0 -> 20077 bytes res/disconnected.png | Bin 0 -> 2447 bytes res/disconnected.svg | 43 ++ res/disconnected_large.png | Bin 0 -> 20685 bytes src/com/projectswg/Lightspeed.java | 75 +++ .../common/callback/BaseCallbackManager.java | 106 +++++ .../common/callback/CallbackManager.java | 89 ++++ src/com/projectswg/common/control/Intent.java | 150 ++++++ .../common/control/IntentChain.java | 53 +++ .../common/control/IntentManager.java | 161 +++++++ .../common/control/IntentQueue.java | 235 +++++++++ .../common/control/IntentReceiver.java | 41 ++ .../projectswg/common/control/Manager.java | 187 ++++++++ .../projectswg/common/control/Service.java | 130 +++++ .../projectswg/common/data/BackendData.java | 289 ++++++++++++ .../common/data/BuildHistoryTable.java | 174 +++++++ .../common/data/BuildInformation.java | 209 ++++++++ .../common/data/DeploymentInformation.java | 118 +++++ .../common/data/DeploymentTable.java | 178 +++++++ .../common/data/PSWGInformation.java | 56 +++ .../common/data/ServerInformation.java | 58 +++ .../projectswg/common/data/ServerTable.java | 160 +++++++ .../projectswg/common/data/TestDetails.java | 81 ++++ src/com/projectswg/common/info/Config.java | 183 +++++++ .../projectswg/common/info/ConfigData.java | 152 ++++++ .../projectswg/common/info/ConfigFile.java | 57 +++ .../projectswg/common/info/DataManager.java | 139 ++++++ src/com/projectswg/common/info/Log.java | 361 ++++++++++++++ .../common/info/PostgresqlDatabase.java | 36 ++ .../common/info/RelationalDatabase.java | 190 ++++++++ .../common/info/RelationalServerData.java | 445 ++++++++++++++++++ .../common/info/RelationalServerFactory.java | 160 +++++++ .../common/intents/InboundPacketIntent.java | 68 +++ .../common/intents/LaunchStarshipIntent.java | 56 +++ .../common/intents/OutboundPacketIntent.java | 68 +++ .../common/intents/PrepareStarshipIntent.java | 56 +++ .../projectswg/common/network/NetBuffer.java | 237 ++++++++++ .../common/network/NetBufferStream.java | 435 +++++++++++++++++ .../projectswg/common/network/TCPServer.java | 279 +++++++++++ .../projectswg/common/network/TCPSocket.java | 171 +++++++ .../common/network/packets/Packet.java | 89 ++++ .../common/network/packets/PacketType.java | 56 +++ .../network/packets/init/ConnectedPacket.java | 45 ++ .../init/InitProtocolVersionPacket.java | 54 +++ .../network/packets/post/PostBuildPacket.java | 54 +++ .../packets/post/PostCreateServerPacket.java | 59 +++ .../packets/post/PostDeleteServerPacket.java | 54 +++ .../packets/post/PostDeployPacket.java | 54 +++ .../packets/post/PostStopBuildPacket.java | 54 +++ .../packets/post/PostStopDeployPacket.java | 54 +++ .../request/RequestBuildHistoryPacket.java | 53 +++ .../RequestDeploymentHistoryPacket.java | 53 +++ .../RequestDeploymentStatusPacket.java | 44 ++ .../packets/request/RequestPacket.java | 61 +++ .../request/RequestServerListPacket.java | 44 ++ .../response/ResponseBuildHistoryPacket.java | 88 ++++ .../ResponseDeploymentHistoryPacket.java | 100 ++++ .../ResponseDeploymentStatusPacket.java | 74 +++ .../packets/response/ResponsePacket.java | 54 +++ .../response/ResponseServerListPacket.java | 68 +++ .../network/protocol/AlphaProtocol.java | 124 +++++ .../common/network/protocol/Protocol.java | 51 ++ .../network/protocol/ProtocolFactory.java | 41 ++ .../common/utilities/ThreadUtilities.java | 60 +++ .../common/utilities/TimeUtilities.java | 95 ++++ .../lightspeed/CommunicationService.java | 141 ++++++ .../lightspeed/DeploymentService.java | 237 ++++++++++ .../lightspeed/GitListenerService.java | 40 ++ .../lightspeed/LightspeedManager.java | 52 ++ .../lightspeed/StarshipProcess.java | 174 +++++++ .../lightspeed/build/BuildService.java | 231 +++++++++ .../lightspeed/build/InstallationDetails.java | 234 +++++++++ .../lightspeed/build/InstallationState.java | 38 ++ .../lightspeed/build/MavenInterface.java | 97 ++++ .../communication/LightspeedSession.java | 114 +++++ .../communication/LightspeedState.java | 34 ++ .../lightspeed/deployment/Deployment.java | 95 ++++ .../lightspeed/deployment/PSWGData.java | 46 ++ .../lightspeed/git/GitInterface.java | 36 ++ .../lightspeed_frontend/Frontend.java | 207 ++++++++ .../lightspeed_frontend/FrontendData.java | 134 ++++++ .../LightspeedFrontendGUI.java | 80 ++++ .../LightspeedFrontendText.java | 294 ++++++++++++ .../communication/FrontendCommunication.java | 93 ++++ .../FrontendLightspeedSession.java | 153 ++++++ .../lightspeed_frontend/data/BuildData.java | 258 ++++++++++ .../data/DeploymentData.java | 114 +++++ .../lightspeed_frontend/data/ServerData.java | 136 ++++++ .../gui/BuildDataPane.java | 174 +++++++ .../gui/DeploymentDataPane.java | 78 +++ .../gui/InternalWindow.java | 145 ++++++ .../gui/LightspeedPrimaryView.java | 194 ++++++++ .../table/cell/CellMouseClickCallback.java | 34 ++ .../gui/table/cell/TableCellString.java | 71 +++ .../gui/table/column/TableColumnString.java | 44 ++ .../javafx/FrontendFXMLLoader.java | 54 +++ 112 files changed, 11443 insertions(+) create mode 100644 .classpath create mode 100644 .gitignore create mode 100644 .project create mode 100644 cfg/lightspeed.cfg create mode 100644 data/lightspeed.sql create mode 100644 data/releases/placeholder create mode 100644 fxml/BuildDataPane.css create mode 100644 fxml/BuildDataPane.fxml create mode 100644 fxml/DeploymentDataPane.css create mode 100644 fxml/DeploymentDataPane.fxml create mode 100644 fxml/PrimaryView.css create mode 100644 fxml/PrimaryView.fxml create mode 100644 lib/fast-json-1.4.jar create mode 100644 lib/sqlite-jdbc-3.8.11.2.jar create mode 100644 res/connected.png create mode 100644 res/connected.svg create mode 100644 res/connected_large.png create mode 100644 res/disconnected.png create mode 100644 res/disconnected.svg create mode 100644 res/disconnected_large.png create mode 100644 src/com/projectswg/Lightspeed.java create mode 100644 src/com/projectswg/common/callback/BaseCallbackManager.java create mode 100644 src/com/projectswg/common/callback/CallbackManager.java create mode 100644 src/com/projectswg/common/control/Intent.java create mode 100644 src/com/projectswg/common/control/IntentChain.java create mode 100644 src/com/projectswg/common/control/IntentManager.java create mode 100644 src/com/projectswg/common/control/IntentQueue.java create mode 100644 src/com/projectswg/common/control/IntentReceiver.java create mode 100644 src/com/projectswg/common/control/Manager.java create mode 100644 src/com/projectswg/common/control/Service.java create mode 100644 src/com/projectswg/common/data/BackendData.java create mode 100644 src/com/projectswg/common/data/BuildHistoryTable.java create mode 100644 src/com/projectswg/common/data/BuildInformation.java create mode 100644 src/com/projectswg/common/data/DeploymentInformation.java create mode 100644 src/com/projectswg/common/data/DeploymentTable.java create mode 100644 src/com/projectswg/common/data/PSWGInformation.java create mode 100644 src/com/projectswg/common/data/ServerInformation.java create mode 100644 src/com/projectswg/common/data/ServerTable.java create mode 100644 src/com/projectswg/common/data/TestDetails.java create mode 100644 src/com/projectswg/common/info/Config.java create mode 100644 src/com/projectswg/common/info/ConfigData.java create mode 100644 src/com/projectswg/common/info/ConfigFile.java create mode 100644 src/com/projectswg/common/info/DataManager.java create mode 100644 src/com/projectswg/common/info/Log.java create mode 100644 src/com/projectswg/common/info/PostgresqlDatabase.java create mode 100644 src/com/projectswg/common/info/RelationalDatabase.java create mode 100644 src/com/projectswg/common/info/RelationalServerData.java create mode 100644 src/com/projectswg/common/info/RelationalServerFactory.java create mode 100644 src/com/projectswg/common/intents/InboundPacketIntent.java create mode 100644 src/com/projectswg/common/intents/LaunchStarshipIntent.java create mode 100644 src/com/projectswg/common/intents/OutboundPacketIntent.java create mode 100644 src/com/projectswg/common/intents/PrepareStarshipIntent.java create mode 100644 src/com/projectswg/common/network/NetBuffer.java create mode 100644 src/com/projectswg/common/network/NetBufferStream.java create mode 100644 src/com/projectswg/common/network/TCPServer.java create mode 100644 src/com/projectswg/common/network/TCPSocket.java create mode 100644 src/com/projectswg/common/network/packets/Packet.java create mode 100644 src/com/projectswg/common/network/packets/PacketType.java create mode 100644 src/com/projectswg/common/network/packets/init/ConnectedPacket.java create mode 100644 src/com/projectswg/common/network/packets/init/InitProtocolVersionPacket.java create mode 100644 src/com/projectswg/common/network/packets/post/PostBuildPacket.java create mode 100644 src/com/projectswg/common/network/packets/post/PostCreateServerPacket.java create mode 100644 src/com/projectswg/common/network/packets/post/PostDeleteServerPacket.java create mode 100644 src/com/projectswg/common/network/packets/post/PostDeployPacket.java create mode 100644 src/com/projectswg/common/network/packets/post/PostStopBuildPacket.java create mode 100644 src/com/projectswg/common/network/packets/post/PostStopDeployPacket.java create mode 100644 src/com/projectswg/common/network/packets/request/RequestBuildHistoryPacket.java create mode 100644 src/com/projectswg/common/network/packets/request/RequestDeploymentHistoryPacket.java create mode 100644 src/com/projectswg/common/network/packets/request/RequestDeploymentStatusPacket.java create mode 100644 src/com/projectswg/common/network/packets/request/RequestPacket.java create mode 100644 src/com/projectswg/common/network/packets/request/RequestServerListPacket.java create mode 100644 src/com/projectswg/common/network/packets/response/ResponseBuildHistoryPacket.java create mode 100644 src/com/projectswg/common/network/packets/response/ResponseDeploymentHistoryPacket.java create mode 100644 src/com/projectswg/common/network/packets/response/ResponseDeploymentStatusPacket.java create mode 100644 src/com/projectswg/common/network/packets/response/ResponsePacket.java create mode 100644 src/com/projectswg/common/network/packets/response/ResponseServerListPacket.java create mode 100644 src/com/projectswg/common/network/protocol/AlphaProtocol.java create mode 100644 src/com/projectswg/common/network/protocol/Protocol.java create mode 100644 src/com/projectswg/common/network/protocol/ProtocolFactory.java create mode 100644 src/com/projectswg/common/utilities/ThreadUtilities.java create mode 100644 src/com/projectswg/common/utilities/TimeUtilities.java create mode 100644 src/com/projectswg/lightspeed/CommunicationService.java create mode 100644 src/com/projectswg/lightspeed/DeploymentService.java create mode 100644 src/com/projectswg/lightspeed/GitListenerService.java create mode 100644 src/com/projectswg/lightspeed/LightspeedManager.java create mode 100644 src/com/projectswg/lightspeed/StarshipProcess.java create mode 100644 src/com/projectswg/lightspeed/build/BuildService.java create mode 100644 src/com/projectswg/lightspeed/build/InstallationDetails.java create mode 100644 src/com/projectswg/lightspeed/build/InstallationState.java create mode 100644 src/com/projectswg/lightspeed/build/MavenInterface.java create mode 100644 src/com/projectswg/lightspeed/communication/LightspeedSession.java create mode 100644 src/com/projectswg/lightspeed/communication/LightspeedState.java create mode 100644 src/com/projectswg/lightspeed/deployment/Deployment.java create mode 100644 src/com/projectswg/lightspeed/deployment/PSWGData.java create mode 100644 src/com/projectswg/lightspeed/git/GitInterface.java create mode 100644 src/com/projectswg/lightspeed_frontend/Frontend.java create mode 100644 src/com/projectswg/lightspeed_frontend/FrontendData.java create mode 100644 src/com/projectswg/lightspeed_frontend/LightspeedFrontendGUI.java create mode 100644 src/com/projectswg/lightspeed_frontend/LightspeedFrontendText.java create mode 100644 src/com/projectswg/lightspeed_frontend/communication/FrontendCommunication.java create mode 100644 src/com/projectswg/lightspeed_frontend/communication/FrontendLightspeedSession.java create mode 100644 src/com/projectswg/lightspeed_frontend/data/BuildData.java create mode 100644 src/com/projectswg/lightspeed_frontend/data/DeploymentData.java create mode 100644 src/com/projectswg/lightspeed_frontend/data/ServerData.java create mode 100644 src/com/projectswg/lightspeed_frontend/gui/BuildDataPane.java create mode 100644 src/com/projectswg/lightspeed_frontend/gui/DeploymentDataPane.java create mode 100644 src/com/projectswg/lightspeed_frontend/gui/InternalWindow.java create mode 100644 src/com/projectswg/lightspeed_frontend/gui/LightspeedPrimaryView.java create mode 100644 src/com/projectswg/lightspeed_frontend/gui/table/cell/CellMouseClickCallback.java create mode 100644 src/com/projectswg/lightspeed_frontend/gui/table/cell/TableCellString.java create mode 100644 src/com/projectswg/lightspeed_frontend/gui/table/column/TableColumnString.java create mode 100644 src/com/projectswg/lightspeed_frontend/javafx/FrontendFXMLLoader.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..8473db1 --- /dev/null +++ b/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..24e7d7e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.settings/ +bin/ +log.txt diff --git a/.project b/.project new file mode 100644 index 0000000..f6121aa --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + Lightspeed + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/cfg/lightspeed.cfg b/cfg/lightspeed.cfg new file mode 100644 index 0000000..9d476b2 --- /dev/null +++ b/cfg/lightspeed.cfg @@ -0,0 +1,4 @@ +# 09/09/2016 16:30:15 CDT +ENABLE-LOGGING=true +MAVEN=/usr/bin/mvn +PORT=44444 diff --git a/data/lightspeed.sql b/data/lightspeed.sql new file mode 100644 index 0000000..bac455f --- /dev/null +++ b/data/lightspeed.sql @@ -0,0 +1,31 @@ +CREATE TABLE IF NOT EXISTS servers ( + id TEXT PRIMARY KEY, + directory TEXT, + jvm_arguments TEXT +); + +CREATE TABLE IF NOT EXISTS builds ( + id INTEGER PRIMARY KEY, + time INTEGER, + server_id TEXT REFERENCES servers(id), + build_string TEXT, + test_string TEXT, + compile_time REAL, + offline INTEGER, + build_success INTEGER, + test_success INTEGER, + cancelled INTEGER, + test_total INTEGER, + test_failures INTEGER, + test_errors INTEGER, + test_skipped INTEGER, + jar TEXT +); + +CREATE TABLE IF NOT EXISTS deployments ( + id INTEGER PRIMARY KEY, + server_id TEXT REFERENCES servers(id), + build_id INTEGER REFERENCES builds(id), + start_time INTEGER, + end_time INTEGER +); diff --git a/data/releases/placeholder b/data/releases/placeholder new file mode 100644 index 0000000..e69de29 diff --git a/fxml/BuildDataPane.css b/fxml/BuildDataPane.css new file mode 100644 index 0000000..3e9698b --- /dev/null +++ b/fxml/BuildDataPane.css @@ -0,0 +1,40 @@ + +#idText { + -fx-font-weight: bold; +} + +.Text { + -fx-padding: 5 0 5 0; +} + +.table-view { + -fx-focus-color: transparent; + -fx-min-height: 50px; +} + +.column-header { + -fx-text-fill: white; + -fx-font-size: 10pt; + -fx-cell-size: 30px; +} + +.table-cell { + -fx-alignment: CENTER-LEFT; + -fx-font-size: 10pt; + -fx-fill: white; +} + +.table-row-cell { + -fx-cell-size: 30px; +} + +.table-row-cell:filled:selected { + -fx-background: -fx-control-inner-background ; + -fx-background-color: -fx-table-cell-border-color, -fx-background ; + -fx-background-insets: 0, 0 0 1 0 ; + -fx-table-cell-border-color: derive(-fx-color, 5%); +} + +.table-row-cell:odd:filled:selected { + -fx-background: -fx-control-inner-background-alt ; +} diff --git a/fxml/BuildDataPane.fxml b/fxml/BuildDataPane.fxml new file mode 100644 index 0000000..b03162b --- /dev/null +++ b/fxml/BuildDataPane.fxml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fxml/DeploymentDataPane.css b/fxml/DeploymentDataPane.css new file mode 100644 index 0000000..c5f3123 --- /dev/null +++ b/fxml/DeploymentDataPane.css @@ -0,0 +1,8 @@ + +#idText { + -fx-font-weight: bold; +} + +.Text { + -fx-padding: 5 0 5 0; +} diff --git a/fxml/DeploymentDataPane.fxml b/fxml/DeploymentDataPane.fxml new file mode 100644 index 0000000..0f544e7 --- /dev/null +++ b/fxml/DeploymentDataPane.fxml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fxml/PrimaryView.css b/fxml/PrimaryView.css new file mode 100644 index 0000000..55ebf6c --- /dev/null +++ b/fxml/PrimaryView.css @@ -0,0 +1,37 @@ +.text-field { + -fx-font-size: 10pt; +} + +.text-view { + -fx-font-size: 10pt; +} + +.table-view { + -fx-focus-color: transparent; +} + +.column-header { + -fx-text-fill: white; + -fx-font-size: 12pt; +} + +.table-cell { + -fx-alignment: CENTER-LEFT; + -fx-font-size: 12pt; + -fx-fill: white; +} + +.table-row-cell { + -fx-cell-size: 50px; +} + +.table-row-cell:filled:selected { + -fx-background: -fx-control-inner-background ; + -fx-background-color: -fx-table-cell-border-color, -fx-background ; + -fx-background-insets: 0, 0 0 1 0 ; + -fx-table-cell-border-color: derive(-fx-color, 5%); +} + +.table-row-cell:odd:filled:selected { + -fx-background: -fx-control-inner-background-alt ; +} diff --git a/fxml/PrimaryView.fxml b/fxml/PrimaryView.fxml new file mode 100644 index 0000000..3b1b3e9 --- /dev/null +++ b/fxml/PrimaryView.fxml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +