com.github.andyshao.system.HttpTask Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Gear Show documentation
Show all versions of Gear Show documentation
Enhance and formating the coding of JDK
The newest version!
package com.github.andyshao.system;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
/**
*
* Title:
* Descript:
* Copyright: Copryright(c) Dec 9, 2015
* Encoding:UNIX UTF-8
*
* @author Andy.Shao
*
*/
public class HttpTask implements Task {
/**key words*/
public static final String KEY_WORDS = "-http";
private static final String STATUE_CODE = "--statusCode";
private static final String STATUS_FILE = "com/github/andyshao/system/HttpStatuesCode.properties";
private volatile Task nextTask = Task.EMPTY_TASK;
@Override
public Task getNextTask() {
return this.nextTask;
}
@Override
public boolean isDuty(String[] args) {
if (args == null || args.length == 0) return false;
else return args[0].equals(HttpTask.KEY_WORDS);
}
boolean isPrintAll(String[] args) {
if (args.length < 3) return true;
try {
Integer.valueOf(args[2]);
return false;
} catch (NumberFormatException e) {
return true;
}
}
@Override
public void process(String[] args) {
if (args.length < 2) args = new String[] { args[0] , HttpTask.STATUE_CODE };
switch (args[1]) {
case STATUE_CODE:
this.showStatueCode(args);
break;
default:
String[] newArgs = new String[3];
System.arraycopy(args , 0 , newArgs , 0 , 2);
newArgs[2] = HelpTask.KEY_WORDS;
this.nextTask.run(newArgs);
break;
}
}
/**
* set next task
* @param nextTask next task
*/
public void setNextTask(Task nextTask) {
this.nextTask = nextTask;
}
void showStatueCode(String[] args) {
try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(HttpTask.STATUS_FILE);) {
if (this.isPrintAll(args)) try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));) {
String line = "";
while ((line = reader.readLine()) != null)
System.out.println(line);
}
else {
Properties properties = new Properties();
properties.load(inputStream);
String message = properties.getProperty(args[2]);
if (message != null) System.out.println(args[2] + " : " + message);
else {
message = properties.getProperty("DEFINITION");
int index = message.indexOf(args[2].substring(0 , 1));
if (index != -1) {
message = message.substring(index , message.length());
index = message.indexOf(",");
message = message.substring(0 , index);
}
System.out.println(message);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy