1
0
Quellcode durchsuchen

added uml diagramm

Phil vor 7 Jahren
Ursprung
Commit
0d1509c048
4 geänderte Dateien mit 419 neuen und 3 gelöschten Zeilen
  1. BIN
      MovieDB/new.pdf
  2. 400 0
      MovieDB/new.uxf
  3. 13 2
      MovieDB/src/main/ConsoleReader.java
  4. 6 1
      MovieDB/src/main/Main.java

BIN
MovieDB/new.pdf


+ 400 - 0
MovieDB/new.uxf

@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<diagram program="umlet" version="14.2">
+  <zoom_level>5</zoom_level>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>90</x>
+      <y>120</y>
+      <w>180</w>
+      <h>240</h>
+    </coordinates>
+    <panel_attributes>data::Movie
+--
+-id: int
+-title: String
+-plot: String
+-genre: String
+-votes: int
+-rating: float
+-actors = new ArrayList(): ArrayList&lt;Actor&gt;
+-directors = new ArrayList(): ArrayList&lt;Director&gt;
+--
++addActor(Actor a): void
++getActors(): ArrayList&lt;Actor&gt;
++addDirector(Director d): void
++getId(): int
++setId(int id): void
++getTitle(): String
++setTitle(String title): void
++getPlot(): String
++setPlot(String plot): void
++getGenre(): String
++setGenre(String genre): void
++getRating(): float
++setRating(float rating): void
++toString(): String
++getVotes(): int
++setVotes(int votes): void
++getDirectors(): ArrayList&lt;Director&gt;
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>415</x>
+      <y>90</y>
+      <w>215</w>
+      <h>235</h>
+    </coordinates>
+    <panel_attributes>data::DataBase
+--
+-instance = new DataBase(): DataBase
+-movies = new ArrayList(): ArrayList&lt;Movie&gt;
+-actors = new ArrayList(): ArrayList&lt;Actor&gt;
+-directors = new ArrayList(): ArrayList&lt;Director&gt;
+-users = new ArrayList(): ArrayList&lt;User&gt;
+--
+-DataBase(): ctor
++addActing(int actorId, int movieId): void
++getActorById(int id): Actor
++getMovieById(int id): Movie
++getDirectorById(int id): Director
++addDirecting(int dierctorID, int movieId): void
++addMovie(Movie m): void
++getMovies(): ArrayList&lt;Movie&gt;
++getActors(): ArrayList&lt;Actor&gt;
++getDirectors(): ArrayList&lt;Director&gt;
++getUsers(): ArrayList&lt;User&gt;
++addUser(String userName, float rating, int movieId): void
++addActor(Actor a): void
++getActorByName(String name): Actor
++getMovieByName(String name): Movie
++getDirectorByName(String name): Director
++addDirector(Director d): void
++addUserRating(String name, int movie, int rating): void
++printMovies(): void
++getInstance(): DataBase
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>90</x>
+      <y>575</y>
+      <w>170</w>
+      <h>95</h>
+    </coordinates>
+    <panel_attributes>data::Actor
+--
+-id: int
+-name: String
+-movies = new ArrayList(): ArrayList&lt;Movie&gt;
+--
++addMovie(Movie m): void
++getId(): int
++setId(int id): void
++getName(): String
++setName(String name): void
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>90</x>
+      <y>365</y>
+      <w>170</w>
+      <h>95</h>
+    </coordinates>
+    <panel_attributes>data::Director
+--
+-id: int
+-name: String
+-movies = new ArrayList(): ArrayList&lt;Movie&gt;
+--
++addMovie(Movie m): void
++getId(): int
++setId(int id): void
++getName(): String
++setName(String name): void
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>90</x>
+      <y>470</y>
+      <w>195</w>
+      <h>90</h>
+    </coordinates>
+    <panel_attributes>data::User
+--
+-name: String
+-ratings = new HashMap(): HashMap&lt;Integer, Float&gt;
+--
++User(String name): ctor
++addRating(int movie, float rating): void
++getName(): String
++setName(String name): void
++getRatings(): HashMap&lt;Integer, Float&gt;
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>465</x>
+      <y>365</y>
+      <w>220</w>
+      <h>80</h>
+    </coordinates>
+    <panel_attributes>logic::Recomendations
+--
+-db = DataBase.getInstance(): DataBase
+-bla: Movie
+--
++withActor(Actor a, int limit): ArrayList&lt;Movie&gt;
++withDirector(Director d, int limit): ArrayList&lt;Movie&gt;
++likedByUserWhoLike(Movie m, int limit): ArrayList&lt;Movie&gt;
++withGenre(String genre, int limit): ArrayList&lt;Movie&gt;
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>695</x>
+      <y>475</y>
+      <w>260</w>
+      <h>70</h>
+    </coordinates>
+    <panel_attributes>main::Main
+--
+~rec = new Recomendations(): Recomendations
+--
++main(String[] args): void
++start(String[] args): void
+-combine(ArrayList&lt;Movie&gt; a, ArrayList&lt;Movie&gt; b): ArrayList&lt;Movie&gt;
+-printList(ArrayList&lt;Object&gt; list): void
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>675</x>
+      <y>195</y>
+      <w>90</w>
+      <h>60</h>
+    </coordinates>
+    <panel_attributes>main::ConsoleReader
+--
+~in: Scanner
+--
++ConsoleReader(): ctor
+-read(): void
+-printMenu(): void
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>310</x>
+      <y>25</y>
+      <w>75</w>
+      <h>55</h>
+    </coordinates>
+    <panel_attributes>data::DataParser
+--
+-in: Scanner
+--
++DataParser(): ctor
+-read(): void
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>UMLClass</id>
+    <coordinates>
+      <x>380</x>
+      <y>520</y>
+      <w>160</w>
+      <h>35</h>
+    </coordinates>
+    <panel_attributes>data.comperators::MovieComparatorRating
+--
+--
++compare(Movie a, Movie b): int
+--
+</panel_attributes>
+    <additional_attributes/>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>230</x>
+      <y>65</y>
+      <w>90</w>
+      <h>65</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;110.0;10.0;10.0;160.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>255</x>
+      <y>75</y>
+      <w>70</w>
+      <h>335</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;650.0;110.0;650.0;120.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>280</x>
+      <y>75</y>
+      <w>55</w>
+      <h>460</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;900.0;90.0;900.0;90.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>255</x>
+      <y>75</y>
+      <w>100</w>
+      <h>555</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;1090.0;170.0;1090.0;180.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>575</x>
+      <y>440</y>
+      <w>130</w>
+      <h>70</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;10.0;20.0;120.0;240.0;120.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>480</x>
+      <y>440</y>
+      <w>15</w>
+      <h>90</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;160.0;10.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>625</x>
+      <y>215</y>
+      <w>60</w>
+      <h>15</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;10.0;100.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>740</x>
+      <y>250</y>
+      <w>25</w>
+      <h>235</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;10.0;30.0;450.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>680</x>
+      <y>255</y>
+      <w>55</w>
+      <h>160</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;300.0;90.0;300.0;80.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>265</x>
+      <y>135</y>
+      <w>160</w>
+      <h>15</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;10.0;300.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>255</x>
+      <y>195</y>
+      <w>170</w>
+      <h>230</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;440.0;200.0;440.0;200.0;10.0;320.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>280</x>
+      <y>205</y>
+      <w>145</w>
+      <h>310</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;600.0;220.0;600.0;220.0;10.0;270.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>255</x>
+      <y>220</y>
+      <w>170</w>
+      <h>395</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;770.0;230.0;770.0;230.0;10.0;320.0;10.0</additional_attributes>
+  </element>
+  <element>
+    <id>Relation</id>
+    <coordinates>
+      <x>625</x>
+      <y>125</y>
+      <w>245</w>
+      <h>360</h>
+    </coordinates>
+    <panel_attributes>lt=&lt;&lt;&lt;-</panel_attributes>
+    <additional_attributes>10.0;10.0;450.0;10.0;470.0;700.0</additional_attributes>
+  </element>
+</diagram>

+ 13 - 2
MovieDB/src/main/ConsoleReader.java

@@ -10,9 +10,20 @@ public class ConsoleReader {
 	}
 	
 	private void read() {
+		printMenu();
 		String msg;
-		while((msg = in.nextLine()) != null) {
-			
+		while(true) {
+			while(in.hasNextLine()) {
+				msg = in.nextLine();
+				System.out.println(msg);
+				switch(msg) {
+					
+				}
+			}
 		}
 	}
+	
+	private void printMenu() {
+		System.out.println("MovieDB interactive Mode");
+	}
 }

+ 6 - 1
MovieDB/src/main/Main.java

@@ -21,10 +21,15 @@ public class Main {
 		int limit = 200;
 		ArrayList<Movie> printlist = new ArrayList<>();
 		ArrayList<Movie> buffer;
-		if(args != null) {
+		if(args.length != 0) {
 			for(String s : args) {
 				switch(s.substring(0,s.indexOf("="))) {
 				case "--test":
+					buffer = new ArrayList<>();
+					for(Movie m : rec.withActor(DataBase.getInstance().getActorByName(s.substring(s.indexOf("=")+1).replaceAll("'", "")), 20)) {
+						buffer.add(m);
+						printlist.addAll(combine(buffer,printlist));
+					}
 					break;
 				case "--genre":
 					buffer = new ArrayList<>();