List of usage examples for org.apache.commons.collections.buffer UnboundedFifoBuffer iterator
public Iterator iterator()
From source file:org.talend.designer.runtime.visualization.views.RuntimeGraphcsComposite.java
public void displayReportField() { if (reportField != null && !reportField.isDisposed()) { if (messageManager == null) { return; }//from w w w. j a v a 2 s .c om UnboundedFifoBuffer messages = messageManager.getMessages(); Iterator iterator = messages.iterator(); StringBuilder content = new StringBuilder(); StyleRange[] styleRanges = new StyleRange[messages.size()]; int i = 0; while (iterator.hasNext()) { ReportMessage message = (ReportMessage) iterator.next(); content.append(message.getContent()); styleRanges[i++] = message.getType(); } reportField.setText(content.toString()); reportField.setStyleRanges(styleRanges); // reportField.setForeground(new Color(Display.getDefault(), 255, 0, 0)); reportField.setTopIndex(Integer.MAX_VALUE); } }
From source file:org.talend.designer.runtime.visualization.views.RuntimeGraphcsComposite.java
private void createReportField(Composite parent) { reportComposite = createFlatFormComposite(parent, new FormToolkit(Display.getDefault())); FormLayout reportLayout = new FormLayout(); reportComposite.setLayout(reportLayout); FormData reportData = new FormData(); reportData.left = new FormAttachment(65, 5); reportData.right = new FormAttachment(100, -5); reportData.top = new FormAttachment(0, 0); reportData.bottom = new FormAttachment(100, -5); reportComposite.setLayoutData(reportData); Group group = new Group(reportComposite, SWT.NULL); FormLayout groupLayout = new FormLayout(); group.setLayout(groupLayout);// w ww . j a va 2 s . c om FormData groupData = new FormData(); groupData.left = new FormAttachment(0, 0); groupData.right = new FormAttachment(100, 0); groupData.top = new FormAttachment(0, 0); groupData.bottom = new FormAttachment(100, 0); group.setLayoutData(groupData); group.setText("Job execution information"); //$NON-NLS-1$ reportField = new StyledText(group, SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY); //may be CoreUIPlugin.setCSSClass can do this globally ,check later reportField.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE)); FormData data; data = new FormData(); data.left = new FormAttachment(0, 0); data.right = new FormAttachment(100, 0); data.top = new FormAttachment(0, 0); data.bottom = new FormAttachment(93, 0); reportField.setLayoutData(data); displayReportField(); //export button Button exportButton = new Button(group, SWT.PUSH); exportButton.setText("Export"); //$NON-NLS-1$ FormData exportData = new FormData(); exportData.left = new FormAttachment(100, -70); exportData.right = new FormAttachment(100, 0); exportData.bottom = new FormAttachment(100, -1); exportButton.setLayoutData(exportData); exportButton.setEnabled(true); exportButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (messageManager == null || messageManager.getMessages().size() < 1) { MessageDialog.openWarning(getShell(), "Warning", "No log to export."); //$NON-NLS-1$ //$NON-NLS-2$ return; } UnboundedFifoBuffer messages = messageManager.getMessages(); Iterator iterator = messages.iterator(); StringBuilder content = new StringBuilder(); while (iterator.hasNext()) { ReportMessage message = (ReportMessage) iterator.next(); content.append(message.getContent()); } if (isMonitoring) { MessageDialog.openWarning(getShell(), "Warning", "Waiting for job done."); //$NON-NLS-1$ //$NON-NLS-2$ return; } FileDialog dialog = new FileDialog(getShell(), SWT.SAVE); dialog.setFilterPath("."); //$NON-NLS-1$ String fileName = dialog.open(); if (fileName != null) { FileWriter writer = null; try { writer = new FileWriter(fileName); writer.write(content.toString()); } catch (IOException e1) { e1.printStackTrace(); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e1) { e1.printStackTrace(); } } } } }); }