mirror of
https://bitbucket.org/projectswg/lightspeed.git
synced 2026-01-16 23:04:40 -05:00
Added functionality to frontend text app and made connect wait for connection
This commit is contained in:
@@ -42,14 +42,19 @@ import com.projectswg.common.network.packets.post.PostDeleteServerPacket;
|
||||
import com.projectswg.common.network.packets.post.PostDeployPacket;
|
||||
import com.projectswg.common.network.packets.post.PostStopBuildPacket;
|
||||
import com.projectswg.common.network.packets.post.PostStopDeployPacket;
|
||||
import com.projectswg.common.network.packets.request.RequestBuildDetailedPacket;
|
||||
import com.projectswg.common.network.packets.request.RequestBuildListPacket;
|
||||
import com.projectswg.common.network.packets.request.RequestDeploymentDetailedPacket;
|
||||
import com.projectswg.common.network.packets.request.RequestDeploymentListPacket;
|
||||
import com.projectswg.common.network.packets.request.RequestPacket;
|
||||
import com.projectswg.common.network.packets.request.RequestServerDetailedPacket;
|
||||
import com.projectswg.common.network.packets.request.RequestServerListPacket;
|
||||
import com.projectswg.common.network.packets.response.ResponseBuildDetailedPacket;
|
||||
import com.projectswg.common.network.packets.response.ResponseBuildListPacket;
|
||||
import com.projectswg.common.network.packets.response.ResponseDeploymentDetailedPacket;
|
||||
import com.projectswg.common.network.packets.response.ResponseDeploymentListPacket;
|
||||
import com.projectswg.common.network.packets.response.ResponseServerListPacket;
|
||||
import com.projectswg.common.utilities.TimeUtilities;
|
||||
import com.projectswg.lightspeed_frontend.communication.FrontendCommunication;
|
||||
import com.projectswg.lightspeed_frontend.communication.FrontendLightspeedSession.LightspeedSessionCallback;
|
||||
import com.projectswg.lightspeed_frontend.data.SharedBuildData;
|
||||
@@ -140,6 +145,13 @@ public class LightspeedFrontendText implements LightspeedSessionCallback {
|
||||
return;
|
||||
}
|
||||
communication.connect(new InetSocketAddress(addr, port));
|
||||
try {
|
||||
while (!communication.isConnected()) {
|
||||
Thread.sleep(10);
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
Log.w(e);
|
||||
}
|
||||
}
|
||||
|
||||
private void processDisconnect() {
|
||||
@@ -152,34 +164,53 @@ public class LightspeedFrontendText implements LightspeedSessionCallback {
|
||||
return;
|
||||
}
|
||||
switch (args[1]) {
|
||||
case "servers":
|
||||
communication.send(new RequestServerListPacket());
|
||||
case "server_list":
|
||||
sendAwaitResponse(new RequestServerListPacket());
|
||||
break;
|
||||
case "server_detailed":
|
||||
if (args.length < 3) {
|
||||
Log.e("Invalid call to request server_detailed! Expected server id.");
|
||||
break;
|
||||
}
|
||||
sendAwaitResponse(new RequestServerDetailedPacket(args[2]));
|
||||
break;
|
||||
case "build_list":
|
||||
if (args.length < 3) {
|
||||
Log.e("Invalid call to request build_list! Expected server id.");
|
||||
break;
|
||||
}
|
||||
communication.send(new RequestBuildListPacket(args[2]));
|
||||
sendAwaitResponse(new RequestBuildListPacket(args[2]));
|
||||
break;
|
||||
case "build_detailed":
|
||||
if (args.length < 3) {
|
||||
Log.e("Invalid call to request build_detailed! Expected build id.");
|
||||
break;
|
||||
}
|
||||
sendAwaitResponse(new RequestBuildDetailedPacket(Long.parseLong(args[2])));
|
||||
break;
|
||||
case "deployment_list":
|
||||
if (args.length < 3) {
|
||||
Log.e("Invalid call to request deployment_list! Expected server id.");
|
||||
break;
|
||||
}
|
||||
communication.send(new RequestDeploymentListPacket(args[2]));
|
||||
sendAwaitResponse(new RequestDeploymentListPacket(args[2]));
|
||||
break;
|
||||
case "deployment_detailed":
|
||||
if (args.length < 3) {
|
||||
Log.e("Invalid call to request deployment_detailed! Expected deployment id.");
|
||||
break;
|
||||
}
|
||||
communication.send(new RequestDeploymentDetailedPacket(Long.parseLong(args[2])));
|
||||
sendAwaitResponse(new RequestDeploymentDetailedPacket(Long.parseLong(args[2])));
|
||||
break;
|
||||
default:
|
||||
Log.e("Unknown request: " + args[1]);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void sendAwaitResponse(RequestPacket request) {
|
||||
communication.send(request);
|
||||
synchronized (inbound) {
|
||||
try {
|
||||
inbound.wait(3000);
|
||||
@@ -275,6 +306,16 @@ public class LightspeedFrontendText implements LightspeedSessionCallback {
|
||||
for (SharedBuildData build : ((ResponseBuildListPacket) p).getBuildList()) {
|
||||
Log.i(" " + build);
|
||||
}
|
||||
} else if (p instanceof ResponseBuildDetailedPacket) {
|
||||
ResponseBuildDetailedPacket detailed = (ResponseBuildDetailedPacket) p;
|
||||
Log.i("Build: %d", detailed.getBuildId());
|
||||
Log.i(" Server Id: %s", detailed.getServerId());
|
||||
Log.i(" Time: %s", TimeUtilities.getDateString(TimeUtilities.convertUtcToLocal(detailed.getTime())));
|
||||
Log.i(" Compile Time: %.2fms", detailed.getCompileTime());
|
||||
Log.i(" Build Success: %b", detailed.isBuildSuccess());
|
||||
Log.i(" Test Success: %b", detailed.isTestSuccess());
|
||||
Log.i(" Cancelled: %b", detailed.isCancelled());
|
||||
Log.i(" Test Results: %d/%d", detailed.getTestTotal()-detailed.getTestFailures(), detailed.getTestTotal());
|
||||
} else if (p instanceof ResponseDeploymentListPacket) {
|
||||
Log.i("Deployments:");
|
||||
for (SharedDeploymentData deployment : ((ResponseDeploymentListPacket) p).getDeploymentList()) {
|
||||
@@ -283,6 +324,8 @@ public class LightspeedFrontendText implements LightspeedSessionCallback {
|
||||
} else if (p instanceof ResponseDeploymentDetailedPacket) {
|
||||
ResponseDeploymentDetailedPacket detailed = (ResponseDeploymentDetailedPacket) p;
|
||||
Log.i("Deployment: %d", detailed.getDeploymentId());
|
||||
Log.i(" Build Id: %d", detailed.getBuildId());
|
||||
Log.i(" Server Id: %s", detailed.getServerId());
|
||||
Log.i(" Start Time: %d", detailed.getStartTime());
|
||||
Log.i(" End Time: %d", detailed.getEndTime());
|
||||
Log.i(" Output: %n%s", detailed.getOutput());
|
||||
|
||||
Reference in New Issue
Block a user