Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package package1;
- import java.awt.*;
- import java.awt.event.*;
- import java.io.*;
- import java.lang.reflect.*;
- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import javax.swing.*;
- import javax.swing.event.*;
- import javax.swing.table.AbstractTableModel;
- import java.awt.image.*;
- import javax.imageio.*;
- public class SiteModel extends AbstractTableModel{
- private ArrayList<Site> listSite;
- private String[] columnNames = { "Name Reserving", "Checked in", "Est. Days Staying", "Site #", "Tent/RV info"};
- public SiteModel() {
- super();
- listSite = new ArrayList<Site>();
- }
- public void removeSite(int i) {
- listSite.remove(i);
- fireTableRowsDeleted(0, listSite.size());
- }
- public void addSite (Site s) {
- listSite.add(s);
- fireTableRowsInserted(0, listSite.size());
- }
- public Site getSite (int i) {
- return listSite.get(i);
- }
- public Object getElementAt(int i) {
- return getSite(i);
- }
- public int getSize() {
- //return 10;
- return listSite.size();
- }
- public void loadDatabase(String fileName){
- try {
- FileInputStream fis = new FileInputStream(fileName);
- ObjectInputStream is = new ObjectInputStream(fis);
- ArrayList<Site> readObject = (ArrayList<Site>) is.readObject();
- listSite = readObject;
- fireTableRowsInserted(listSite.size()-1, listSite.size()-1);
- JOptionPane.showMessageDialog (
- null, "Database loaded from C://" + fileName + ".txt",
- "File Loaded",
- JOptionPane.INFORMATION_MESSAGE);
- is.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- public void saveDatabase(String fileName){
- try {
- FileOutputStream fos = new FileOutputStream(fileName);
- ObjectOutputStream os = new ObjectOutputStream(fos);
- os.writeObject(listSite);
- JOptionPane.showMessageDialog (
- null, "Database saved to C://" + fileName + ".txt",
- "File Saved",
- JOptionPane.INFORMATION_MESSAGE);
- os.close();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- public boolean saveText(String fileName){
- if (fileName.equals("")) {
- return false;
- }
- try {
- PrintWriter out = new PrintWriter(new BufferedWriter(
- new FileWriter(fileName)));
- out.println(listSite.size());
- for (int i = 0; i < listSite.size(); i++) {
- Site site = listSite.get(i);
- if (site instanceof Tent)
- out.println("Tent");
- else
- out.println("RV");
- out.println(site.getName());
- GregorianCalendar gc = site.getCheckIn();
- int year = gc.get(Calendar.YEAR);
- int day = gc.get(Calendar.DAY_OF_MONTH);
- int month = gc.get(Calendar.MONTH);
- out.println(year);
- out.println(day);
- out.println(month);
- out.println(site.getStay());
- out.println(site.getSite());
- if (site instanceof Tent)
- out.println(((Tent) site).getTenters()+" Tenters");
- else
- out.println(((RV) site).getPower()+" Amps needed");
- }
- JOptionPane.showMessageDialog (
- null, "Database saved to C://" + fileName + ".txt",
- "File Saved",
- JOptionPane.INFORMATION_MESSAGE);
- out.close();
- return true;
- } catch (IOException ex) {
- return false;
- }
- }
- public void loadText(String fileName) throws ParseException{
- listSite.clear();
- fireTableRowsInserted(listSite.size()-1, listSite.size()-1);
- try {
- Scanner scanner = new Scanner(new File(fileName));
- int count = Integer.parseInt(scanner.nextLine().trim());
- for (int i = 0; i < count; i++) {
- String type = scanner.nextLine().trim();
- String name = scanner.nextLine().trim();
- GregorianCalendar checkIn = null;
- String yearS = scanner.nextLine().trim();
- String dayS = scanner.nextLine().trim();
- String monthS = scanner.nextLine().trim();
- int yearI = Integer.parseInt(yearS);
- int dayI = Integer.parseInt(dayS);
- int monthI = Integer.parseInt(monthS);
- checkIn = new GregorianCalendar(yearI, monthI, dayI);
- int daysStaying = Integer.parseInt(scanner.nextLine().trim());
- int siteNum = Integer.parseInt(scanner.nextLine().trim());
- if (type.contains("Tent")) {
- Tent t;
- int numOfTenters = Integer.parseInt(scanner.nextLine().replaceAll("[^0-9.]", "").trim());
- t = new Tent(numOfTenters, name, checkIn, daysStaying, siteNum);
- listSite.add(t);
- fireTableRowsInserted(listSite.size()-1, listSite.size()-1);
- } else {
- RV r;
- int power = Integer.parseInt(scanner.nextLine().replaceAll("[^0-9.]", "").trim());
- r = new RV(power, name, checkIn, daysStaying, siteNum);
- listSite.add(r);
- fireTableRowsInserted(listSite.size()-1, listSite.size()-1);
- }
- }
- JOptionPane.showMessageDialog (
- null, "Database loaded from C://" + fileName + ".txt",
- "File Loaded",
- JOptionPane.INFORMATION_MESSAGE);
- scanner.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- public Object getValueAt(int row, int col) {
- Site s = listSite.get(row);
- switch (col) {
- case 0: return s.getName();
- case 1: return convertDateToString(s.getCheckIn());
- case 2: return s.getStay();
- case 3: return s.getSite();
- case 4: if (s instanceof Tent){
- String tentReturn = ((Tent) s).getTenters() + " Tenters";
- return tentReturn;
- }else {
- String RVreturn = ((RV) s).getPower() + " Amps Needed";
- return RVreturn;
- }
- }
- return null;
- }
- private String convertDateToString(GregorianCalendar g) {
- int year = g.get(Calendar.YEAR);
- int day = g.get(Calendar.DAY_OF_MONTH);
- int monthNum = g.get(Calendar.MONTH)+1;
- String monthName;
- if (monthNum == 1){
- monthName = "January";
- }else if (monthNum == 2){
- monthName = "February";
- }else if (monthNum == 3){
- monthName = "March";
- }else if (monthNum == 4){
- monthName = "April";
- }else if (monthNum == 5){
- monthName = "May";
- }else if (monthNum == 6){
- monthName = "June";
- }else if (monthNum == 7){
- monthName = "July";
- }else if (monthNum == 8){
- monthName = "August";
- }else if (monthNum == 9){
- monthName = "September";
- }else if (monthNum == 10){
- monthName = "October";
- }else if (monthNum == 11){
- monthName = "November";
- }else if (monthNum == 12){
- monthName = "December";
- }else {
- monthName = "???";
- }
- String summary = "" + monthName + " " + day + ", " + year;
- return summary;
- }
- public String getColumnName(int col) {
- return columnNames[col];
- }
- public int getColumnCount() {
- return columnNames.length;
- }
- public int getRowCount() {
- return listSite.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement