change: 调整jline检测逻辑, 移除ip-provider相关单元测试.
This commit is contained in:
@@ -14,6 +14,8 @@ import org.jline.reader.impl.history.DefaultHistory;
|
|||||||
import org.jline.terminal.Terminal;
|
import org.jline.terminal.Terminal;
|
||||||
import org.jline.terminal.TerminalBuilder;
|
import org.jline.terminal.TerminalBuilder;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 启动类
|
* 启动类
|
||||||
*
|
*
|
||||||
@@ -36,7 +38,7 @@ public final class ManagerLite {
|
|||||||
*/
|
*/
|
||||||
private static SystemInitializer systemInitializer;
|
private static SystemInitializer systemInitializer;
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
// 配置初始化
|
// 配置初始化
|
||||||
initConfiguration(args);
|
initConfiguration(args);
|
||||||
@@ -47,7 +49,16 @@ public final class ManagerLite {
|
|||||||
// 系统初始化
|
// 系统初始化
|
||||||
initSystem();
|
initSystem();
|
||||||
|
|
||||||
Terminal terminal = TerminalBuilder.builder().system(true).build();
|
Terminal terminal;
|
||||||
|
try {
|
||||||
|
terminal = TerminalBuilder.builder()
|
||||||
|
.system(true)
|
||||||
|
.build();
|
||||||
|
} catch (IOException e) {
|
||||||
|
// 不应该发生
|
||||||
|
System.exit(0);
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
LineReader lineReader = LineReaderBuilder.builder()
|
LineReader lineReader = LineReaderBuilder.builder()
|
||||||
.terminal(terminal)
|
.terminal(terminal)
|
||||||
// 如果想记录历史命令,可以配置一个 History
|
// 如果想记录历史命令,可以配置一个 History
|
||||||
@@ -60,19 +71,26 @@ public final class ManagerLite {
|
|||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
// 该方法会阻塞,直到用户敲回车
|
// 该方法会阻塞,直到用户敲回车
|
||||||
String line = lineReader.readLine(prompt);
|
try {
|
||||||
|
String cmd = lineReader.readLine(prompt);
|
||||||
|
|
||||||
// 当用户输入 exit 或 quit,就退出循环
|
// 当用户输入 exit 或 quit,就退出循环
|
||||||
if ("exit".equalsIgnoreCase(line)
|
if ("exit".equalsIgnoreCase(cmd)) {
|
||||||
|| "quit".equalsIgnoreCase(line)) {
|
break;
|
||||||
break;
|
}
|
||||||
|
// 在这里可以对用户输入做进一步处理
|
||||||
|
terminal.flush();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.exit(0);
|
||||||
}
|
}
|
||||||
// 在这里可以对用户输入做进一步处理
|
|
||||||
terminal.writer().println("You entered: " + line);
|
|
||||||
terminal.flush();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
terminal.close();
|
try {
|
||||||
|
System.exit(0);
|
||||||
|
terminal.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,17 +1,8 @@
|
|||||||
package com.serliunx.ddns.test.support;
|
package com.serliunx.ddns.test.support;
|
||||||
|
|
||||||
import com.serliunx.ddns.support.ipprovider.IcanhazipProvider;
|
|
||||||
import com.serliunx.ddns.support.ipprovider.IpApiProvider;
|
|
||||||
import com.serliunx.ddns.support.ipprovider.Provider;
|
|
||||||
import com.serliunx.ddns.support.ipprovider.ScheduledProvider;
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应器测试
|
* 供应器测试
|
||||||
|
* //TODO 暂时移除,待重写单元测试
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:serliunx@yeah.net">SerLiunx</a>
|
* @author <a href="mailto:serliunx@yeah.net">SerLiunx</a>
|
||||||
* @version 1.0.3
|
* @version 1.0.3
|
||||||
@@ -19,34 +10,4 @@ import java.util.concurrent.TimeUnit;
|
|||||||
*/
|
*/
|
||||||
public class ProviderTest {
|
public class ProviderTest {
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testIpApiProvider() {
|
|
||||||
Provider provider = new IpApiProvider();
|
|
||||||
System.out.println(provider.get());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testScheduledProvider() throws Exception {
|
|
||||||
ScheduledProvider provider = new ScheduledProvider(new IpApiProvider(), 3);
|
|
||||||
String ip = provider.get();
|
|
||||||
System.out.println(ip);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testIcanhazipProvider() {
|
|
||||||
Provider provider = new IcanhazipProvider();
|
|
||||||
System.out.println(provider.get());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testScheduledProviderForRunnable() throws InterruptedException {
|
|
||||||
ScheduledExecutorService ses = Executors.newScheduledThreadPool(1);
|
|
||||||
ScheduledProvider provider = new ScheduledProvider(new IpApiProvider(), 3);
|
|
||||||
provider.close();
|
|
||||||
|
|
||||||
ses.scheduleAtFixedRate(provider, 0, 1000, TimeUnit.MILLISECONDS);
|
|
||||||
provider.whenUpdate(ip -> System.out.println("ip update: " + ip));
|
|
||||||
|
|
||||||
TimeUnit.SECONDS.sleep(120);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user