diff --git a/ZUtil.iml b/ZUtil.iml
index c1f2135..8764ec9 100644
--- a/ZUtil.iml
+++ b/ZUtil.iml
@@ -15,7 +15,6 @@
-
@@ -81,15 +80,6 @@
-
-
-
-
-
-
-
-
-
@@ -109,5 +99,16 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Zutil.jar b/Zutil.jar
index 50bf421..8e700e2 100644
Binary files a/Zutil.jar and b/Zutil.jar differ
diff --git a/src/zutil/Encrypter.java b/src/zutil/Encrypter.java
index 4c79a46..59bbb04 100644
--- a/src/zutil/Encrypter.java
+++ b/src/zutil/Encrypter.java
@@ -22,26 +22,16 @@
package zutil;
+import javax.crypto.*;
+import javax.crypto.spec.PBEKeySpec;
+import javax.crypto.spec.PBEParameterSpec;
import java.io.InputStream;
import java.io.OutputStream;
-import java.security.InvalidKeyException;
-import java.security.Key;
-import java.security.NoSuchAlgorithmException;
-import java.security.Provider;
-import java.security.Security;
+import java.security.*;
import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.KeySpec;
import java.util.Random;
-import javax.crypto.Cipher;
-import javax.crypto.CipherInputStream;
-import javax.crypto.CipherOutputStream;
-import javax.crypto.KeyGenerator;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKeyFactory;
-import javax.crypto.spec.PBEKeySpec;
-import javax.crypto.spec.PBEParameterSpec;
-
/**
* Basic symmetric encryption example
diff --git a/src/zutil/Hasher.java b/src/zutil/Hasher.java
index 20849c1..7278efc 100644
--- a/src/zutil/Hasher.java
+++ b/src/zutil/Hasher.java
@@ -22,19 +22,14 @@
package zutil;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.math.BigInteger;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
+import zutil.converters.Converter;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
-
-import zutil.converters.Converter;
+import java.io.*;
+import java.math.BigInteger;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
public class Hasher {
diff --git a/src/zutil/OneInstanceNetwork.java b/src/zutil/OneInstanceNetwork.java
index 6b83830..e770a8c 100644
--- a/src/zutil/OneInstanceNetwork.java
+++ b/src/zutil/OneInstanceNetwork.java
@@ -22,12 +22,12 @@
package zutil;
+import zutil.io.MultiPrintStream;
+
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
-import zutil.io.MultiPrintStream;
-
/**
* This class checks if the app is alredy running
* by Locking a port
diff --git a/src/zutil/algo/EuclideansAlgo.java b/src/zutil/algo/EuclideansAlgo.java
index eeac9ef..ae66350 100644
--- a/src/zutil/algo/EuclideansAlgo.java
+++ b/src/zutil/algo/EuclideansAlgo.java
@@ -22,11 +22,11 @@
package zutil.algo;
+import zutil.io.MultiPrintStream;
+
import java.math.BigInteger;
import java.util.LinkedList;
-import zutil.io.MultiPrintStream;
-
/**
* Euclidean algorithm is an algorithm to determine
* the greatest common divisor (GCD)
diff --git a/src/zutil/algo/WienersAlgo.java b/src/zutil/algo/WienersAlgo.java
index acd7cd6..51283a1 100644
--- a/src/zutil/algo/WienersAlgo.java
+++ b/src/zutil/algo/WienersAlgo.java
@@ -22,11 +22,11 @@
package zutil.algo;
+import zutil.math.ZMath;
+
import java.math.BigInteger;
import java.util.LinkedList;
-import zutil.math.ZMath;
-
/**
* The Wieners algorithm factorizes two big numbers a and b.
* It uses the Euclidien algorithm to calculate the generator of the
diff --git a/src/zutil/algo/sort/ExternalSort.java b/src/zutil/algo/sort/ExternalSort.java
index a820da8..06cf850 100644
--- a/src/zutil/algo/sort/ExternalSort.java
+++ b/src/zutil/algo/sort/ExternalSort.java
@@ -22,13 +22,7 @@
package zutil.algo.sort;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
+import java.io.*;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
diff --git a/src/zutil/chart/AbstractChart.java b/src/zutil/chart/AbstractChart.java
index a71bf19..44c3b32 100644
--- a/src/zutil/chart/AbstractChart.java
+++ b/src/zutil/chart/AbstractChart.java
@@ -21,18 +21,13 @@
*/
package zutil.chart;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.Point;
-import java.awt.Rectangle;
+import zutil.log.LogUtil;
+
+import javax.swing.*;
+import java.awt.*;
import java.awt.geom.Line2D;
import java.util.logging.Logger;
-import javax.swing.JPanel;
-
-import zutil.log.LogUtil;
-
public abstract class AbstractChart extends JPanel{
private static final Logger logger = LogUtil.getLogger();
private static final long serialVersionUID = 1L;
diff --git a/src/zutil/chart/ChartData.java b/src/zutil/chart/ChartData.java
index e1f16ea..294a302 100644
--- a/src/zutil/chart/ChartData.java
+++ b/src/zutil/chart/ChartData.java
@@ -21,7 +21,7 @@
*/
package zutil.chart;
-import java.awt.Point;
+import java.awt.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
diff --git a/src/zutil/chart/LineChart.java b/src/zutil/chart/LineChart.java
index cdda5ed..8295bec 100644
--- a/src/zutil/chart/LineChart.java
+++ b/src/zutil/chart/LineChart.java
@@ -21,10 +21,7 @@
*/
package zutil.chart;
-import java.awt.BasicStroke;
-import java.awt.Color;
-import java.awt.Graphics2D;
-import java.awt.Rectangle;
+import java.awt.*;
import java.awt.geom.Line2D;
public class LineChart extends AbstractChart{
diff --git a/src/zutil/db/DBConnection.java b/src/zutil/db/DBConnection.java
index 607d2f6..36cddd6 100644
--- a/src/zutil/db/DBConnection.java
+++ b/src/zutil/db/DBConnection.java
@@ -22,23 +22,17 @@
package zutil.db;
-import java.io.Closeable;
-import java.math.BigInteger;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import zutil.db.handler.SimpleSQLHandler;
+import zutil.log.LogUtil;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
-
-import zutil.db.handler.SimpleSQLHandler;
-import zutil.log.LogUtil;
+import java.io.Closeable;
+import java.math.BigInteger;
+import java.sql.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
public class DBConnection implements Closeable{
private static final Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/db/DBConnectionPool.java b/src/zutil/db/DBConnectionPool.java
index bc1757f..a3a50fc 100644
--- a/src/zutil/db/DBConnectionPool.java
+++ b/src/zutil/db/DBConnectionPool.java
@@ -22,13 +22,13 @@
package zutil.db;
+import zutil.db.DBConnection.DBMS;
+
import java.io.Closeable;
import java.util.LinkedList;
import java.util.Timer;
import java.util.TimerTask;
-import zutil.db.DBConnection.DBMS;
-
/**
* This class is an connection pool
*
diff --git a/src/zutil/db/SQLResultHandler.java b/src/zutil/db/SQLResultHandler.java
index b5cacd4..c69fbc4 100644
--- a/src/zutil/db/SQLResultHandler.java
+++ b/src/zutil/db/SQLResultHandler.java
@@ -22,9 +22,9 @@
package zutil.db;
+import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import java.sql.ResultSet;
public interface SQLResultHandler {
/**
diff --git a/src/zutil/db/bean/DBBean.java b/src/zutil/db/bean/DBBean.java
index 85e2013..e023ff1 100644
--- a/src/zutil/db/bean/DBBean.java
+++ b/src/zutil/db/bean/DBBean.java
@@ -22,6 +22,9 @@
package zutil.db.bean;
+import zutil.db.DBConnection;
+import zutil.log.LogUtil;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -40,9 +43,6 @@ import java.util.NoSuchElementException;
import java.util.logging.Level;
import java.util.logging.Logger;
-import zutil.db.DBConnection;
-import zutil.log.LogUtil;
-
/**
* The class that extends this will be able to save its state to a database.
* Fields that are transient will be ignored, and fields that extend
diff --git a/src/zutil/db/bean/DBBeanSQLResultHandler.java b/src/zutil/db/bean/DBBeanSQLResultHandler.java
index 1ef7e97..e942c35 100644
--- a/src/zutil/db/bean/DBBeanSQLResultHandler.java
+++ b/src/zutil/db/bean/DBBeanSQLResultHandler.java
@@ -22,25 +22,21 @@
package zutil.db.bean;
-import java.lang.reflect.Field;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.ResultSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Logger;
-
import zutil.db.DBConnection;
import zutil.db.SQLResultHandler;
import zutil.db.bean.DBBean.DBBeanConfig;
import zutil.db.bean.DBBean.DBLinkTable;
import zutil.log.LogUtil;
+import java.lang.reflect.Field;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.logging.Logger;
+
public class DBBeanSQLResultHandler implements SQLResultHandler{
private static final Logger logger = LogUtil.getLogger();
/** This is the time to live for the cached items **/
diff --git a/src/zutil/db/handler/PropertiesSQLHandler.java b/src/zutil/db/handler/PropertiesSQLHandler.java
index 787ef5f..0bfaaea 100644
--- a/src/zutil/db/handler/PropertiesSQLHandler.java
+++ b/src/zutil/db/handler/PropertiesSQLHandler.java
@@ -22,13 +22,13 @@
package zutil.db.handler;
+import zutil.db.SQLResultHandler;
+
+import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import java.sql.ResultSet;
import java.util.Properties;
-import zutil.db.SQLResultHandler;
-
/**
* Adds the result of the query to a Properties object,
*
diff --git a/src/zutil/db/handler/SimpleSQLHandler.java b/src/zutil/db/handler/SimpleSQLHandler.java
index 67de74d..fd6e775 100644
--- a/src/zutil/db/handler/SimpleSQLHandler.java
+++ b/src/zutil/db/handler/SimpleSQLHandler.java
@@ -22,11 +22,11 @@
package zutil.db.handler;
+import zutil.db.SQLResultHandler;
+
+import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import java.sql.ResultSet;
-
-import zutil.db.SQLResultHandler;
/**
* Returns the first column of the first row from the query
diff --git a/src/zutil/image/ImageFilterProcessor.java b/src/zutil/image/ImageFilterProcessor.java
index 5fa3c1f..c5e018f 100644
--- a/src/zutil/image/ImageFilterProcessor.java
+++ b/src/zutil/image/ImageFilterProcessor.java
@@ -22,10 +22,10 @@
package zutil.image;
-import java.awt.image.BufferedImage;
-
import zutil.ProgressListener;
+import java.awt.image.BufferedImage;
+
/**
* This is a abstract class for all the effects
*
diff --git a/src/zutil/image/ImageUtil.java b/src/zutil/image/ImageUtil.java
index 2fd7128..7c4dda2 100644
--- a/src/zutil/image/ImageUtil.java
+++ b/src/zutil/image/ImageUtil.java
@@ -22,7 +22,7 @@
package zutil.image;
-import java.awt.Graphics2D;
+import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
diff --git a/src/zutil/image/filters/BlurFilter.java b/src/zutil/image/filters/BlurFilter.java
index a34540c..9a002b0 100644
--- a/src/zutil/image/filters/BlurFilter.java
+++ b/src/zutil/image/filters/BlurFilter.java
@@ -22,12 +22,12 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.image.RAWImageUtil;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
public class BlurFilter extends ImageFilterProcessor{
private int blurValue;
diff --git a/src/zutil/image/filters/ColorIntensityFilter.java b/src/zutil/image/filters/ColorIntensityFilter.java
index 59a88bb..9ab72f2 100644
--- a/src/zutil/image/filters/ColorIntensityFilter.java
+++ b/src/zutil/image/filters/ColorIntensityFilter.java
@@ -22,11 +22,11 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
public class ColorIntensityFilter extends ImageFilterProcessor{
private boolean invert;
private double redScale;
diff --git a/src/zutil/image/filters/ContrastBrightnessFilter.java b/src/zutil/image/filters/ContrastBrightnessFilter.java
index 666e3b3..98aa36f 100644
--- a/src/zutil/image/filters/ContrastBrightnessFilter.java
+++ b/src/zutil/image/filters/ContrastBrightnessFilter.java
@@ -22,11 +22,11 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.image.RAWImageUtil;
+import java.awt.image.BufferedImage;
+
public class ContrastBrightnessFilter extends ImageFilterProcessor{
private double contrast;
private double brightness;
diff --git a/src/zutil/image/filters/ConvolutionFilter.java b/src/zutil/image/filters/ConvolutionFilter.java
index afd2daa..a0ad90a 100644
--- a/src/zutil/image/filters/ConvolutionFilter.java
+++ b/src/zutil/image/filters/ConvolutionFilter.java
@@ -22,12 +22,12 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.image.RAWImageUtil;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
/**
* Applies an Convolution kernel to the specified image
*
diff --git a/src/zutil/image/filters/DitheringFilter.java b/src/zutil/image/filters/DitheringFilter.java
index 0c824f5..c601da2 100644
--- a/src/zutil/image/filters/DitheringFilter.java
+++ b/src/zutil/image/filters/DitheringFilter.java
@@ -22,12 +22,12 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.image.RAWImageUtil;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
public class DitheringFilter extends ImageFilterProcessor{
// default palette is black and white
diff --git a/src/zutil/image/filters/MedianFilter.java b/src/zutil/image/filters/MedianFilter.java
index 52a207c..31fa79e 100644
--- a/src/zutil/image/filters/MedianFilter.java
+++ b/src/zutil/image/filters/MedianFilter.java
@@ -22,13 +22,13 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.algo.sort.sortable.SortableDataList;
import zutil.image.ImageFilterProcessor;
import zutil.image.RAWImageUtil;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
/**
* The MedianFilter is used for noise reduction and things
*
diff --git a/src/zutil/image/filters/ResizeImage.java b/src/zutil/image/filters/ResizeImage.java
index ec3fc6a..967e5fb 100644
--- a/src/zutil/image/filters/ResizeImage.java
+++ b/src/zutil/image/filters/ResizeImage.java
@@ -22,11 +22,11 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
public class ResizeImage extends ImageFilterProcessor{
private int width;
private int height;
diff --git a/src/zutil/image/filters/SobelEdgeDetectionFilter.java b/src/zutil/image/filters/SobelEdgeDetectionFilter.java
index fdad84d..b9f9e75 100644
--- a/src/zutil/image/filters/SobelEdgeDetectionFilter.java
+++ b/src/zutil/image/filters/SobelEdgeDetectionFilter.java
@@ -22,11 +22,11 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
/**
* Generates an image that contains the edges of the source image
*
diff --git a/src/zutil/image/filters/SpotLightFilter.java b/src/zutil/image/filters/SpotLightFilter.java
index 7c3b577..717c67d 100644
--- a/src/zutil/image/filters/SpotLightFilter.java
+++ b/src/zutil/image/filters/SpotLightFilter.java
@@ -22,12 +22,12 @@
package zutil.image.filters;
-import java.awt.image.BufferedImage;
-
import zutil.image.ImageFilterProcessor;
import zutil.image.RAWImageUtil;
import zutil.math.ZMath;
+import java.awt.image.BufferedImage;
+
public class SpotLightFilter extends ImageFilterProcessor{
private int radius;
private int xPos;
diff --git a/src/zutil/io/file/FileSearch.java b/src/zutil/io/file/FileSearch.java
index 32bfe65..7915cfd 100644
--- a/src/zutil/io/file/FileSearch.java
+++ b/src/zutil/io/file/FileSearch.java
@@ -22,22 +22,16 @@
package zutil.io.file;
+import zutil.io.InputStreamCloser;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import zutil.io.InputStreamCloser;
-
public class FileSearch implements Iterable{
// Constants
private static final List compressedFileExtensions = Arrays.asList(new String[]{
diff --git a/src/zutil/io/file/FileUtil.java b/src/zutil/io/file/FileUtil.java
index 188d646..c3286ff 100644
--- a/src/zutil/io/file/FileUtil.java
+++ b/src/zutil/io/file/FileUtil.java
@@ -22,15 +22,10 @@
package zutil.io.file;
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.EOFException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
+import zutil.io.IOUtil;
+import zutil.log.LogUtil;
+
+import java.io.*;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.HashMap;
@@ -39,9 +34,6 @@ import java.util.List;
import java.util.logging.Logger;
import java.util.regex.Matcher;
-import zutil.io.IOUtil;
-import zutil.log.LogUtil;
-
/**
* File path utilities
*
diff --git a/src/zutil/io/file/FileWatcher.java b/src/zutil/io/file/FileWatcher.java
index 4bf5bd9..6aff789 100644
--- a/src/zutil/io/file/FileWatcher.java
+++ b/src/zutil/io/file/FileWatcher.java
@@ -22,13 +22,13 @@
package zutil.io.file;
+import zutil.io.MultiPrintStream;
+
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Timer;
import java.util.TimerTask;
-import zutil.io.MultiPrintStream;
-
/**
* This class calls a given listener
* when a file is changed
diff --git a/src/zutil/log/CompactLogFormatter.java b/src/zutil/log/CompactLogFormatter.java
index 89b98d5..2bbce21 100644
--- a/src/zutil/log/CompactLogFormatter.java
+++ b/src/zutil/log/CompactLogFormatter.java
@@ -22,6 +22,8 @@
package zutil.log;
+import zutil.io.StringOutputStream;
+
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -30,8 +32,6 @@ import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import java.util.regex.Pattern;
-import zutil.io.StringOutputStream;
-
public class CompactLogFormatter extends Formatter{
// The split pattern where the
private static final Pattern splitter = Pattern.compile("\n");
diff --git a/src/zutil/log/LogUtil.java b/src/zutil/log/LogUtil.java
index eebf662..520bcbe 100644
--- a/src/zutil/log/LogUtil.java
+++ b/src/zutil/log/LogUtil.java
@@ -22,11 +22,7 @@
package zutil.log;
-import java.util.logging.ConsoleHandler;
-import java.util.logging.Formatter;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import java.util.logging.*;
/**
* Utility functions for the standard Java Logger
diff --git a/src/zutil/log/net/NetLogClient.fxml b/src/zutil/log/net/NetLogClient.fxml
index 402b94d..a9d3bfd 100644
--- a/src/zutil/log/net/NetLogClient.fxml
+++ b/src/zutil/log/net/NetLogClient.fxml
@@ -1,13 +1,5 @@
-
-
-
-
-
-
-
-
+
+
diff --git a/src/zutil/log/net/NetLogClient.java b/src/zutil/log/net/NetLogClient.java
index 49eae2c..6cb6fa2 100644
--- a/src/zutil/log/net/NetLogClient.java
+++ b/src/zutil/log/net/NetLogClient.java
@@ -22,6 +22,8 @@
package zutil.log.net;
+import zutil.log.LogUtil;
+
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
@@ -31,8 +33,6 @@ import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.logging.Level;
import java.util.logging.Logger;
-import zutil.log.LogUtil;
-
public class NetLogClient extends Thread{
private static final Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/log/net/NetLogClientInstance.fxml b/src/zutil/log/net/NetLogClientInstance.fxml
index 4b54d42..8ccf458 100644
--- a/src/zutil/log/net/NetLogClientInstance.fxml
+++ b/src/zutil/log/net/NetLogClientInstance.fxml
@@ -1,15 +1,5 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/zutil/log/net/NetLogExceptionMessage.java b/src/zutil/log/net/NetLogExceptionMessage.java
index f5530b8..af75088 100644
--- a/src/zutil/log/net/NetLogExceptionMessage.java
+++ b/src/zutil/log/net/NetLogExceptionMessage.java
@@ -22,10 +22,10 @@
package zutil.log.net;
-import java.util.logging.LogRecord;
-
import zutil.net.nio.message.Message;
+import java.util.logging.LogRecord;
+
public class NetLogExceptionMessage extends Message {
private static final long serialVersionUID = 1L;
diff --git a/src/zutil/log/net/NetLogGuiClient.java b/src/zutil/log/net/NetLogGuiClient.java
index 351d655..1c9486a 100644
--- a/src/zutil/log/net/NetLogGuiClient.java
+++ b/src/zutil/log/net/NetLogGuiClient.java
@@ -22,18 +22,18 @@
package zutil.log.net;
-import java.io.IOException;
-
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
-import javafx.stage.Stage;
-import javafx.scene.Scene;
import javafx.scene.Parent;
+import javafx.scene.Scene;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.AnchorPane;
+import javafx.stage.Stage;
+
+import java.io.IOException;
public class NetLogGuiClient extends Application{
public static final String VERSION = "0.1";
diff --git a/src/zutil/log/net/NetLogGuiClientInstance.java b/src/zutil/log/net/NetLogGuiClientInstance.java
index 9776066..663a579 100644
--- a/src/zutil/log/net/NetLogGuiClientInstance.java
+++ b/src/zutil/log/net/NetLogGuiClientInstance.java
@@ -22,21 +22,20 @@
package zutil.log.net;
-import java.net.URL;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
import javafx.application.Platform;
-import javafx.scene.control.*;
-import zutil.log.LogUtil;
-
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
+import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.util.Callback;
+import zutil.log.LogUtil;
+
+import java.net.URL;
+import java.util.ResourceBundle;
+import java.util.logging.Level;
+import java.util.logging.Logger;
public class NetLogGuiClientInstance implements Initializable, NetLogListener {
private static final Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/log/net/NetLogMessage.java b/src/zutil/log/net/NetLogMessage.java
index 2d1e901..dedf92f 100644
--- a/src/zutil/log/net/NetLogMessage.java
+++ b/src/zutil/log/net/NetLogMessage.java
@@ -22,12 +22,12 @@
package zutil.log.net;
+import zutil.net.nio.message.Message;
+
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.LogRecord;
-import zutil.net.nio.message.Message;
-
public class NetLogMessage extends Message {
private static final long serialVersionUID = 1L;
private static final SimpleDateFormat dataFormat =
diff --git a/src/zutil/log/net/NetLogServer.java b/src/zutil/log/net/NetLogServer.java
index 4b4bc82..46846ea 100644
--- a/src/zutil/log/net/NetLogServer.java
+++ b/src/zutil/log/net/NetLogServer.java
@@ -22,6 +22,11 @@
package zutil.log.net;
+import zutil.log.LogUtil;
+import zutil.net.nio.message.Message;
+import zutil.net.threaded.ThreadedTCPNetworkServer;
+import zutil.net.threaded.ThreadedTCPNetworkServerThread;
+
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
@@ -33,11 +38,6 @@ import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
-import zutil.log.LogUtil;
-import zutil.net.nio.message.Message;
-import zutil.net.threaded.ThreadedTCPNetworkServer;
-import zutil.net.threaded.ThreadedTCPNetworkServerThread;
-
public class NetLogServer extends Handler {
private static final Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/net/POP3Client.java b/src/zutil/net/POP3Client.java
index cc55a62..7ff0eed 100644
--- a/src/zutil/net/POP3Client.java
+++ b/src/zutil/net/POP3Client.java
@@ -22,6 +22,8 @@
package zutil.net;
+import javax.net.SocketFactory;
+import javax.net.ssl.SSLSocketFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -29,9 +31,6 @@ import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
-import javax.net.SocketFactory;
-import javax.net.ssl.SSLSocketFactory;
-
/**
* A simple class that connects and logs in to a POP3
* server and then can read and delete messages.
diff --git a/src/zutil/net/ServerFind.java b/src/zutil/net/ServerFind.java
index 54c0685..79601ff 100644
--- a/src/zutil/net/ServerFind.java
+++ b/src/zutil/net/ServerFind.java
@@ -22,14 +22,14 @@
package zutil.net;
+import zutil.io.MultiPrintStream;
+
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.MulticastSocket;
-import zutil.io.MultiPrintStream;
-
/**
* This class broadcast its address in the LAN so that
* the ServerFindClient can get the server IP
diff --git a/src/zutil/net/http/HttpClient.java b/src/zutil/net/http/HttpClient.java
index dccff15..022dcab 100644
--- a/src/zutil/net/http/HttpClient.java
+++ b/src/zutil/net/http/HttpClient.java
@@ -22,6 +22,8 @@
package zutil.net.http;
+import zutil.net.http.HttpPrintStream.HttpMessageType;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -29,8 +31,6 @@ import java.net.Socket;
import java.net.URL;
import java.util.HashMap;
-import zutil.net.http.HttpPrintStream.HttpMessageType;
-
/**
* This class connects to a HTTP server and
* parses the result
diff --git a/src/zutil/net/http/HttpPrintStream.java b/src/zutil/net/http/HttpPrintStream.java
index dafc1d0..a0fb831 100644
--- a/src/zutil/net/http/HttpPrintStream.java
+++ b/src/zutil/net/http/HttpPrintStream.java
@@ -22,7 +22,9 @@
package zutil.net.http;
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
import java.util.HashMap;
/**
diff --git a/src/zutil/net/http/HttpServer.java b/src/zutil/net/http/HttpServer.java
index ccf7d7d..932c8dc 100644
--- a/src/zutil/net/http/HttpServer.java
+++ b/src/zutil/net/http/HttpServer.java
@@ -22,25 +22,21 @@
package zutil.net.http;
+import zutil.StringUtil;
+import zutil.log.LogUtil;
+import zutil.net.threaded.ThreadedTCPNetworkServer;
+import zutil.net.threaded.ThreadedTCPNetworkServerThread;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
-import zutil.StringUtil;
-import zutil.log.LogUtil;
-import zutil.net.threaded.ThreadedTCPNetworkServer;
-import zutil.net.threaded.ThreadedTCPNetworkServerThread;
-
/**
* A simple web server that handles both cookies and
diff --git a/src/zutil/net/http/multipart/MultipartParser.java b/src/zutil/net/http/multipart/MultipartParser.java
index 7d6b796..cec8a73 100644
--- a/src/zutil/net/http/multipart/MultipartParser.java
+++ b/src/zutil/net/http/multipart/MultipartParser.java
@@ -22,17 +22,16 @@
package zutil.net.http.multipart;
+import zutil.ProgressListener;
+import zutil.net.http.HttpHeaderParser;
+
+import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-
-import zutil.ProgressListener;
-import zutil.net.http.HttpHeaderParser;
-
/**
* Parses a multipart/form-data http request,
* saves files to temporary location.
diff --git a/src/zutil/net/nio/NioClient.java b/src/zutil/net/nio/NioClient.java
index 1ddae2c..dae4a82 100644
--- a/src/zutil/net/nio/NioClient.java
+++ b/src/zutil/net/nio/NioClient.java
@@ -22,6 +22,10 @@
package zutil.net.nio;
+import zutil.net.nio.message.Message;
+import zutil.net.nio.message.type.ResponseRequestMessage;
+import zutil.net.nio.response.ResponseEvent;
+
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
@@ -29,10 +33,6 @@ import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.nio.channels.spi.SelectorProvider;
-import zutil.net.nio.message.Message;
-import zutil.net.nio.message.type.ResponseRequestMessage;
-import zutil.net.nio.response.ResponseEvent;
-
public class NioClient extends NioNetwork{
private SocketChannel serverSocket;
diff --git a/src/zutil/net/nio/NioNetwork.java b/src/zutil/net/nio/NioNetwork.java
index 3f58e5f..55a506e 100644
--- a/src/zutil/net/nio/NioNetwork.java
+++ b/src/zutil/net/nio/NioNetwork.java
@@ -22,22 +22,6 @@
package zutil.net.nio;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.nio.ByteBuffer;
-import java.nio.channels.SelectionKey;
-import java.nio.channels.Selector;
-import java.nio.channels.ServerSocketChannel;
-import java.nio.channels.SocketChannel;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
import zutil.Encrypter;
import zutil.converters.Converter;
import zutil.io.DynamicByteArrayStream;
@@ -51,6 +35,17 @@ import zutil.net.nio.server.ClientData;
import zutil.net.nio.worker.SystemWorker;
import zutil.net.nio.worker.Worker;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.nio.ByteBuffer;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.Selector;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+import java.util.*;
+import java.util.logging.Logger;
+
public abstract class NioNetwork implements Runnable {
private static Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/net/nio/service/NetworkService.java b/src/zutil/net/nio/service/NetworkService.java
index a22e01b..d236544 100644
--- a/src/zutil/net/nio/service/NetworkService.java
+++ b/src/zutil/net/nio/service/NetworkService.java
@@ -22,11 +22,11 @@
package zutil.net.nio.service;
-import java.nio.channels.SocketChannel;
-
import zutil.net.nio.NioNetwork;
import zutil.net.nio.message.Message;
+import java.nio.channels.SocketChannel;
+
public abstract class NetworkService {
protected static NetworkService instance;
protected NioNetwork nio;
diff --git a/src/zutil/net/nio/service/chat/ChatService.java b/src/zutil/net/nio/service/chat/ChatService.java
index 62a0850..80a6aaa 100644
--- a/src/zutil/net/nio/service/chat/ChatService.java
+++ b/src/zutil/net/nio/service/chat/ChatService.java
@@ -22,17 +22,17 @@
package zutil.net.nio.service.chat;
-import java.nio.channels.SocketChannel;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.logging.Logger;
-
import zutil.log.LogUtil;
import zutil.net.nio.NioNetwork;
import zutil.net.nio.message.ChatMessage;
import zutil.net.nio.message.Message;
import zutil.net.nio.service.NetworkService;
+import java.nio.channels.SocketChannel;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.logging.Logger;
+
/**
* A simple chat service with users and rooms
*
diff --git a/src/zutil/net/nio/service/sync/SyncService.java b/src/zutil/net/nio/service/sync/SyncService.java
index 8bc42e1..b8d7aec 100644
--- a/src/zutil/net/nio/service/sync/SyncService.java
+++ b/src/zutil/net/nio/service/sync/SyncService.java
@@ -22,16 +22,16 @@
package zutil.net.nio.service.sync;
-import java.nio.channels.SocketChannel;
-import java.util.HashMap;
-import java.util.logging.Logger;
-
import zutil.log.LogUtil;
import zutil.net.nio.NioNetwork;
import zutil.net.nio.message.Message;
import zutil.net.nio.message.SyncMessage;
import zutil.net.nio.service.NetworkService;
+import java.nio.channels.SocketChannel;
+import java.util.HashMap;
+import java.util.logging.Logger;
+
public class SyncService extends NetworkService{
private static Logger logger = LogUtil.getLogger();
// list of objects to sync
diff --git a/src/zutil/net/nio/worker/EchoWorker.java b/src/zutil/net/nio/worker/EchoWorker.java
index 08177b2..d2294dc 100644
--- a/src/zutil/net/nio/worker/EchoWorker.java
+++ b/src/zutil/net/nio/worker/EchoWorker.java
@@ -22,10 +22,10 @@
package zutil.net.nio.worker;
-import java.io.IOException;
-
import zutil.io.MultiPrintStream;
+import java.io.IOException;
+
public class EchoWorker extends ThreadedEventWorker {
@Override
diff --git a/src/zutil/net/nio/worker/SystemWorker.java b/src/zutil/net/nio/worker/SystemWorker.java
index c4a73eb..49c3a91 100644
--- a/src/zutil/net/nio/worker/SystemWorker.java
+++ b/src/zutil/net/nio/worker/SystemWorker.java
@@ -22,10 +22,6 @@
package zutil.net.nio.worker;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Logger;
-
import zutil.log.LogUtil;
import zutil.net.nio.NioNetwork;
import zutil.net.nio.message.ChatMessage;
@@ -38,6 +34,10 @@ import zutil.net.nio.service.NetworkService;
import zutil.net.nio.service.chat.ChatService;
import zutil.net.nio.service.sync.SyncService;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.logging.Logger;
+
public class SystemWorker extends ThreadedEventWorker {
private static Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/net/nio/worker/Worker.java b/src/zutil/net/nio/worker/Worker.java
index ebe16af..e1a2f5a 100644
--- a/src/zutil/net/nio/worker/Worker.java
+++ b/src/zutil/net/nio/worker/Worker.java
@@ -22,12 +22,12 @@
package zutil.net.nio.worker;
+import zutil.net.nio.NioNetwork;
+
import java.nio.channels.SocketChannel;
import java.util.LinkedList;
import java.util.List;
-import zutil.net.nio.NioNetwork;
-
public abstract class Worker implements Runnable {
private LinkedList queue = new LinkedList();
diff --git a/src/zutil/net/nio/worker/WorkerDataEvent.java b/src/zutil/net/nio/worker/WorkerDataEvent.java
index 4575939..bd6cfd4 100644
--- a/src/zutil/net/nio/worker/WorkerDataEvent.java
+++ b/src/zutil/net/nio/worker/WorkerDataEvent.java
@@ -22,10 +22,10 @@
package zutil.net.nio.worker;
-import java.nio.channels.SocketChannel;
-
import zutil.net.nio.NioNetwork;
+import java.nio.channels.SocketChannel;
+
public class WorkerDataEvent {
public NioNetwork network;
diff --git a/src/zutil/net/nio/worker/grid/GridClient.java b/src/zutil/net/nio/worker/grid/GridClient.java
index f7746c2..c4100f2 100644
--- a/src/zutil/net/nio/worker/grid/GridClient.java
+++ b/src/zutil/net/nio/worker/grid/GridClient.java
@@ -22,16 +22,16 @@
package zutil.net.nio.worker.grid;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.Queue;
-
import zutil.io.MultiPrintStream;
import zutil.net.nio.NioClient;
import zutil.net.nio.message.GridMessage;
import zutil.net.nio.worker.ThreadedEventWorker;
import zutil.net.nio.worker.WorkerDataEvent;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.Queue;
+
/**
* This class is the client part of the grid.
* It connects to a grid server and requests new job.
diff --git a/src/zutil/net/nio/worker/grid/GridServerWorker.java b/src/zutil/net/nio/worker/grid/GridServerWorker.java
index 030c2bb..8b6b698 100644
--- a/src/zutil/net/nio/worker/grid/GridServerWorker.java
+++ b/src/zutil/net/nio/worker/grid/GridServerWorker.java
@@ -22,15 +22,15 @@
package zutil.net.nio.worker.grid;
+import zutil.net.nio.message.GridMessage;
+import zutil.net.nio.worker.ThreadedEventWorker;
+import zutil.net.nio.worker.WorkerDataEvent;
+
import java.io.IOException;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Queue;
-import zutil.net.nio.message.GridMessage;
-import zutil.net.nio.worker.ThreadedEventWorker;
-import zutil.net.nio.worker.WorkerDataEvent;
-
/**
* Implements a simple network computing server
*
diff --git a/src/zutil/net/ssdp/SSDPClient.java b/src/zutil/net/ssdp/SSDPClient.java
index 99e95f6..48b4ab7 100644
--- a/src/zutil/net/ssdp/SSDPClient.java
+++ b/src/zutil/net/ssdp/SSDPClient.java
@@ -22,6 +22,13 @@
package zutil.net.ssdp;
+import zutil.io.StringOutputStream;
+import zutil.log.LogUtil;
+import zutil.net.http.HttpHeaderParser;
+import zutil.net.http.HttpPrintStream;
+import zutil.net.threaded.ThreadedUDPNetwork;
+import zutil.net.threaded.ThreadedUDPNetworkThread;
+
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
@@ -30,13 +37,6 @@ import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
-import zutil.io.StringOutputStream;
-import zutil.log.LogUtil;
-import zutil.net.http.HttpHeaderParser;
-import zutil.net.http.HttpPrintStream;
-import zutil.net.threaded.ThreadedUDPNetwork;
-import zutil.net.threaded.ThreadedUDPNetworkThread;
-
/**
* An SSDP client class that will request
* service information.
diff --git a/src/zutil/net/ssdp/SSDPServer.java b/src/zutil/net/ssdp/SSDPServer.java
index 3a08131..0350134 100644
--- a/src/zutil/net/ssdp/SSDPServer.java
+++ b/src/zutil/net/ssdp/SSDPServer.java
@@ -22,24 +22,22 @@
package zutil.net.ssdp;
+import zutil.io.StringOutputStream;
+import zutil.log.LogUtil;
+import zutil.net.http.HttpHeaderParser;
+import zutil.net.http.HttpPrintStream;
+import zutil.net.threaded.ThreadedUDPNetwork;
+import zutil.net.threaded.ThreadedUDPNetworkThread;
+
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
-import java.net.MulticastSocket;
import java.util.HashMap;
import java.util.Timer;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
-import zutil.io.MultiPrintStream;
-import zutil.io.StringOutputStream;
-import zutil.log.LogUtil;
-import zutil.net.http.HttpHeaderParser;
-import zutil.net.http.HttpPrintStream;
-import zutil.net.threaded.ThreadedUDPNetworkThread;
-import zutil.net.threaded.ThreadedUDPNetwork;
-
/**
* A Server class that announces an service by the SSDP
* protocol specified at:
diff --git a/src/zutil/net/ssdp/SSDPServiceInfo.java b/src/zutil/net/ssdp/SSDPServiceInfo.java
index 06a819f..f5f6a9f 100644
--- a/src/zutil/net/ssdp/SSDPServiceInfo.java
+++ b/src/zutil/net/ssdp/SSDPServiceInfo.java
@@ -22,8 +22,6 @@
package zutil.net.ssdp;
-import zutil.net.http.HttpPrintStream;
-
/**
* This class contains information about a service from
* or through the SSDP protocol
diff --git a/src/zutil/net/threaded/ThreadedTCPNetworkServer.java b/src/zutil/net/threaded/ThreadedTCPNetworkServer.java
index 56a6661..630acb1 100644
--- a/src/zutil/net/threaded/ThreadedTCPNetworkServer.java
+++ b/src/zutil/net/threaded/ThreadedTCPNetworkServer.java
@@ -22,6 +22,9 @@
package zutil.net.threaded;
+import zutil.log.LogUtil;
+
+import javax.net.ssl.SSLServerSocketFactory;
import java.io.File;
import java.io.IOException;
import java.net.ServerSocket;
@@ -33,10 +36,6 @@ import java.security.cert.CertificateException;
import java.util.logging.Level;
import java.util.logging.Logger;
-import javax.net.ssl.SSLServerSocketFactory;
-
-import zutil.log.LogUtil;
-
/**
* A simple network server that handles TCP communication
diff --git a/src/zutil/net/threaded/ThreadedUDPNetwork.java b/src/zutil/net/threaded/ThreadedUDPNetwork.java
index 92bbeb2..6cc912c 100644
--- a/src/zutil/net/threaded/ThreadedUDPNetwork.java
+++ b/src/zutil/net/threaded/ThreadedUDPNetwork.java
@@ -23,11 +23,7 @@
package zutil.net.threaded;
import java.io.IOException;
-import java.net.DatagramPacket;
-import java.net.DatagramSocket;
-import java.net.InetAddress;
-import java.net.MulticastSocket;
-import java.net.SocketException;
+import java.net.*;
diff --git a/src/zutil/net/torrent/TorrentMetainfo.java b/src/zutil/net/torrent/TorrentMetainfo.java
index 71b23bb..3405003 100644
--- a/src/zutil/net/torrent/TorrentMetainfo.java
+++ b/src/zutil/net/torrent/TorrentMetainfo.java
@@ -22,17 +22,17 @@
package zutil.net.torrent;
+import zutil.io.MultiPrintStream;
+import zutil.io.file.FileUtil;
+import zutil.parser.BEncodedParser;
+import zutil.parser.DataNode;
+
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
-import zutil.io.MultiPrintStream;
-import zutil.io.file.FileUtil;
-import zutil.parser.BEncodedParser;
-import zutil.parser.DataNode;
-
public class TorrentMetainfo {
/** Comment (optional) **/
private String comment;
diff --git a/src/zutil/net/torrent/TorrentTracker.java b/src/zutil/net/torrent/TorrentTracker.java
index de7300e..46ba8be 100644
--- a/src/zutil/net/torrent/TorrentTracker.java
+++ b/src/zutil/net/torrent/TorrentTracker.java
@@ -22,12 +22,12 @@
package zutil.net.torrent;
-import java.io.IOException;
-import java.net.URL;
-
import zutil.net.http.HttpClient;
import zutil.net.http.HttpHeaderParser;
+import java.io.IOException;
+import java.net.URL;
+
/**
* This tracker represents a tracker client
* that connects to a tracker
diff --git a/src/zutil/net/update/FileInfo.java b/src/zutil/net/update/FileInfo.java
index 59e2555..b01eac7 100644
--- a/src/zutil/net/update/FileInfo.java
+++ b/src/zutil/net/update/FileInfo.java
@@ -22,13 +22,13 @@
package zutil.net.update;
+import zutil.Hasher;
+import zutil.io.file.FileUtil;
+
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
-import zutil.Hasher;
-import zutil.io.file.FileUtil;
-
/**
* This class is used to store the files
* and there hashes
diff --git a/src/zutil/net/update/FileListMessage.java b/src/zutil/net/update/FileListMessage.java
index 9e39ae7..bf8092c 100644
--- a/src/zutil/net/update/FileListMessage.java
+++ b/src/zutil/net/update/FileListMessage.java
@@ -22,14 +22,14 @@
package zutil.net.update;
+import zutil.io.file.FileUtil;
+
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import zutil.io.file.FileUtil;
-
/**
* This class is used to store the files
* and there hashes
diff --git a/src/zutil/net/update/UpdateClient.java b/src/zutil/net/update/UpdateClient.java
index 72a4eb2..0e04910 100644
--- a/src/zutil/net/update/UpdateClient.java
+++ b/src/zutil/net/update/UpdateClient.java
@@ -22,19 +22,15 @@
package zutil.net.update;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.net.Socket;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
import zutil.ProgressListener;
import zutil.io.file.FileUtil;
import zutil.log.LogUtil;
+import java.io.*;
+import java.net.Socket;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
/**
* This class connects to a update server and updates a path
* with the servers
diff --git a/src/zutil/net/update/UpdateServer.java b/src/zutil/net/update/UpdateServer.java
index ae30bfc..e8144c3 100644
--- a/src/zutil/net/update/UpdateServer.java
+++ b/src/zutil/net/update/UpdateServer.java
@@ -22,6 +22,11 @@
package zutil.net.update;
+import zutil.io.MultiPrintStream;
+import zutil.log.LogUtil;
+import zutil.net.threaded.ThreadedTCPNetworkServer;
+import zutil.net.threaded.ThreadedTCPNetworkServerThread;
+
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
@@ -30,11 +35,6 @@ import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
-import zutil.io.MultiPrintStream;
-import zutil.log.LogUtil;
-import zutil.net.threaded.ThreadedTCPNetworkServer;
-import zutil.net.threaded.ThreadedTCPNetworkServerThread;
-
public class UpdateServer extends ThreadedTCPNetworkServer{
private static final Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/net/upnp/UPnPMediaServer.java b/src/zutil/net/upnp/UPnPMediaServer.java
index 954239d..0c773a8 100644
--- a/src/zutil/net/upnp/UPnPMediaServer.java
+++ b/src/zutil/net/upnp/UPnPMediaServer.java
@@ -22,13 +22,13 @@
package zutil.net.upnp;
+import zutil.net.http.HttpHeaderParser;
+import zutil.net.http.HttpPrintStream;
+
import java.io.IOException;
import java.util.Map;
import java.util.UUID;
-import zutil.net.http.HttpHeaderParser;
-import zutil.net.http.HttpPrintStream;
-
/**
* This class is a UPnP AV Media Server that handles all the
* other UPnP services
diff --git a/src/zutil/net/upnp/services/UPnPContentDirectory.java b/src/zutil/net/upnp/services/UPnPContentDirectory.java
index a147713..ee37914 100644
--- a/src/zutil/net/upnp/services/UPnPContentDirectory.java
+++ b/src/zutil/net/upnp/services/UPnPContentDirectory.java
@@ -22,14 +22,7 @@
package zutil.net.upnp.services;
-import java.io.File;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
import org.dom4j.DocumentException;
-
import zutil.io.file.FileUtil;
import zutil.net.http.HttpHeaderParser;
import zutil.net.http.HttpPage;
@@ -38,6 +31,12 @@ import zutil.net.upnp.UPnPService;
import zutil.net.ws.WSInterface;
import zutil.net.ws.WSReturnObject;
+import java.io.File;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
/**
* Information about a UPNP Service
*
diff --git a/src/zutil/net/ws/WSInterface.java b/src/zutil/net/ws/WSInterface.java
index 8d58866..c26a275 100644
--- a/src/zutil/net/ws/WSInterface.java
+++ b/src/zutil/net/ws/WSInterface.java
@@ -22,7 +22,10 @@
package zutil.net.ws;
-import java.lang.annotation.*;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
/**
*
* Specifies web service parameter names and other things.
diff --git a/src/zutil/net/ws/WSMethodDef.java b/src/zutil/net/ws/WSMethodDef.java
index 88b3c01..68a395b 100644
--- a/src/zutil/net/ws/WSMethodDef.java
+++ b/src/zutil/net/ws/WSMethodDef.java
@@ -22,6 +22,9 @@
package zutil.net.ws;
+import zutil.net.ws.WSInterface.WSDocumentation;
+import zutil.net.ws.WSInterface.WSNamespace;
+
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
@@ -29,9 +32,6 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
-import zutil.net.ws.WSInterface.WSDocumentation;
-import zutil.net.ws.WSInterface.WSNamespace;
-
/**
* This is a web service method definition class
*
diff --git a/src/zutil/net/ws/rest/RestHttpPage.java b/src/zutil/net/ws/rest/RestHttpPage.java
index f8dd1e4..f3a7990 100644
--- a/src/zutil/net/ws/rest/RestHttpPage.java
+++ b/src/zutil/net/ws/rest/RestHttpPage.java
@@ -26,7 +26,6 @@ import zutil.converters.Converter;
import zutil.net.http.HttpHeaderParser;
import zutil.net.http.HttpPage;
import zutil.net.http.HttpPrintStream;
-import zutil.net.http.HttpURL;
import zutil.net.ws.WSInterface;
import zutil.net.ws.WSMethodDef;
import zutil.net.ws.WSParameterDef;
diff --git a/src/zutil/osal/app/linux/AptGet.java b/src/zutil/osal/app/linux/AptGet.java
index b92007c..634bf67 100644
--- a/src/zutil/osal/app/linux/AptGet.java
+++ b/src/zutil/osal/app/linux/AptGet.java
@@ -25,7 +25,6 @@ package zutil.osal.app.linux;
import zutil.log.LogUtil;
import zutil.osal.OSAbstractionLayer;
-import java.io.IOException;
import java.util.logging.Logger;
/**
diff --git a/src/zutil/osal/app/linux/ProcDiskstats.java b/src/zutil/osal/app/linux/ProcDiskstats.java
index b466073..454524b 100644
--- a/src/zutil/osal/app/linux/ProcDiskstats.java
+++ b/src/zutil/osal/app/linux/ProcDiskstats.java
@@ -23,13 +23,13 @@
package zutil.osal.app.linux;
import zutil.StringUtil;
-import zutil.io.MultiPrintStream;
import zutil.log.LogUtil;
import zutil.net.ThroughputCalculator;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
diff --git a/src/zutil/parser/BBCodeParser.java b/src/zutil/parser/BBCodeParser.java
index 24c3d75..72c6d67 100644
--- a/src/zutil/parser/BBCodeParser.java
+++ b/src/zutil/parser/BBCodeParser.java
@@ -22,10 +22,10 @@
package zutil.parser;
-import java.util.HashMap;
-
import zutil.struct.MutableInt;
+import java.util.HashMap;
+
/**
* Parses BBCode and replaces them with the corresponding HTML.
*
diff --git a/src/zutil/parser/DataNode.java b/src/zutil/parser/DataNode.java
index fb297ff..603b36a 100644
--- a/src/zutil/parser/DataNode.java
+++ b/src/zutil/parser/DataNode.java
@@ -22,11 +22,7 @@
package zutil.parser;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
diff --git a/src/zutil/parser/Templator.java b/src/zutil/parser/Templator.java
index 7064ab9..11f817f 100644
--- a/src/zutil/parser/Templator.java
+++ b/src/zutil/parser/Templator.java
@@ -30,7 +30,12 @@ import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
-import java.util.*;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -47,26 +52,35 @@ import java.util.logging.Logger;
* {{#key}}...{{/key}}
* {{#obj.attr}}...{{/obj.attr}}
* Will display content between the tags if:
- * key is defined,
- * if the key references a list or array the content will be iterated
- * for every element, the element can be referenced by the tag {{.}},
- * if key is a boolean with the value true,
- * if key is a Integer with the value anything other then 0.
+ *
+ * - key is defined,
+ * - if the key references a list or array the content will be iterated
+ * for every element, the element can be referenced by the tag {{.}},
+ * - if key is a boolean with the value true,
+ * - if key is a Integer with the value anything other then 0,
+ * - if key ends with () it will be evaluated as a method call, the returned
+ * type will be evaluated against the criteria in this list.
+ *
+ *
* {{^key}}
* {{^obj.attr}}...{{/obj.attr}}
* A negative condition, will display content if:
- * the key is undefined,
- * the key is a empty list,
- * the key is a zero length array,
- * the key is a false boolean,
- * the key is a 0 Integer
+ *
+ * - the key is undefined,
+ * - the key is a empty list,
+ * - the key is a zero length array,
+ * - the key is a false boolean,
+ * - the key is a 0 Integer
+ * - if key ends with () it will be evaluated as a method call, the returned
+ * type will be evaluated against the criteria in this list.
+ *
+ *
* {{! ignore me }}
* Comment, will be ignored.
*
*
* TODO: {{> file}}: include file
* TODO: {{=<% %>=}}: change delimiter
- * TODO: {{obj.func()}}: execute functions
*
* @author Ziver koc
*/
@@ -131,7 +145,7 @@ public class Templator {
}
/**
- * Will pare or re-parse the source template.
+ * Will parse or re-parse the source template.
*/
private void parseTemplate(String tmpl){
tmplRoot = parseTemplate(new TemplateNode(), tmpl, new MutableInt(), null);
@@ -244,7 +258,6 @@ public class Templator {
public void compile(StringBuilder str) {
Object obj = attrib.getObject();
if(obj != null) {
-
if(obj instanceof Boolean){
if ((Boolean) obj)
super.compile(str);
@@ -357,12 +370,27 @@ public class Templator {
}
protected Object getFieldValue(Object obj, String attrib){
try {
- if(obj.getClass().isArray() && "length".equals(attrib))
+ if(attrib.endsWith("()")){ // Is this a function call?
+ if(attrib.length() > 2) {
+ String funcName = attrib.substring(0, attrib.length()-2);
+ // Using a loop as the direct lookup throws a exception if no field was found
+ // So this is probably a bit faster
+ for (Method m : obj.getClass().getMethods()) {
+ if (m.getParameterTypes().length == 0 && m.getName().equals(funcName)) {
+ m.setAccessible(true);
+ return m.invoke(obj);
+ }
+ }
+ }
+ }
+ else if(obj.getClass().isArray() && "length".equals(attrib))
return Array.getLength(obj);
else if(obj instanceof Collection && "length".equals(attrib))
return ((Collection) obj).size();
else {
- for (Field field : obj.getClass().getDeclaredFields()) {
+ // Using a loop as the direct lookup throws a exception if no field was found
+ // So this is probably a bit faster
+ for (Field field : obj.getClass().getFields()) { // Only look for public fields
if (field.getName().equals(attrib)) {
field.setAccessible(true);
return field.get(obj);
@@ -371,6 +399,8 @@ public class Templator {
}
}catch (IllegalAccessException e){
log.log(Level.WARNING, null, e);
+ } catch (InvocationTargetException e) {
+ log.log(Level.WARNING, null, e);
}
return null;
}
diff --git a/src/zutil/parser/json/JSONObjectInputStream.java b/src/zutil/parser/json/JSONObjectInputStream.java
index 7e09af8..a6a6eb2 100644
--- a/src/zutil/parser/json/JSONObjectInputStream.java
+++ b/src/zutil/parser/json/JSONObjectInputStream.java
@@ -25,6 +25,7 @@ package zutil.parser.json;
import zutil.parser.Base64Decoder;
import zutil.parser.DataNode;
+import javax.activation.UnsupportedDataTypeException;
import java.io.*;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
@@ -33,8 +34,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.activation.UnsupportedDataTypeException;
-
public class JSONObjectInputStream extends InputStream implements ObjectInput, Closeable{
private JSONParser parser;
private HashMap objectCache;
diff --git a/src/zutil/parser/json/JSONObjectOutputStream.java b/src/zutil/parser/json/JSONObjectOutputStream.java
index 1a8dc4a..70a6f48 100644
--- a/src/zutil/parser/json/JSONObjectOutputStream.java
+++ b/src/zutil/parser/json/JSONObjectOutputStream.java
@@ -26,7 +26,11 @@ import zutil.ClassUtil;
import zutil.parser.DataNode;
import zutil.parser.DataNode.DataType;
-import java.io.*;
+import javax.activation.UnsupportedDataTypeException;
+import java.io.Closeable;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.OutputStream;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
@@ -34,8 +38,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.activation.UnsupportedDataTypeException;
-
public class JSONObjectOutputStream extends OutputStream implements ObjectOutput, Closeable{
private boolean generateMetaData;
diff --git a/src/zutil/parser/json/JSONParser.java b/src/zutil/parser/json/JSONParser.java
index 6f651e3..2424483 100644
--- a/src/zutil/parser/json/JSONParser.java
+++ b/src/zutil/parser/json/JSONParser.java
@@ -26,7 +26,9 @@ import zutil.parser.DataNode;
import zutil.parser.DataNode.DataType;
import zutil.struct.MutableInt;
-import java.io.*;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
import java.util.regex.Pattern;
/**
diff --git a/src/zutil/parser/json/JSONWriter.java b/src/zutil/parser/json/JSONWriter.java
index afe1332..4af8550 100644
--- a/src/zutil/parser/json/JSONWriter.java
+++ b/src/zutil/parser/json/JSONWriter.java
@@ -22,15 +22,15 @@
package zutil.parser.json;
+import zutil.io.StringOutputStream;
+import zutil.parser.DataNode;
+import zutil.parser.DataNode.DataType;
+
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Iterator;
-import zutil.io.StringOutputStream;
-import zutil.parser.DataNode;
-import zutil.parser.DataNode.DataType;
-
/**
* Writes An JSONNode to an String or stream
*
diff --git a/src/zutil/plugin/PluginData.java b/src/zutil/plugin/PluginData.java
index 865879f..4722407 100644
--- a/src/zutil/plugin/PluginData.java
+++ b/src/zutil/plugin/PluginData.java
@@ -22,14 +22,10 @@
package zutil.plugin;
-import zutil.ClassUtil;
import zutil.log.LogUtil;
import zutil.parser.DataNode;
-import javax.xml.crypto.Data;
import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
diff --git a/src/zutil/plugin/PluginManager.java b/src/zutil/plugin/PluginManager.java
index c138bf7..09ce473 100644
--- a/src/zutil/plugin/PluginManager.java
+++ b/src/zutil/plugin/PluginManager.java
@@ -22,16 +22,19 @@
package zutil.plugin;
-import java.io.File;
-import java.util.*;
-import java.util.logging.Logger;
-
import zutil.io.IOUtil;
import zutil.io.file.FileSearch;
import zutil.log.LogUtil;
import zutil.parser.DataNode;
import zutil.parser.json.JSONParser;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+import java.util.logging.Logger;
+
/**
* This class will search the file system for files
* with the name "plugin.json" that defines data
diff --git a/src/zutil/struct/BloomFilter.java b/src/zutil/struct/BloomFilter.java
index 9805bec..dabefd0 100644
--- a/src/zutil/struct/BloomFilter.java
+++ b/src/zutil/struct/BloomFilter.java
@@ -22,14 +22,14 @@
package zutil.struct;
+import zutil.Hasher;
+
import java.io.Serializable;
import java.util.BitSet;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
-import zutil.Hasher;
-
/**
* A implementation of a bloom filter
* @author Ziver
diff --git a/src/zutil/test/BloomFilterTest.java b/src/zutil/test/BloomFilterTest.java
index 2e6ded6..09d9105 100644
--- a/src/zutil/test/BloomFilterTest.java
+++ b/src/zutil/test/BloomFilterTest.java
@@ -22,14 +22,13 @@
package zutil.test;
+import junit.framework.TestCase;
+import zutil.struct.BloomFilter;
+
import java.text.DecimalFormat;
import java.util.HashSet;
import java.util.Random;
-import zutil.struct.BloomFilter;
-
-import junit.framework.TestCase;
-
/**
* This code may be used, modified, and redistributed provided that the
* author tag below remains intact.
diff --git a/src/zutil/test/BoundaryBufferedInputStreamTest.java b/src/zutil/test/BoundaryBufferedInputStreamTest.java
index 4c6fea8..e022f9b 100644
--- a/src/zutil/test/BoundaryBufferedInputStreamTest.java
+++ b/src/zutil/test/BoundaryBufferedInputStreamTest.java
@@ -22,14 +22,13 @@
package zutil.test;
-import static org.junit.Assert.*;
+import org.junit.Test;
+import zutil.io.BoundaryBufferedInputStream;
+import zutil.io.StringInputStream;
import java.io.IOException;
-import org.junit.Test;
-
-import zutil.io.BoundaryBufferedInputStream;
-import zutil.io.StringInputStream;
+import static org.junit.Assert.assertEquals;
@SuppressWarnings("resource")
public class BoundaryBufferedInputStreamTest {
diff --git a/src/zutil/test/ChartTest.java b/src/zutil/test/ChartTest.java
index 0fdd993..92c869e 100644
--- a/src/zutil/test/ChartTest.java
+++ b/src/zutil/test/ChartTest.java
@@ -21,14 +21,13 @@
*/
package zutil.test;
-import java.util.logging.Level;
-
-import javax.swing.JFrame;
-
import zutil.chart.ChartData;
import zutil.chart.LineChart;
import zutil.log.LogUtil;
+import javax.swing.*;
+import java.util.logging.Level;
+
public class ChartTest extends JFrame{
private static final long serialVersionUID = 1L;
diff --git a/src/zutil/test/ConsoleTest.java b/src/zutil/test/ConsoleTest.java
index 39849ef..73e0ef6 100644
--- a/src/zutil/test/ConsoleTest.java
+++ b/src/zutil/test/ConsoleTest.java
@@ -22,12 +22,12 @@
package zutil.test;
+import zutil.ui.Console;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
-import zutil.ui.Console;
-
public class ConsoleTest {
public static void main(String[] args) throws IOException{
new Console("Console Test");
diff --git a/src/zutil/test/ConverterTest.java b/src/zutil/test/ConverterTest.java
index ca9e762..1b135f1 100644
--- a/src/zutil/test/ConverterTest.java
+++ b/src/zutil/test/ConverterTest.java
@@ -22,12 +22,12 @@
package zutil.test;
-import static org.junit.Assert.*;
-
import org.junit.Test;
-
import zutil.converters.Converter;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
public class ConverterTest {
@Test
diff --git a/src/zutil/test/DBConnectionTest.java b/src/zutil/test/DBConnectionTest.java
index 7e8c59a..e251941 100644
--- a/src/zutil/test/DBConnectionTest.java
+++ b/src/zutil/test/DBConnectionTest.java
@@ -22,11 +22,11 @@
package zutil.test;
-import java.sql.PreparedStatement;
-
import zutil.db.DBConnection;
import zutil.db.handler.SimpleSQLHandler;
+import java.sql.PreparedStatement;
+
public class DBConnectionTest {
public static void main(String[] args){
diff --git a/src/zutil/test/ExternalSortTest.java b/src/zutil/test/ExternalSortTest.java
index 548a767..cfc99a1 100644
--- a/src/zutil/test/ExternalSortTest.java
+++ b/src/zutil/test/ExternalSortTest.java
@@ -22,10 +22,10 @@
package zutil.test;
-import java.io.File;
-
import zutil.algo.sort.ExternalSort;
+import java.io.File;
+
public class ExternalSortTest {
public static void main(String[] args){
diff --git a/src/zutil/test/FileChangedTest.java b/src/zutil/test/FileChangedTest.java
index 222529a..80c9897 100644
--- a/src/zutil/test/FileChangedTest.java
+++ b/src/zutil/test/FileChangedTest.java
@@ -22,14 +22,14 @@
package zutil.test;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.net.URISyntaxException;
-
import zutil.io.file.FileChangeListener;
import zutil.io.file.FileUtil;
import zutil.io.file.FileWatcher;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.net.URISyntaxException;
+
public class FileChangedTest implements FileChangeListener{
public static void main(String[] args) throws URISyntaxException, FileNotFoundException{
FileWatcher watcher = new FileWatcher(FileUtil.find("test.txt"));
diff --git a/src/zutil/test/FileFinderHasherTest.java b/src/zutil/test/FileFinderHasherTest.java
index 23863d6..9c777e4 100644
--- a/src/zutil/test/FileFinderHasherTest.java
+++ b/src/zutil/test/FileFinderHasherTest.java
@@ -22,13 +22,13 @@
package zutil.test;
+import zutil.Hasher;
+import zutil.io.file.FileUtil;
+
import java.io.File;
import java.net.URISyntaxException;
import java.util.List;
-import zutil.Hasher;
-import zutil.io.file.FileUtil;
-
public class FileFinderHasherTest {
public static void main(String[] args) throws URISyntaxException{
String relativePath = "zutil/test";
diff --git a/src/zutil/test/HTTPGuessTheNumber.java b/src/zutil/test/HTTPGuessTheNumber.java
index 1e3201d..71cb52e 100644
--- a/src/zutil/test/HTTPGuessTheNumber.java
+++ b/src/zutil/test/HTTPGuessTheNumber.java
@@ -22,14 +22,14 @@
package zutil.test;
-import java.io.IOException;
-import java.util.Map;
-
import zutil.net.http.HttpHeaderParser;
import zutil.net.http.HttpPage;
import zutil.net.http.HttpPrintStream;
import zutil.net.http.HttpServer;
+import java.io.IOException;
+import java.util.Map;
+
public class HTTPGuessTheNumber implements HttpPage{
diff --git a/src/zutil/test/HTTPUploaderTest.java b/src/zutil/test/HTTPUploaderTest.java
index 9c06887..b298089 100644
--- a/src/zutil/test/HTTPUploaderTest.java
+++ b/src/zutil/test/HTTPUploaderTest.java
@@ -22,14 +22,14 @@
package zutil.test;
-import java.io.IOException;
-import java.util.Map;
-
import zutil.net.http.HttpHeaderParser;
import zutil.net.http.HttpPage;
import zutil.net.http.HttpPrintStream;
import zutil.net.http.HttpServer;
+import java.io.IOException;
+import java.util.Map;
+
public class HTTPUploaderTest implements HttpPage{
diff --git a/src/zutil/test/HasherTest.java b/src/zutil/test/HasherTest.java
index 3e8c0bd..242809e 100644
--- a/src/zutil/test/HasherTest.java
+++ b/src/zutil/test/HasherTest.java
@@ -22,12 +22,11 @@
package zutil.test;
-import static org.junit.Assert.*;
-
import org.junit.Test;
-
import zutil.Hasher;
+import static org.junit.Assert.assertEquals;
+
public class HasherTest {
diff --git a/src/zutil/test/HttpURLTest.java b/src/zutil/test/HttpURLTest.java
index a7d2ab7..dd68675 100644
--- a/src/zutil/test/HttpURLTest.java
+++ b/src/zutil/test/HttpURLTest.java
@@ -22,12 +22,11 @@
package zutil.test;
-import static org.junit.Assert.*;
-
import org.junit.Test;
-
import zutil.net.http.HttpURL;
+import static org.junit.Assert.assertEquals;
+
public class HttpURLTest {
@Test
diff --git a/src/zutil/test/ImageProcessorTest.java b/src/zutil/test/ImageProcessorTest.java
index 88c4eea..7fafffb 100644
--- a/src/zutil/test/ImageProcessorTest.java
+++ b/src/zutil/test/ImageProcessorTest.java
@@ -22,14 +22,13 @@
package zutil.test;
-import javax.imageio.ImageIO;
-import javax.swing.ImageIcon;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JProgressBar;
+import zutil.ProgressListener;
+import zutil.image.ImageFilterProcessor;
+import zutil.image.filters.GaussianBlurFilter;
-import java.awt.BorderLayout;
-import java.awt.Dimension;
+import javax.imageio.ImageIO;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
@@ -38,21 +37,6 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
-import javax.swing.JLabel;
-
-import zutil.ProgressListener;
-import zutil.image.ImageFilterProcessor;
-import zutil.image.filters.GaussianBlurFilter;
-import zutil.image.filters.BlurFilter;
-import zutil.image.filters.ColorIntensityFilter;
-import zutil.image.filters.ContrastBrightnessFilter;
-import zutil.image.filters.DitheringFilter;
-import zutil.image.filters.MeanBlurFilter;
-import zutil.image.filters.MedianFilter;
-import zutil.image.filters.ResizeImage;
-import zutil.image.filters.SobelEdgeDetectionFilter;
-import zutil.image.filters.SpotLightFilter;
-
@SuppressWarnings({ "unused", "rawtypes" })
public class ImageProcessorTest implements ProgressListener{
private static String imgPath = "test.gif";
diff --git a/src/zutil/test/JSONSerializerTest.java b/src/zutil/test/JSONSerializerTest.java
index fd45d13..acee547 100644
--- a/src/zutil/test/JSONSerializerTest.java
+++ b/src/zutil/test/JSONSerializerTest.java
@@ -22,17 +22,18 @@
package zutil.test;
-import static org.junit.Assert.assertEquals;
-
-import java.io.*;
-import java.util.Arrays;
-
import org.junit.Test;
-
import zutil.io.StringOutputStream;
import zutil.parser.json.JSONObjectInputStream;
import zutil.parser.json.JSONObjectOutputStream;
+import java.io.IOException;
+import java.io.Serializable;
+import java.io.StringReader;
+import java.util.Arrays;
+
+import static org.junit.Assert.assertEquals;
+
public class JSONSerializerTest{
@Test
diff --git a/src/zutil/test/JSONTest.java b/src/zutil/test/JSONTest.java
index 5253731..16152b7 100644
--- a/src/zutil/test/JSONTest.java
+++ b/src/zutil/test/JSONTest.java
@@ -22,16 +22,14 @@
package zutil.test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-
import org.junit.Test;
-
import zutil.parser.DataNode;
import zutil.parser.DataNode.DataType;
import zutil.parser.json.JSONParser;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
public class JSONTest{
diff --git a/src/zutil/test/NetLogServerTest.java b/src/zutil/test/NetLogServerTest.java
index 6758e18..fcbf4fc 100644
--- a/src/zutil/test/NetLogServerTest.java
+++ b/src/zutil/test/NetLogServerTest.java
@@ -22,12 +22,12 @@
package zutil.test;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
import zutil.log.LogUtil;
import zutil.log.net.NetLogServer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
public class NetLogServerTest {
private static final Logger logger = LogUtil.getLogger();
diff --git a/src/zutil/test/NetworkClientTest.java b/src/zutil/test/NetworkClientTest.java
index d3bbfe9..cfbfef8 100644
--- a/src/zutil/test/NetworkClientTest.java
+++ b/src/zutil/test/NetworkClientTest.java
@@ -22,15 +22,14 @@
package zutil.test;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.security.NoSuchAlgorithmException;
-
-import zutil.Encrypter;
import zutil.net.nio.NioClient;
import zutil.net.nio.message.StringMessage;
import zutil.net.nio.response.PrintRsp;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.security.NoSuchAlgorithmException;
+
@SuppressWarnings("unused")
public class NetworkClientTest {
diff --git a/src/zutil/test/NetworkServerTest.java b/src/zutil/test/NetworkServerTest.java
index c58495b..560fe23 100644
--- a/src/zutil/test/NetworkServerTest.java
+++ b/src/zutil/test/NetworkServerTest.java
@@ -22,12 +22,11 @@
package zutil.test;
+import zutil.net.nio.NioServer;
+
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
-import zutil.Encrypter;
-import zutil.net.nio.NioServer;
-
@SuppressWarnings("unused")
public class NetworkServerTest {
diff --git a/src/zutil/test/ParserTest.java b/src/zutil/test/ParserTest.java
index c31a282..173ed25 100644
--- a/src/zutil/test/ParserTest.java
+++ b/src/zutil/test/ParserTest.java
@@ -22,13 +22,11 @@
package zutil.test;
-import static org.junit.Assert.assertEquals;
-
-
import org.junit.Test;
-
import zutil.parser.BBCodeParser;
+import static org.junit.Assert.assertEquals;
+
public class ParserTest{
diff --git a/src/zutil/test/QuickSelectTest.java b/src/zutil/test/QuickSelectTest.java
index a364029..af82efc 100644
--- a/src/zutil/test/QuickSelectTest.java
+++ b/src/zutil/test/QuickSelectTest.java
@@ -22,11 +22,11 @@
package zutil.test;
-import java.util.Arrays;
-
import zutil.algo.search.QuickSelect;
import zutil.algo.sort.sortable.SortableIntArray;
+import java.util.Arrays;
+
public class QuickSelectTest {
public static void main(String[] args){
int[] array = {1,3,4,6,3,2,98,5,7,8,543,2,4,5,8,9,5,2,3,5,7,5,3,2,6,8,5,324,8,6};
diff --git a/src/zutil/test/SQLQueryTest.java b/src/zutil/test/SQLQueryTest.java
index c74842a..6cc2bdf 100644
--- a/src/zutil/test/SQLQueryTest.java
+++ b/src/zutil/test/SQLQueryTest.java
@@ -22,11 +22,11 @@
package zutil.test;
-import org.junit.*;
-import static org.junit.Assert.*;
-
+import org.junit.Test;
import zutil.db.SQLQuery;
+import static org.junit.Assert.assertEquals;
+
public class SQLQueryTest {
@Test
diff --git a/src/zutil/test/ServerFindClientTest.java b/src/zutil/test/ServerFindClientTest.java
index b64154a..1810e34 100644
--- a/src/zutil/test/ServerFindClientTest.java
+++ b/src/zutil/test/ServerFindClientTest.java
@@ -22,10 +22,10 @@
package zutil.test;
-import java.io.IOException;
-
import zutil.net.ServerFindClient;
+import java.io.IOException;
+
public class ServerFindClientTest {
public static void main(String[] args){
try {
diff --git a/src/zutil/test/ServerFindServerTest.java b/src/zutil/test/ServerFindServerTest.java
index 25541a9..b675115 100644
--- a/src/zutil/test/ServerFindServerTest.java
+++ b/src/zutil/test/ServerFindServerTest.java
@@ -22,10 +22,10 @@
package zutil.test;
-import java.io.IOException;
-
import zutil.net.ServerFind;
+import java.io.IOException;
+
public class ServerFindServerTest {
public static void main(String[] args){
try {
diff --git a/src/zutil/test/SortTestSimple.java b/src/zutil/test/SortTestSimple.java
index 8859c1e..c47c033 100644
--- a/src/zutil/test/SortTestSimple.java
+++ b/src/zutil/test/SortTestSimple.java
@@ -21,9 +21,8 @@
*/
package zutil.test;
+
import zutil.algo.sort.MergeSort;
-import zutil.algo.sort.QuickSort;
-import zutil.algo.sort.SimpleSort;
import zutil.algo.sort.sortable.SortableIntArray;
@SuppressWarnings("unused")
diff --git a/src/zutil/test/TemplatorTest.java b/src/zutil/test/TemplatorTest.java
index e6c4b09..6bee7b7 100644
--- a/src/zutil/test/TemplatorTest.java
+++ b/src/zutil/test/TemplatorTest.java
@@ -27,9 +27,8 @@ import zutil.parser.Templator;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.List;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
/**
* Created by Ziver on 2015-03-23.
@@ -38,7 +37,14 @@ public class TemplatorTest {
class TestClass{
public String attr;
}
-
+ class TestFuncClass{
+ public boolean isTrue(){
+ return true;
+ }
+ public boolean isFalse(){
+ return false;
+ }
+ }
@Test
@@ -238,4 +244,30 @@ public class TemplatorTest {
assertEquals(
"", tmpl.compile());
}
+
+
+ @Test
+ public void functionCallTest(){
+ Templator tmpl = new Templator(
+ "{{#obj.isTrue()}}it is true{{/obj.isTrue()}}");
+ tmpl.set("obj", new TestFuncClass());
+ assertEquals(
+ "it is true", tmpl.compile());
+
+ tmpl = new Templator(
+ "{{#obj.isFalse()}}it is true{{/obj.isFalse()}}");
+ tmpl.set("obj", new TestFuncClass());
+ assertEquals(
+ "", tmpl.compile());
+ }
+ @Test
+ public void functionInArrayTest(){
+ Templator tmpl = new Templator(
+ "{{#list}}{{#.isTrue()}}1{{/.isTrue()}}{{/list}}");
+ tmpl.set("list", new TestFuncClass[]{
+ new TestFuncClass(),new TestFuncClass(),new TestFuncClass()
+ });
+ assertEquals(
+ "111", tmpl.compile());
+ }
}
diff --git a/src/zutil/test/UpdateClientTest.java b/src/zutil/test/UpdateClientTest.java
index 5caa777..87f537c 100644
--- a/src/zutil/test/UpdateClientTest.java
+++ b/src/zutil/test/UpdateClientTest.java
@@ -22,9 +22,6 @@
package zutil.test;
-import java.awt.EventQueue;
-import java.util.logging.Level;
-
import zutil.ProgressListener;
import zutil.log.CompactLogFormatter;
import zutil.log.LogUtil;
@@ -32,6 +29,9 @@ import zutil.net.update.FileInfo;
import zutil.net.update.UpdateClient;
import zutil.net.update.Zupdater;
+import java.awt.*;
+import java.util.logging.Level;
+
public class UpdateClientTest implements ProgressListener{
public static void main(String[] args){
LogUtil.setLevel("zutil", Level.FINEST);
diff --git a/src/zutil/test/UpdateServerTest.java b/src/zutil/test/UpdateServerTest.java
index 6e756f7..2593054 100644
--- a/src/zutil/test/UpdateServerTest.java
+++ b/src/zutil/test/UpdateServerTest.java
@@ -22,12 +22,12 @@
package zutil.test;
-import java.util.logging.Level;
-
import zutil.log.CompactLogFormatter;
import zutil.log.LogUtil;
import zutil.net.update.UpdateServer;
+import java.util.logging.Level;
+
public class UpdateServerTest {
public static void main(String[] args){
try {
diff --git a/src/zutil/ui/Console.java b/src/zutil/ui/Console.java
index fead8f4..3531727 100644
--- a/src/zutil/ui/Console.java
+++ b/src/zutil/ui/Console.java
@@ -22,39 +22,18 @@
package zutil.ui;
-import java.awt.AWTException;
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.Image;
-import java.awt.MenuItem;
-import java.awt.PopupMenu;
-import java.awt.SystemTray;
-import java.awt.Toolkit;
-import java.awt.TrayIcon;
+import zutil.io.file.FileUtil;
+
+import javax.swing.*;
+import javax.swing.text.*;
+import java.awt.*;
import java.awt.TrayIcon.MessageType;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
+import java.awt.event.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
-import javax.swing.JFrame;
-import javax.swing.JScrollPane;
-import javax.swing.JTextPane;
-import javax.swing.text.BadLocationException;
-import javax.swing.text.DefaultStyledDocument;
-import javax.swing.text.Document;
-import javax.swing.text.Style;
-import javax.swing.text.StyleConstants;
-
-import zutil.io.file.FileUtil;
-
/**
* Creates a Swing console window Thats takes System.in and
* System.out as Streams and has the ability to stay in the tray
diff --git a/src/zutil/ui/JImagePanel.java b/src/zutil/ui/JImagePanel.java
index b239978..0302fd5 100644
--- a/src/zutil/ui/JImagePanel.java
+++ b/src/zutil/ui/JImagePanel.java
@@ -22,16 +22,15 @@
package zutil.ui;
-import java.awt.Graphics;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-
-import javax.imageio.ImageIO;
-import javax.swing.JPanel;
-
import zutil.image.ImageUtil;
import zutil.io.file.FileUtil;
+import javax.imageio.ImageIO;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+
/**
* This class is a panel with a background image
* @author Ziver
diff --git a/src/zutil/ui/wizard/Wizard.java b/src/zutil/ui/wizard/Wizard.java
index c5a6903..b094c6e 100644
--- a/src/zutil/ui/wizard/Wizard.java
+++ b/src/zutil/ui/wizard/Wizard.java
@@ -22,32 +22,22 @@
package zutil.ui.wizard;
-import java.awt.Color;
-import java.awt.EventQueue;
-import java.awt.Font;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.HashMap;
-import java.util.ResourceBundle;
-
-import javax.imageio.ImageIO;
-import javax.swing.BorderFactory;
-import javax.swing.GroupLayout;
-import javax.swing.JButton;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JScrollPane;
-import javax.swing.JSeparator;
-import javax.swing.WindowConstants;
-import javax.swing.GroupLayout.Alignment;
-import javax.swing.LayoutStyle.ComponentPlacement;
-
import zutil.io.MultiPrintStream;
import zutil.io.file.FileUtil;
import zutil.struct.HistoryList;
import zutil.ui.JImagePanel;
import zutil.ui.wizard.listener.BlockingWizardListener;
+import javax.imageio.ImageIO;
+import javax.swing.*;
+import javax.swing.GroupLayout.Alignment;
+import javax.swing.LayoutStyle.ComponentPlacement;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+import java.util.ResourceBundle;
+
/**
* This class manages the whole wizard
*
diff --git a/src/zutil/ui/wizard/WizardActionHandler.java b/src/zutil/ui/wizard/WizardActionHandler.java
index 6977644..185f27e 100644
--- a/src/zutil/ui/wizard/WizardActionHandler.java
+++ b/src/zutil/ui/wizard/WizardActionHandler.java
@@ -22,20 +22,17 @@
package zutil.ui.wizard;
-import java.awt.AWTEvent;
-import java.awt.Component;
+import javax.swing.*;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.text.JTextComponent;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.HashMap;
-import javax.swing.JList;
-import javax.swing.JToggleButton;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.text.JTextComponent;
-
public class WizardActionHandler implements ActionListener, FocusListener, ListSelectionListener{
private HashMap values;
diff --git a/src/zutil/ui/wizard/WizardPage.java b/src/zutil/ui/wizard/WizardPage.java
index c628e68..3a9a967 100644
--- a/src/zutil/ui/wizard/WizardPage.java
+++ b/src/zutil/ui/wizard/WizardPage.java
@@ -22,13 +22,11 @@
package zutil.ui.wizard;
-import java.awt.Component;
+import javax.swing.*;
+import java.awt.*;
import java.util.HashMap;
import java.util.LinkedList;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-
/**
* This abstract class is one step in the wizard
*
diff --git a/src/zutil/ui/wizard/listener/BlockingWizardListener.java b/src/zutil/ui/wizard/listener/BlockingWizardListener.java
index 5a15cad..dfe38dc 100644
--- a/src/zutil/ui/wizard/listener/BlockingWizardListener.java
+++ b/src/zutil/ui/wizard/listener/BlockingWizardListener.java
@@ -22,11 +22,11 @@
package zutil.ui.wizard.listener;
-import java.util.HashMap;
-
import zutil.ui.wizard.WizardListener;
import zutil.ui.wizard.WizardPage;
+import java.util.HashMap;
+
/**
* This listener class will block until the wizard is finished
* and than return the values of the wizard
diff --git a/src/zutil/ui/wizard/pages/SummaryPage.java b/src/zutil/ui/wizard/pages/SummaryPage.java
index f81ee08..a9261f5 100644
--- a/src/zutil/ui/wizard/pages/SummaryPage.java
+++ b/src/zutil/ui/wizard/pages/SummaryPage.java
@@ -22,12 +22,11 @@
package zutil.ui.wizard.pages;
-import java.util.HashMap;
-
-import javax.swing.JTextArea;
-
import zutil.ui.wizard.WizardPage;
+import javax.swing.*;
+import java.util.HashMap;
+
/**
* This class will show a summary of all the values
* in the wizard
diff --git a/src/zutil/wrapper/SerializableBufferedImage.java b/src/zutil/wrapper/SerializableBufferedImage.java
index 1662bfe..f25f4fd 100644
--- a/src/zutil/wrapper/SerializableBufferedImage.java
+++ b/src/zutil/wrapper/SerializableBufferedImage.java
@@ -22,14 +22,13 @@
package zutil.wrapper;
+import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
-import javax.imageio.ImageIO;
-
public class SerializableBufferedImage implements Serializable{
private static final long serialVersionUID = 1L;