From f4b7d599456b3b0daaa67a456581670bbeb04bf9 Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr> Date: Tue, 29 Mar 2011 11:53:19 +0000 Subject: [PATCH] AVATAR: New table model for transactions --- .../TransactionTableModel.java | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100755 src/ui/avatarinteractivesimulation/TransactionTableModel.java diff --git a/src/ui/avatarinteractivesimulation/TransactionTableModel.java b/src/ui/avatarinteractivesimulation/TransactionTableModel.java new file mode 100755 index 0000000000..5b279d0d8f --- /dev/null +++ b/src/ui/avatarinteractivesimulation/TransactionTableModel.java @@ -0,0 +1,142 @@ +/**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille + +ludovic.apvrille AT enst.fr + +This software is a computer program whose purpose is to allow the +edition of TURTLE analysis, design and deployment diagrams, to +allow the generation of RT-LOTOS or Java code from this diagram, +and at last to allow the analysis of formal validation traces +obtained from external tools, e.g. RTL from LAAS-CNRS and CADP +from INRIA Rhone-Alpes. + +This software is governed by the CeCILL license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL license and that you accept its terms. + +/** +* Class TransactionTableModel +* Information on transactions +* Creation: 28/03/2011 +* @version 1.0 28/03/2011 +* @author Ludovic APVRILLE +* @see +*/ + +package ui.avatarinteractivesimulation; + +import java.util.*; +import javax.swing.table.*; + +import ui.*; +import myutil.*; +import avatartranslator.*; +import avatartranslator.directsimulation.*; + +public class TransactionTableModel extends AbstractTableModel { + private static String ERROR_STRING = "-"; + private static int MAX_TRANSACTIONS = 1000; + + private AvatarSpecificationSimulation ass; + + //private String [] names; + public TransactionTableModel(AvatarSpecificationSimulation _ass) { + ass = _ass; + } + + // From AbstractTableModel + public int getRowCount() { + return Math.min(ass.getAllTransactions().size(), MAX_TRANSACTIONS); + } + + public int getColumnCount() { + return 8; + } + + public Object getValueAt(int row, int column) { + try { + if (ass == null) { + return ERROR_STRING; + } + + AvatarSimulationTransaction ast; + if (ass.getAllTransactions().size() < MAX_TRANSACTIONS) { + ast = ass.getAllTransactions().get(row); + } else { + ast = ass.getAllTransactions().get(ass.getAllTransactions().size()-MAX_TRANSACTIONS + row); + } + + if (ast == null) { + return ERROR_STRING; + } + + if (column == 0) { + return ""+ast.id; + } else if (column == 1) { + return ast.block.getName(); + } else if (column == 2) { + return ast.executedElement.getNiceName() + "/" + ast.executedElement.getID(); + } else if (column == 3) { + if (ast.concernedElement != null) { + return ast.concernedElement.getNiceName() + "/" + ast.concernedElement.getID(); + } + } else if (column == 4) { + if (ast.linkedTransaction != null) { + return ""+ast.linkedTransaction.id; + } + } else if (column == 5) { + return ""+ast.initialClockValue; + } else if (column == 6) { + return ""+ast.duration; + } else if (column == 7) { + return ""+ast.clockValueWhenFinished; + } + } catch (Exception e) { + } + return ERROR_STRING; + } + + public String getColumnName(int columnIndex) { + switch(columnIndex) { + case 0: + return "#"; + case 1: + return "Block"; + case 2: + return "ASM element"; + case 3: + return "Related ASM element"; + case 4: + return "Linked transaction"; + case 5: + return "Initial clock value"; + case 6: + return "Duration"; + case 7: + return "Final clock value"; + } + return "unknown"; + } + +} \ No newline at end of file -- GitLab