Browse Source

new code

master
mac 3 years ago
parent
commit
34d370ab77
11 changed files with 219 additions and 39 deletions
  1. BIN
      Favorite_Movies/bin/Database.class
  2. BIN
      Favorite_Movies/bin/Main_HomePage.class
  3. BIN
      Favorite_Movies/bin/Star.class
  4. 157
      Favorite_Movies/src/Database.java
  5. 7
      Favorite_Movies/src/Main_HomePage.java
  6. 8
      Favorite_Movies/src/Movie.java
  7. 35
      Favorite_Movies/src/MoviesFrame.java
  8. 12
      Favorite_Movies/src/Rating.java
  9. 23
      Favorite_Movies/src/RatingsFrame.java
  10. 5
      Favorite_Movies/src/Star.java
  11. 11
      Favorite_Movies/src/StarsFrame.java

BIN
Favorite_Movies/bin/Database.class

BIN
Favorite_Movies/bin/Main_HomePage.class

BIN
Favorite_Movies/bin/Star.class

157
Favorite_Movies/src/Database.java

@ -65,10 +65,22 @@ public class Database {
fw.write("\n"); fw.write("\n");
} }
public static void addMovie(Movie m){
public static int addMovie(Movie m){
int lastid = 0;
try { try {
FileWriter fw = new FileWriter( "c:\\tmp\\src\\files\\data.txt",true);
ArrayList<Movie> list = getMovies();
for (Movie mv: list)
{
if (mv.equals(m))
{
return 0;
}
if (mv.getMovieId() > lastid)
lastid = mv.getMovieId();
}
m.setMovieId(lastid + 1);
FileWriter fw = new FileWriter( "C:\\tmp\\FavoriteMovies\\files\\data.txt",true);
writeMovieToFile(fw, m); writeMovieToFile(fw, m);
@ -78,6 +90,7 @@ public class Database {
catch (IOException e1) { // TODO Auto-generated catch block catch (IOException e1) { // TODO Auto-generated catch block
e1.printStackTrace(); e1.printStackTrace();
} }
return lastid+1;
} }
@ -93,6 +106,9 @@ public class Database {
Movie m = Movie.parseString(line); Movie m = Movie.parseString(line);
list.add(m); list.add(m);
} }
br.close();
fr.close();
} }
catch (IOException e1) { // TODO Auto-generated catch block catch (IOException e1) { // TODO Auto-generated catch block
e1.printStackTrace(); e1.printStackTrace();
@ -122,7 +138,7 @@ public class Database {
{ {
ArrayList<Star> list = new ArrayList<Star>(); ArrayList<Star> list = new ArrayList<Star>();
try{ try{
FileReader fr = new FileReader( "c:\\tmp\\src\\files\\star_data.txt");
FileReader fr = new FileReader( "C:\\tmp\\FavoriteMovies\\files\\star_data.txt");
BufferedReader br = new BufferedReader(fr); BufferedReader br = new BufferedReader(fr);
String line = null; String line = null;
while ((line=br.readLine())!=null) while ((line=br.readLine())!=null)
@ -130,6 +146,8 @@ public class Database {
Star s = Star.parseString(line); Star s = Star.parseString(line);
list.add(s); list.add(s);
} }
br.close();
fr.close();
} }
catch (IOException e1) { // TODO Auto-generated catch block catch (IOException e1) { // TODO Auto-generated catch block
e1.printStackTrace(); e1.printStackTrace();
@ -137,14 +155,93 @@ public class Database {
return list; return list;
} }
public static void addStar(Star s)
public static ArrayList<Rating> getRatings()
{ {
ArrayList<Rating> list = new ArrayList<Rating>();
try{
FileReader fr = new FileReader( "C:\\tmp\\FavoriteMovies\\files\\ratings_data.txt");
BufferedReader br = new BufferedReader(fr);
String line = null;
while ((line=br.readLine())!=null)
{
Rating s = Rating.parseString(line);
list.add(s);
}
br.close();
fr.close();
}
catch (IOException e1) { // TODO Auto-generated catch block
e1.printStackTrace();
}
return list;
}
public static boolean addStar(Star s)
{
boolean movieFound = false;
try
{
ArrayList<Movie> list = getMovies();
for (Movie m: list)
{
if (m.getMovieId() == s.getMovieId())
{
movieFound = true;
}
}
if (movieFound)
{
FileWriter fw = new FileWriter( "C:\\tmp\\FavoriteMovies\\files\\star_data.txt",true);
fw.write(String.valueOf(s.getMovieId()));
fw.append(" ").write(s.getMovieTitle());
fw.append(" ").write(String.valueOf(s.getYear()));
fw.append(" ").write(s.getNameSurname());
fw.append(" ").write("\n");
fw.close();
}
}
catch (IOException e1) { // TODO Auto-generated catch block
e1.printStackTrace();
movieFound = false;
}
return movieFound;
} }
public static void addRating(Rating r)
public static boolean addRating(Rating r)
{ {
boolean movieFound = false;
try
{
ArrayList<Movie> list = getMovies();
for (Movie m: list)
{
if (m.getMovieId() == r.getMovieId())
{
movieFound = true;
}
}
if (movieFound)
{
//(movieId: int, NameSurname: string, relation: string, rating: int)
FileWriter fw = new FileWriter( "C:\\tmp\\FavoriteMovies\\files\\ratings_data.txt",true);
fw.write(String.valueOf(r.getMovieId()));
fw.append(" ").write(r.getNameSurname());
fw.append(" ").write(r.getRelation());
fw.append(" ").write(String.valueOf(r.getRating()));
fw.append(" ").write("\n");
fw.close();
UpdateRating(r.getMovieId(), r.getRating());
}
}
catch (IOException e1) { // TODO Auto-generated catch block
e1.printStackTrace();
movieFound = false;
}
return movieFound;
} }
public static int findMovieId(String title) public static int findMovieId(String title)
@ -202,14 +299,58 @@ public class Database {
public static ArrayList<Movie> findMoviesForStar(String starName) public static ArrayList<Movie> findMoviesForStar(String starName)
{ {
ArrayList<Movie> list = new ArrayList<Movie>();
// TODO 9: search all movies in which the star has acted and return a list // TODO 9: search all movies in which the star has acted and return a list
ArrayList<Integer> movieIdList = new ArrayList<Integer>();
ArrayList<Star> starList = getStars();
for (Star s: starList)
{
if (s.getNameSurname().equals(starName))
movieIdList.add(s.getMovieId());
}
ArrayList<Movie> fullList = getMovies(); ArrayList<Movie> fullList = getMovies();
for (Movie movie : fullList)
ArrayList<Movie> list = new ArrayList<Movie>();
for(Movie m: fullList)
{ {
if (movieIdList.contains(m.getMovieId()))
{
System.out.println("Adding " + m.getTitle() + " to list");
list.add(m);
}
} }
return list; return list;
} }
public static void UpdateRating(int movieId, int newRating)
{
// get all ratings
ArrayList<Rating> ratings = getRatings();
// calculate avg rating
int totalRating = 0;
int numRatings = 0;
for (Rating r: ratings)
{
if (r.getMovieId() == movieId)
{
totalRating += r.getRating();
numRatings++;
}
}
// find movie by id
ArrayList<Movie> list = getMovies();
// update movie
for (Movie m: list)
{
if (m.getMovieId() == movieId)
{
m.setAvgRating(totalRating/numRatings);
break;
}
}
// save movies to file
saveMoviesList(list);
}
} }

7
Favorite_Movies/src/Main_HomePage.java

@ -227,13 +227,20 @@ public class Main_HomePage extends JFrame {
// form should have a text field to take the name of the star // form should have a text field to take the name of the star
// upon clicking the button, it should call Database.findMoviesForStar(String starName) // upon clicking the button, it should call Database.findMoviesForStar(String starName)
// and display a list of movie titles below // and display a list of movie titles below
<<<<<<< Updated upstream
=======
>>>>>>> Stashed changes
ShowMoviesForStarFrame sm=new ShowMoviesForStarFrame(); ShowMoviesForStarFrame sm=new ShowMoviesForStarFrame();
sm.setVisible(true); sm.setVisible(true);
if(sm.isVisible()) { if(sm.isVisible()) {
//use to display only one screen //use to display only one screen
Main_HomePage.this.dispose(); Main_HomePage.this.dispose();
} }
<<<<<<< Updated upstream
=======
>>>>>>> Stashed changes
} }
}); });

8
Favorite_Movies/src/Movie.java

@ -91,6 +91,14 @@ public class Movie {
this.numWatched = numWatched; this.numWatched = numWatched;
} }
public boolean equals(Movie m)
{
if (m.getTitle().equals(this.getTitle())
&& m.getGenre().equals(this.getGenre()))
return true;
return false;
}
public static Movie parseString(String s) public static Movie parseString(String s)
{ {
String[] parts = s.split(" "); String[] parts = s.split(" ");

35
Favorite_Movies/src/MoviesFrame.java

@ -52,12 +52,12 @@ public class MoviesFrame extends JFrame{
lblNewLabel.setBounds(273,11, 160, 29); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 24)); lblNewLabel.setBounds(273,11, 160, 29); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 24));
lblNewLabel.setForeground(new Color(255, 255, 255)); panel.add(lblNewLabel); lblNewLabel.setForeground(new Color(255, 255, 255)); panel.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("Movie Id:");
/*JLabel lblNewLabel_1 = new JLabel("Movie Id:");
lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14)); lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_1.setForeground(Color.WHITE); lblNewLabel_1.setForeground(Color.WHITE);
lblNewLabel_1.setBounds(31, 74, 109, 14); lblNewLabel_1.setBounds(31, 74, 109, 14);
panel.add(lblNewLabel_1); panel.add(lblNewLabel_1);
*/
JLabel lblNewLabel_1_1 = new JLabel("Title:"); JLabel lblNewLabel_1_1 = new JLabel("Title:");
lblNewLabel_1_1.setFont(new Font("Tahoma", Font.PLAIN, 14)); lblNewLabel_1_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_1_1.setForeground(Color.WHITE); lblNewLabel_1_1.setForeground(Color.WHITE);
@ -112,9 +112,10 @@ public class MoviesFrame extends JFrame{
lblNewLabel_1_3_6.setBounds(31, 479, 127,23); lblNewLabel_1_3_6.setBounds(31, 479, 127,23);
panel.add(lblNewLabel_1_3_6); panel.add(lblNewLabel_1_3_6);
/*
tf_mid = new JTextField(); tf_mid.setBounds(231, 66, 222, 29); tf_mid = new JTextField(); tf_mid.setBounds(231, 66, 222, 29);
panel.add(tf_mid); panel.add(tf_mid);
*/
tf_title = new JTextField(); tf_title.setBounds(231, 110, 222, 29); tf_title = new JTextField(); tf_title.setBounds(231, 110, 222, 29);
panel.add(tf_title); panel.add(tf_title);
@ -160,13 +161,13 @@ public class MoviesFrame extends JFrame{
JButton btnM_ok = new JButton("OK"); JButton btnM_ok = new JButton("OK");
btnM_ok.addActionListener(new ActionListener() { btnM_ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if(tf_mid.getText().isEmpty() || tf_title.getText().isEmpty() ||tf_year.getText().isEmpty() || tf_genre.getText().isEmpty()||tf_num_watch.getText().isEmpty() || tf_avgrate.getText().isEmpty() ||tf_pname.getText().isEmpty() || tf_sname.getText().isEmpty() ||tf_shortDesc.getText().isEmpty() || tf_length.getText().isEmpty()) {
if(tf_title.getText().isEmpty() ||tf_year.getText().isEmpty() || tf_genre.getText().isEmpty()||tf_num_watch.getText().isEmpty() || tf_avgrate.getText().isEmpty() ||tf_pname.getText().isEmpty() || tf_sname.getText().isEmpty() ||tf_shortDesc.getText().isEmpty() || tf_length.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Please Enter All the Fields !!"); JOptionPane.showMessageDialog(null, "Please Enter All the Fields !!");
} }
else{ else{
Movie mv = new Movie(); Movie mv = new Movie();
mv.setMovieId(Integer.parseInt(tf_mid.getText()));
//mv.setMovieId(Integer.parseInt(tf_mid.getText()));
mv.setTitle(tf_title.getText()); mv.setTitle(tf_title.getText());
mv.setLength(Integer.parseInt(tf_length.getText())); mv.setLength(Integer.parseInt(tf_length.getText()));
mv.setYear(Integer.parseInt(tf_year.getText())); mv.setYear(Integer.parseInt(tf_year.getText()));
@ -176,16 +177,22 @@ public class MoviesFrame extends JFrame{
mv.setShortDescription(tf_shortDesc.getText()); mv.setShortDescription(tf_shortDesc.getText());
mv.setAvgRating(Double.parseDouble(tf_avgrate.getText())); mv.setAvgRating(Double.parseDouble(tf_avgrate.getText()));
mv.setNumWatched(Integer.parseInt(tf_num_watch.getText())); mv.setNumWatched(Integer.parseInt(tf_num_watch.getText()));
Database.addMovie(mv);
JOptionPane.showMessageDialog(null, "Movie added Successfully.....");
tf_mid.setText("");
tf_title.setText("");
tf_year.setText(""); tf_length.setText(""); tf_genre.setText("");
tf_sname.setText(""); tf_pname.setText(""); tf_shortDesc.setText("");
tf_avgrate.setText(""); tf_num_watch.setText("");
int movieId = Database.addMovie(mv);
if (movieId > 0)
{
JOptionPane.showMessageDialog(null, "Movie added Successfully.....new id: " + String.valueOf(movieId));
tf_title.setText("");
tf_year.setText(""); tf_length.setText(""); tf_genre.setText("");
tf_sname.setText(""); tf_pname.setText(""); tf_shortDesc.setText("");
tf_avgrate.setText(""); tf_num_watch.setText("");
}
else
{
JOptionPane.showMessageDialog(null, "Movie already exists!!");
}
} }
} }

12
Favorite_Movies/src/Rating.java

@ -39,4 +39,16 @@ public class Rating {
this.nameSurname = nameSurname; this.nameSurname = nameSurname;
} }
public static Rating parseString(String s)
{
//(movieId: int, NameSurname: string, relation: string, rating: int)
Rating r = new Rating();
String[] parts = s.split(" ");
r.setMovieId(Integer.parseInt(parts[0]));
r.setNameSurname(parts[1]);
r.setRelation(parts[2]);
r.setRating(Integer.parseInt(parts[3]));
return r;
}
} }

23
Favorite_Movies/src/RatingsFrame.java

@ -96,28 +96,19 @@ public class RatingsFrame extends JFrame {
rt.setRelation(tf_relationR.getText()); rt.setRelation(tf_relationR.getText());
rt.setNameSurname(tf_snameR.getText()); rt.setNameSurname(tf_snameR.getText());
rt.setRating(Integer.parseInt(tf_ratingsR.getText())); rt.setRating(Integer.parseInt(tf_ratingsR.getText()));
try {
FileWriter fw = new FileWriter( "C:\\Users\\skc\\eclipse-workspace\\first\\Favorite_Movies\\src\\files\\ratings_data.txt",true);
tf_midR.write(fw);
tf_snameR.write(fw.append(" "));
tf_relationR.write(fw.append(" "));
tf_ratingsR.write(fw.append(" "));
fw.write("\n");
fw.close();
if (Database.addRating(rt))
{
JOptionPane.showMessageDialog(null, "Ratings added Successfully....."); JOptionPane.showMessageDialog(null, "Ratings added Successfully.....");
tf_midR.setText(""); tf_midR.setText("");
tf_relationR.setText(""); tf_relationR.setText("");
tf_ratingsR.setText(""); tf_ratingsR.setText("");
tf_snameR.setText(""); tf_snameR.setText("");
} catch (IOException e1) { // TODO Auto-generated catch block
e1.printStackTrace(); }
}
else
{
JOptionPane.showMessageDialog(null, "Movie not found, Ratings not added!!");
}
} }
} }
}); });

5
Favorite_Movies/src/Star.java

@ -43,7 +43,10 @@ public class Star{
Star st = new Star(); Star st = new Star();
String[] parts = s.split(" "); String[] parts = s.split(" ");
st.setMovieId(Integer.parseInt(parts[0])); st.setMovieId(Integer.parseInt(parts[0]));
//movieId: int, movieTitle: string, movieYear: int, NameSurname: string
st.setMovieTitle(parts[1]);
st.setYear(Integer.parseInt(parts[2]));
st.setNameSurname(parts[3]);
return st; return st;
} }

11
Favorite_Movies/src/StarsFrame.java

@ -90,7 +90,10 @@ public class StarsFrame extends JFrame {
s.setMovieTitle(tf_mtitleS.getText()); s.setMovieTitle(tf_mtitleS.getText());
s.setNameSurname(tf_snameS.getText()); s.setNameSurname(tf_snameS.getText());
s.setYear(Integer.parseInt(tf_yearS.getText())); s.setYear(Integer.parseInt(tf_yearS.getText()));
<<<<<<< Updated upstream
=======
>>>>>>> Stashed changes
if (Database.addStar(s)) if (Database.addStar(s))
{ {
JOptionPane.showMessageDialog(null, "Star added Successfully....."); JOptionPane.showMessageDialog(null, "Star added Successfully.....");
@ -98,6 +101,7 @@ public class StarsFrame extends JFrame {
tf_midS.setText(""); tf_midS.setText("");
tf_mtitleS.setText(""); tf_mtitleS.setText("");
tf_yearS.setText(""); tf_yearS.setText("");
<<<<<<< Updated upstream
tf_snameS.setText(""); tf_snameS.setText("");
} }
else{ else{
@ -106,6 +110,13 @@ public class StarsFrame extends JFrame {
} }
=======
tf_snameS.setText("");
}
else {
JOptionPane.showMessageDialog(null, "Movie not found, Star not added!!");
}
>>>>>>> Stashed changes
} }
} }
});btnStar.setBounds(195, 320, 89, 23); });btnStar.setBounds(195, 320, 89, 23);

Loading…
Cancel
Save