Easy Folder Morpher Code
Basic tool that uses file checksums to observe or assemble folders.
Brought to you by:
andreas-s523
Easy Folder Morpher =================== Easy Folder Morpher is an open source tool for file manipulation and observation based on some file checksum processes. The main function is to assemble a virtually saved folder structure using files of another folder structure having files with corresponding checksums which can be located and named very differently. The program can be used e. g. as a help for preconfigured folder assembly, backups and some observations of existence. - please refer to http://sourceforge.net/p/easyfoldermorpher/ for extensive documentation and information. VERSION ======= 0.79 beta (2022-01-04) AUTHORS AND CONTRIBUTORS ======================== Application developer: Andreas Schwarzkopf. For contact refer to the URL above. Third party libraries packaged in the binaries: * org.eclipse.jdt.internal.jarinjarloader.* (6 classes) * junit.jar * org.hamcrest.core_1.3.0.v201303031735.jar LICENSE ======= Easy Folder Morpher is licensed under the terms of the GNU Lesser General Public License v3. See "COPYING". CONTACT ======= If you have questions, comments, problems or find Bugs, contact us using: * The application's forum on http://sourceforge.net/p/easyfoldermorpher/ INSTALLING ========== You have several options for installing Easy Folder Morpher. * Install Java. * Windows: Refer to downloads of www.oracle.com * You can disable java content for webpages in settings. * Linux: Install the package openjdk-7-jre * Install one 7-zip variant (use a 64 bit build if possible): * Windows: Install the corresponding binaries: www.7-zip.org * Linux: Install following packages: * required: p7zip-full * recommended: p7zip-rar * Configure Easy Folder Morpher: * Copy the runnable jar file to the folder of your desire. This is a standalone executable file. * If you use Linux, open the jar file properties using e. g. dolphin or nautilus and mark it as executable. * Starting using the command line use: java -jar *.jar * Launch the application. * Press the settings button. * Change the 7-zip archiver command path and select the binary for opening the archives. Set 7z.exe using windows. The default setting may remain for Linux if archives can be read that way. BUILDING ======== As you currently read this README, we presume that you already have the source. If not, check http://sourceforge.net/p/easyfoldermorpher. You can download source archives there. Required Dependencies: ---------------------- * eclipse * maven (>= 3.0.0) * openjdk-7-jdk (>= 7) * p7zip-full (>= 9.20) Recommended Dependencies: ------------------------- * p7zip-rar (>= 9.20) Compilation: ------------ If you have installed all required third party libs, you can compile Easy Folder Morpher by using the runnable jar export of Eclipse: * Copy the project folder to your Eclipse workspace folder. The project folder contains "src", "test", COPYING, README, changelog etc. * Import it as Maven project * Open console in project directory and run: mvn clean install * You need no other files to export to make the program run. The configurations file is created launching the program. The program binary can be distributed copying that single runnable jar file created in project/target/. BINARY DISTRIBUTION =================== If you have received Easy Folder Morpher in binary form, you can always acquire the code at http://sourceforge.net/p/easyfoldermorpher or from your distributor. In the provided binary packages, included open source, third-party libraries are provided (section AUTHORS AND CONTRIBUTORS). The licenses are re-distributed along the libraries. Its source code was not modified. However, you can get the sources from the addresses that are noted in Section AUTHORS AND CONTRIBUTORS. USING ===== After starting Easy Folder Morpher, press "About" to get an introductory help. More information is available online at www.sourceforge.net/p/easyfoldermorpher/ USAGE EXAMPLES ============== Navigation through folder views * Entering folder: Click on a folder or archive name in the name column in order to enter it. * Selection of items: Press on an item in one of other columns, hold Shift or Ctrl key and select additional items. * Enter parent dir: Press the right mouse button somewhere in the view. A. Comparing whether a folder has files of another folder not regarding file locations and names but only checksums: 1. Open a folder in the left panel. 2. Open a folder in the right panel. 3. Press "== Sums" in order to keep only files which exist in the right panel. "-- Sums" will remove files which exist in the right panel B. Backup example 1. Import backup-able folder in left panel and save to backup1.meta 2. Import backup1.meta in right tab. 3. Press on "Morph" in left panel. 4. Compose (the left panel will be exported only using files of the right panel). Afterwards move exported files to the folder "summed files". 5. It can save time to export meta file of "summed files". 6. Close all tabs and do steps 1-4 for backup2.meta and merge both folders "summed files". Restore steps. This example is based on B. 1. Import backup1.meta or backup2.meta to the left tab and select all tab processing if you restore more than one backup. 2. Import "summed files" to the right tab. 3. Compose. Remove some backups. 1. Import "summed files" to the left tab. 2. Open all backups that should be kept right in the right tab. 3. Apply "== Sums". 4. Open "summed files" and close others in the right side and press on compose. B. tips: * Importing some folders to the right tab can be helpful in order to save disk space (e. g. music, your software archives) in order to --Sums before extracting new files and during restoring backup. * Archives can also be read placing some settings also for the composing feature. It also works traversing them recursively. C. Featured composition e. g. from the internet. 1. Store all the download links in order to download them e. g. by a single step using the download manager. 2. Enable "Look for files in archives of the diffed pane" using the settings button. 3. Reorganize the files (extracting archives, file moving etc.). 4. Import that to the left panel and save to reorganized.meta. 5. Import downloaded files to the right tab. You don't need to extract them if they are archives. Regard the readable archives setting. 6. Use "-- Sums" and morph the left view. 7. Close right tabs and open the folder of reorganized files there. 8. Compose that files and move to folder "Not existing in sources". Restore steps: 1. Close all tabs and do step 1 and 2 of C. 2. Import "Not existing in sources" and the downloaded files to the right view. 3. Select "All tab processing" for them. 4. Open reorganized.meta in the left tab and press on compose. Final usage hints: * Holding mouse over some buttons or fields not pressing them shows up tooltips that help to understand their function. * Make usage of file drop fields near open, save and compose buttons to enhance the user experience. No more much browsing will be required. Therefore much time will be saved. DEVELOPING ========== This tool is still fairly light weight in order to alter it if you require mechanisms for sure exact order of processes and a special purpose. Mainly only the classes View, FolderBrowsers and BrowserSet should be altered to root out it into your own program. The private classes PressedButton in View and BrowserSet are reference points where buttons execute main features.