01: package net.ar.webonswing.petstore;
02:
03: import javax.swing.*;
04:
05: import net.ar.webonswing.*;
06: import net.ar.webonswing.helpers.*;
07: import net.ar.webonswing.managers.skins.*;
08: import net.ar.webonswing.petstore.model.*;
09: import net.ar.webonswing.petstore.persistence.*;
10:
11: public abstract class ApplicationFrame extends JDialog {
12: public static final String CART_KEY = "cart";
13: public static final String SKIN_MANAGER = "skin-manager";
14: public static final String USER_KEY = "user";
15:
16: public static Skin getCurrentSkin() {
17: SimpleSkinManager skinManager = getSkinManager();
18: return skinManager.getCurrentSkin();
19: }
20:
21: public static SimpleSkinManager getSkinManager() {
22: SimpleSkinManager skinManager = (SimpleSkinManager) WosFramework
23: .getSessionContext().get(SKIN_MANAGER);
24: if (skinManager == null) {
25: skinManager = (SimpleSkinManager) WosHelper
26: .restoreObjectFromXml("/net/ar/webonswing/config/skin-manager.config.xml");
27: skinManager.setCurrentSkin("MsSkin");
28: WosFramework.getSessionContext().put(SKIN_MANAGER,
29: skinManager);
30: }
31:
32: return skinManager;
33: }
34:
35: public boolean setCurrentSkin(String aSkinName) {
36: boolean result = getSkinManager().setCurrentSkin(aSkinName);
37: border = null;
38: init();
39:
40: return result;
41: }
42:
43: protected Border border;
44: protected Dao dao = new Dao();
45:
46: protected abstract JComponent getBody();
47:
48: public Border getBorder() {
49: return border;
50: }
51:
52: public Cart getCart() {
53: Cart cart = (Cart) WosFramework.getSessionContext().get(
54: CART_KEY);
55:
56: if (cart == null) {
57: cart = new Cart();
58: WosFramework.getSessionContext().put(CART_KEY, cart);
59: }
60:
61: return cart;
62: }
63:
64: public Customer getCurrentCustomer() {
65: return (Customer) WosFramework.getSessionContext()
66: .get(USER_KEY);
67: }
68:
69: public Dao getDao() {
70: return dao;
71: }
72:
73: public void init() {
74: if (border == null)
75: border = new Border(getBody(), getCurrentCustomer(),
76: getCart(), this );
77:
78: setContentPane(border);
79: }
80:
81: public void setBorder(Border aBorder) {
82: this .border = aBorder;
83: }
84:
85: public void setCurrentCustomer(Customer aCustomer) {
86: if (aCustomer != null && aCustomer.getId() != null)
87: WosFramework.getSessionContext().put(USER_KEY, aCustomer);
88: }
89: }
|