Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.nio.file.Files;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Queue;
- public final class SystemObslugiPlikow {
- private final String pathStanDrukarni = "C:/Temp/stan_drukarni.txt";
- private final String pathUmowy = "C:/Temp/umowy.txt";
- private final String pathPublikacje = "C:/Temp/publikacje.txt";
- private final String pathAutorzy = "C:/Temp/autorzy.txt";
- private File autorzy;
- private File publikacje;
- private File umowy;
- private File stanDrukarni;
- private int i = 0;
- //metody
- public SystemObslugiPlikow() {
- autorzy = new File(pathAutorzy);
- publikacje = new File(pathPublikacje);
- umowy = new File(pathUmowy);
- stanDrukarni = new File(pathStanDrukarni);
- }
- public void zapiszWszystko(DzialHandlowy dzialHandlowy, DzialProgramowy dzialProgramowy, DzialDruku dzialDruku) {
- PrintWriter printWriter = null;
- try {
- printWriter = new PrintWriter(pathPublikacje, "UTF-8");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- List<Publikacja> publikacjeList = dzialHandlowy.getPublikacje();
- if(publikacjeList == null) return;
- for (Publikacja p : publikacjeList) {
- if (p instanceof Album) {
- printWriter.print("0" + ";" + p.getIdentyfikatorPublikacji() + ";");
- for (i = 0; i < p.getIdAutora().size() - 1; i++) {
- printWriter.print(p.getIdAutora().get(i) + ",");
- }
- printWriter.print(p.getIdAutora().get(i) + ";");
- printWriter.print(p.getTytul() + ";" + p.getCena() + ";" + ((Album) p).getLiczbaStron() + ";"
- + p.getZarobiono() + ";" + p.getStanMagazynowy() + "\n");
- } else if (p instanceof Sensacja) {
- printWriter.print("1" + ";" + p.getIdentyfikatorPublikacji() + ";");
- for (i = 0; i < p.getIdAutora().size() - 1; i++) {
- printWriter.print(p.getIdAutora().get(i) + ",");
- }
- printWriter.print(p.getIdAutora().get(i) + ";");
- printWriter.print(p.getTytul() + ";" + p.getCena() + ";" + ((Sensacja) p).getLiczbaStron() + ";"
- + p.getZarobiono() + ";" + p.getStanMagazynowy() + "\n");
- } else if (p instanceof Fantastyka) {
- printWriter.print("2" + ";" + p.getIdentyfikatorPublikacji() + ";");
- for (i = 0; i < p.getIdAutora().size() - 1; i++) {
- printWriter.print(p.getIdAutora().get(i) + ",");
- }
- printWriter.print(p.getIdAutora().get(i) + ";");
- printWriter.print(p.getTytul() + ";" + p.getCena() + ";" + ((Fantastyka) p).getLiczbaStron() + ";"
- + p.getZarobiono() + ";" + p.getStanMagazynowy() + "\n");
- } else if (p instanceof Tygodnik) {
- printWriter.print("3" + ";" + p.getTytul() + ";" + p.getIdAutora().get(0) + ";" +
- ((Tygodnik) p).getDataWydania() + ";" + p.getCena() + ";" + p.getStanMagazynowy() + ";" +
- p.getZarobiono() + "\n");
- } else if (p instanceof Miesiecznik) {
- printWriter.print("4" + ";" + p.getTytul() + ";" + p.getIdAutora().get(0) + ";" +
- ((Miesiecznik) p).getDataWydania() + ";" + p.getCena() + ";" + p.getStanMagazynowy() + ";" +
- p.getZarobiono() + "\n");
- }
- }
- try {
- printWriter = new PrintWriter(pathAutorzy, "UTH-8");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- List<Autor> autors = Main.wydawnictwo.autorzy;
- for (Autor autor : autors) {
- printWriter.print(autor.getImie() + ";" + autor.getNazwisko() + ";");
- for (i = 0; i < autor.getID_Publikacji().size() - 1; i++) {
- printWriter.print(autor.getID_Publikacji().get(i) + ",");
- }
- printWriter.print(autor.getID_Publikacji().get(i) + ";" + autor.getZarobionaSuma() + ";");
- for (i = 0; i < autor.getID_umow().size() - 1; i++) {
- printWriter.print(autor.getID_umow().get(i) + ",");
- }
- printWriter.print(autor.getID_umow().get(i) + "\n");
- }
- try {
- printWriter = new PrintWriter(pathStanDrukarni, "UTH-8");
- } catch (FileNotFoundException e) { //todo dodać tworzenie pliku
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- Queue<Publikacja> publikacje = Main.wydawnictwo.dzialDruku.getDrukarnia_1().getKolejkaPublikacji();
- Queue<Integer> czasy = Main.wydawnictwo.dzialDruku.getDrukarnia_1().getCzasyKolejce();
- for (Publikacja p : publikacje) {
- printWriter.print(p.getIdentyfikatorPublikacji() + ";" + czasy.peek() + ";");
- }
- publikacje = Main.wydawnictwo.dzialDruku.getDrukarnia_2().getKolejkaPublikacji();
- czasy = Main.wydawnictwo.dzialDruku.getDrukarnia_2().getCzasyKolejce();
- for (Publikacja p : publikacje) {
- printWriter.print(p.getIdentyfikatorPublikacji() + ";" + czasy.peek() + ";");
- }
- publikacje = Main.wydawnictwo.dzialDruku.getDrukarniaAlbumow().getKolejkaPublikacji();
- czasy = Main.wydawnictwo.dzialDruku.getDrukarniaAlbumow().getCzasyKolejce();
- for (Publikacja p : publikacje) {
- printWriter.print(p.getIdentyfikatorPublikacji() + ";" + czasy.peek() + ";");
- }
- try {
- printWriter = new PrintWriter(pathUmowy, "UTH-8");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- List<Umowa> umowy = Main.wydawnictwo.dzialProgramowy.getUmowyLista();
- for (Umowa umowa : umowy) {
- if (umowa instanceof UmowaDzielo) {
- printWriter.print("0;" + umowa.getIdAutora() + ";");
- if (umowa.iswTrakcie()) printWriter.print("1;");
- else printWriter.print("0;");
- printWriter.print(umowa.getWynagrodzenie() + ";" + ((UmowaDzielo) umowa).getIloscPublikacji());
- }
- if (umowa instanceof UmowaPrace) {
- printWriter.print("1;" + umowa.getIdAutora() + ";");
- if (umowa.iswTrakcie()) printWriter.print("1;");
- else printWriter.print("0;");
- printWriter.print(umowa.getWynagrodzenie() + ";" + ((UmowaPrace) umowa).getOkresUmowy());
- }
- }
- }
- public List wczytajPlik(Autor o){
- String line;
- List<Autor> autors = new LinkedList<>();
- List<String> strings = null;
- try {
- FileReader fileReader = new FileReader(pathAutorzy);
- BufferedReader bufferedReader = new BufferedReader(fileReader);
- strings = new LinkedList<>();
- while ((line = bufferedReader.readLine()) != null){
- strings.add(line);
- System.out.println(line);
- }
- if(strings == null) return null;
- bufferedReader.close();
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- for (int i = 0; i < strings.size(); i++) {
- autors.add(wczytajAutora(strings.get(i)));
- }
- return autors;
- }
- public List wczytajPlik(File f, Object o) {
- String string, line;
- if (o instanceof Autor) {
- } else if (o instanceof Publikacja) {
- List<Publikacja> publikacjaList = new LinkedList<>();
- List<String> strings = null;
- try {
- strings = new LinkedList<>(Files.readAllLines(publikacje.toPath()));
- if(strings == null) return null;
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- for (int i = 0; i < strings.size(); i++)
- switch (strings.get(i).charAt(0)) {
- case '0': //Album
- publikacjaList.add(wczytajAlbum(strings.get(i)));
- break;
- case '1':
- publikacjaList.add(wczytajSensacje(strings.get(i)));
- break;
- case '2':
- publikacjaList.add(wczytajFantastyke(strings.get(i)));
- break;
- case '3':
- publikacjaList.add(wczytajTygodnik(strings.get(i)));
- break;
- case '4':
- publikacjaList.add(wczytajMiesiecznik(strings.get(i)));
- break;
- default:
- // todo wyjatek
- break;
- }
- return publikacjaList;
- } else if (o instanceof Umowa) {
- List<Umowa> listaUmow = new LinkedList<>();
- List<String> strings = null;
- try {
- strings = new LinkedList<>(Files.readAllLines(umowy.toPath()));
- if(strings == null) return null;
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- for (int i = 0; i < strings.size(); i++) {
- switch (strings.get(i).charAt(0)) {
- case '1':
- listaUmow.add(wczytajUmowyPrace(strings.get(i)));
- break;
- case '2':
- listaUmow.add(wczytajUmowyDzielo(strings.get(i)));
- break;
- default:
- //TODO
- break;
- }
- return listaUmow;
- }
- } else if (o instanceof Drukarnia) {
- string = null;
- try {
- string = Files.readAllBytes(f.toPath()).toString();
- if(string == null) return null;
- } catch (IOException e) {
- e.printStackTrace();
- }
- String[] strings = string.split(";");
- for (String s : strings) {
- ((Drukarnia) o).dodajDoKolejki(s, 1);
- }
- } else if (o instanceof DrukarniaAlbumow) {
- string = null;
- try {
- string = Files.readAllBytes(f.toPath()).toString();
- if(string == null) return null;
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- String[] strings = string.split(";");
- for (String s : strings) {
- ((DrukarniaAlbumow) o).dodajDoKolejki(s, 1);
- }
- }
- return null;
- }
- public Umowa wczytajUmowyPrace(String string) {
- //0 - rodzaj, 1 - ID Autora, 2 - wtrakcie, 3 - wynagorodzenie, 4 - okresUmowy,
- String[] lista = string.split(";");
- return new UmowaPrace(lista[1], (lista[2].equals('1') ? true : false),
- Double.parseDouble(lista[3]), Integer.parseInt(lista[4]));
- }
- public Umowa wczytajUmowyDzielo(String string) {
- //0 - rodzaj, 1 - ID Autora, 2 - wtrakcie, 3 - wynagorodzenie, 4 - iloscPublikacji
- String[] lista = string.split(";");
- return new UmowaDzielo(lista[1], (lista[2].equals('1') ? true : false),
- Double.parseDouble(lista[3]), Integer.parseInt(lista[4]));
- }
- public Album wczytajAlbum(String string) {
- //list[0] - gatunek 1. ID Autorow 2. Tytuł 3. cena 4. liczba stron 5. zarobiono 6. stan magazynowy
- String[] lista = string.split(";");
- return new Album(lista[2], lista[1], Integer.parseInt(lista[4]), Double.parseDouble(lista[3]),
- Integer.parseInt(lista[6]), Double.parseDouble(lista[5]));
- }
- public Sensacja wczytajSensacje(String string) {
- //list[0] - gatunek 1. ID Autorow 2. Tytuł 3. cena 4. liczba stron 5. zarobiono 6. stan magazynowy
- String[] lista = string.split(";");
- return new Sensacja(lista[2], lista[1], Integer.parseInt(lista[4]), Double.parseDouble(lista[3]),
- Integer.parseInt(lista[6]), Double.parseDouble(lista[5]));
- }
- public Fantastyka wczytajFantastyke(String string) {
- //list[0] - gatunek 1. ID Autorow 2. Tytuł 3. cena 4. liczba stron 5. zarobiono 6. stan magazynowy
- String[] lista = string.split(";");
- return new Fantastyka(lista[2], lista[1], Integer.parseInt(lista[4]), Double.parseDouble(lista[3]),
- Integer.parseInt(lista[6]), Double.parseDouble(lista[5]));
- }
- public Tygodnik wczytajTygodnik(String string) {
- //list[0] - gatunek 1. Tytuł 2. Autor 3. Wydano 4. Cena 5. stan magazynowy 6. Zarobiono
- String[] lista = string.split(";");
- return new Tygodnik(lista[1], lista[2], Integer.parseInt(lista[3]), Double.parseDouble(lista[4]),
- Integer.parseInt(lista[5]), Double.parseDouble(lista[6]));
- }
- public Miesiecznik wczytajMiesiecznik(String string) {
- //list[0] - gatunek 1. Tytuł 2. Autor 3. Wydano 4. Cena 5. stan magazynowy 6. Zarobiono
- String[] lista = string.split(";");
- return new Miesiecznik(lista[1], lista[2], Integer.parseInt(lista[3]), Double.parseDouble(lista[4]),
- Integer.parseInt(lista[5]), Double.parseDouble(lista[6]));
- }
- public Autor wczytajAutora(String string) {
- // 0 - imie, 1 - nazwisko, 2- lista publikacji, 3- zarobiona suma, 4 - lista umow
- String[] lista = string.split(";");
- for(String s : lista) System.out.println(s);
- return new Autor(lista[0], lista[1], lista[2], Double.parseDouble(lista[3]), lista[4]);
- }
- public File getAutorzy() {
- return autorzy;
- }
- public void setAutorzy(File autorzy) {
- this.autorzy = autorzy;
- }
- public File getPublikacje() {
- return publikacje;
- }
- public void setPublikacje(File publikacje) {
- this.publikacje = publikacje;
- }
- public File getUmowy() {
- return umowy;
- }
- public void setUmowy(File umowy) {
- this.umowy = umowy;
- }
- public File getStanDrukarni() {
- return stanDrukarni;
- }
- public void setStanDrukarni(File stanDrukarni) {
- this.stanDrukarni = stanDrukarni;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement