Example usage for org.apache.commons.collections.buffer UnboundedFifoBuffer iterator

List of usage examples for org.apache.commons.collections.buffer UnboundedFifoBuffer iterator

Introduction

In this page you can find the example usage for org.apache.commons.collections.buffer UnboundedFifoBuffer iterator.

Prototype

public Iterator iterator() 

Source Link

Document

Returns an iterator over this buffer's elements.

Usage

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();
                    }
                }
            }

        }
    });
}