try {
vo = om.getRuralHouseOffers((RuralHouse) jComboBox1.getSelectedItem());
} catch (RemoteException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
comboBox_o.removeAllItems();
setContentPane(contentPane);
contentPane.setLayout(null);
- BookingInterface bm = null;
-
try {
- bm = (BookingInterface) Naming
+ bookM = (BookingInterface) Naming
.lookup(___IntNames.BookingManager);
} catch (Exception e1) {
+ e1.toString());
}
try {
- this.bookings = bm.getOffersbookings(this.off);
+ this.bookings = bookM.getOffersbookings(this.off);
} catch (RemoteException e1) {
e1.printStackTrace();
}
-
+
JLabel lblNewLabel = new JLabel();
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
lblNewLabel.setBounds(23, 41, 536, 33);
table.setModel(tableModel);
+ JButton btnDenyAddition = new JButton("Deny Booking");
JButton btnNewButton = new JButton("Confirm Booking");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- try {
- bookM = (BookingInterface) Naming
- .lookup(___IntNames.BookingManager);
- } catch (Exception e1) {
- System.out
- .println("Error accessing remote authentication: "
- + e1.toString());
- }
+
if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
if (table.getRowCount() != 0
&& table.getSelectedRow() != -1) {
} catch (RemoteException e1) {
e1.printStackTrace();
}
- contentPane.setVisible(false);
-
+ int rows = table.getModel().getRowCount();
+ for(int i = rows - 1; i >=0; i--){
+ ((DefaultTableModel) table.getModel()).removeRow(i);
+ }
+ Vector<Object> row = new Vector<Object>();
+ row.add(book.getBookNumber());
+ row.add(book.getBookDate());
+ row.add(book.getClient().getName());
+ row.add(book.getClient().getMailAccount());
+ row.add(book.getClient().getTelephone());
+ tableModel.addRow(row);
+ btnNewButton.setEnabled(false);
+ btnDenyAddition.setEnabled(false);
}
}
btnNewButton.setBounds(33, 396, 169, 25);
contentPane.add(btnNewButton);
- JButton btnDenyAddition = new JButton("Deny Booking");
btnDenyAddition.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
- try {
- bookM = (BookingInterface) Naming
- .lookup(___IntNames.BookingManager);
- } catch (Exception e1) {
- System.out
- .println("Error accessing remote authentication: "
- + e1.toString());
- }
+
if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
Booking book = bookings.get(table.getSelectedRow());
try {
btnNewButton.setEnabled(false);
}
}
-
+
btnDenyAddition.setBounds(390, 395, 169, 25);
contentPane.add(btnDenyAddition);
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
import java.util.Enumeration;
import java.util.Vector;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
+import common.HouseInterface;
+import common.OfferInterface;
+
+import configuration.___IntNames;
import domain.Offer;
import domain.Owner;
import domain.RuralHouse;
setContentPane(contentPane);
contentPane.setLayout(null);
this.offers = new Vector<Offer>();
- for (RuralHouse rh: this.owner.getRuralHouses()){
- this.offers.addAll(rh.getAllOffers());
+ HouseInterface hm = null;
+ try {
+ hm = (HouseInterface) Naming
+ .lookup(___IntNames.HouseManager);
+ } catch (Exception e1) {
+ System.out.println("Error accessing remote authentication: "
+ + e1.toString());
+ }
+ Vector<RuralHouse> Hlist = null;
+ try {
+ Hlist = hm.getHouses(owner, null, null, 0, 0, 0, 0, 0);
+ } catch (RemoteException e1) {
+ e1.printStackTrace();
+ }
+ for (RuralHouse rh: Hlist){
+ for(Offer of : rh.getAllOffers())
+ this.offers.add(of);
}
JLabel lblNewLabel = new JLabel();
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
tableModel = new DefaultTableModel(null, new String[] { "Offer #",
"FirstDay", "LastDay", "Price" ,"RuralHouse"});
- // Maybe there is a better way to avoid interaction.
- // table.setEnabled(false);
table.setModel(tableModel);
table.addMouseListener( new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent arg0) {
int row = table.getSelectedRow();
+ System.out.println(row);
listOfBookingRequestsGUI feat = new listOfBookingRequestsGUI(offers.get(row));
feat.setVisible(true);
}
package businessLogic;
-
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.Vector;
import dataAccess.DB4oManager;
import domain.Account;
-
public class LoginManager extends UnicastRemoteObject implements LoginInterface {
/**
private static final long serialVersionUID = 1L;
DB4oManager dbMngr;
- public LoginManager() throws RemoteException {
+ public LoginManager() throws RemoteException {
super();
try {
dbMngr = DB4oManager.getInstance();
@Override
public Account checkCredentials(String usr, String pwd) {
- Account ac = new Account(SecurityManager.getInstance().calculateHash(usr));
+ Account ac = new Account(SecurityManager.getInstance().calculateHash(
+ usr));
try {
Vector<Account> account = dbMngr.getAccount(ac);
- if (SecurityManager.getInstance().isExpectedPassword(pwd.toCharArray(), account
- .get(0).getSalt(), account.get(0).getPassword())) {
-
+ if (account.isEmpty())
+ return null;
+ if (SecurityManager.getInstance().isExpectedPassword(
+ pwd.toCharArray(), account.get(0).getSalt(),
+ account.get(0).getPassword())) {
+
return account.get(0);
}
return null;
} catch (Exception e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
return null;
configurationCS.common().activationDepth(c.getActivationDepth());
configurationCS.common().updateDepth(c.getUpdateDepth());
configurationCS.common().objectClass(Owner.class).cascadeOnDelete(true);
- configurationCS.common().objectClass(Booking.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(Booking.class)
+ .cascadeOnDelete(true);
configurationCS.common().objectClass(RuralHouse.class)
.cascadeOnDelete(true);
- configurationCS.common().objectClass(Account.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnDelete(true);
configurationCS.common().objectClass(Offer.class).cascadeOnDelete(true);
configurationCS.common().objectClass(Owner.class).cascadeOnUpdate(true);
- configurationCS.common().objectClass(Booking.class).cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Booking.class)
+ .cascadeOnUpdate(true);
configurationCS.common().objectClass(RuralHouse.class)
.cascadeOnUpdate(true);
- configurationCS.common().objectClass(Account.class).cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnUpdate(true);
configurationCS.common().objectClass(Offer.class).cascadeOnUpdate(true);
- configurationCS.common().objectClass(Account.class).cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnUpdate(true);
db = Db4oClientServer.openClient(configurationCS, c.getDatabaseNode(),
c.getDatabasePort(), c.getUser(), c.getPassword());
RuralHouse rh = (RuralHouse) result.next();
Offer offer;
- offer = (Offer)db.queryByExample(new Offer(0, rh, firstDate, lastDate, 0)).get(0);
+ offer = (Offer) db.queryByExample(
+ new Offer(0, rh, firstDate, lastDate, 0)).get(0);
if (offer != null) {
offer.createBooking(theDB4oManagerAux.bookingNumber++, cl);
}
}
-
-
public boolean existsOverlappingOffer(RuralHouse rh, Date firstDay,
Date lastDay) throws RemoteException, OverlappingOfferExists {
openSDB();
else
openDB();
-
+
try {
Offer of = (Offer) db.queryByExample(
new Offer(0, o.getRuralHouse(), null, null, 0)).get(0);
--- /dev/null
+package dataAccess;
+
+
+public class DB4oManager {
+
+
+ class DB4oManagerAux {
+ int bookingNumber;
+ int offerNumber;
+
+ DB4oManagerAux(int bookingNumber, int offerNumber) {
+ this.bookingNumber = bookingNumber;
+ this.offerNumber = offerNumber;
+ }
+ }
+
+}
configurationCS.common().activationDepth(c.getActivationDepth());
configurationCS.common().updateDepth(c.getUpdateDepth());
configurationCS.common().objectClass(Owner.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(Booking.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(RuralHouse.class)
+ .cascadeOnDelete(true);
+ configurationCS.common().objectClass(Account.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(Offer.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(Owner.class).cascadeOnUpdate(true);
configurationCS.common().objectClass(Booking.class).cascadeOnUpdate(true);
configurationCS.common().objectClass(RuralHouse.class)
.cascadeOnUpdate(true);
configurationCS.common().objectClass(Account.class).cascadeOnUpdate(true);
configurationCS.common().objectClass(Offer.class).cascadeOnUpdate(true);
configurationCS.common().objectClass(Account.class).cascadeOnUpdate(true);
-
server = Db4oClientServer.openServer(configurationCS,
c.getDb4oFilename(),c.getDatabasePort());
import java.io.Serializable;
import java.util.Arrays;
-
public class Account implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
-
private byte[] username;
private byte[] password;
private byte[] salt;
-
private Owner owner;
private boolean admin = false;
- public Account(byte[] usr){
-
-
+ public Account(byte[] usr) {
+
}
- public Account(String usr, String pass, boolean isAdmin) {
-
+ public Account(Owner own) {
}
- public Account(String usr, String pass, Owner ow) {
-
+ public Account(String usr, String pass, boolean isAdmin) {
}
+ public Account(String usr, String pass, Owner ow) {
-
+ }
public byte[] getUsername() {
return username;
return admin;
}
-
public void setAdmin(boolean admin) {
this.admin = admin;
}
public void setSalt(byte[] salt) {
this.salt = salt;
}
-
@Override
public boolean equals(Object obj) {