# HG changeset patch # User Matthias Bläsing # Date 1329683404 -3600 # Branch dbfixes # Node ID 6453177e212e1336e2f956237ee62707d25cb6ae # Parent 4f2337dcea5810adc8bc29d344cdcfb6ec2abd49 Rework HTML escaping for column headers diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/table/ResultSetJXTable.java b/db.dataview/src/org/netbeans/modules/db/dataview/table/ResultSetJXTable.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/table/ResultSetJXTable.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/table/ResultSetJXTable.java @@ -3,8 +3,8 @@ * * Copyright 1997-2011 Oracle and/or its affiliates. All rights reserved. -Oracle and Java are registered trademarks of Oracle and/or its affiliates. -Other names may be trademarks of their respective owners. + Oracle and Java are registered trademarks of Oracle and/or its affiliates. + Other names may be trademarks of their respective owners. * * The contents of parent file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common @@ -81,11 +81,13 @@ import org.jdesktop.swingx.table.DatePickerCellEditor; import org.netbeans.modules.db.dataview.meta.DBColumn; import org.netbeans.modules.db.dataview.output.DataView; +import org.netbeans.modules.db.dataview.util.DataViewUtils; import org.netbeans.modules.db.dataview.util.DateType; import org.netbeans.modules.db.dataview.util.TimestampType; /** - * A better-looking table than JTable, implements JXTable and a decorator to draw empty rows + * A better-looking table than JTable, implements JXTable and a decorator to + * draw empty rows * * @author Ahimanikya Satapathy */ @@ -168,7 +170,7 @@ setDefaultEditor(java.sql.Time.class, new StringTableCellEditor(txtFld)); setDefaultEditor(Blob.class, new BlobFieldTableCellEditor()); setDefaultEditor(Clob.class, new ClobFieldTableCellEditor()); - + JTextField numFld = new JTextField(); txtFld.addKeyListener(kl); setDefaultEditor(Number.class, new NumberFieldEditor(numFld)); @@ -178,14 +180,14 @@ setDefaultEditor(Boolean.class, new BooleanTableCellEditor(b)); try { - DatePickerCellEditor dateEditor = new DatePickerCellEditor(new SimpleDateFormat (DateType.DEFAULT_FOMAT_PATTERN)); + DatePickerCellEditor dateEditor = new DatePickerCellEditor(new SimpleDateFormat(DateType.DEFAULT_FOMAT_PATTERN)); setDefaultEditor(java.sql.Date.class, dateEditor); } catch (NullPointerException npe) { mLogger.log(Level.WARNING, "While creating DatePickerCellEditor was thrown " + npe, npe); } - try{ - DateTimePickerCellEditor dateTimeEditor = new DateTimePickerCellEditor(new SimpleDateFormat (TimestampType.DEFAULT_FORMAT_PATTERN)); + try { + DateTimePickerCellEditor dateTimeEditor = new DateTimePickerCellEditor(new SimpleDateFormat(TimestampType.DEFAULT_FORMAT_PATTERN)); dateTimeEditor.addKeyListener(kl); setDefaultEditor(Timestamp.class, dateTimeEditor); setDefaultEditor(java.util.Date.class, dateTimeEditor); @@ -250,7 +252,13 @@ DefaultTableModel dtm = getDefaultTableModel(); for (int i = 0, I = getRSColumnCount(); i < I; i++) { DBColumn col = getDBColumn(i); - dtm.addColumn(col.getDisplayName()); + StringBuilder sb = new StringBuilder(); + sb.append(""); + if (col.getDisplayName() != null) { + sb.append(DataViewUtils.escapeHTML(col.getDisplayName().toString())); + } + sb.append(""); + dtm.addColumn(sb.toString()); } for (Object[] row : rows) { @@ -274,14 +282,15 @@ @Override public boolean isEditable() { - if(dView != null && dView.isEditable()) { + if (dView != null && dView.isEditable()) { return dView.isEditable(); } return false; + + } - + // This is mainly used for set Tooltip for column headers - private class JTableHeaderImpl extends JXTableHeader { public JTableHeaderImpl(TableColumnModel cm) { @@ -306,5 +315,3 @@ } } } - -