- * Created by daniil on 02.04.16. - */ -public class FileSystemLib { - /** - * Copy data from InputStream to OutputStream - * - * @param from Input Stream - * @param to Output Stream - * @return size of copied data - * @throws IOException - */ - protected static long copy(InputStream from, OutputStream to) throws IOException { - assert from != null; - assert to != null; - byte[] buf = new byte[4096]; - long total = 0L; - - while (true) { - int r = from.read(buf); - if (r == -1) { - return total; - } - - to.write(buf, 0, r); - total += (long) r; - } - } - - /** - * Copy file or directory from one direction to another - * - * @param from File to copy - * @param to Destination - * @param replace replace the destination file if present? - * @throws IOException - */ - public void copy(Path from, Path to, boolean replace) throws IOException { - assert from != null; - assert to != null; - - if (!replace) - Files.copy(from, to); - else - Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING); - } - - /** - * Delete file - * - * @param file file to delete - * @throws IOException, FileNotFoundException - */ - public void delete(File file) throws IOException { - assert file != null; - - if (!file.exists()) - throw new FileNotFoundException("Unable to delete nonexistent file"); - if (!file.delete()) - throw new IOException("Unable to delete this file"); - } - - /** - * Create a symlink - * - * @param linkFile Where symlink should be created - * @param actualFile Where should it point to - * @throws IOException - */ - public void createSymlink(Path linkFile, Path actualFile) throws IOException { - assert linkFile != null; - assert actualFile != null; - - if (!actualFile.toFile().exists()) - throw new FileNotFoundException("Couldn't find symlink destination"); - - Files.createSymbolicLink(linkFile, actualFile); - } - - public void restoreFromResources(String resourceName, File destination, boolean replace) throws IOException { - assert resourceName != null; - assert destination != null; - - if (destination.exists() && !replace) - return; - try { - if (!destination.createNewFile()) - throw new IOException("Unable to create new file"); - - try (InputStream is = this.getClass().getClassLoader().getResourceAsStream(resourceName); - OutputStream os = new FileOutputStream(destination)) { - copy(is, os); - } - } catch (IOException e) { - throw new IOException("Unable to restore file from resource"); - } - } - - /** - * Get FileReader for the file - *
- * We need this to make the code testable - * - * @param file file to read - * @return FileReader - * @throws FileNotFoundException - */ - public Reader getReader(File file) throws FileNotFoundException { - assert file != null; - - return new FileReader(file); - } - - /** - * Get FileWriter for the file - *
- * We need this to make the code testable
- *
- * @param file file to write to
- * @return FileWriter
- * @throws IOException
- */
- public Writer getWriter(File file) throws IOException {
- return new FileWriter(file);
- }
-
- /**
- * Unzip archive to directory
- *
- * @param archive archive to extract
- * @param directory destination
- * @throws IOException
- */
- public void unzip(String archive, String directory) throws IOException {
- UnzipUtility zip = new UnzipUtility();
- zip.unzip(archive, directory);
- }
-}
diff --git a/filesystem/src/main/java/UnzipUtility.java b/filesystem/src/main/java/UnzipUtility.java
deleted file mode 100755
index a3a37ec..0000000
--- a/filesystem/src/main/java/UnzipUtility.java
+++ /dev/null
@@ -1,69 +0,0 @@
-import java.io.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-/**
- * This utility extracts files and directories of a standard zip file to
- * a destination directory.
- *
- * @author www.codejava.net
- */
-public class UnzipUtility {
- /**
- * Size of the buffer to read/write data
- */
- private static final int BUFFER_SIZE = 4096;
-
- /**
- * Extracts a zip file specified by the zipFilePath to a directory specified by
- * destDirectory (will be created if does not exists)
- *
- * @param zipFilePath path of the archive
- * @param destDirectory where to extract to
- * @throws IOException
- */
- public void unzip(String zipFilePath, String destDirectory) throws IOException {
- File destDir = new File(destDirectory);
- if (!destDir.exists()) {
- if (!destDir.mkdir())
- throw new IOException("Unable to create a root directory to unzip the archive");
- }
- ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFilePath));
- ZipEntry entry = zipIn.getNextEntry();
- // iterates over entries in the zip file
- while (entry != null) {
- String filePath = destDirectory + File.separator + entry.getName();
- if (!entry.isDirectory()) {
- // if the entry is a file, extracts it
- extractFile(zipIn, filePath);
- } else {
- // if the entry is a directory, make the directory
- File dir = new File(filePath);
-
- if (!dir.mkdir()) {
- throw new IOException("Unable to create a directory to unzip the directory");
- }
- }
- zipIn.closeEntry();
- entry = zipIn.getNextEntry();
- }
- zipIn.close();
- }
-
- /**
- * Extracts a zip entry (file entry)
- *
- * @param zipIn ZipInputStream
- * @param filePath Where to extract to
- * @throws IOException
- */
- private void extractFile(ZipInputStream zipIn, String filePath) throws IOException {
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
- byte[] bytesIn = new byte[BUFFER_SIZE];
- int read;
- while ((read = zipIn.read(bytesIn)) != -1) {
- bos.write(bytesIn, 0, read);
- }
- bos.close();
- }
-}
\ No newline at end of file
diff --git a/netty_api/pom.xml b/netty_api/pom.xml
deleted file mode 100644
index 6578653..0000000
--- a/netty_api/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- * Created by daniil on 02.04.16.
- */
-public class ScreenLib {
-
- /**
- * Start a screen with certain ID
- * and execute a command inside it
- *
- * @param screenName Screen ID
- * @param runPath Home path of started screen
- * @param command Command [+args] to execute inside the screen
- * @throws IOException
- */
- public void startScreen(String screenName, Path runPath, String... command) throws IOException {
- assert screenName != null && screenName.length() != 0;
- assert runPath != null;
-
- // Merge two arrays
- String[] commandBase = new String[command.length + 3];
- commandBase[0] = "screen";
- commandBase[1] = "-dmS";
- commandBase[2] = screenName;
-
- System.arraycopy(command, 0, commandBase, 3, command.length);
-
- ProcessBuilder processBuilder = new ProcessBuilder(commandBase);
- processBuilder.directory(runPath.toFile());
- processBuilder.start();
- }
-
- /**
- * Send command to specific screen
- *
- * @param screenName Screen ID
- * @param command Command to send
- * @throws IOException
- */
- public void sendCommand(String screenName, String command) throws IOException {
- assert screenName != null;
- assert command != null;
-
- ProcessBuilder processBuilder = new ProcessBuilder("screen", "-S", screenName, "-p", "0", "-X", "stuff", String.format(command + "%n"));
- processBuilder.start();
- }
-
- /**
- * Force terminate a screen session
- *
- * @param screenName Screen ID
- * @throws IOException
- */
- public void killScreen(String screenName) throws IOException {
- assert screenName != null;
-
- ProcessBuilder processBuilder = new ProcessBuilder("screen", "-X", "-S", screenName, "quit");
- processBuilder.start();
- }
-}
diff --git a/server_manager/pom.xml b/server_manager/pom.xml
deleted file mode 100644
index 94c769b..0000000
--- a/server_manager/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-