www.pudn.com > Java_UML_library.rar > UpdateTitleFrame.java


// 
//  Unified Library Application 
//  Case study in Unified Modeling Language Toolkit 
// 
//  UpdateTitleFrame.java 
// 
// 
//  Copyright (c) 1998 John Wiley & Sons, Inc. All rights reserved. 
//  Reproduction or translations of this work beyond that permitted 
//  in Section 117 of the 1976 United States Copyright Act without 
//  the express written permission of the copyright owner is unlawful. 
//  Requests for further information should be addressed to Permissions 
//  Department, John Wiley & Sons, Inc. The purchaser may make back-up 
//  copies for his/her own use only and not for distribution or resale. 
//  The Publisher assumes no responsibility for errors, omissions, or 
//  damages, caused by the use of these programs of from the use of the 
//  information contained herein. 
 
package ui; 
import bo.*; 
import util.*; 
 
import java.awt.*; 
 
public class UpdateTitleFrame extends Frame { 
	private Title title; 
 
	void updateButton_Clicked(Event event) 
	{ 
		if (title != null) 
		{ 
    		title.setTitle(titleField.getText()); 
    		title.setAuthor(authorField.getText()); 
    		title.setISBN(isbnField.getText()); 
    		if (bookButton.getState() == true) 
    		    title.setType(Title.TYPE_BOOK); 
    		else 
    		    title.setType(Title.TYPE_MAGAZINE); 
    		title.update(); 
		} 
	} 
 
	void deleteButton_Clicked(Event event) 
	{ 
		int nrItems = title.getNoItems(); 
		for (int i = 0; i < nrItems ; i++) 
		{ 
		    Item item = title.getItem(i); 
		    if (item.isBorrowed()) 
		    { 
		        Loan loan = item.getLoan(); 
		        BorrowerInformation borrower = loan.getBorrower(); 
		        borrower.removeLoan(loan.getObjId()); 
		        loan.delete(); 
		        item.delete(); 
		    } 
		    else 
		        item.delete(); 
		} 
		int nrReservations = title.getNoReservations(); 
		for (int i = 0; i < nrReservations;i++) 
		{ 
		    Reservation res = title.getReservation(i); 
		    BorrowerInformation borrower = res.getBorrower(); 
		    borrower.removeReservation(res.getObjId()); 
		    res.delete(); 
		} 
		title.delete(); 
		titleField.setText(""); 
	    authorField.setText(""); 
	    isbnField.setText(""); 
	    itemList.clear(); 
		title = null; 
	} 
 
	void addItemButton_Clicked(Event event) { 
		if (title.getNoItems() > 25) 
		{ 
		    new MessageBox(this, "Maximum number of items is 25!"); 
		    return; 
		} 
		int topid = 0; 
		for (int i = 0; i < title.getNoItems(); i++) 
		{ 
		    Item it = title.getItem(i); 
		    if (it.getId() > topid) 
		        topid = it.getId(); 
		} 
		topid++; 
		Item newitem = new Item(title.getObjId(),topid); 
		newitem.store(); 
		title.addItem(newitem.getObjId()); 
		title.update(); 
        itemList.addItem("Item: " + Integer.toString(newitem.getId())); 
	} 
 
	void removeItemButton_Clicked(Event event) { 
		if (itemList.getSelectedIndex() != -1) 
		{ 
		    Item i = title.getItem(itemList.getSelectedIndex()); 
		    i.delete(); 
		    title.removeItemAtIndex(itemList.getSelectedIndex()); 
		    itemList.delItem(itemList.getSelectedIndex()); 
		    title.update(); 
		} 
		else 
		{ 
		    new MessageBox(this,"No item is selected!"); 
		} 
	} 
 
	void cancelButton_Clicked(Event event) { 
		dispose(); 
	} 
 
	private void UpdateFrame(ObjId id) 
	{ 
	   title =  Title.getTitle(id); 
	   titleField.setText(title.getTitle()); 
	   authorField.setText(title.getAuthor()); 
	   isbnField.setText(title.getISBN()); 
 
	   if (title.getType() == Title.TYPE_BOOK) 
	        bookButton.setState(true); 
	   else 
	   { 
	        bookButton.setState(false); 
	        magazineButton.setState(true); 
	   } 
 
	   int items = title.getNoItems(); 
	   itemList.clear(); 
       for (int i = 0; i < items; i++) 
       { 
            Item it = title.getItem(i); 
            itemList.addItem("Item: " + Integer.toString(it.getId())); 
       } 
	} 
	public UpdateTitleFrame(ObjId id,boolean nodelete) { 
 
		//{{INIT_CONTROLS 
		setLayout(null); 
		addNotify(); 
		resize(insets().left + insets().right + 457,insets().top + insets().bottom + 271); 
		setFont(new Font("Dialog", Font.PLAIN, 12)); 
		titleLabel = new java.awt.Label("Title Name"); 
		titleLabel.reshape(insets().left + 12,insets().top + 24,84,24); 
		add(titleLabel); 
		titleField = new java.awt.TextField(); 
		titleField.reshape(insets().left + 132,insets().top + 24,183,24); 
		add(titleField); 
		isbnField = new java.awt.TextField(); 
		isbnField.reshape(insets().left + 132,insets().top + 96,183,24); 
		add(isbnField); 
		authorField = new java.awt.TextField(); 
		authorField.reshape(insets().left + 132,insets().top + 60,183,24); 
		add(authorField); 
		label1 = new java.awt.Label("ISBN / Nr"); 
		label1.reshape(insets().left + 12,insets().top + 96,84,24); 
		add(label1); 
		label2 = new java.awt.Label("Author"); 
		label2.reshape(insets().left + 12,insets().top + 60,84,24); 
		add(label2); 
		updateButton = new java.awt.Button("Update"); 
		updateButton.reshape(insets().left + 336,insets().top + 24,84,24); 
		add(updateButton); 
		cancelButton = new java.awt.Button("Close"); 
		cancelButton.reshape(insets().left + 336,insets().top + 228,84,24); 
		add(cancelButton); 
		label3 = new java.awt.Label("Items available"); 
		label3.reshape(insets().left + 12,insets().top + 132,108,24); 
		add(label3); 
		removeItemButton = new java.awt.Button("Remove Item"); 
		removeItemButton.reshape(insets().left + 336,insets().top + 132,84,24); 
		add(removeItemButton); 
		addItemButton = new java.awt.Button("Add Item"); 
		addItemButton.reshape(insets().left + 336,insets().top + 168,84,24); 
		add(addItemButton); 
		itemList = new java.awt.List(0,false); 
		add(itemList); 
		itemList.reshape(insets().left + 132,insets().top + 132,72,70); 
		deleteButton = new java.awt.Button("Delete"); 
		deleteButton.reshape(insets().left + 336,insets().top + 60,84,24); 
		add(deleteButton); 
		Group1 = new CheckboxGroup(); 
		bookButton = new java.awt.Checkbox("Book", Group1, false); 
		bookButton.reshape(insets().left + 132,insets().top + 204,108,24); 
		add(bookButton); 
		magazineButton = new java.awt.Checkbox("Magazine", Group1, false); 
		magazineButton.reshape(insets().left + 132,insets().top + 228,108,24); 
		add(magazineButton); 
		label4 = new java.awt.Label("Type"); 
		label4.reshape(insets().left + 12,insets().top + 204,108,24); 
		add(label4); 
		setTitle("Update Title / Item"); 
		//}} 
		if (nodelete) 
		    deleteButton.disable(); 
        UpdateFrame(id); 
        titleField.requestFocus(); 
		//{{INIT_MENUS 
		//}} 
	} 
 
    public synchronized void show() { 
    	move(50, 50); 
    	super.show(); 
    } 
 
	public boolean handleEvent(Event event) { 
    	if (event.id == Event.WINDOW_DESTROY) { 
            dispose(); 
            return true; 
    	} 
		if (event.target == cancelButton && event.id == Event.ACTION_EVENT) { 
			cancelButton_Clicked(event); 
			return true; 
		} 
		if (event.target == removeItemButton && event.id == Event.ACTION_EVENT) { 
			removeItemButton_Clicked(event); 
			return true; 
		} 
		if (event.target == addItemButton && event.id == Event.ACTION_EVENT) { 
			addItemButton_Clicked(event); 
			return true; 
		} 
		if (event.target == deleteButton && event.id == Event.ACTION_EVENT) { 
			deleteButton_Clicked(event); 
			return true; 
		} 
		if (event.target == updateButton && event.id == Event.ACTION_EVENT) { 
			updateButton_Clicked(event); 
			return true; 
		} 
		return super.handleEvent(event); 
	} 
 
	//{{DECLARE_CONTROLS 
	java.awt.Label titleLabel; 
	java.awt.TextField titleField; 
	java.awt.TextField isbnField; 
	java.awt.TextField authorField; 
	java.awt.Label label1; 
	java.awt.Label label2; 
	java.awt.Button updateButton; 
	java.awt.Button cancelButton; 
	java.awt.Label label3; 
	java.awt.Button removeItemButton; 
	java.awt.Button addItemButton; 
	java.awt.List itemList; 
	java.awt.Button deleteButton; 
	java.awt.Checkbox bookButton; 
	CheckboxGroup Group1; 
	java.awt.Checkbox magazineButton; 
	java.awt.Label label4; 
	//}} 
 
	//{{DECLARE_MENUS 
	//}} 
}