From ec8bc0989aeea758ac31b27d8fd16cf999943cfe Mon Sep 17 00:00:00 2001 From: Mikhail Mikhaylenko Date: Mon, 7 Dec 2015 19:23:12 +0300 Subject: [PATCH] Modernize Java code a bit --- java/FuckingCoffee.java | 41 ++++++++++++++++++++++++++++++++++++++++ java/fucking_coffee.java | 34 --------------------------------- 2 files changed, 41 insertions(+), 34 deletions(-) create mode 100644 java/FuckingCoffee.java delete mode 100644 java/fucking_coffee.java diff --git a/java/FuckingCoffee.java b/java/FuckingCoffee.java new file mode 100644 index 00000000..c153855c --- /dev/null +++ b/java/FuckingCoffee.java @@ -0,0 +1,41 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.Socket; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +public class FuckingCoffee { + + private static final String PASSWORD_PROMPT = "Password: "; + private static final String PASSWORD = "1234"; + private static final String COFFEE_MACHINE_IP = "10.10.42.42"; + private static final long DELAY_BEFORE_BREW = TimeUnit.SECONDS.toMillis(17); + private static final long DELAY = TimeUnit.SECONDS.toMillis(24); + + public static void main(String... args) throws Exception { + try (BufferedReader buffer = new BufferedReader( + new InputStreamReader(Runtime.getRuntime().exec("who -q").getInputStream()) + )) { + String whoOutput = buffer.lines().collect(Collectors.joining(System.lineSeparator())); + if (!whoOutput.contains(System.getProperty("user.name"))) { + return; + } + } + + try (Socket telnet = new Socket(COFFEE_MACHINE_IP, 23); + BufferedReader in = new BufferedReader(new InputStreamReader(telnet.getInputStream())); + PrintWriter out = new PrintWriter(telnet.getOutputStream(), true) + ) { + Thread.sleep(DELAY_BEFORE_BREW); + if (!PASSWORD_PROMPT.equals(in.readLine())) { + return; + } + out.println(PASSWORD); + out.println("sys brew"); + Thread.sleep(DELAY); + out.println("sys pour"); + } + + } +} diff --git a/java/fucking_coffee.java b/java/fucking_coffee.java deleted file mode 100644 index 569314ac..00000000 --- a/java/fucking_coffee.java +++ /dev/null @@ -1,34 +0,0 @@ -import java.net.*; -import java.io.*; - -public class fucking_coffee{ - - private static final String MY_USERNAME = "my_username"; - private static final String PASSWORD_PROMPT = "Password: "; - private static final String PASSWORD = "1234"; - private static final String COFFEE_MACHINE_IP = "10.10.42.42"; - private static int DELAY_BEFORE_BREW = 17; - private static int DELAY = 24; - - public static void main(String[] args)throws Exception{ - for(int i = 1; i< args.length ; i++){ - if(!args[i].contains(MY_USERNAME)){ - return; - } - } - Socket telnet = new Socket(COFFEE_MACHINE_IP, 23); - PrintWriter out = new PrintWriter(telnet.getOutputStream(), true); - BufferedReader in = new BufferedReader(new InputStreamReader(telnet.getInputStream())); - Thread.sleep(DELAY_BEFORE_BREW*1000); - if(in.readLine() != PASSWORD_PROMPT){ - return ; - } - out.println(PASSWORD); - out.println("sys brew"); - Thread.sleep(DELAY*1000); - out.println("sys pour"); - out.close(); - in.close(); - telnet.close(); - } -}