mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-24 00:56:13 +00:00
Issues #716,#717,#718 Proxy dialog improvements
This commit is contained in:
@@ -1,63 +1,80 @@
|
||||
package com.jpexs.proxy;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* Replacement of URL with local file
|
||||
*/
|
||||
public class Replacement {
|
||||
|
||||
/**
|
||||
* URL pattern, can contain * wild-cards
|
||||
*/
|
||||
public String urlPattern;
|
||||
/**
|
||||
* Filename to replace content with
|
||||
*/
|
||||
public String targetFile;
|
||||
/**
|
||||
* Date of last accesing this url
|
||||
*/
|
||||
public Calendar lastAccess;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param urlPattern URL pattern, can contain * wild-cards
|
||||
* @param targetFile Filename to replace content with
|
||||
*/
|
||||
public Replacement(String urlPattern, String targetFile) {
|
||||
this.urlPattern = urlPattern;
|
||||
this.targetFile = targetFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true when urlPattern matches specified url
|
||||
*
|
||||
* @param url Url to test match
|
||||
* @return True when matches
|
||||
*/
|
||||
public boolean matches(String url) {
|
||||
String pat = Pattern.quote(urlPattern);
|
||||
pat = pat.replace("*", "\\E.*\\Q");
|
||||
return Pattern.matches(pat, url);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the object.
|
||||
*
|
||||
* @return a string representation of the object.
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
|
||||
|
||||
if (lastAccess == null) {
|
||||
return " " + urlPattern;
|
||||
} else {
|
||||
return format.format(lastAccess.getTime()) + " " + urlPattern;
|
||||
}
|
||||
}
|
||||
}
|
||||
package com.jpexs.proxy;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* Replacement of URL with local file
|
||||
*/
|
||||
public class Replacement {
|
||||
|
||||
/**
|
||||
* URL pattern, can contain * wild-cards
|
||||
*/
|
||||
public String urlPattern;
|
||||
/**
|
||||
* Filename to replace content with
|
||||
*/
|
||||
public String targetFile;
|
||||
/**
|
||||
* Date of last accesing this url
|
||||
*/
|
||||
public Calendar lastAccess;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param urlPattern URL pattern, can contain * wild-cards
|
||||
* @param targetFile Filename to replace content with
|
||||
*/
|
||||
public Replacement(String urlPattern, String targetFile) {
|
||||
this.urlPattern = urlPattern;
|
||||
this.targetFile = targetFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true when urlPattern matches specified url
|
||||
*
|
||||
* @param url Url to test match
|
||||
* @return True when matches
|
||||
*/
|
||||
public boolean matches(String url) {
|
||||
String pat = Pattern.quote(urlPattern);
|
||||
pat = pat.replace("*", "\\E.*\\Q");
|
||||
return Pattern.matches(pat, url);
|
||||
}
|
||||
|
||||
private static String byteCountStr(long bytes, boolean si) {
|
||||
int unit = si ? 1000 : 1024;
|
||||
if (bytes < unit) {
|
||||
return bytes + " B";
|
||||
}
|
||||
int exp = (int) (Math.log(bytes) / Math.log(unit));
|
||||
String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp - 1) + (si ? "" : "i");
|
||||
return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the object.
|
||||
*
|
||||
* @return a string representation of the object.
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
|
||||
|
||||
long size = new File(targetFile).length();
|
||||
String sizeS = byteCountStr(size, false);
|
||||
while (sizeS.length() < 12) {
|
||||
sizeS = " " + sizeS;
|
||||
}
|
||||
|
||||
if (lastAccess == null) {
|
||||
return " "+" | " + sizeS + " | " + urlPattern;
|
||||
} else {
|
||||
return format.format(lastAccess.getTime()) + " | " + sizeS + " | " + urlPattern;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user