From 5ee520a127585f8c216ed03dc1242ec03bf76b0e Mon Sep 17 00:00:00 2001
From: Alexandre Vanini <vanini.alexandre@gmail.com>
Date: Wed, 29 May 2019 10:00:47 +0200
Subject: [PATCH] [WIP] - Package ch.hepia.database

---
 compilation/.idea/workspace.xml               |   4 +-
 gateway/.idea/workspace.xml                   | 125 +++++++++++-------
 .../ch/hepia/repository/ProgramsDataBase.java |  32 +++--
 .../repository/cursors/ProgramInterface.java  |   5 +
 .../Users.java => cursors/UserInterface.java} |   7 +-
 .../hepia/repository/ProgramsDataBase.class   | Bin 2759 -> 2759 bytes
 .../repository/cursors/ProgramInterface.class | Bin 0 -> 141 bytes
 .../UserInterface.class}                      | Bin 448 -> 454 bytes
 8 files changed, 108 insertions(+), 65 deletions(-)
 create mode 100644 gateway/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java
 rename gateway/src/main/java/ch/hepia/repository/{modals/interfaces/Users.java => cursors/UserInterface.java} (74%)
 create mode 100644 gateway/target/classes/ch/hepia/repository/cursors/ProgramInterface.class
 rename gateway/target/classes/ch/hepia/repository/{modals/interfaces/Users.class => cursors/UserInterface.class} (70%)

diff --git a/compilation/.idea/workspace.xml b/compilation/.idea/workspace.xml
index cf06d91..2581f5d 100644
--- a/compilation/.idea/workspace.xml
+++ b/compilation/.idea/workspace.xml
@@ -2,8 +2,10 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="8d8fb2c1-8426-4933-8193-ee68625cf8de" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/../README.md" beforeDir="false" afterPath="$PROJECT_DIR$/../README.md" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../gateway/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../gateway/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java" beforeDir="false" afterPath="$PROJECT_DIR$/../gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" beforeDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/out/" />
     <ignored path="$PROJECT_DIR$/target/" />
diff --git a/gateway/.idea/workspace.xml b/gateway/.idea/workspace.xml
index 66212b4..7852106 100644
--- a/gateway/.idea/workspace.xml
+++ b/gateway/.idea/workspace.xml
@@ -2,7 +2,10 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="e6a1f2e5-4f60-4227-82bb-83eb10fa94a5" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/../README.md" beforeDir="false" afterPath="$PROJECT_DIR$/../README.md" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../compilation/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../compilation/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" beforeDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/out/" />
     <ignored path="$PROJECT_DIR$/target/" />
@@ -41,10 +44,28 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/UserInterface.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="75">
-              <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
+            <state relative-caret-position="60">
+              <caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="45">
+              <caret line="3" lean-forward="true" selection-start-line="3" selection-end-line="3" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="519">
+              <caret line="57" column="4" selection-start-line="57" selection-start-column="4" selection-end-line="57" selection-end-column="4" />
               <folding>
                 <element signature="imports" expanded="true" />
               </folding>
@@ -64,10 +85,10 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/main/java/App.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="289">
+            <state relative-caret-position="5265">
               <caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" />
               <folding>
                 <element signature="imports" expanded="true" />
@@ -171,10 +192,13 @@
         <option value="$PROJECT_DIR$/src/main/java/MongoDataBase/ProgramsDataBase.java" />
         <option value="$PROJECT_DIR$/src/main/java/ch/hepia/database/ProgramsDataBase.java" />
         <option value="$PROJECT_DIR$/src/main/java/Users.java" />
-        <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" />
         <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java" />
         <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Users.java" />
         <option value="$PROJECT_DIR$/src/main/java/App.java" />
+        <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" />
+        <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/UserInterface.java" />
+        <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java" />
+        <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java" />
       </list>
     </option>
   </component>
@@ -269,16 +293,6 @@
               <item name="repository" type="462c0819:PsiDirectoryNode" />
               <item name="modals" type="462c0819:PsiDirectoryNode" />
             </path>
-            <path>
-              <item name="gateway" type="b2602c69:ProjectViewProjectNode" />
-              <item name="gateway" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="repository" type="462c0819:PsiDirectoryNode" />
-              <item name="modals" type="462c0819:PsiDirectoryNode" />
-              <item name="interfaces" type="462c0819:PsiDirectoryNode" />
-            </path>
           </expand>
           <select />
         </subPane>
@@ -397,12 +411,12 @@
       <workItem from="1558958791114" duration="4133000" />
       <workItem from="1559024582648" duration="477000" />
       <workItem from="1559030400602" duration="2688000" />
-      <workItem from="1559111520857" duration="798000" />
+      <workItem from="1559111520857" duration="1461000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="224545000" />
+    <option name="totallyTimeSpent" value="225208000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -415,8 +429,9 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1920" height="1200" extended-state="0" />
+    <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.49924126" visible="true" weight="0.1970181" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.49924126" visible="true" weight="0.1970181" />
       <window_info id="Structure" order="1" sideWeight="0.5007587" side_tool="true" weight="0.20127796" />
       <window_info id="Image Layers" order="2" />
       <window_info id="Designer" order="3" />
@@ -425,7 +440,7 @@
       <window_info id="Favorites" order="6" side_tool="true" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" weight="0.32920355" />
-      <window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.3460177" />
+      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.3460177" />
       <window_info anchor="bottom" id="Debug" order="3" weight="0.39823008" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
@@ -652,16 +667,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="735">
-          <caret line="49" column="4" selection-start-line="49" selection-start-column="4" selection-end-line="49" selection-end-column="40" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/user/User.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="225">
@@ -673,49 +678,73 @@
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Katas.java" />
-    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Programs.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="60">
-          <caret line="4" selection-start-line="4" selection-end-line="4" />
+        <state relative-caret-position="607">
+          <caret line="384" column="49" selection-start-line="384" selection-start-column="49" selection-end-line="384" selection-end-column="49" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#17136#17137#0" expanded="true" />
+            <element signature="e#17208#17209#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Users.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="75">
-          <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
+        <state relative-caret-position="90">
+          <caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/App.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="607">
-          <caret line="384" column="49" selection-start-line="384" selection-start-column="49" selection-end-line="384" selection-end-column="49" />
+        <state relative-caret-position="5265">
+          <caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" />
           <folding>
             <element signature="imports" expanded="true" />
-            <element signature="e#17136#17137#0" expanded="true" />
-            <element signature="e#17208#17209#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Users.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" />
+        <state relative-caret-position="75">
+          <caret line="5" selection-start-line="5" selection-end-line="5" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/App.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Programs.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="289">
-          <caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" />
+        <state relative-caret-position="60">
+          <caret line="4" selection-start-line="4" selection-end-line="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/UserInterface.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="45">
+          <caret line="3" lean-forward="true" selection-start-line="3" selection-end-line="3" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="519">
+          <caret line="57" column="4" selection-start-line="57" selection-start-column="4" selection-end-line="57" selection-end-column="4" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
diff --git a/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java b/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java
index 33361dc..e6cf4aa 100644
--- a/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java
+++ b/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java
@@ -29,27 +29,14 @@ public interface ProgramsDataBase {
 
     void toggleSubscription(String userid, String idprogram);
 
-    Optional<List<ProgramShowCase>> userSubscriptions(String userid);
-
-    Optional<List<ProgramShowCase>> userPrograms(String userid);
 
     Optional<KataSubscription> kataSubscriptionById(String kataid, String programid, String userid);
 
     void createKataSubscription(String kataid, String programid, String userid);
 
-    void incrementKataSubscriptionAttempt(String kataid, String programid, String userid);
-
-    void updateKataSubscription(String kataid, String programid, String userid, String sol, String status);
 
     void deleteProgram(String programid);
 
-    void create(User u);
-
-    Optional<User> checkUserCredentials(String username, String password);
-
-    boolean isExisting(String username);
-
-    boolean isSubscribed(String userid, String programid);
 
     void deleteKata(String kataid);
 
@@ -65,4 +52,23 @@ public interface ProgramsDataBase {
 
     boolean isKataActivated(String kataid);
 
+
+
+
+    void incrementKataSubscriptionAttempt(String kataid, String programid, String userid);
+
+    void updateKataSubscription(String kataid, String programid, String userid, String sol, String status);
+
+    boolean isSubscribed(String userid, String programid);
+
+    Optional<List<ProgramShowCase>> userSubscriptions(String userid);
+
+    Optional<List<ProgramShowCase>> userPrograms(String userid);
+
+    void create(User u);
+
+    boolean isExisting(String username);
+
+    Optional<User> checkUserCredentials(String username, String password);
+
 }
diff --git a/gateway/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java b/gateway/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java
new file mode 100644
index 0000000..05fd61a
--- /dev/null
+++ b/gateway/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java
@@ -0,0 +1,5 @@
+package ch.hepia.repository.cursors;
+
+public interface ProgramInterface {
+
+}
diff --git a/gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java b/gateway/src/main/java/ch/hepia/repository/cursors/UserInterface.java
similarity index 74%
rename from gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java
rename to gateway/src/main/java/ch/hepia/repository/cursors/UserInterface.java
index a6833de..8de9345 100644
--- a/gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java
+++ b/gateway/src/main/java/ch/hepia/repository/cursors/UserInterface.java
@@ -1,12 +1,13 @@
-package ch.hepia.repository.modals.interfaces;
+package ch.hepia.repository.cursors;
+
 import ch.hepia.repository.modals.user.User;
 
 import java.util.Optional;
 
-public interface Users {
+public interface UserInterface {
     void create(User u);
 
     Optional<User> checkUserCredentials(String username, String password);
 
     boolean isExisting(String username);
-}
+}
\ No newline at end of file
diff --git a/gateway/target/classes/ch/hepia/repository/ProgramsDataBase.class b/gateway/target/classes/ch/hepia/repository/ProgramsDataBase.class
index 8c2b128d7cc8fc75b498728d79670740265a4020..b27cf42fdaed5c3f872c7f1cf414b751519e66df 100644
GIT binary patch
delta 283
zcmX>udR%nFe3s3otagl(`Pnrl+j7WF7Us~J9L;f(QFO8(i|`~4mdV9zb9i|&i-Sv(
zij#{nlTuSA&t;jxq^U7^1CxwoX>n?ierR!Ok+o(RBLi1vv1>(UaY<%g`s76R`pK%C
zZ|kKP7#TPi7#Nrsq*)jlWEf-_7+4q?<QU|^v;ve?WKaV0m7%l>gDRM>!k`AG)uHM%
z7&O6rEvPx#3_4)GE>xc$12^10eHKOr12Z%MW(GsB1|z6J#teLL4JHhX45nbGngIZ8
CZ6@Ua

delta 298
zcmX>udR%nFe3r>K*{5xu&tk_oS&x0r<h!gIjGB`-vdK>F<=~sVf}@r<v)HvFv$!NP
zFP)J=bh03eu%KoXBLh!nad2r;adJ^+QfkU%MK&E7u9VcA)RI*1#F9it2ENSVfTH~L
zqQqSP^1Rfd$=+<IC#!J2tLJ85WZ+<6U|?d9Vqs*EW<cf3Fv!B?<yaUQ<QWtg7+4q?
z6rr>dgEE+}!k`MKnHki;v^oPHT%QIDBZDS`7Fb-HK?h9hLe=Y;K?U@ov;l)5Sb+h9
U5tufHDl`EZz`)303U;a)014tQ0{{R3

diff --git a/gateway/target/classes/ch/hepia/repository/cursors/ProgramInterface.class b/gateway/target/classes/ch/hepia/repository/cursors/ProgramInterface.class
new file mode 100644
index 0000000000000000000000000000000000000000..dea1c6fd1e2f7afcfcdb1a168b16cf6bc8e42173
GIT binary patch
literal 141
zcmX^0Z`VEs1_l!bc6J6<b_O;^2Cm@z(xT*4x6GVWMh4M<qWtut#9Yt3lGLKK#N<@H
zti-ZJMh2ba4E>DMg3LtyqSS)?;>?o#qDuYb(xT%0qGEk?J&X(jAYJ-7iFxVz{z+M>
Y$t7%z42%p+3=qJ`z|6qFz{J1;02JyclK=n!

literal 0
HcmV?d00001

diff --git a/gateway/target/classes/ch/hepia/repository/modals/interfaces/Users.class b/gateway/target/classes/ch/hepia/repository/cursors/UserInterface.class
similarity index 70%
rename from gateway/target/classes/ch/hepia/repository/modals/interfaces/Users.class
rename to gateway/target/classes/ch/hepia/repository/cursors/UserInterface.class
index 999434d7c487d09b0e9191f39676413fad031bde..67f17a3990119a17eb87a5e34c514cb9a23346f6 100644
GIT binary patch
delta 75
zcmX@We2jU69izQaXmM(hXI@EaQCebhs$N!NSt28YW^#spMruK3qJB|oL4I*&Nq$kK
TesXD1aeh&;K8l9P<&2&H`Rp5d

delta 46
ycmX@ce1Lg_9U~uCXmM&$v0heUSt28Y_Cz^pfy}&;)S|S+<kVt)u-xQYMo$1+P7gZ(

-- 
GitLab