⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractbean.java

📁 JavaeeTutorial5的源代码。
💻 JAVA
字号:
/* * Copyright 2007 Sun Microsystems, Inc. * All rights reserved.  You may not modify, use, * reproduce, or distribute this software except in * compliance with  the terms of the License at: * http://developer.sun.com/berkeley_license.html */package com.sun.bookstore6.backing;import com.sun.bookstore.cart.ShoppingCart;import com.sun.bookstore.cart.ShoppingCartItem;import com.sun.bookstore.cart.ShoppingCart;import com.sun.bookstore.cart.ShoppingCartItem;import com.sun.bookstore.database.Book;import com.sun.bookstore.exception.OrderException;import com.sun.bookstore.database.Book;import com.sun.bookstore6.database.BookDBAO;import com.sun.bookstore.exception.*;import java.text.MessageFormat;import java.util.ResourceBundle;import javax.faces.application.FacesMessage;import javax.faces.context.FacesContext;import javax.el.ValueExpression;import javax.el.ELContext;import javax.annotation.Resource;import javax.persistence.*;import javax.transaction.UserTransaction;/** * <p>Abstract base class for backing beans to share utility methods.</p> */public abstract class AbstractBean {    @PersistenceContext(name = "books")    private EntityManager em;    @Resource    private UserTransaction utx;    // ----------------------------------------------------- Application Actions    /**     * <p>Buy the items currently in the shopping cart.</p>     */    public String buy() {        // "Cannot happen" sanity check        if (cart()                    .getNumberOfItems() < 1) {            message(null, "CartEmpty");            return (null);        } else {            return ("purchase");        }    }    /**     * <p>Clear all items from the shopping cart.</p>     */    public String clear() {        cart()            .clear();        message(null, "CartCleared");        return (null);    }    // ------------------------------------------------------- Protected Methods    /**     * <p>Return the currently selected <code>Book</code> instance     * from the user request.</p>     */    protected Book book() {        Book book = (Book) context()                               .getExternalContext()                               .getRequestMap()                               .get("book");        return (book);    }    /**     * <p>Return the <code>ShoppingCart</code> instance from the     * user session.</p>     */    protected ShoppingCart cart() {        FacesContext context = context();        ELContext elContext = context.getCurrentInstance()                                     .getELContext();        ValueExpression ve = context.getApplication()                                    .getExpressionFactory()                                    .createValueExpression(                    elContext,                    "#{cart}",                    Object.class);        return ((ShoppingCart) ve.getValue(elContext));    }    /**     * <p>Return the <code>FacesContext</code> instance for the     * current request.     */    protected FacesContext context() {        return (FacesContext.getCurrentInstance());    }    /**     * <p>Return the <code>BookDBAO</code> object for our database.</p>     */    protected BookDBAO dbao() {        FacesContext context = context();        ELContext elContext = context.getCurrentInstance()                                     .getELContext();        ValueExpression ve = context.getApplication()                                    .getExpressionFactory()                                    .createValueExpression(                    elContext,                    "#{dbao}",                    Object.class);        return ((BookDBAO) ve.getValue(elContext));    }    /**     * <p>Return the <code>ShoppingCartItem</code> instance from the     * user request.</p>     */    protected ShoppingCartItem item() {        ShoppingCartItem item = (ShoppingCartItem) context()                                                       .getExternalContext()                                                       .getRequestMap()                                                       .get("item");        return (item);    }    /**     * <p>Add a localized message to the <code>FacesContext</code> for the     * current request.</p>     *     * @param clientId Client identifier of the component this message     *  relates to, or <code>null</code> for global messages     * @param key Message key of the message to include     */    protected void message(        String clientId,        String key) {        // Look up the requested message text        String text = null;        try {            ResourceBundle bundle = ResourceBundle.getBundle(                        "com.sun.bookstore.messages.BookstoreMessages",                        context().getViewRoot().getLocale());            text = bundle.getString(key);        } catch (Exception e) {            text = "???" + key + "???";        }        // Construct and add a FacesMessage containing it        context()            .addMessage(            clientId,            new FacesMessage(text));    }    /**     * <p>Add a localized message to the <code>FacesContext</code> for the     * current request.</p>     *     * @param clientId Client identifier of the component this message     *  relates to, or <code>null</code> for global messages     * @param key Message key of the message to include     * @param params Substitution parameters for using the localized text     *  as a message format     */    protected void message(        String clientId,        String key,        Object[] params) {        // Look up the requested message text        String text = null;        try {            ResourceBundle bundle = ResourceBundle.getBundle(                        "com.sun.bookstore.messages.BookstoreMessages",                        context().getViewRoot().getLocale());            text = bundle.getString(key);        } catch (Exception e) {            text = "???" + key + "???";        }        // Perform the requested substitutions        if ((params != null) && (params.length > 0)) {            text = MessageFormat.format(text, params);        }        // Construct and add a FacesMessage containing it        context()            .addMessage(            clientId,            new FacesMessage(text));    }    /**     * <p>Return the explicitly selected <code>Book</code> instance     * from the user request.</p>     */    protected Book selected() {        Book selected = (Book) context()                                   .getExternalContext()                                   .getSessionMap()                                   .get("selected");        return (selected);    }    protected void updateInventory() throws OrderException {        try {            utx.begin();            dbao()                .buyBooks(cart());            utx.commit();        } catch (Exception ex) {            try {                utx.rollback();            } catch (Exception exe) {                throw new OrderException(                        "Rollback failed: " + exe.getMessage());            }            throw new OrderException("Commit failed: " + ex.getMessage());        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -