~ubuntu-branches/ubuntu/vivid/eclipse-linuxtools/vivid-proposed

« back to all changes in this revision

Viewing changes to profiling/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/abstractviewers/STDataViewersCSVExporter.java

  • Committer: Package Import Robot
  • Author(s): Jakub Adam, Jakub Adam, tony mancill
  • Date: 2014-10-11 11:44:05 UTC
  • mfrom: (1.2.4)
  • Revision ID: package-import@ubuntu.com-20141011114405-yazjvxfzzhmi5sgj
Tags: 3.1.0-1
[ Jakub Adam ]
* New upstream release (Closes: #761524).
* Refreshed d/patches.
* Don't build removed feature org.eclipse.linuxtools.tools.launch
  - merged into org.eclipse.linuxtools.profiling.
* Use javac target 1.7.
* Build new feature org.eclipse.linuxtools.dataviewers.feature
  - required by Valgrind integration.
* Build-depend on eclipse-remote-services-api and eclipse-cdt-autotools.
* Bump Standards-Version to 3.9.6.
* Override incompatible-java-bytecode-format - linuxtools needs Java 7.
* Remove unused codeless-jar override.

[ tony mancill ]
* Tweak short package description to make lintian happy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
63
63
 
64
64
    private String filePath = null;
65
65
 
66
 
    private String CSVSeparator = null;
67
 
 
68
 
    private String CSVChildMarker = null;
69
 
 
70
 
    private String CSVLastChildMarker = null;
71
 
 
72
 
    private String CSVChildLink = null;
73
 
 
74
 
    private String CSVNoChildLink = null;
75
 
 
76
 
    private String CSVLeafMarker = null;
77
 
 
78
 
    private String CSVNodeMarker = null;
 
66
    private String csvSeparator = null;
 
67
 
 
68
    private String csvChildMarker = null;
 
69
 
 
70
    private String csvLastChildMarker = null;
 
71
 
 
72
    private String csvChildLink = null;
 
73
 
 
74
    private String csvNoChildLink = null;
 
75
 
 
76
    private String csvLeafMarker = null;
 
77
 
 
78
    private String csvNodeMarker = null;
79
79
 
80
80
    private boolean expandAll = false;
81
81
 
83
83
 
84
84
    private boolean exportTreePrefix = false;
85
85
 
86
 
    /*
 
86
    /**
87
87
     * It creates a new instance of exporter
88
88
     *
89
89
     * @param stViewer
96
96
        restoreState();
97
97
    }
98
98
 
99
 
    /*
 
99
    /**
100
100
     * Gets from the .setting the export parameters
101
101
     */
102
102
    public void restoreState() {
112
112
                return;
113
113
            }
114
114
 
115
 
            CSVSeparator = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_SEPARATOR);
116
 
            if (CSVSeparator == null) {
117
 
                resetState();
118
 
                return;
119
 
            }
120
 
 
121
 
            CSVChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_MARKER);
122
 
            if (CSVChildMarker == null) {
123
 
                resetState();
124
 
                return;
125
 
            }
126
 
 
127
 
            CSVLastChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LAST_CHILD_MARKER);
128
 
            if (CSVLastChildMarker == null) {
129
 
                resetState();
130
 
                return;
131
 
            }
132
 
 
133
 
            CSVChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_LINK);
134
 
            if (CSVChildLink == null) {
135
 
                resetState();
136
 
                return;
137
 
            }
138
 
 
139
 
            CSVNoChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_NO_CHILD_LINK);
140
 
            if (CSVNoChildLink == null) {
141
 
                resetState();
142
 
                return;
143
 
            }
144
 
 
145
 
            CSVLeafMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LEAF_MARKER);
146
 
            if (CSVLeafMarker == null) {
147
 
                resetState();
148
 
                return;
149
 
            }
150
 
 
151
 
            CSVNodeMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_NODE_MARKER);
152
 
            if (CSVNodeMarker == null) {
 
115
            csvSeparator = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_SEPARATOR);
 
116
            if (csvSeparator == null) {
 
117
                resetState();
 
118
                return;
 
119
            }
 
120
 
 
121
            csvChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_MARKER);
 
122
            if (csvChildMarker == null) {
 
123
                resetState();
 
124
                return;
 
125
            }
 
126
 
 
127
            csvLastChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LAST_CHILD_MARKER);
 
128
            if (csvLastChildMarker == null) {
 
129
                resetState();
 
130
                return;
 
131
            }
 
132
 
 
133
            csvChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_LINK);
 
134
            if (csvChildLink == null) {
 
135
                resetState();
 
136
                return;
 
137
            }
 
138
 
 
139
            csvNoChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_NO_CHILD_LINK);
 
140
            if (csvNoChildLink == null) {
 
141
                resetState();
 
142
                return;
 
143
            }
 
144
 
 
145
            csvLeafMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LEAF_MARKER);
 
146
            if (csvLeafMarker == null) {
 
147
                resetState();
 
148
                return;
 
149
            }
 
150
 
 
151
            csvNodeMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_NODE_MARKER);
 
152
            if (csvNodeMarker == null) {
153
153
                resetState();
154
154
                return;
155
155
            }
191
191
 
192
192
    }
193
193
 
194
 
    /*
 
194
    /**
195
195
     * Save into the .setting the export parameters
196
196
     */
197
197
    public void saveState() {
201
201
        }
202
202
 
203
203
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_OUTPUT_FILE_PATH, filePath);
204
 
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_SEPARATOR, CSVSeparator);
205
 
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_MARKER, CSVChildMarker);
206
 
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_LAST_CHILD_MARKER, CSVLastChildMarker);
207
 
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_LINK, CSVChildLink);
208
 
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_NO_CHILD_LINK, CSVNoChildLink);
209
 
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_LEAF_MARKER, CSVLeafMarker);
210
 
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_NODE_MARKER, CSVNodeMarker);
 
204
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_SEPARATOR, csvSeparator);
 
205
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_MARKER, csvChildMarker);
 
206
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_LAST_CHILD_MARKER, csvLastChildMarker);
 
207
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_LINK, csvChildLink);
 
208
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_NO_CHILD_LINK, csvNoChildLink);
 
209
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_LEAF_MARKER, csvLeafMarker);
 
210
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_NODE_MARKER, csvNodeMarker);
211
211
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_EXPAND_ALL, expandAll);
212
212
        state.put(STDataViewersCSVExporterConstants.TAG_EXPORTER_SHOW_HIDDEN_COLUMNS, showHiddenColumns);
213
213
        if (isTreeViewerExporter()) {
217
217
        }
218
218
    }
219
219
 
220
 
    /*
 
220
    /**
221
221
     * Sets to default the parameters used during the export
222
222
     */
223
223
    public void resetState() {
224
224
        filePath = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_OUTPUT_FILE_PATH;
225
 
        CSVSeparator = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_SEPARATOR;
226
 
        CSVChildMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_CHILD_MARKER;
227
 
        CSVLastChildMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_LAST_CHILD_MARKER;
228
 
        CSVChildLink = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_CHILD_LINK;
229
 
        CSVNoChildLink = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_NO_CHILD_LINK;
230
 
        CSVLeafMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_LEAF_MARKER;
231
 
        CSVNodeMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_NODE_MARKER;
 
225
        csvSeparator = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_SEPARATOR;
 
226
        csvChildMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_CHILD_MARKER;
 
227
        csvLastChildMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_LAST_CHILD_MARKER;
 
228
        csvChildLink = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_CHILD_LINK;
 
229
        csvNoChildLink = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_NO_CHILD_LINK;
 
230
        csvLeafMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_LEAF_MARKER;
 
231
        csvNodeMarker = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_NODE_MARKER;
232
232
        expandAll = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_EXPAND_ALL;
233
233
        showHiddenColumns = STDataViewersCSVExporterConstants.DEFAULT_EXPORTER_SHOW_HIDDEN_COLUMNS;
234
234
 
343
343
                    Arrays.sort(topElements, comparator);
344
344
                    for (int n = 0; n < topElements.length; n++) {
345
345
                        if (n < topElements.length - 1) {
346
 
                            dumpNodeData(topElements[n], CSVChildMarker);
 
346
                            dumpNodeData(topElements[n], csvChildMarker);
347
347
                        } else {
348
 
                            dumpNodeData(topElements[n], CSVLastChildMarker);
 
348
                            dumpNodeData(topElements[n], csvLastChildMarker);
349
349
                        }
350
350
 
351
351
                        // monitoring
410
410
    private void collectViewerParameters() {
411
411
        Display.getDefault().syncExec(new Runnable() {
412
412
            @Override
413
 
                        public void run() {
 
413
            public void run() {
414
414
                // getting columns with the right order
415
415
                Item[] unOrdColumns = stViewer.getColumns();
416
416
                Item[] columns = new Item[unOrdColumns.length];
421
421
 
422
422
                // getting fields mapping
423
423
                // (before removing hidden columns)
424
 
                Map<Item, ISTDataViewersField> fieldsMap = new HashMap<Item, ISTDataViewersField>();
 
424
                Map<Item, ISTDataViewersField> fieldsMap = new HashMap<>();
425
425
                for (Item column : columns) {
426
426
                    fieldsMap.put(column, (ISTDataViewersField) column.getData());
427
427
                }
432
432
                // getting only visible columns, using the column order
433
433
                if (!showHiddenColumns) {
434
434
                    int[] columnsState = stViewer.getHideShowManager().getColumnsState();
435
 
                    List<Item> enabledColumns = new ArrayList<Item>();
 
435
                    List<Item> enabledColumns = new ArrayList<>();
436
436
                    for (int i = 0; i < columnsState.length; i++) {
437
437
                        if (columnsState[columnOrder[i]] == STDataViewersHideShowManager.STATE_SHOWN) {
438
438
                            enabledColumns.add(columns[i]);
454
454
                contentProvider = stViewer.getViewer().getContentProvider();
455
455
 
456
456
                // getting expanded elements if necessary
457
 
                expandedElts = new ArrayList<Object>();
 
457
                expandedElts = new ArrayList<>();
458
458
                if (!expandAll && stViewer.getViewer() instanceof TreeViewer) {
459
459
                    TreeViewer tv = (TreeViewer) stViewer.getViewer();
460
460
                    expandedElts = Arrays.asList(tv.getExpandedElements());
473
473
 
474
474
    private void dumpTreeData(ITreeContentProvider tcp, Object element, String prefix, boolean isLastChild,
475
475
            boolean monitoring) {
476
 
        String childMarker = isLastChild ? CSVLastChildMarker : CSVChildMarker;
 
476
        String childMarker = isLastChild ? csvLastChildMarker : csvChildMarker;
477
477
 
478
478
        boolean isLeaf = !tcp.hasChildren(element);
479
 
        String leafMarker = (isLeaf ? CSVLeafMarker : CSVNodeMarker);
 
479
        String leafMarker = (isLeaf ? csvLeafMarker : csvNodeMarker);
480
480
        dumpNodeData(element, prefix + childMarker + leafMarker);
481
481
 
482
482
        if ((expandAll || expandedElts.contains(element)) && !isLeaf) {
493
493
                // exporting children
494
494
                Arrays.sort(children, comparator);
495
495
                for (int i = 0; i < children.length; i++) {
496
 
                    String prefixAdd = isLastChild ? CSVNoChildLink : CSVChildLink;
 
496
                    String prefixAdd = isLastChild ? csvNoChildLink : csvChildLink;
497
497
                    dumpTreeData(tcp, children[i], prefix + prefixAdd, i == children.length - 1, false);
498
498
 
499
499
                    // monitoring
531
531
    private void printPrefix(String prefix) {
532
532
        if (exportTreePrefix) {
533
533
            ps.print(prefix);
534
 
            ps.print(CSVSeparator);
 
534
            ps.print(csvSeparator);
535
535
        }
536
536
    }
537
537
 
539
539
        if (i == length - 1) {
540
540
            ps.print("\n");
541
541
        } else {
542
 
            ps.print(CSVSeparator);
 
542
            ps.print(csvSeparator);
543
543
        }
544
544
    }
545
545
 
552
552
    }
553
553
 
554
554
    public String getCSVSeparator() {
555
 
        return CSVSeparator;
 
555
        return csvSeparator;
556
556
    }
557
557
 
558
558
    public String getCSVChildMarker() {
559
 
        return CSVChildMarker;
 
559
        return csvChildMarker;
560
560
    }
561
561
 
562
562
    public String getCSVLastChildMarker() {
563
 
        return CSVLastChildMarker;
 
563
        return csvLastChildMarker;
564
564
    }
565
565
 
566
566
    public String getCSVChildLink() {
567
 
        return CSVChildLink;
 
567
        return csvChildLink;
568
568
    }
569
569
 
570
570
    public String getCSVNoChildLink() {
571
 
        return CSVNoChildLink;
 
571
        return csvNoChildLink;
572
572
    }
573
573
 
574
574
    public String getCSVLeafMarker() {
575
 
        return CSVLeafMarker;
 
575
        return csvLeafMarker;
576
576
    }
577
577
 
578
578
    public String getCSVNodeMarker() {
579
 
        return CSVNodeMarker;
 
579
        return csvNodeMarker;
580
580
    }
581
581
 
582
582
    public boolean getExpandAll() {
596
596
    }
597
597
 
598
598
    public void setCSVSeparator(String separator) {
599
 
        CSVSeparator = separator;
 
599
        csvSeparator = separator;
600
600
    }
601
601
 
602
602
    public void setCSVChildMarker(String childMarker) {
603
 
        CSVChildMarker = childMarker;
 
603
        csvChildMarker = childMarker;
604
604
    }
605
605
 
606
606
    public void setCSVLastChildMarker(String lastChildMarker) {
607
 
        CSVLastChildMarker = lastChildMarker;
 
607
        csvLastChildMarker = lastChildMarker;
608
608
    }
609
609
 
610
610
    public void setCSVChildLink(String childLink) {
611
 
        CSVChildLink = childLink;
 
611
        csvChildLink = childLink;
612
612
    }
613
613
 
614
614
    public void setCSVNoChildLink(String noChildLink) {
615
 
        CSVNoChildLink = noChildLink;
 
615
        csvNoChildLink = noChildLink;
616
616
    }
617
617
 
618
618
    public void setCSVLeafMarker(String leafMarker) {
619
 
        CSVLeafMarker = leafMarker;
 
619
        csvLeafMarker = leafMarker;
620
620
    }
621
621
 
622
622
    public void setCSVNodeMarker(String nodeMarker) {
623
 
        CSVNodeMarker = nodeMarker;
 
623
        csvNodeMarker = nodeMarker;
624
624
    }
625
625
 
626
626
    public void setExpandAll(boolean expandAll) {
649
649
        }
650
650
 
651
651
        @Override
652
 
                protected ISTDataViewersField getField(Item column) {
 
652
        protected ISTDataViewersField getField(Item column) {
653
653
            return fieldsMap.get(column);
654
654
        }
655
655