|
|
@@ -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<Actor>
|
|
|
+-directors = new ArrayList(): ArrayList<Director>
|
|
|
+--
|
|
|
++addActor(Actor a): void
|
|
|
++getActors(): ArrayList<Actor>
|
|
|
++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<Director>
|
|
|
+--
|
|
|
+</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<Movie>
|
|
|
+-actors = new ArrayList(): ArrayList<Actor>
|
|
|
+-directors = new ArrayList(): ArrayList<Director>
|
|
|
+-users = new ArrayList(): ArrayList<User>
|
|
|
+--
|
|
|
+-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<Movie>
|
|
|
++getActors(): ArrayList<Actor>
|
|
|
++getDirectors(): ArrayList<Director>
|
|
|
++getUsers(): ArrayList<User>
|
|
|
++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<Movie>
|
|
|
+--
|
|
|
++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<Movie>
|
|
|
+--
|
|
|
++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<Integer, Float>
|
|
|
+--
|
|
|
++User(String name): ctor
|
|
|
++addRating(int movie, float rating): void
|
|
|
++getName(): String
|
|
|
++setName(String name): void
|
|
|
++getRatings(): HashMap<Integer, Float>
|
|
|
+--
|
|
|
+</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<Movie>
|
|
|
++withDirector(Director d, int limit): ArrayList<Movie>
|
|
|
++likedByUserWhoLike(Movie m, int limit): ArrayList<Movie>
|
|
|
++withGenre(String genre, int limit): ArrayList<Movie>
|
|
|
+--
|
|
|
+</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<Movie> a, ArrayList<Movie> b): ArrayList<Movie>
|
|
|
+-printList(ArrayList<Object> 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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</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=<<<-</panel_attributes>
|
|
|
+ <additional_attributes>10.0;10.0;450.0;10.0;470.0;700.0</additional_attributes>
|
|
|
+ </element>
|
|
|
+</diagram>
|