Example usage for java.awt Cursor WAIT_CURSOR

List of usage examples for java.awt Cursor WAIT_CURSOR

Introduction

In this page you can find the example usage for java.awt Cursor WAIT_CURSOR.

Prototype

int WAIT_CURSOR

To view the source code for java.awt Cursor WAIT_CURSOR.

Click Source Link

Document

The wait cursor type.

Usage

From source file:AltiConsole.AltiConsoleMainScreen.java

public boolean RetrievingFlight() {
    this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    listData = null;/*from www .  ja  v a2s .c o m*/

    listData = new DefaultListModel();

    if (Serial.getConnected() == false) {
        boolean ret = false;
        ret = ConnectToAlti();
        if (!ret) {
            System.out.println("Data retrieval timed out1\n");
            JOptionPane.showMessageDialog(null, trans.get("AltiConsoleMainScreen.dataTimeOut"),
                    trans.get("AltiConsoleMainScreen.ConnectionError"), JOptionPane.ERROR_MESSAGE);
            this.setCursor(Cursor.getDefaultCursor());
            return false;
        }
    }
    // check the connection
    //Serial.DataReady = false;
    Serial.setDataReady(false);
    Serial.writeData("h;\n");
    long startTime; // = System.currentTimeMillis();
    Serial.lastReceived = System.currentTimeMillis();
    while (!Serial.getDataReady()) {
        long currentTime = System.currentTimeMillis();
        startTime = Serial.lastReceived;
        if ((currentTime - startTime) > 130000) {
            // This is some sort of data retrieval timeout
            System.out.println("Data retrieval timed out2 flight\n");
            JOptionPane.showMessageDialog(null, trans.get("AltiConsoleMainScreen.dataTimeOut"),
                    trans.get("AltiConsoleMainScreen.ConnectionError"), JOptionPane.ERROR_MESSAGE);
            this.setCursor(Cursor.getDefaultCursor());
            return false;
        }
    }

    Serial.initFlightData(UserPref.getAppUnits());

    // get the flight data
    //Serial.DataReady = false;
    Serial.setDataReady(false);
    Serial.writeData("a;\n");

    Serial.lastReceived = System.currentTimeMillis();
    while (!Serial.getDataReady()) {
        long currentTime = System.currentTimeMillis();
        startTime = Serial.lastReceived;
        if ((currentTime - startTime) > 130000) {
            // This is some sort of data retrieval timeout
            System.out.println("Data retrieval timed out3\n");
            JOptionPane.showMessageDialog(null, trans.get("AltiConsoleMainScreen.dataTimeOut"),
                    trans.get("AltiConsoleMainScreen.ConnectionError"), JOptionPane.ERROR_MESSAGE);
            this.setCursor(Cursor.getDefaultCursor());
            return false;
        }
    }
    System.out.println("done retrieving flight\n");
    List<String> AllFlightNames2;

    AllFlightNames2 = Serial.MyFlight.getAllFlightNames2();

    for (String z : AllFlightNames2) {

        listData.addElement(z);
    }

    flightList.setModel(listData);
    flightList.setAutoCreateRowSorter(true);
    flightList.toggleSortOrder();
    flightList.setSortOrder(SortOrder.ASCENDING);

    flightList.clearSelection();

    flightList.setSelectedIndex(0);
    if (Serial.MyFlight.FlightExist("Flight 1")) {
        plot.setDataset(0, Serial.MyFlight.GetFlightData("Flight 1"));
    }
    this.setCursor(Cursor.getDefaultCursor());
    return true;

}

From source file:com.vgi.mafscaling.ClosedLoop.java

protected void calculateMafScaling() {
    if (!polfTable.validate())
        return;/*from ww  w. j  a va 2  s. c o m*/
    setCursor(new Cursor(Cursor.WAIT_CURSOR));
    try {
        clearData();
        clearChartData();
        clearChartCheckBoxes();

        if (!getMafTableData(voltArray, gsArray))
            return;
        calculateCorrectedGS();
        setCorrectedMafData();

        smoothGsArray.addAll(gsCorrected);
        checkBoxCorrectedMaf.setSelected(true);

        setXYTable(mafSmoothingTable, voltArray, smoothGsArray);

        setRanges();
    } catch (Exception e) {
        e.printStackTrace();
        logger.error(e);
        JOptionPane.showMessageDialog(null, "Error: " + e, "Error", JOptionPane.ERROR_MESSAGE);
    } finally {
        setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
    }
}

From source file:storybook.toolkit.swing.SwingUtil.java

public static void setWaitingCursor(Component comp) {
    comp.setCursor(new Cursor(Cursor.WAIT_CURSOR));
}

From source file:net.schweerelos.parrot.ui.GraphViewComponent.java

@Override
public void setModel(ParrotModel model) {
    removeAll();/*from w w  w .j  ava  2s  .  co  m*/

    if (model == null) {
        maybeSaveLayout();
        layout = null;
        vv.setGraphLayout(null);
        return;
    }

    if (!(model instanceof GraphParrotModel)) {
        throw new IllegalArgumentException("model must be a graph model");
    }

    this.model = model;
    graph = ((GraphParrotModel) model).asGraph();
    popup = new NodeWrapperPopupMenu(SwingUtilities.getRoot(this), model);

    model.addParrotModelListener(new ParrotModelListener() {
        @Override
        public void highlightsChanged() {
            SwingUtilities.invokeLater(new Runnable() {

                @Override
                public void run() {
                    vv.fireStateChanged();
                    vv.repaint();
                }
            });
        }

        @Override
        public void restrictionsChanged(final Collection<NodeWrapper> currentlyHidden) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    includePredicate.setCurrentlyHidden(currentlyHidden);
                    vv.repaint();
                }
            });
        }

        @Override
        public void modelBusy() {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    synchronized (GraphViewComponent.this.model) {
                        if (!GraphViewComponent.this.model.isBusy()) {
                            return;
                        }
                        vv.setEnabled(false);
                        view.setEnabled(false);
                        GraphViewComponent.this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                        view.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                        vv.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                    }
                }
            });
        }

        @Override
        public void modelIdle() {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    synchronized (GraphViewComponent.this.model) {
                        if (GraphViewComponent.this.model.isBusy()) {
                            return;
                        }
                        view.setEnabled(true);
                        vv.setEnabled(true);
                        GraphViewComponent.this.setCursor(Cursor.getDefaultCursor());
                        view.setCursor(Cursor.getDefaultCursor());
                        vv.setCursor(Cursor.getDefaultCursor());
                    }
                }
            });
        }
    });

    layout = new NodeWrapperPersistentLayoutImpl(new KKLayout<NodeWrapper, NodeWrapper>(graph));
    layout.setSize(new Dimension(880, 600));
    String layoutFilename = getLayoutFilename();
    try {
        if (new File(layoutFilename).canRead()) {
            ((PersistentLayout<NodeWrapper, NodeWrapper>) layout).restore(layoutFilename);
        }
    } catch (IOException e) {
        // TODO #1 Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO #1 Auto-generated catch block
        e.printStackTrace();
    }

    vv.setGraphLayout(layout);
    GraphZoomScrollPane pane = new GraphZoomScrollPane(vv);
    ModeToggle modeToggle = new ModeToggle(mouse);
    pane.setCorner(modeToggle);
    add(pane, CONTENT_CONSTRAINTS);
    view = pane;
}

From source file:com.signalcollect.sna.visualization.SignalCollectSNATopComponent.java

/**
 * Runs a Signal/Collect SNA method when the "Run" button is clicked
 *
 * @param evt/*from   www .  jav a 2  s. co  m*/
 */
private void runMetricButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_runMetricButtonActionPerformed

    try {

        mainPanel.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        if (jTextArea1.getText() == null) {
            throw new IllegalArgumentException("No file was chosen!\nPlease choose a valid .gml file");
        }
        if (!jTextArea1.getText().contains(".gml")) {
            throw new IllegalArgumentException(
                    "The chosen file doesn't have the right format!\nPlease choose a valid .gml file");
        }
        String actualMetric = metricDropDown.getSelectedItem().toString();
        if (actualMetric.equals("Degree")) {
            scgc = new DegreeSignalCollectGephiConnectorImpl(fileName);
            scgc.executeGraph();
            metricValuesTextPane.setText(setMetricText(scgc.getAverage(), scgc.getAll()));
        } else if (actualMetric.equals("PageRank")) {
            scgc = new PageRankSignalCollectGephiConnectorImpl(fileName);
            scgc.executeGraph();
            metricValuesTextPane.setText(setMetricText(scgc.getAverage(), scgc.getAll()));
        } else if (actualMetric.equals("Betweenness")) {
            scgc = new BetweennessSignalCollectGephiConnectorImpl(fileName);
            scgc.executeGraph();
            metricValuesTextPane.setText(setMetricText(scgc.getAverage(), scgc.getAll()));
        } else if (actualMetric.equals("Closeness")) {
            scgc = new ClosenessSignalCollectGephiConnectorImpl(fileName);
            scgc.executeGraph();

            metricValuesTextPane.setText(setMetricText(scgc.getAverage(), scgc.getAll()));
        } else if (actualMetric.equals("Local Cluster Coefficient")) {
            scgc = new LocalClusterCoefficientSignalCollectGephiConnectorImpl(fileName);
            scgc.executeGraph();

            metricValuesTextPane.setText(setMetricText(scgc.getAverage(), scgc.getAll()));
        } else if (actualMetric.equals("Triad Census")) {
            scgc = new TriadCensusSignalCollectGephiConnectorImpl(fileName);
            scgc.executeGraph();

            metricValuesTextPane.setText(setTriadCensusText(scgc.getAll()));
        } else {
            throw new IllegalArgumentException("invalid Signal/Collect metric chosen!\nPlease try again");
        }
        Dimension dim = new Dimension(750, 450);
        metricResultFrame.setMinimumSize(dim);
        metricResultFrame.pack();
        metricValuesTextPane.setVisible(true);
        metricValuesScrollPane.setVisible(true);
        metricResultFrame.setVisible(true);
    } catch (IllegalArgumentException exception) {
        messageFrame = new JFrame();
        JOptionPane.showMessageDialog(messageFrame, exception.getMessage(), "Signal/Collect Error",
                JOptionPane.ERROR_MESSAGE);

    } catch (Exception exception) {
        messageFrame = new JFrame();
        exception.printStackTrace();
        JOptionPane.showMessageDialog(messageFrame,
                "Technical exception happened (" + exception.getCause() + ")", "Signal/Collect Error",
                JOptionPane.ERROR_MESSAGE);
    } finally {
        mainPanel.setCursor(Cursor.getDefaultCursor());
    }
}

From source file:org.pegadi.client.ApplicationLauncher.java

void listerButton_actionPerformed(ActionEvent e) {
    if (lis == null) {

        this.setCursor(new Cursor(Cursor.WAIT_CURSOR));

        lis = new Lister();

        lis.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                lis = null;/*from  www .  ja va2s  .co m*/
            }

            public void windowClosed(WindowEvent e) {
                lis = null;
            }
        });

        // Set a reasonable size and center the window
        Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
        int x = Math.min(((size.width / 5) * 4), 810);
        int y = Math.min(((size.height / 5) * 4), 600);

        lis.setSize(x, y);
        lis.setLocation((size.width - x) / 2, (size.height - y) / 2);

        this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));

        lis.setLocationRelativeTo(this);
    }
    lis.setVisible(true);
}

From source file:uk.ac.ucl.chem.ccs.clinicalgui.DisplayJobPanel.java

private void initGUI() {
    if (ajo == null) {
        try {/*from  w w w  .  ja  v a2 s.co  m*/
            setPreferredSize(new Dimension(400, 300));
        } catch (Exception e) {
            e.printStackTrace();
        }
        //JLabel l = new JLabel("No simulation running");
        //this.add(l);
        //this.setEnabled(false);
        return;
    }
    System.out.println("I am not null: drawing the display job panel");
    try {
        TableLayout thisLayout = new TableLayout(new double[][] { { TableLayout.FILL }, { TableLayout.PREFERRED,
                TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL, TableLayout.FILL } });
        thisLayout.setHGap(5);
        thisLayout.setVGap(5);
        this.setLayout(thisLayout);

        {
            jPanel1 = new JPanel();
            TableLayout jPanel1Layout = new TableLayout(new double[][] {
                    { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.PREFERRED,
                            TableLayout.PREFERRED },
                    { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.FILL,
                            TableLayout.FILL } });

            jPanel1Layout.setHGap(5);
            jPanel1Layout.setVGap(5);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1.setLayout(jPanel1Layout);

            jPanel1.setBorder(BorderFactory.createEtchedBorder());
            this.add(jPanel1, "0, 0, 0, 2");
            jPanel1.setPreferredSize(new java.awt.Dimension(630, 305));
            jPanel1.setSize(630, 305);
            {
                dtails = new JPanel();
                GridLayout dtailsLayout = new GridLayout(1, 1);
                dtailsLayout.setColumns(1);
                dtailsLayout.setHgap(5);
                dtailsLayout.setVgap(5);
                dtails.setBorder(BorderFactory.createTitledBorder("Job Details"));
                jPanel1.add(dtails, "0,  0,  2,  4");
                dtails.setLayout(dtailsLayout);
                {
                    jobDetailsSP = new JScrollPane();
                    dtails.add(jobDetailsSP);
                    {
                        jPanel3 = new JPanel();
                        TableLayout jPanel3Layout = new TableLayout(
                                new double[][] { { TableLayout.PREFERRED, TableLayout.FILL },
                                        { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL,
                                                TableLayout.FILL, TableLayout.FILL, TableLayout.FILL,
                                                TableLayout.FILL, TableLayout.FILL, TableLayout.FILL,
                                                TableLayout.FILL, TableLayout.FILL, TableLayout.FILL } });
                        jPanel3Layout.setHGap(5);
                        jPanel3Layout.setVGap(5);
                        jPanel3.setLayout(jPanel3Layout);
                        jobDetailsSP.setViewportView(jPanel3);
                        jPanel3.setBackground(new java.awt.Color(156, 199, 219));
                        {
                            jLabel2 = new JLabel();
                            jPanel3.add(jLabel2, "0, 0");
                            jLabel2.setText("Job Start Time");
                        }
                        {
                            jLabel3 = new JLabel();
                            jPanel3.add(jLabel3, "0, 1");
                            jLabel3.setText("Resource ID");
                        }
                        {
                            jLabel4 = new JLabel();
                            jPanel3.add(jLabel4, "0, 2");
                            jLabel4.setText("Job Type");
                        }
                        {
                            jLabel5 = new JLabel();
                            jPanel3.add(jLabel5, "0, 3");
                            jLabel5.setText("Status");
                        }
                        {
                            jLabel6 = new JLabel();
                            jPanel3.add(jLabel6, "0, 4");
                            jLabel6.setText("Machine");
                        }
                        {
                            jLabel7 = new JLabel();
                            jPanel3.add(jLabel7, "0, 5");
                            jLabel7.setText("CPUs Requested");
                        }
                        {
                            jLabel8 = new JLabel();
                            jPanel3.add(jLabel8, "0, 6");
                            jLabel8.setText("Configuration File");
                        }
                        {
                            jLabel9 = new JLabel();
                            jPanel3.add(jLabel9, "0, 7");
                            jLabel9.setText("Job Arguments");
                        }
                        {
                            jLabel10 = new JLabel();
                            jPanel3.add(jLabel10, "0, 8");
                            jLabel10.setText("Job Stdout");
                        }
                        {
                            jLabel11 = new JLabel();
                            jPanel3.add(jLabel11, "0, 9");
                            jLabel11.setText("Job Stderr");
                        }
                        {
                            jLabel12 = new JLabel();
                            jPanel3.add(jLabel12, "0, 10");
                            jLabel12.setText("Job Stdin");
                        }
                        {
                            jLabel13 = new JLabel();
                            jPanel3.add(jLabel13, "0, 11");
                            jLabel13.setText("Resource Endpoint");
                        }
                        {
                            jobName = new JTextField();
                            jPanel3.add(jobName, "1, 0");
                            jobName.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobName.setOpaque(true);
                            jobName.setBackground(new java.awt.Color(255, 255, 255));
                            jobName.setEditable(false);

                        }
                        {
                            resourceID = new JTextField();
                            jPanel3.add(resourceID, "1, 1");
                            resourceID.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            resourceID.setOpaque(true);
                            resourceID.setBackground(new java.awt.Color(255, 255, 255));
                            resourceID.setEditable(false);

                        }
                        {
                            jobType = new JTextField();
                            jPanel3.add(jobType, "1, 2");
                            jobType.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobType.setBackground(new java.awt.Color(255, 255, 255));
                            jobType.setOpaque(true);
                            jobType.setEditable(false);

                        }
                        {
                            jobStatus = new JLabel();
                            jPanel3.add(jobStatus, "1, 3");
                            jobStatus.setOpaque(true);
                            jobStatus.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobStatus.setBackground(new java.awt.Color(255, 255, 255));
                        }
                        {
                            rm = new JTextField();
                            jPanel3.add(rm, "1, 4");
                            rm.setBackground(new java.awt.Color(255, 255, 255));
                            rm.setOpaque(true);
                            rm.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            rm.setEditable(false);

                        }
                        {
                            jobCpus = new JTextField();
                            jPanel3.add(jobCpus, "1, 5");
                            jobCpus.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobCpus.setOpaque(true);
                            jobCpus.setBackground(new java.awt.Color(255, 255, 255));
                            jobCpus.setEditable(false);

                        }
                        {
                            jobConf = new JTextField();
                            jPanel3.add(jobConf, "1, 6");
                            jobConf.setBackground(new java.awt.Color(255, 255, 255));
                            jobConf.setOpaque(true);
                            jobConf.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobConf.setEditable(false);

                        }
                        {
                            jobArgs = new JTextField();
                            jPanel3.add(jobArgs, "1, 7");
                            jobArgs.setBackground(new java.awt.Color(255, 255, 255));
                            jobArgs.setOpaque(true);
                            jobArgs.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobArgs.setEditable(false);

                        }
                        {
                            jobSdtout = new JTextField();
                            jPanel3.add(jobSdtout, "1, 8");
                            jobSdtout.setBackground(new java.awt.Color(255, 255, 255));
                            jobSdtout.setOpaque(true);
                            jobSdtout.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobSdtout.setEditable(false);

                        }
                        {
                            jobStderr = new JTextField();
                            jPanel3.add(jobStderr, "1, 9");
                            jobStderr.setBackground(new java.awt.Color(255, 255, 255));
                            jobStderr.setOpaque(true);
                            jobStderr.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobStderr.setEditable(false);

                        }
                        {
                            jobStdin = new JTextField();
                            jPanel3.add(jobStdin, "1, 10");
                            jobStdin.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobStdin.setBackground(new java.awt.Color(255, 255, 255));
                            jobStdin.setOpaque(true);
                            jobStdin.setEditable(false);

                        }
                        {
                            jobEPR = new JTextField();
                            jPanel3.add(jobEPR, "1, 11");
                            jobEPR.setOpaque(true);
                            jobEPR.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
                            jobEPR.setBackground(new java.awt.Color(255, 255, 255));
                            jobEPR.setEditable(false);

                        }
                    }

                }
            }
            {
                controls = new JPanel();
                TableLayout controlsLayout = new TableLayout(new double[][] { { TableLayout.FILL },
                        { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.FILL } });
                controlsLayout.setHGap(5);
                controlsLayout.setVGap(5);
                controls.setLayout(controlsLayout);
                controls.setBorder(BorderFactory.createTitledBorder("Operations"));
                jPanel1.add(controls, "3,  0,  4,  2");
                {
                    updateStatus = new JButton();
                    controls.add(updateStatus, "0, 0");
                    updateStatus.setText("Update Job Status");
                    updateStatus.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            if (updateStatus.getText().equals("Start Job")) {
                                StartCall sc = new StartCall(ajo,
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.myproxy-lifetime"),
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.myproxy-port"),
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.myproxy-dn"),
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.myproxy-server"),
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.myproxy-pw"),
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.myproxy-un"));
                                ajo = sc.makeCall();
                                updatePanel();
                            } else {
                                pollJobState();
                            }
                        }
                    });
                }
                {
                    teminateJob = new JButton();
                    controls.add(teminateJob, "0, 1");
                    teminateJob.setText("Terminate Job");
                    teminateJob.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            TerminateSimCall tsc = new TerminateSimCall(ajo.getEndPoint());
                            DisplayJobPanel.this.setCursor(new Cursor(Cursor.WAIT_CURSOR));
                            boolean tcsstatus = tsc.makeCall();
                            DisplayJobPanel.this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
                            if (tcsstatus) {
                                ajo.setState(AHEJobObject.GRIDSAM_TERMINATING);
                                updateState();
                            } else {
                                ErrorMessage em = new ErrorMessage(DisplayJobPanel.this,
                                        "Error terminating job. Check log for details");
                                ;
                            }
                        }
                    });
                }
                {
                    vizButton = new JButton();
                    controls.add(vizButton, "0, 2");
                    vizButton.setText("Visualize");

                    vizButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            String h = "localhost";
                            int p = 65250;
                            int w = 1024 * 1024;

                            VizSteererWindow vs = new VizSteererWindow(h, p, w,
                                    (JFrame) DisplayJobPanel.this.getTopLevelAncestor());
                        }
                    });
                }

                {
                    deleteFiles = new JCheckBox();
                    controls.add(deleteFiles, "0, 3");
                    deleteFiles.setText("Delete staged files when destroying job");
                    deleteFiles.setFont(new java.awt.Font("Sansserif", 0, 11));
                    deleteFiles.setSelected(true);
                }
            }
            {
                polling = new JPanel();
                GridBagLayout pollingLayout = new GridBagLayout();
                pollingLayout.rowWeights = new double[] { 0.1, 0.1, 0.1, 0.1 };
                pollingLayout.rowHeights = new int[] { 7, 7, 7, 7 };
                pollingLayout.columnWeights = new double[] { 0.0, 0.1 };
                pollingLayout.columnWidths = new int[] { 109, 7 };
                polling.setBorder(BorderFactory.createTitledBorder("Status Polling"));
                jPanel1.add(polling, "3,  3,  4,  4");
                polling.setLayout(pollingLayout);
                {
                    jLabel1 = new JLabel();
                    polling.add(jLabel1,
                            new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST,
                                    GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
                    jLabel1.setText("Set the polling interval ");
                    jLabel1.setFont(new java.awt.Font("Sansserif", 0, 11));
                }
                {
                    jSlider1 = new JSlider();
                    polling.add(jSlider1,
                            new GridBagConstraints(0, 1, 2, 2, 0.0, 0.0, GridBagConstraints.NORTHWEST,
                                    GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
                    jSlider1.setMaximum(60);
                    jSlider1.setValue(0);
                    //jSlider1.setMinorTickSpacing(1);
                    //jSlider1.createStandardLabels(5);
                    Hashtable lab = new Hashtable();
                    lab.put(new Integer(0), new JLabel("0"));
                    lab.put(new Integer(20), new JLabel("10"));
                    lab.put(new Integer(40), new JLabel("20"));
                    lab.put(new Integer(60), new JLabel("30"));
                    jSlider1.setLabelTable(lab);

                    jSlider1.setPaintTicks(true);
                    jSlider1.setPaintLabels(true);
                    jSlider1.setSnapToTicks(false);
                    jSlider1.setMajorTickSpacing(2);
                    jSlider1.setFont(new java.awt.Font("Sansserif", 0, 11));
                    jSlider1.addChangeListener(new ChangeListener() {
                        public void stateChanged(ChangeEvent e) {
                            if (jSlider1.getValue() != 0) {
                                Integer i = new Integer(jSlider1.getValue());
                                time1.setText(Float.toString(i.floatValue() / 2));
                                if (pollingButton.getText().equals("Stop Polling")) {
                                    pollTimer.stop();

                                    pollTimer.setInitialDelay(jSlider1.getValue() * 30000);
                                    pollTimer.setDelay(jSlider1.getValue() * 30000);
                                    pollTimer.start();
                                }
                            } else {
                                if (pollingButton.getText().equals("Stop Polling")) {
                                    pollTimer.stop();
                                    pollingButton.setText("Start Polling");
                                }
                                time1.setText("0.0");
                            }
                        }
                    });
                }
                {
                    pollingButton = new JButton();
                    polling.add(pollingButton,
                            new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.SOUTHEAST,
                                    GridBagConstraints.VERTICAL, new Insets(0, 0, 0, 0), 0, 0));
                    pollingButton.setText("Start Polling");
                    pollingButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            if (jSlider1.getValue() > 0) {
                                if (pollingButton.getText().equals("Start Polling")) {
                                    pollTimer = new Timer(jSlider1.getValue() * 30000, new ActionListener() {
                                        public void actionPerformed(ActionEvent evt) {
                                            pollJobState();
                                        }
                                    });
                                    pollTimer.setInitialDelay(1);
                                    pollTimer.start();
                                    pollingButton.setText("Stop Polling");
                                } else {
                                    pollTimer.stop();
                                    pollingButton.setText("Start Polling");
                                }
                            }
                        }
                    });

                }
                {
                    time = new JLabel();
                    polling.add(time, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
                            GridBagConstraints.VERTICAL, new Insets(0, 0, 0, 0), 0, 0));
                    time.setBackground(new java.awt.Color(255, 255, 255));
                    time.setText("Every");
                }
                {
                    jLabel14 = new JLabel();
                    polling.add(jLabel14, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.EAST,
                            GridBagConstraints.VERTICAL, new Insets(0, 0, 0, 0), 0, 0));
                    jLabel14.setText("mins");
                }
                {
                    time1 = new JLabel();
                    polling.add(time1, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
                            GridBagConstraints.VERTICAL, new Insets(0, 0, 0, 0), 0, 0));
                    time1.setText("0.0");
                    ;
                }
            }
        }
        {
            jPanel2 = new JPanel();
            GridLayout jPanel2Layout = new GridLayout(1, 1);
            jPanel2Layout.setColumns(1);
            jPanel2Layout.setHgap(5);
            jPanel2Layout.setVgap(5);
            jPanel2.setLayout(jPanel2Layout);
            TitledBorder title2;
            title2 = BorderFactory.createTitledBorder("Job Output");
            jPanel2.setBorder(title2);
            this.add(jPanel2, "0, 3, 0, 4");
            jPanel2.setPreferredSize(new java.awt.Dimension(630, 254));
            {
                jTabbedPane1 = new JTabbedPane();
                jPanel2.add(jTabbedPane1);

                {
                    gridsamStatus = new JPanel();
                    GridLayout gridsamStatusLayout = new GridLayout(1, 1);
                    gridsamStatusLayout.setColumns(1);
                    gridsamStatusLayout.setHgap(5);
                    gridsamStatusLayout.setVgap(5);
                    gridsamStatus.setLayout(gridsamStatusLayout);
                    jTabbedPane1.addTab("AHE Job Status", null, gridsamStatus, null);
                    {
                        jScrollPane1 = new JScrollPane();
                        gridsamStatus.add(jScrollPane1);
                        {
                            gridsamStatusResults = new JTextArea();
                            jScrollPane1.setViewportView(gridsamStatusResults);
                            gridsamStatusResults.setFont(new java.awt.Font("Monospaced", 0, 12));
                        }
                    }
                }
                {
                    stagedFiles = new JPanel();
                    TableLayout stagedFilesLayout = new TableLayout(new double[][] {
                            { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.FILL,
                                    TableLayout.PREFERRED, TableLayout.PREFERRED },
                            { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.FILL,
                                    TableLayout.FILL, TableLayout.PREFERRED } });
                    stagedFilesLayout.setHGap(5);
                    stagedFilesLayout.setVGap(5);
                    stagedFiles.setLayout(stagedFilesLayout);
                    jTabbedPane1.addTab("Staged Files", null, stagedFiles, null);
                    {
                        filesScrollPane = new JScrollPane();
                        stagedFiles.add(filesScrollPane, "0, 0, 5, 4");
                        {

                            outputFilesTable = new JTable();

                            int col1 = 0, col2 = 0;
                            int fsize = outputFilesTable.getFont().getSize() - 5;
                            Object data[][] = new Object[ajo.getOutfiles().size() + ajo.getInfiles().size()][3];

                            int i = 0;
                            if (ajo.getOutfiles() != null) {
                                Iterator it = ajo.getOutfiles().iterator();
                                while (it.hasNext()) {
                                    JobFileElement je = (JobFileElement) it.next();
                                    data[i][0] = new Boolean(true);
                                    data[i][1] = je.getName();
                                    if (je.getName().length() > col1) {
                                        col1 = je.getName().length();
                                    }
                                    String url = Tools.getUrlNoUP(je.getRemotepath());
                                    data[i][2] = url;
                                    if (url.length() > col2) {
                                        col2 = url.length();
                                    }
                                    i++;
                                }
                            }

                            if (ajo.getInfiles() != null) {
                                Iterator it = ajo.getInfiles().iterator();
                                while (it.hasNext()) {
                                    JobFileElement je = (JobFileElement) it.next();
                                    data[i][0] = new Boolean(false);
                                    data[i][1] = je.getName();
                                    if (je.getName().length() > col1) {
                                        col1 = je.getName().length();
                                    }
                                    String url = Tools.getUrlNoUP(je.getRemotepath());
                                    data[i][2] = url;
                                    if (url.length() > col2) {
                                        col2 = url.length();
                                    }
                                    i++;
                                }
                            }

                            String colNames[] = { "Download", "File Name", "File Location" };

                            TableModel outputFilesTableModel = new MyTableModel(data, colNames);
                            outputFilesTable.setIntercellSpacing(new Dimension(3, 3));
                            outputFilesTable.setModel(outputFilesTableModel);
                            outputFilesTable.getColumnModel().getColumn(0).setPreferredWidth(70);
                            outputFilesTable.getColumnModel().getColumn(1).setPreferredWidth(col1 * fsize);
                            outputFilesTable.getColumnModel().getColumn(2).setPreferredWidth(col2 * fsize);
                            outputFilesTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                            filesScrollPane.setViewportView(outputFilesTable);
                            this.addComponentListener(new ComponentAdapter() {
                                public void componentResized(ComponentEvent e) {
                                    if (outputFilesTable.getWidth() < filesScrollPane.getWidth()) {
                                        outputFilesTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
                                    } else {
                                        outputFilesTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                                    }
                                }
                            });

                        }

                    }
                    {
                        downloadButton = new JButton();
                        stagedFiles.add(downloadButton, "5, 5");
                        downloadButton.setText("Download");
                        downloadButton.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                int outFileSize = ajo.getOutfiles().size();
                                for (int row = 0; row < outputFilesTable.getRowCount(); row++) {
                                    if (((Boolean) outputFilesTable.getValueAt(row, 0))
                                            .booleanValue() == true) {

                                        if (row < outFileSize) {
                                            JobFileElement je = (JobFileElement) ajo.getOutfiles()
                                                    .elementAt(row);

                                            if (fileLocation != null) {
                                                je.setLocalpath(Tools.checkURL(fileLocation) + je.getName());
                                            }

                                            downloadFiles.add(je);
                                        } else {
                                            JobFileElement je = (JobFileElement) ajo.getInfiles()
                                                    .elementAt(row - outFileSize);

                                            if (fileLocation != null) {
                                                je.setLocalpath(Tools.checkURL(fileLocation) + je.getName());
                                            }

                                            downloadFiles.add(je);
                                        }
                                    }

                                }

                                StageFilesIn task = new StageFilesIn(
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.ahedavserver"),
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.ahedavuser"),
                                        ClinicalGuiClient.prop
                                                .getProperty("uk.ac.ucl.chem.ccs.aheclient.ahedavpasswd"));
                                task.init(downloadFiles);

                                ProgressMonitor progressMonitor = new ProgressMonitor(DisplayJobPanel.this,
                                        "Downloading Files", null, 0, task.getLength());
                                //progressMonitor.setMillisToDecideToPopup(1);
                                progressMonitor.setMillisToPopup(100);
                                //jProgressBar1.setMaximum(task.getLength());
                                //jProgressBar1.setValue(0);

                                while (task.filesToStage()) {
                                    if (task.stageNext()) {
                                        progressMonitor.setProgress(task.getCurrent());
                                    } else {
                                        cat.error(task.getError());

                                    }

                                }

                            }
                        });

                    }
                    {
                        changeLocationButton = new JButton();
                        stagedFiles.add(changeLocationButton, "4, 5");
                        changeLocationButton.setText("Local Dir");
                        changeLocationButton.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                JFileChooser fc = new JFileChooser();
                                fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                                int returnVal = fc.showOpenDialog(DisplayJobPanel.this);

                                if (returnVal == JFileChooser.APPROVE_OPTION) {
                                    File file = fc.getSelectedFile();
                                    fileLocation = file.getAbsolutePath();
                                    //System.out.println(fileLocation);
                                }
                            }
                        });

                    }
                }
                {
                    if (ajo.getReGSWSEPR() != null) {

                        regSteering = new JPanel();

                        TableLayout steerLayout = new TableLayout(
                                new double[][] { { TableLayout.FILL }, { TableLayout.FILL, TableLayout.FILL,
                                        TableLayout.FILL, TableLayout.FILL, TableLayout.FILL } });
                        regSteering.setLayout(steerLayout);
                        steeredApp = true;
                        jTabbedPane1.addTab("ReG Steering", null, regSteering, null);
                        {
                            JLabel look = new JLabel("Steering address");
                            steerERP = new JTextField();
                            steer = new JButton("Start Steerer");
                            steer.setEnabled(false);
                            steer.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent evt) {
                                    vs = new VizSteererWindow(h, p, w,
                                            DisplayJobPanel.this.getTopLevelAncestor());
                                }
                            });

                            regSteering.add(look, "0,1");
                            regSteering.add(steerERP, "0,2");
                            regSteering.add(steer, "0,3");

                        }

                    }
                }

            }
        }
        updatePanel();
        this.setPreferredSize(new java.awt.Dimension(630, 605));
        this.setSize(630, 605);
        this.setOpaque(false);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:com.netscape.admin.certsrv.Console.java

public Console(String adminURL, String localAdminURL, String language, String host, String uid, String passwd) {
    Vector<String> recentURLs = new Vector<>();
    String lastUsedURL;/*from  w  ww.jav  a2s. co m*/
    common_init(language);
    String userid = uid;
    String password = passwd;

    if (userid == null) {
        userid = _preferences.getString(PREFERENCE_UID);
    }

    lastUsedURL = _preferences.getString(PREFERENCE_URL);
    if (lastUsedURL != null) {
        recentURLs.addElement(lastUsedURL);
        if (adminURL == null) {
            adminURL = lastUsedURL;
        }
    }

    if (adminURL == null) {
        adminURL = localAdminURL;
    }

    for (int count = 1; count < MAX_RECENT_URLS; count++) {
        String temp;
        temp = _preferences.getString(PREFERENCE_URL + Integer.toString(count));
        if (temp != null && temp.length() > 0)
            recentURLs.addElement(temp);
    }

    _frame = new JFrame();
    // Set the icon image so that login dialog will inherit it
    _frame.setIconImage(new RemoteImage("com/netscape/management/client/images/logo16.gif").getImage());

    ModalDialogUtil.setWindowLocation(_frame);

    //enable server auth
    UtilConsoleGlobals.setServerAuthEnabled(true);

    _splashScreen = new com.netscape.management.client.console.SplashScreen(_frame);
    _splashScreen.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });
    if (_showSplashScreen)
        _splashScreen.showWindow();

    boolean fSecondTry = false;

    while (true) {
        LoginDialog dialog = null;

        _splashScreen.setStatusText(_resource.getString("splash", "PleaseLogin"));
        _splashScreen.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        if ((adminURL == null) || (userid == null) || (password == null) || (fSecondTry)) {
            dialog = new LoginDialog(_frame, userid, adminURL, recentURLs);
            Dimension paneSize = dialog.getSize();
            Dimension screenSize = dialog.getToolkit().getScreenSize();
            int centerX = (screenSize.width - paneSize.width) / 2;
            int centerY = (screenSize.height - paneSize.height) / 2;
            int x = _preferences.getInt(PREFERENCE_X, centerX);
            int y = _preferences.getInt(PREFERENCE_Y, centerY);
            UtilConsoleGlobals.setAdminURL(adminURL);
            UtilConsoleGlobals.setAdminHelpURL(adminURL);
            dialog.setInitialLocation(x, y);
            _splashScreen.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
            dialog.showModal();
            if (dialog.isCancel())
                System.exit(0);
            _splashScreen.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

            userid = dialog.getUsername();
            adminURL = dialog.getURL();
            if (!adminURL.startsWith("http://") && !adminURL.startsWith("https://"))
                adminURL = "http://" + adminURL;
            password = dialog.getPassword();
        }
        fSecondTry = true;
        UtilConsoleGlobals.setAdminURL(adminURL);
        UtilConsoleGlobals.setAdminHelpURL(adminURL);
        _consoleAdminURL = adminURL;

        _splashScreen.setStatusText(
                MessageFormat.format(_resource.getString("splash", "authenticate"), new Object[] { userid }));

        if (authenticate_user(adminURL, _info, userid, password)) {
            _splashScreen.setStatusText(_resource.getString("splash", "initializing"));

            /**
             * Initialize ldap. In the case config DS is down, the user can restart
             * the DS from the Console. The Console will need to re-authenticate
             * the user if that's the case.
             */
            int ldapInitResult = LDAPinitialization(_info);
            if (ldapInitResult == LDAP_INIT_FAILED) {
                Debug.println("Console: LDAPinitialization() failed.");
                System.exit(1);
            } else if (ldapInitResult == LDAP_INIT_DS_RESTART) {
                Debug.println("Console: LDAPinitialization() DS restarted.");

                // Need to re-authenticate the user
                _splashScreen.setStatusText(MessageFormat.format(_resource.getString("splash", "authenticate"),
                        new Object[] { userid }));
                if (authenticate_user(adminURL, _info, userid, password)) {
                    _splashScreen.setStatusText(_resource.getString("splash", "initializing"));
                    if (LDAPinitialization(_info) == LDAP_INIT_FAILED) {
                        Debug.println("Console: LDAPinitialization() failed.");
                        System.exit(1);
                    }
                } else {
                    continue; // Autentication faled, try again
                }
            } else if (ldapInitResult == LDAP_INIT_BIND_FAIL) {
                continue;
            }

            boolean rememberUserid = _preferences.getBoolean(PREFERENCE_REMEMBER_UID, true);
            if (rememberUserid) {
                _preferences.set(PREFERENCE_UID, userid);
                _preferences.set(PREFERENCE_URL, adminURL);

                String recentlyUsedURL;
                int count = 1;
                Enumeration<String> urlEnum = recentURLs.elements();
                while (urlEnum.hasMoreElements()) {
                    recentlyUsedURL = urlEnum.nextElement();
                    if (!recentlyUsedURL.equals(adminURL))
                        _preferences.set(PREFERENCE_URL + Integer.toString(count++), recentlyUsedURL);
                }

                for (; count < MAX_RECENT_URLS; count++) {
                    _preferences.remove(PREFERENCE_URL + Integer.toString(count));
                }

                if (dialog != null) {
                    Point p = dialog.getLocation();
                    _preferences.set(PREFERENCE_X, p.x);
                    _preferences.set(PREFERENCE_Y, p.y);
                    dialog.dispose();
                    dialog = null;
                }
                _preferences.save();
            }

            initialize(_info);
            if (host == null) {
                Framework framework = createTopologyFrame();
                UtilConsoleGlobals.setRootFrame(framework.getJFrame());
            } else {
                // popup the per server configuration UI
                // first get the java class name
                createPerInstanceUI(host);
            }

            _frame.dispose();
            _splashScreen.dispose();
            com.netscape.management.client.console.SplashScreen.removeInstance();
            _splashScreen = null;

            break;
        }
    }
}

From source file:org.kepler.gui.kar.ImportModuleDependenciesAction.java

/** Check the dependencies and ask the user how to proceed. */
public ImportChoice checkDependencies() {

    ConfigurationManager cman = ConfigurationManager.getInstance();
    ConfigurationProperty cprop = cman.getProperty(KARFile.KARFILE_CONFIG_PROP_MODULE);
    ConfigurationProperty KARComplianceProp = cprop.getProperty(KARFile.KAR_COMPLIANCE_PROPERTY_NAME);
    String KARCompliance = KARComplianceProp.getValue();

    final ArrayList<String> dependencies = new ArrayList<String>();
    try {/*  www . j  a  v a 2 s  .co m*/
        if (_dependencies != null) {
            // dependencies were given
            dependencies.addAll(_dependencies);
        } else if (_archiveFile != null) {
            // kar file was given
            KARFile karFile = null;
            try {
                karFile = new KARFile(_archiveFile);
                dependencies.addAll(karFile.getModuleDependencies());
            } finally {
                if (karFile != null) {
                    karFile.close();
                }
            }
        } else {
            // karxml was given
            dependencies.addAll(_karXml.getModuleDependencies());
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    //ModuleTree moduleTree = ModuleTree.instance();
    //String currentModList = formattedCurrentModuleList(moduleTree);

    boolean dependencyMissingFullVersion = !(ModuleDependencyUtil
            .isDependencyVersioningInfoComplete(dependencies));
    LinkedHashMap<String, Version> unsatisfiedDependencies = ModuleDependencyUtil
            .getUnsatisfiedDependencies(dependencies);

    String keplerRestartMessage = null;
    String unableToOpenOrExportInStrictKARComplianceMessage = null;
    String manualActionRequired = null;
    String unSats = formattedUnsatisfiedDependencies(unsatisfiedDependencies);
    final List<String> unSatsAsList = new ArrayList<String>(unsatisfiedDependencies.keySet());

    String formattedDependencies = formatDependencies(dependencies);
    String htmlBGColor = "#"
            + Integer.toHexString(UIManager.getColor("OptionPane.background").getRGB() & 0x00ffffff);
    //XXX augment if additional strictness levels added
    if (KARCompliance.equals(KARFile.KAR_COMPLIANCE_STRICT)) {
        if (dependencyMissingFullVersion) {
            if (_exportMode) {
                unableToOpenOrExportInStrictKARComplianceMessage = "<html><body bgcolor=\"" + htmlBGColor
                        + "\">This KAR "
                        + "lacks complete versioning information in its module-dependency list:<strong>"
                        + formattedDependencies
                        + "</strong><br><br>You must change your KAR opening compliance "
                        + "preference to Relaxed before trying to export this KAR.<br><br>"
                        + "You can Force Export, but some artifacts may not be included in the KAR.</body></html>";
            } else {
                unableToOpenOrExportInStrictKARComplianceMessage = "<html><body bgcolor=\"" + htmlBGColor
                        + "\">This KAR "
                        + "lacks complete versioning information in its module-dependency list:<strong>"
                        + formattedDependencies
                        + "</strong><br><br>You must change your KAR opening compliance "
                        + "preference to Relaxed before trying to open this KAR.<br><br>"
                        + "You can attempt a Force Open, but this may cause unexpected errors.</body></html>";
            }
        } else {
            if (!unsatisfiedDependencies.isEmpty()) {
                if (_exportMode) {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">Your KAR opening compliance preference is set to Strict. To export this KAR in<br>"
                            + "Strict mode you must restart Kepler with these additional module(s):<strong>"
                            + unSats
                            + "</strong><br><br>Would you like to download (if necessary) and restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost, and auto-updating turned off if it's on<br>"
                            + "(re-enable using the Tools=>Module Manager...)</strong><br><br>"
                            + "You can Force Export, but some artifacts may not be included in the KAR.</body></html>";
                } else {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">Your KAR opening compliance preference is set to Strict. To open this KAR in<br>"
                            + "Strict mode you must restart Kepler with these additional module(s):<strong>"
                            + unSats
                            + "</strong><br><br>Would you like to download (if necessary) and restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost, and auto-updating turned off if it's on<br>"
                            + "(re-enable using the Tools=>Module Manager...)</strong><br><br>"
                            + "You can attempt a Force Open, but this may cause unexpected errors.</body></html>";
                }
            } else {
                if (_exportMode) {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">Your KAR opening compliance preference is set to Strict. To export this KAR in<br>"
                            + "Strict mode you must restart Kepler using this module set in this order:<strong>"
                            + formattedDependencies
                            + "</strong><br><br>Would you like to restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost, and auto-updating turned off if it's on<br>"
                            + "(re-enable using the Tools=>Module Manager...)</strong><br><br>"
                            + "You can Force Export, but some artifacts may not be included in the KAR.</body></html>";
                } else {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">Your KAR opening compliance preference is set to Strict. To open this KAR in<br>"
                            + "Strict mode you must restart Kepler using this module set in this order:<strong>"
                            + formattedDependencies
                            + "</strong><br><br>Would you like to restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost, and auto-updating turned off if it's on<br>"
                            + "(re-enable using the Tools=>Module Manager...)</strong><br><br>"
                            + "You can attempt a Force Open, but this may cause unexpected errors.</body></html>";
                }
            }
        }
    } else if (KARCompliance.equals(KARFile.KAR_COMPLIANCE_RELAXED)) {
        if (dependencyMissingFullVersion) {
            // if there's a dependency missing full version info, situation should be either 1) a 2.0 kar, in which case
            // it lacks the full mod dep list and so user must use MM, or 2) it's a 2.1 kar created from an svn 
            // checkout of kepler, in which case, the power user should use the build system to 
            // change to unreleased versions of a suite containing the required modules as necessary
            if (_exportMode) {
                manualActionRequired = "<html><body bgcolor=\"" + htmlBGColor + "\">This KAR "
                        + "requires the following unsatisfied module dependencies that lack complete versioning information:<strong>"
                        + unSats
                        + "</strong><br><br>Please use the Module Manager or build system to change to a suite that uses these modules.</strong>"
                        + "<br><br>You can Force Export, but some artifacts may not be included in the KAR.</body></html>";
            } else {
                manualActionRequired = "<html><body bgcolor=\"" + htmlBGColor + "\">This KAR "
                        + "requires the following unsatisfied module dependencies that lack complete versioning information:<strong>"
                        + unSats
                        + "</strong><br><br>Please use the Module Manager or build system to change to a suite that uses these modules.</strong>"
                        + "<br><br>You can attempt a Force Open, but this may cause unexpected errors.</body></html>";
            }
        } else {
            if (!unsatisfiedDependencies.isEmpty()) {
                if (_exportMode) {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">This KAR requires you restart Kepler with these "
                            + "additional module(s):<strong>" + unSats + "</strong><br><br>Would you like to "
                            + "download (if necessary) and restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost</strong><br><br>"
                            + "You can Force Export, but some artifacts may not be included in the KAR.</body></html>";
                } else {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">This KAR requires you restart Kepler with these "
                            + "additional module(s):<strong>" + unSats + "</strong><br><br>Would you like to "
                            + "download (if necessary) and restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost</strong><br><br>"
                            + "You can attempt a Force Open, but this may cause unexpected errors.</body></html>";
                }
            } else {
                //THIS SHOULDN'T HAPPEN
                log.error(
                        "ImportModuleDependenciesAction WARNING unsatisfiedDependencies is empty, this shouldn't happen, but is non fatal");
                if (_exportMode) {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">This KAR requires you restart Kepler with these " + "module(s):<strong>"
                            + formattedDependencies + "</strong><br><br>Would you like to "
                            + "restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost</strong><br><br>"
                            + "You can Force Export, but some artifacts may not be included in the KAR.</body></html>";
                } else {
                    keplerRestartMessage = "<html><body bgcolor=\"" + htmlBGColor
                            + "\">This KAR requires you restart Kepler with these " + "module(s):<strong>"
                            + formattedDependencies + "</strong><br><br>Would you like to "
                            + "restart Kepler using these modules now?"
                            + "<br><br><strong>WARNING: All unsaved work will be lost</strong><br><br>"
                            + "You can attempt a Force Open, but this may cause unexpected errors.</body></html>";
                }
            }
        }
    }

    String[] optionsOkForceopen = { "OK", "Force Open" };
    String[] optionsOkForceexport = { "OK", "Force Export" };
    String[] optionsYesNoForceopen = { "Yes", "No", "Force Open" };
    String[] optionsYesNoForceexport = { "Yes", "No", "Force Export" };

    if (unableToOpenOrExportInStrictKARComplianceMessage != null) {
        JLabel label = new JLabel(unableToOpenOrExportInStrictKARComplianceMessage);
        if (_exportMode) {
            int choice = JOptionPane.showOptionDialog(parent, label, "Unable to export in Strict mode",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, optionsOkForceexport,
                    optionsOkForceexport[0]);
            if (optionsOkForceexport[choice].equals("Force Export")) {
                return ImportChoice.FORCE_EXPORT;
            }
        } else {
            int choice = JOptionPane.showOptionDialog(parent, label, "Unable to open in Strict mode",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, optionsOkForceopen,
                    optionsOkForceopen[0]);
            if (optionsOkForceopen[choice].equals("Force Open")) {
                return ImportChoice.FORCE_OPEN;
            }
        }
        return ImportChoice.DO_NOTHING;
    }

    if (manualActionRequired != null) {
        JLabel label = new JLabel(manualActionRequired);
        if (_exportMode) {
            int choice = JOptionPane.showOptionDialog(parent, label, "Use Module Manager",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, optionsOkForceexport,
                    optionsOkForceexport[0]);
            if (optionsOkForceexport[choice].equals("Force Export")) {
                return ImportChoice.FORCE_EXPORT;
            }
        } else {
            int choice = JOptionPane.showOptionDialog(parent, label, "Use Module Manager",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, optionsOkForceopen,
                    optionsOkForceopen[0]);
            if (optionsOkForceopen[choice].equals("Force Open")) {
                return ImportChoice.FORCE_OPEN;
            }
        }
        return ImportChoice.DO_NOTHING;
    }

    JLabel label = new JLabel(keplerRestartMessage);
    if (_exportMode) {
        int choice = JOptionPane.showOptionDialog(parent, label, "Confirm Kepler Restart",
                JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, optionsYesNoForceexport,
                optionsYesNoForceexport[1]);

        if (optionsYesNoForceexport[choice] == "No") {
            // user doesn't want to download.
            return ImportChoice.DO_NOTHING;
        } else if (optionsYesNoForceexport[choice].equals("Force Export")) {
            return ImportChoice.FORCE_EXPORT;
        }
    } else {
        int choice = JOptionPane.showOptionDialog(parent, label, "Confirm Kepler Restart",
                JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, optionsYesNoForceopen,
                optionsYesNoForceopen[1]);

        if (optionsYesNoForceopen[choice] == "No") {
            // user doesn't want to download.
            return ImportChoice.DO_NOTHING;
        } else if (optionsYesNoForceopen[choice].equals("Force Open")) {
            return ImportChoice.FORCE_OPEN;
        }
    }

    parent.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

    SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
        @Override
        public Void doInBackground() throws Exception {
            try {

                //download needed modules
                ModuleDownloader downloader = new ModuleDownloader();
                ModuleDownloadProgressMonitor mdpm = new ModuleDownloadProgressMonitor(parent);
                downloader.addListener(mdpm);
                if (!unSatsAsList.isEmpty()) {
                    downloader.downloadModules(unSatsAsList);
                } else {
                    // this shouldn't happen, but if it does, resorting
                    // to downloading all dependencies should be a safe bet
                    log.error("ImportModuleDependenciesAction WARNING unSatsAsList is empty, "
                            + "this shouldn't happen, but is non fatal");
                    downloader.downloadModules(dependencies);
                }

                //rewrite modules.txt
                ModulesTxt modulesTxt = ModulesTxt.instance();
                modulesTxt.clear();
                for (String dependency : dependencies) {
                    //System.out.println("ImportModuleDependency doInBackground modulesTxt.add("+dependency+")");
                    modulesTxt.add(dependency);
                }
                modulesTxt.write();

                //delete and write "unknown" to current-suite.txt
                CurrentSuiteTxt.delete();
                CurrentSuiteTxt.setName("unknown");

                // if KARCompliance is Strict, user is restarting w/ specific versions of modules
                // and we don't want them to potentially auto update on restart to available patches
                turnOffAutoUpdatesIfStrictMode();

                //restart Kepler using new modules
                spawnNewKeplerAndQuitCurrent();

                return null;
            } catch (Exception ex) {
                ex.printStackTrace();
                JOptionPane.showMessageDialog(parent, "Error downloading module: " + ex.getMessage());
                return null;
            }
        }

        @Override
        protected void done() {
            //never reached.
        }

    };

    worker.execute();

    parent.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));

    return ImportChoice.DOWNLOADING_AND_RESTARTING;
}

From source file:org.geworkbench.engine.ccm.ComponentConfigurationManagerWindow.java

/**
 * Persist users component selections //from w  w  w  .  ja  v a  2 s.  co  m
 * Add newly selected components 
 * Remove newly unselected components Leave CCM Window open
 * 
 * @param ActionEvent
 * @return void
 */
private void applyCcmSelections_actionPerformed(ActionEvent e) {
    Cursor hourglassCursor = new Cursor(Cursor.WAIT_CURSOR);
    frame.setCursor(hourglassCursor);

    for (int i = 0; i < ccmTableModel.getModelRowCount(); i++) {

        boolean choice = ((Boolean) ccmTableModel.getModelValueAt(i, CCMTableModel.SELECTION_INDEX))
                .booleanValue();

        boolean originalChoice = this.originalChoices.get(i).booleanValue();
        /* No change in selection */
        if (choice == originalChoice) {
            continue;
        }

        String resource = ccmTableModel.getResourceFolder(i);
        File file = ccmTableModel.getFile(i);
        String filename = file.getName();

        String propFileName = null;
        if (filename.endsWith(".cwb.xml")) {
            propFileName = filename.replace(".cwb.xml", ".ccmproperties");
        } else {
            log.error("File name is " + filename + " when .cwb.xml file is expected");
            continue;
        }
        String sChoice = (new Boolean(choice)).toString();

        ComponentConfigurationManager.writeProperty(resource, propFileName, "on-off", sChoice);

        if (choice) {
            manager.loadComponent(file);
            continue;
        }

        /* Remove Component */
        manager.removeComponent(resource, file.getAbsolutePath());

        ccmTableModel.fireTableDataChanged();
        if (textPane.getCaretPosition() > 1) {
            textPane.setCaretPosition(1);
        }
    }
    ProjectPanel.getInstance().ccmUpdate();

    setOriginalChoices();

    Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR);
    frame.setCursor(normalCursor);
}