001 /*
002 * Licensed under the Apache License, Version 2.0 (the "License");
003 * you may not use this file except in compliance with the License.
004 * You may obtain a copy of the License at
005 *
006 * http://www.apache.org/licenses/LICENSE-2.0
007 *
008 * Unless required by applicable law or agreed to in writing, software
009 * distributed under the License is distributed on an "AS IS" BASIS,
010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
011 * See the License for the specific language governing permissions and
012 * limitations under the License.
013 */
014 /*
015 * This file has been modified by Chris Pheby in accordance with Section 4.2
016 * of the Apache Software License
017 */
018 package org.jadira.dependencynavigator.gui;
019
020
021 import org.jadira.dependencynavigator.controller.model.DuplicatesListManager;
022 import org.jadira.dependencynavigator.model.ArtifactInstanceMap;
023
024 import javax.swing.event.TableModelListener;
025 import javax.swing.table.TableModel;
026
027 public class VersionsTableModel implements TableModel, SelectableTableModel {
028
029 private DuplicatesListManager duplicatesListManager;
030
031 public VersionsTableModel(DuplicatesListManager duplicatesListManager) {
032 this.duplicatesListManager = duplicatesListManager;
033 }
034
035 public boolean isSelected(int row) {
036 return duplicatesListManager.getVersionsListManager().get(row).isSelected();
037 }
038
039 public int getColumnCount() {
040 return 4;
041 }
042
043 public int getRowCount() {
044 return duplicatesListManager.getVersionsListManager().size();
045 }
046
047 public boolean isCellEditable(int rowIndex, int columnIndex) {
048 return false;
049 }
050
051 public Class<String> getColumnClass(int columnIndex) {
052 return String.class;
053 }
054
055 public Object getValueAt(int rowIndex, int columnIndex) {
056 ArtifactInstanceMap instanceMap = duplicatesListManager.getVersionsListManager().get(rowIndex);
057 switch (columnIndex) {
058 case 0:
059 return instanceMap.getGroupId();
060 case 1:
061 return instanceMap.getArtifactId();
062 case 2:
063 return instanceMap.getVersion();
064 case 3:
065 return String.valueOf(instanceMap.getInstances().size());
066 default:
067 throw new IllegalArgumentException("Column index out of bounds " + columnIndex);
068 }
069 }
070
071 public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
072 throw new UnsupportedOperationException();
073 }
074
075 public String getColumnName(int columnIndex) {
076 switch (columnIndex) {
077 case 0:
078 return "Group";
079 case 1:
080 return "Artifact";
081 case 2:
082 return "Version";
083 case 3:
084 return "Instances";
085 default:
086 throw new IllegalArgumentException("Column index out of bounds " + columnIndex);
087 }
088 }
089
090 public void addTableModelListener(TableModelListener l) {
091 }
092
093 public void removeTableModelListener(TableModelListener l) {
094 }
095
096 }