From f5e50d11646829af0597e9ef8222e07e10677090 Mon Sep 17 00:00:00 2001 From: simongehrig Date: Mon, 16 Jan 2017 18:44:02 +0100 Subject: [PATCH] refs #299,#36,#40,#37,#33 closed --- .idea/encodings.xml | 1 + .idea/runConfigurations/Release.xml | 30 +++++ pom.xml | 2 +- src/main/java/GUI/CaptureCtl.java | 2 +- src/main/java/GUI/PictureCtl.java | 2 +- src/main/java/model/SOMConfig.java | 6 +- src/main/java/model/SOMLanguage.java | 16 --- src/main/java/workers/FilesWorker.java | 111 +++++++++--------- src/main/resources/fxml/gallery.fxml | 38 +++--- src/main/resources/img/SOMIcons_Back.png | Bin 1173 -> 3773 bytes .../resources/img/SOMIcons_CaptureSeries.png | Bin 3411 -> 5648 bytes .../resources/img/SOMIcons_CaptureSingle.png | Bin 2469 -> 4945 bytes src/main/resources/img/SOMIcons_Forth.png | Bin 1221 -> 3749 bytes src/main/resources/img/SOMIcons_Gallery.png | Bin 2160 -> 4791 bytes src/main/resources/img/SOMIcons_Picture.png | Bin 2899 -> 5241 bytes src/main/resources/img/SOMIcons_Print.png | Bin 1599 -> 4446 bytes src/main/resources/sh/capture.sh | 11 ++ src/main/resources/sh/upload.sh | 43 +++++++ 18 files changed, 174 insertions(+), 88 deletions(-) create mode 100644 .idea/runConfigurations/Release.xml delete mode 100644 src/main/java/model/SOMLanguage.java create mode 100644 src/main/resources/sh/upload.sh diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 97626ba..3cee6c5 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,6 +1,7 @@ + \ No newline at end of file diff --git a/.idea/runConfigurations/Release.xml b/.idea/runConfigurations/Release.xml new file mode 100644 index 0000000..9fa20b0 --- /dev/null +++ b/.idea/runConfigurations/Release.xml @@ -0,0 +1,30 @@ + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 4c5a68d..7efd95f 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 de.selfomat selfomat-single-user - 0.4.0.5-SNAPSHOT + 0.4.0.11-SNAPSHOT scm:svn:svn://simongehrig:L4ut5pr3ch3r!@svn.picture.tools/selfomat/trunk/selfomat-java-single-user diff --git a/src/main/java/GUI/CaptureCtl.java b/src/main/java/GUI/CaptureCtl.java index 0d6de4f..f864923 100644 --- a/src/main/java/GUI/CaptureCtl.java +++ b/src/main/java/GUI/CaptureCtl.java @@ -85,7 +85,7 @@ public class CaptureCtl { image.setImage(SOMLayout.LOGO_IMAGE); // make it fit the height of the Screen - image.setFitWidth(SOMLayout.screenHeight / 2); +// image.setFitWidth(SOMLayout.screenHeight / 2); // Calculate the offset to center it horizontally if the image is wider than the screen (or narrower) double aspect = image.getImage().getWidth() / image.getImage().getHeight(); diff --git a/src/main/java/GUI/PictureCtl.java b/src/main/java/GUI/PictureCtl.java index 5075685..ddb861b 100644 --- a/src/main/java/GUI/PictureCtl.java +++ b/src/main/java/GUI/PictureCtl.java @@ -257,7 +257,7 @@ public class PictureCtl { image.setImage(SOMLayout.LOGO_IMAGE); // make it fit the height of the Screen - image.setFitWidth(SOMLayout.screenHeight / 2); +// image.setFitWidth(SOMLayout.screenHeight); // Calculate the offset to center it horizontally if the image is wider than the screen (or narrower) double aspect = image.getImage().getWidth() / image.getImage().getHeight(); diff --git a/src/main/java/model/SOMConfig.java b/src/main/java/model/SOMConfig.java index 9e04409..c001ecc 100644 --- a/src/main/java/model/SOMConfig.java +++ b/src/main/java/model/SOMConfig.java @@ -35,6 +35,10 @@ public class SOMConfig { public static final int COUNTDOWN_COUNTER = 3; // Images per Page in the Gallery public static final int IMAGES_PER_PAGE = 9; + // Limot of Parallel Uploads + public static final int PARALLEL_UPLOADS = 10; + // Cloud Credentials + public static final String CLOUD_CREDENTIALS = "upload:geheim"; // Make the Scaling Algorithm switchable public static final int SCALING_GRAPHICS_2D = 0; public static final int SCALING_IMAGE_ICON = 1; @@ -70,7 +74,7 @@ public class SOMConfig { * * @return */ - private static String getEventPicDir() { + public static String getEventPicDir() { // get current Date in String for Upload-dir Calendar cal = Calendar.getInstance(); DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); diff --git a/src/main/java/model/SOMLanguage.java b/src/main/java/model/SOMLanguage.java deleted file mode 100644 index 16b4702..0000000 --- a/src/main/java/model/SOMLanguage.java +++ /dev/null @@ -1,16 +0,0 @@ -package model; - -public class SOMLanguage { - // for Testing - public static final String pre = ""; - // for Use -// public static String pre = "/resources"; - /** - * Languagestring of the Button that switches back one Panel - */ - // public static final String UIBtnBack = "Zurück"; - /** - * Tells People to SMILE! - */ - public static final String UIBtnSmile = "SMILE"; -} diff --git a/src/main/java/workers/FilesWorker.java b/src/main/java/workers/FilesWorker.java index 856d17c..3846a04 100644 --- a/src/main/java/workers/FilesWorker.java +++ b/src/main/java/workers/FilesWorker.java @@ -2,7 +2,6 @@ package workers; import GUI.SOMGUI; import javafx.concurrent.Task; -import javafx.fxml.FXMLLoader; import model.SOMConfig; import model.SOMEvent; import model.SOMImage; @@ -143,14 +142,23 @@ public class FilesWorker { List dirs = new ArrayList(); List pics = new ArrayList(); - //relative ones -// int directoriesUploaded = 0; -// int picturesUploaded = 0; - // Check for internet connection if (internet()) { // Count Files and Dirs + + // DIRS + String[] splits = SOMConfig.getEventPicDir().split("/"); + String currentdir = ""; + + for (String split : splits) { + currentdir = currentdir + "/" + split; + dirs.add(new File(currentdir)); + + System.out.println("DIR added:" + currentdir); + } + + // FILES for (int i = 0; i < images.size(); i++) { // get the current file @@ -158,18 +166,9 @@ public class FilesWorker { System.out.println(file); - // get dirs - if (file.isDirectory() - && !file.toString().contains("prv") - && !file.toString().contains("tmb") - && !file.toString().contains("tmp") - && !file.toString().contains("fnl")) { - dirs.add(file); - - } // get pics - else if (file.isFile() - && file.toPath().toString().contains("src")) { + if (file.isFile() + && file.toString().contains("src")) { pics.add(file); } } @@ -177,31 +176,25 @@ public class FilesWorker { // REPORT TO CONSOLE System.out.println(dirs.size() + " Directories"); System.out.println(pics.size() + " Pics"); + + int uploadeddirs = 0; + int uploadedfiles = 0; + // GET THE UI + SOMGUI.changetoupload(); - - FXMLLoader fxmlLoader = new FXMLLoader(); - try { - fxmlLoader.setLocation( - FilesWorker.class.getClassLoader().getResource("fxml/upload.fxml") - ); - - fxmlLoader.load(); - } catch (IOException e) { - e.printStackTrace(); - } - - int i = 0; + // UPLOAD DIRECTORIES List limitdirs = new ArrayList(); - // TODO Limit Uploads - for (File dir : dirs - ) { - i++; + for (File dir : dirs) { - System.out.println("Queueing Dir " + dir.toString()); + uploadeddirs++; + + System.out.println("Queueing Directories " + dir.toString()); limitdirs.add(dir); - if (limitdirs.size() >= 3 || limitdirs.size() == i) { + if (limitdirs.size() >= SOMConfig.PARALLEL_UPLOADS + // Upload even if limit is not reached + || (dirs.size() - uploadeddirs) < SOMConfig.PARALLEL_UPLOADS) { System.out.println("Launch Dir upload"); uploadDir(limitdirs); @@ -210,23 +203,28 @@ public class FilesWorker { limitdirs.clear(); } } -// uploadDir(dirs); + + // UPLOAD FILES List limitpics = new ArrayList(); for (File pic : pics ) { - i++; - System.out.println("Queueing Dir " + pic.toString()); - limitpics.add(pic); - if (limitpics.size() >= 3 || limitdirs.size() == i) { - System.out.println("Launch Pic upload"); + uploadedfiles++; + + System.out.println("Queueing File " + pic.toString()); + limitpics.add(pic); + + if (limitpics.size() >= SOMConfig.PARALLEL_UPLOADS + // Upload even if limit is not reached + || (pics.size() - uploadedfiles) < SOMConfig.PARALLEL_UPLOADS) { + + System.out.println("Launch File upload"); uploadFile(limitpics); - System.out.println("Clear Queue"); + System.out.println("Clear File Queue"); limitpics.clear(); } } -// uploadFile(pics); SOMGUI.changetopicture(); } @@ -245,9 +243,16 @@ public class FilesWorker { for (int i = 0; i < threads.length; i++) { - System.out.println("launch Upload Process: " + i); + System.out.println("LAUNCH Upload Process: " + i); final File file = files.get(i); + final String target = "https://cloud.selfomat.de/remote.php/webdav/" + SOMConfig.getEventPicDir() + "/" + file.getName(); + + System.out.println(file.toString()); + System.out.println("----------->"); + System.out.println(target); + System.out.println(""); + System.out.println(""); final int pictureCounter = i + 1; Task task = new Task() { @@ -257,20 +262,17 @@ public class FilesWorker { // build the upload process // TODO remove -k option (this option skips certificate verification) ProcessBuilder builder = new ProcessBuilder( - "curl", - "-T", + "bash", + "SELFOMAT/sh/upload.sh", file.toString(), - "-u", - "upload:geheim", - "https://cloud.selfom.at/remote.php/webdav/" + file.toString().replace("/src", ""), - "-k"); + target, + SOMConfig.CLOUD_CREDENTIALS + ); // make the process traceable builder.redirectErrorStream(true); - - - Process process = builder.start(); // launch upload process + Process process = builder.start(); // wait for the process to end if (process.waitFor() == 0) { @@ -327,7 +329,8 @@ public class FilesWorker { "upload:geheim", "-X", "MKCOL", - "https://cloud.selfom.at/remote.php/webdav/" + dir.toString().replace("/src", ""), + "https://cloud.selfom.at/remote.php/webdav/" + SOMConfig.getEventPicDir(), +// dir.toString().replace("/src", ""), "-k"); // make the process traceable diff --git a/src/main/resources/fxml/gallery.fxml b/src/main/resources/fxml/gallery.fxml index 47ec4ea..a18b736 100644 --- a/src/main/resources/fxml/gallery.fxml +++ b/src/main/resources/fxml/gallery.fxml @@ -1,5 +1,6 @@ + @@ -20,63 +21,72 @@ + - + - + + diff --git a/src/main/resources/img/SOMIcons_Back.png b/src/main/resources/img/SOMIcons_Back.png index c24ca49d7156bf9d51cc16b8bbddb5ff117368b3..50356389c0f544987152a27ba7eb32a82b94d8e2 100644 GIT binary patch literal 3773 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 F{|6|vje7t9 literal 3411 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 diff --git a/src/main/resources/img/SOMIcons_CaptureSingle.png b/src/main/resources/img/SOMIcons_CaptureSingle.png index 4e8e7d9214adf664d7b81ba4a1741a42991a59cc..13715d2b8a3131eb699e5e3828de98b48748b897 100644 GIT binary patch literal 4945 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 diff --git a/src/main/resources/img/SOMIcons_Forth.png b/src/main/resources/img/SOMIcons_Forth.png index f73b5ea67d7a4d2a65936cf7b6e37d006fb07c12..d899f8c0cbcddc0d9ec0774218e158118f47147b 100644 GIT binary patch literal 3749 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 KG%6sDFaHD7!wYc$ literal 1221 zcmeAS@N?(olHy`uVBq!ia0vp^KY{ot2OE%__C3T6NO2Z;L>4nJ=qZCRW5rVYGN7Pj ziEBhjaDG}zd16s2gJVj5QmTSyZen_BP-VWJ7J`eUO4Z(~Ho0m2(ZEE52(CPqkn0(lmG^K{^o~9$hSm$tZ-cP%eygJ{n zpW8X(W0pi4)03)af(<7aCo(IsyYO|$2v{li(Q)`{i=X-W#Rb z4hCDC`_~wI{e0!$H#S0hP8#oBJOBOH%U92P_cP~z+GGB6;qRYo>t23*;5+Z7>))6w z=jZP2JF$81y7{wz?OZi~>+!}DZ%a3v6yJ36|C74Dz29F5RHi+twttl#ylj6u`|+<1 z>!0o2xAnSU!raqr)jy3Bi9J9D3I`Mbb`$>}+t_P_mV_)WWCJpa?3z5i10y;hfF zS2}<1b^PfsUn8nzC$d+YzyEq}@d35-H=ca6y7%PUE}-Snw_a!WGavst=kYJ+WA6`t z|NMNpy^za1@t+Ul-glkWDv0U7_gehu(@7nBI``HkuYbH_UU|%RpbMHO${%}I$B(h=uH=~>@C>2>BdGfRR?$b$quUp=iPWSGbLm>lYN?3m*Qw0-s+wfvm*{Tsi_wVrUDcNXXc@k-@| z^Tq605+@5+rpW)d`|I-Hc;!364Gi<2`|9OQ6n<9LcbiSzvT^tA+zn=y2X|NN7UUNh zm4E;7?OT6{i{FEHa*y|Y)^O>&+v|JIsq8!Z?&v2ezf6w5wSLj}n&sU)-;b$c6NPu~ zKE7kST?)ytZ=UC4!z6qoj30)sh`zWgw=PLqoQ_t^9iv=vp z%$3p|ci&#xsia;~zS|`5Nz1#u>1t-DrYC+X-!8BHLGAcEwoPGo(Fa>IW(kGx}T!4Bz?!050c>Auxr~mtRTlX_fOb0na>C=U~ zZ$XCa+Wj|zvHQX9*T+96v+A76l3?>^+;fsPx%7bjFVzDK%52t^4c&>Hz#@pj)78&q Iol`;+01n_rsQ>@~ diff --git a/src/main/resources/img/SOMIcons_Gallery.png b/src/main/resources/img/SOMIcons_Gallery.png index 25b415c09d262f62ef96785d9011fe4d65676b6e..8fabd5567f7d5e528264a48d111259599d4ac059 100644 GIT binary patch literal 4791 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 P13+KfM5|82Df<5a@6_ht literal 2160 zcma);c~H{(7QlaHsn@kY`n#!{< zE46wm6}VI`m6}*4C6l`t0T-QALd^|@$L-$c_TJn(@BMMUXTIm0nKR!rpL5Rl^3Ps} z)m1<$005}F9fAAE^^#mVlojP?(Son5T>W(ZNZ(O7}2 zY=Jnr`y$)*A$FZ9;$&fl-izDH8pZ*I8QBNii%a)SKBa-FtEB@S`5H7vh_ANZo?knr!&{&XUavvSn0d*Psbm|?~eZ!9hjoSEwNf4CnkC9 zk&b?qJ{pBldu19s@=%Y`x_i@vkDWoRq~~G}_WplX#0nVuKN->oatbz*s z7}L3t*{?zqppvGwOsgBoJ&Fb__ortAa#k1}`uGs>5)HyiuUl)ic^Mk)>TQ-AQCuH3 z90@e1eTffs{BkvXCh*m^7C!@)5O?X?>{p7f9_#MA4@Hz@z@{1o8Z1K6#~!>K&Xd_n z-a?wnYEq74CoB602-L2atwTjD?rIsI1^Q{lS`r*zPqrkemkXJ~n^E48N?bxi#L)Ag z`=~N_YLX>rn2N~Sbz+7yMX|?sTfp-aHvCo1mqPnO*21NCJR|a>w{B%c3i|K-a-He@ z<^g?bA_^+rEwHCqO`~?_b>j=ftGFh3>OCk`NHQ(O-){8qSKLcGT1&{gwZP;ZWZct9x*XRQ zZJs67o1y(o_mZ6P-~9zKzEYZFlYA*&dG$@Yk`IZCdg1%U~CZp-Far z$MsV!>Ud;(1D0-mk+!pQPSxx^*A%a9GzRH{g?eeO(p`w+!T>J}!M3tI6>~b?wsOQh zq}d=h!l@`T^;~}2_~MqB?=b!sbGI0pCVCf|=({8v-dPJJhrkZWYuW;tev!3Nv?J{( zYDn9FjRvt1T%luiG+iqZ_DN$k>Z5SvF5uohIlGB7m@X#`aKF)1IUz~~;SHTDZJMvF zFu+PB&9We!obGZKTg~?VZ;v?P$;S7X=SFONU4u87S<_CLixfl+oKB`eJ&U^wUZa*v z#6Ao6U#dyzMB6(#EA0#|_}mVDAeZs$@h(=GQ#WMgrbDKb!xUeeZU0b6ZFPATz5UBo zOi_uQ7XC=tdZgXVQ$950q8tG9p<##{-Oq~GRp(r$XJwp5PK+4d6L}6Q8l@soJc=#8 zJ9|YofT>AweaCkD*WqLNJOKW!yZ@u0y62kLWv?8zx``MH;)5-FA8IdQ0^{nPKWlW- zBhUHZH_NYf3@}SK{8QDdTCbv;Q+Lobqq+SBF#E^g1d6mL#e|pGJvYy7$sbJae-~*! z(>h+CkvVR|3nEGsy^zG?K^F$H?EHvNH1w_b0|dS}W$gB;ak7!@u}kdw0?&@;TPT^? z#a*p_P}k_*pz>`qY|WHC=hZ@8C~<8eY`lS4a;>#0dOtw&-{r4RMhfk{U`fzC>Ct)% zTe6;ZZ2JzsyurJHVY*pMuOo{r6L|O@)k_bL@&eVZsT1$_n|(Dm8_S!2zl#LM>gdZp zssGL7Dx42%N0Aetg5|d&yd*+3@*x-^t%=zZUOQ&!in19M;in27=`v7W(*GG)(Xvbk9JE=;|V45o%s~V&aLtkqqm`#?_q<34;;^WmuxYAqf&=cs<~@ zJ70nIQC8igKGrLU=vjCz+}ufbr$yE_n8ezx9u}nF*s~-KfnS&D(5RBAtx77Ux9+v3 z3a<(ewG2wdhZT5TDWA?BWrdap+iNWv^&sgXs+KO)n4QxgUDn<5em{QN3pq+ys?n8e zWw-j1QmpjlEQusyYJF9m*aAYTswn6SWG>unVk(Vbz?9=sSwr~HN4v{v%KqttNl$F+}@?%lbnFoLDxDAd! mF4=Ew_wagV^4+t?jd=x4-t!AJ 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 NnrgbLH7by>{{!GB)U^Nr literal 2899 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 VY0H=XJ^*5XnTeHgmC>z7{{&MpbN&DT diff --git a/src/main/resources/img/SOMIcons_Print.png b/src/main/resources/img/SOMIcons_Print.png index e86bdbeb92657be5bc848331f41459876ab52ae2..cade14bf433f1329adb870749f3f8f87947843ba 100644 GIT binary patch literal 4446 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