64
64
private String filePath = null;
66
private String CSVSeparator = null;
68
private String CSVChildMarker = null;
70
private String CSVLastChildMarker = null;
72
private String CSVChildLink = null;
74
private String CSVNoChildLink = null;
76
private String CSVLeafMarker = null;
78
private String CSVNodeMarker = null;
66
private String csvSeparator = null;
68
private String csvChildMarker = null;
70
private String csvLastChildMarker = null;
72
private String csvChildLink = null;
74
private String csvNoChildLink = null;
76
private String csvLeafMarker = null;
78
private String csvNodeMarker = null;
80
80
private boolean expandAll = false;
115
CSVSeparator = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_SEPARATOR);
116
if (CSVSeparator == null) {
121
CSVChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_MARKER);
122
if (CSVChildMarker == null) {
127
CSVLastChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LAST_CHILD_MARKER);
128
if (CSVLastChildMarker == null) {
133
CSVChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_LINK);
134
if (CSVChildLink == null) {
139
CSVNoChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_NO_CHILD_LINK);
140
if (CSVNoChildLink == null) {
145
CSVLeafMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LEAF_MARKER);
146
if (CSVLeafMarker == null) {
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) {
121
csvChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_MARKER);
122
if (csvChildMarker == null) {
127
csvLastChildMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LAST_CHILD_MARKER);
128
if (csvLastChildMarker == null) {
133
csvChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_CHILD_LINK);
134
if (csvChildLink == null) {
139
csvNoChildLink = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_NO_CHILD_LINK);
140
if (csvNoChildLink == null) {
145
csvLeafMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_LEAF_MARKER);
146
if (csvLeafMarker == null) {
151
csvNodeMarker = state.get(STDataViewersCSVExporterConstants.TAG_EXPORTER_NODE_MARKER);
152
if (csvNodeMarker == null) {
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()) {
221
221
* Sets to default the parameters used during the export
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;
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);
348
dumpNodeData(topElements[n], CSVLastChildMarker);
348
dumpNodeData(topElements[n], csvLastChildMarker);
410
410
private void collectViewerParameters() {
411
411
Display.getDefault().syncExec(new Runnable() {
414
414
// getting columns with the right order
415
415
Item[] unOrdColumns = stViewer.getColumns();
416
416
Item[] columns = new Item[unOrdColumns.length];
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());
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();
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());
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;
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);
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);
554
554
public String getCSVSeparator() {
558
558
public String getCSVChildMarker() {
559
return CSVChildMarker;
559
return csvChildMarker;
562
562
public String getCSVLastChildMarker() {
563
return CSVLastChildMarker;
563
return csvLastChildMarker;
566
566
public String getCSVChildLink() {
570
570
public String getCSVNoChildLink() {
571
return CSVNoChildLink;
571
return csvNoChildLink;
574
574
public String getCSVLeafMarker() {
575
return CSVLeafMarker;
575
return csvLeafMarker;
578
578
public String getCSVNodeMarker() {
579
return CSVNodeMarker;
579
return csvNodeMarker;
582
582
public boolean getExpandAll() {
598
598
public void setCSVSeparator(String separator) {
599
CSVSeparator = separator;
599
csvSeparator = separator;
602
602
public void setCSVChildMarker(String childMarker) {
603
CSVChildMarker = childMarker;
603
csvChildMarker = childMarker;
606
606
public void setCSVLastChildMarker(String lastChildMarker) {
607
CSVLastChildMarker = lastChildMarker;
607
csvLastChildMarker = lastChildMarker;
610
610
public void setCSVChildLink(String childLink) {
611
CSVChildLink = childLink;
611
csvChildLink = childLink;
614
614
public void setCSVNoChildLink(String noChildLink) {
615
CSVNoChildLink = noChildLink;
615
csvNoChildLink = noChildLink;
618
618
public void setCSVLeafMarker(String leafMarker) {
619
CSVLeafMarker = leafMarker;
619
csvLeafMarker = leafMarker;
622
622
public void setCSVNodeMarker(String nodeMarker) {
623
CSVNodeMarker = nodeMarker;
623
csvNodeMarker = nodeMarker;
626
626
public void setExpandAll(boolean expandAll) {