001: /*
002: * Enhydra Java Application Server Project
003: *
004: * The contents of this file are subject to the Enhydra Public License
005: * Version 1.1 (the "License"); you may not use this file except in
006: * compliance with the License. You may obtain a copy of the License on
007: * the Enhydra web site ( http://www.enhydra.org/ ).
008: *
009: * Software distributed under the License is distributed on an "AS IS"
010: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
011: * the License for the specific terms governing rights and limitations
012: * under the License.
013: *
014: * The Initial Developer of the Enhydra Application Server is Lutris
015: * Technologies, Inc. The Enhydra Application Server and portions created
016: * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
017: * All Rights Reserved.
018: *
019: * Contributor(s):
020: * Paul Mahar
021: *
022: */
023: package org.enhydra.kelp.common.deployer;
024:
025: // ToolBox imports
026: import org.enhydra.tool.archive.JarPlan;
027: import org.enhydra.tool.common.PathHandle;
028:
029: // Standard imports
030: import javax.swing.table.DefaultTableModel;
031:
032: //
033: public class ArchiveTableModel extends DefaultTableModel {
034: //
035: public ArchiveTableModel() {
036: super ();
037: addColumn("Built");
038: addColumn("Path");
039: }
040:
041: public void setPlans(JarPlan[] plans) {
042: clear();
043: for (int i = 0; i < plans.length; i++) {
044: addPlan(plans[i]);
045: }
046: }
047:
048: public JarPlan getPlan(int index) {
049: JarPlan plan = null;
050: if ((index > -1) && (index < getRowCount())) {
051: plan = (JarPlan) getValueAt(index, 1);
052: }
053: return plan;
054: }
055:
056: public void setPlan(JarPlan plan, int index) {
057: if ((index > -1) && (index < getRowCount())) {
058: setValueAt(plan, index, 1);
059: }
060:
061: }
062:
063: public JarPlan[] getPlans() {
064: JarPlan[] plans = new JarPlan[0];
065: int count = getRowCount();
066:
067: plans = new JarPlan[count];
068: for (int i = 0; i < count; i++) {
069: plans[i] = (JarPlan) getValueAt(i, 1);
070: }
071: return plans;
072: }
073:
074: public int addPlan(JarPlan newPlan) {
075: int count = getRowCount();
076: int index = -1;
077: JarPlan plan = null;
078: Object[] row = new Object[0];
079: PathHandle ph = null;
080:
081: for (int i = 0; i < count; i++) {
082: plan = (JarPlan) getValueAt(i, 1);
083: if (plan.getArchivePath().equals(newPlan.getArchivePath())) {
084: setValueAt(newPlan, i, 1);
085: index = i;
086: break;
087: }
088: }
089: if (index == -1) {
090: ph = PathHandle.createPathHandle(newPlan.getArchivePath());
091: row = new Object[2];
092: row[0] = new Boolean(ph.isFile());
093: row[1] = newPlan;
094: addRow(row);
095: index = getRowCount() - 1;
096: }
097: return index;
098: }
099:
100: public boolean isCellEditable(int row, int col) {
101: return false;
102: }
103:
104: protected void clear() {
105: while (getRowCount() > 0) {
106: removeRow(0);
107: }
108: }
109:
110: }
|