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

📄 datasource.java

📁 sun公司的petstore,一个J2ee的示例应用程序.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                            result = new Integer(-1);                        }                        break;                    case 1:                        result = order.getUserId();                        break;                    case 2:                        result = order.getDate();                        break;                    case 3:                        result = new Float(order.getAmount());                        break;                    case 4:                        result = order.getStatus();                        break;                    default:                        System.err.println("This shouldn't happen: (" + column                        + ").  Defaulting to null value");                }                return result;            }            public Class getColumnClass(int column) {                Class result = Object.class;                switch (column) {                    case 0:                        result = Integer.class;                        break;                    case 1:                        result = String.class;                        break;                    case 2:                        result = Date.class;                        break;                    case 3:                        result = Float.class;                        break;                    case 4:                        result = String.class;                        break;                    default:                        System.err.println("This shouldn't happen: (" + column                        + ").  Defaulting to Object.class");                }                return result;            }            public int getRowCount() {                if (indexMapping != null) {                    return indexMapping.length;                }                return 0;            }            /**             * Do not allow setting of data in view mode.             */            public boolean isCellEditable(int row, int column) {                return false;            }        }        /**         * This class is used to modify orders with the status of PENDING.  The new         * status of the orders can either be APPROVED or DENIED.  These changes         * will then be send back to the server, or cached until a network         * connection is available.         */        protected class OrdersApproveTableModel extends OrdersViewTableModel {            public OrdersApproveTableModel() {                super();                statusList = new String[] { PetStoreProxy.Order.PENDING };            }            public void commit() {                Vector approvedRows = new Vector();                Vector deniedRows = new Vector();                for (int i = 0; i < getRowCount(); i++) {                    if (PetStoreProxy.Order.APPROVED.equals(                    (String)getValueAt(i, 4))) {                        approvedRows.add(new Integer(i));                    } else if (PetStoreProxy.Order.DENIED.equals(                    (String)getValueAt(i, 4))) {                        deniedRows.add(new Integer(i));                    }                }                // Return if we don't have anything to update.                if (approvedRows.size() == 0 &&                deniedRows.size() == 0) {                    return;                }                final PetStoreProxy.Order[] approvedOrders =                new PetStoreProxy.Order[approvedRows.size()];                int row;                for (int i = 0; i < approvedRows.size(); i++) {                    row = ((Integer)approvedRows.elementAt(i)).intValue();                    approvedOrders[i] = orders[indexMapping[row]];                }                final PetStoreProxy.Order[] deniedOrders =                new PetStoreProxy.Order[deniedRows.size()];                for (int i = 0; i < deniedRows.size(); i++) {                    row = ((Integer)deniedRows.elementAt(i)).intValue();                    deniedOrders[i] = orders[indexMapping[row]];                }                ServerAction action = new ServerAction() {                    public void actionPerformed(final ActionEvent action) {                        // Notify listener to disable actions.                        pcs.firePropertyChange(DISABLE_ACTIONS, null, null);                        StatusBar.getInstance().setMessage(                        PetStoreAdminClient.getString("Status.update"));                        super.actionPerformed(action);                    }                    protected Object request(ActionEvent e) {                        if (approvedOrders.length > 0) {                            server.updateStatus(approvedOrders,                            PetStoreProxy.Order.APPROVED);                        }                        if (deniedOrders.length > 0) {                            server.updateStatus(deniedOrders,                            PetStoreProxy.Order.DENIED);                        }                        return getServerOrderData();                    }                    protected void response(Object requestValue) {                        orders = (PetStoreProxy.Order[])requestValue;                        if (ordersViewTableModel != null) {                            ordersViewTableModel.updateModel();                        }                        if (ordersApproveTableModel != null) {                            ordersApproveTableModel.updateModel();                        }                        StatusBar.getInstance().setMessage(null);                        // Notify listener to enable actions.                        pcs.firePropertyChange(ENABLE_ACTIONS, null, null);                    }                    protected void handleException(Exception e) {                        e.printStackTrace();                        fatalServerError(e.getMessage());                    }                };                action.actionPerformed(null);            }            public boolean isCellEditable(int row, int column) {                // Only the status column is editable.                boolean result = false;                if (column == 4) {                    result = true;                }                return result;            }            public void setValueAt(Object value, final int row, int column) {                final PetStoreProxy.Order order = orders[indexMapping[row]];                final String val = (String)value;                // Update the order manually since we don't want to refresh                // all the data.                orders[indexMapping[row]] = new PetStoreProxy.Order(                order.getId(), order.getUserId(), order.getDate(),                order.getAmount(), val);                fireTableRowsUpdated(row, row);            }        }        public abstract class ChartModel {            /** The default start date is 1/12/2001 for the demo. TODO In the             * released application this should default to the present day. */            private Date startDate = new Date("1/1/2001");            /** The default end date is the present day. */            private Date endDate = new Date("12/31/2002");            /** The default view mode is the top level view. */            private String viewMode = null;            protected String keys[];            protected PetStoreProxy.Sales[] sales;            public ChartModel() {            }            public String[] getKeys() {                if (sales == null) {                    return null;                }                if (keys == null) {                    keys = new String[sales.length];                    for (int i = 0; i < keys.length; i++) {                        keys[i] = sales[i].getKey();                    }                }                return keys;            }            /**             * Returns the revenue associated with a particular category.             */            public float getOrders(String category) {                if (sales == null) {                    return 0f;                }                float result = 0f;                for (int i = 0; i < sales.length; i++) {                    if (sales[i].getKey().equals(category)) {                        result = sales[i].getOrders();                    }                }                return result;            }            /**             * Returns the revenue associated with a particular category.             */            public float getRevenue(String category) {                if (sales == null) {                    return 0f;                }                float result = 0f;                for (int i = 0; i < sales.length; i++) {                    if (sales[i].getKey().equals(category)) {                        result = sales[i].getRevenue();                    }                }                return result;            }            /**             * Returns the current category we are using for the view mode.  If the             * returned value is null we are using the top level view.             */            public String getViewMode() {                return viewMode;            }            public Date getStartDate() {                return (Date)startDate.clone();            }            public Date getEndDate() {                return (Date)endDate.clone();            }            public void setDates(Date startDate, Date endDate) {                this.startDate = startDate;                this.endDate = endDate;                new RefreshChartAction(this).actionPerformed(null);            }            private class RefreshChartAction extends ServerAction {                private ChartModel chartModel;                public RefreshChartAction(ChartModel chartModel) {                    this.chartModel = chartModel;                }                public void actionPerformed(final ActionEvent action) {                    // Notify listener to disable actions.                    pcs.firePropertyChange(DISABLE_ACTIONS, null, null);                    StatusBar.getInstance().setMessage(                    PetStoreAdminClient.getString("Status.retrieve"));                    super.actionPerformed(action);                }                protected Object request(ActionEvent e) {                    return getServerChartData();                }                protected void response(Object requestValue) {                    if (chartModel instanceof PieChartModel) {                        pieChartSales = (PetStoreProxy.Sales[])requestValue;                    } else if (chartModel instanceof BarChartModel) {                        barChartSales = (PetStoreProxy.Sales[])requestValue;                    }                    updateModel();                    StatusBar.getInstance().setMessage(null);                    // Notify listener to enable actions.                    pcs.firePropertyChange(ENABLE_ACTIONS, null, null);                }                protected void handleException(Exception e) {                    e.printStackTrace();                    fatalServerError(e.getMessage());                }            }            protected abstract PetStoreProxy.Sales[] getServerChartData();            protected abstract void updateModel();        }        public class PieChartModel extends ChartModel {            public PieChartModel() {                super();            }            protected PetStoreProxy.Sales[] getServerChartData() {                return getServerPieChartData();            }            protected void updateModel() {                // Update the reference to the sales array.                sales = pieChartSales;                // Reset the keys to null.                keys = null;                // Notify listeners that the pie chart data has changed.                pcs.firePropertyChange(PIE_CHART_DATA_CHANGED, null, null);            }        }        public class BarChartModel extends ChartModel {            public BarChartModel() {                super();            }            protected PetStoreProxy.Sales[] getServerChartData() {                return getServerBarChartData();            }            protected void updateModel() {                // Update the reference to the sales array.                sales = barChartSales;                // Reset the keys to null.                keys = null;                // Notify listeners that the bar chart data has changed.                pcs.firePropertyChange(BAR_CHART_DATA_CHANGED, null, null);            }        }}

⌨️ 快捷键说明

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