tmp2
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<name>Core</name>
|
||||
|
||||
<artifactId>core</artifactId>
|
||||
<version>0.18</version>
|
||||
<version>0.21</version>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<parent>
|
||||
|
||||
18
core/src/main/java/asys/core/api/AccessPolicy.java
Normal file
18
core/src/main/java/asys/core/api/AccessPolicy.java
Normal file
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* DmitriyMX <mail@dmitriymx.ru>
|
||||
* 2016-08-14
|
||||
*/
|
||||
package asys.core.api;
|
||||
|
||||
public enum AccessPolicy {
|
||||
EVERYONE(3), PERMISSIONED(2), ADMIN(1), NO_ONE(0);
|
||||
|
||||
int id;
|
||||
AccessPolicy(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
@@ -5,9 +5,10 @@
|
||||
package asys.core.api;
|
||||
|
||||
public interface IMinecraftServer {
|
||||
String getName();
|
||||
void start();
|
||||
void stop();
|
||||
void forceStop();
|
||||
boolean isAlive();
|
||||
void sendCommand(String command);
|
||||
boolean isAlive();
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
package asys.core.api;
|
||||
|
||||
public interface IServerManager {
|
||||
IMinecraftServer developServer(String serverName);
|
||||
IMinecraftServer getServer(String serverName);
|
||||
IMinecraftServer developServer(String name);
|
||||
IMinecraftServer getServer(String name);
|
||||
void removeServer(String name);
|
||||
}
|
||||
|
||||
69
core/src/test/java/asys/core/TestAppRunner.java
Normal file
69
core/src/test/java/asys/core/TestAppRunner.java
Normal file
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
* DmitriyMX <mail@dmitriymx.ru>
|
||||
* 2016-07-29
|
||||
*/
|
||||
package asys.core;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class TestAppRunner {
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
// ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "ping 127.0.0.1 -t");
|
||||
ProcessBuilder processBuilder = new ProcessBuilder("java.exe", "-jar", "spigot-1.8.8.jar");
|
||||
processBuilder.directory(Paths.get("D:\\tmp\\spigot_test").toFile());
|
||||
final Process process = processBuilder.start();
|
||||
final boolean[] res = new boolean[1];
|
||||
|
||||
new Thread(() -> {
|
||||
Pattern pattern = Pattern.compile("Done \\(.+?\\)! For help, type \"help\" or \"\\?\"");
|
||||
InputStream inputStream = process.getInputStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
|
||||
String line;
|
||||
try {
|
||||
while ((line = reader.readLine()) != null) {
|
||||
System.out.println(System.currentTimeMillis() + " " + line);
|
||||
Matcher matcher = pattern.matcher(line);
|
||||
if (matcher.find()) {
|
||||
System.err.println(System.currentTimeMillis() + " " + "GOTCHA!!!");
|
||||
res[0] = true;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}).start();
|
||||
|
||||
new Thread(() -> {
|
||||
InputStream inputStream = process.getErrorStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
|
||||
String line;
|
||||
try {
|
||||
while ((line = reader.readLine()) != null) {
|
||||
System.err.println(line);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}).start();
|
||||
|
||||
while(!res[0]) {
|
||||
Thread.sleep(1000);
|
||||
}
|
||||
|
||||
// OutputStream outputStream = process.getOutputStream();
|
||||
// for(int i = 0; i < 10; i++) {
|
||||
// outputStream.write("echo hello\n".getBytes());
|
||||
// outputStream.flush();
|
||||
// }
|
||||
//
|
||||
// outputStream.write("stop\n".getBytes());
|
||||
// outputStream.flush();
|
||||
|
||||
process.waitFor();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user