This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 247200
Collapse All | Expand All

(-)autoupdate.cli/nbproject/project.xml (-8 lines)
Lines 89-102 Link Here
89
                    </run-dependency>
89
                    </run-dependency>
90
                </dependency>
90
                </dependency>
91
                <dependency>
91
                <dependency>
92
                    <code-name-base>org.openide.util</code-name-base>
93
                    <build-prerequisite/>
94
                    <compile-dependency/>
95
                    <run-dependency>
96
                        <specification-version>9.0</specification-version>
97
                    </run-dependency>
98
                </dependency>
99
                <dependency>
100
                    <code-name-base>org.openide.util.base</code-name-base>
92
                    <code-name-base>org.openide.util.base</code-name-base>
101
                    <build-prerequisite/>
93
                    <build-prerequisite/>
102
                    <compile-dependency/>
94
                    <compile-dependency/>
(-)autoupdate.cli/src/org/netbeans/modules/autoupdate/cli/ModuleOptions.java (-50 / +36 lines)
Lines 43-50 Link Here
43
 */
43
 */
44
package org.netbeans.modules.autoupdate.cli;
44
package org.netbeans.modules.autoupdate.cli;
45
45
46
import java.beans.PropertyChangeEvent;
47
import java.beans.PropertyChangeListener;
48
import java.io.IOException;
46
import java.io.IOException;
49
import java.io.PrintStream;
47
import java.io.PrintStream;
50
import java.net.MalformedURLException;
48
import java.net.MalformedURLException;
Lines 62-75 Link Here
62
import java.util.prefs.Preferences;
60
import java.util.prefs.Preferences;
63
import java.util.regex.Pattern;
61
import java.util.regex.Pattern;
64
import java.util.regex.PatternSyntaxException;
62
import java.util.regex.PatternSyntaxException;
65
import javax.swing.JLabel;
66
import org.netbeans.api.autoupdate.*;
63
import org.netbeans.api.autoupdate.*;
67
import org.netbeans.api.autoupdate.InstallSupport.Installer;
64
import org.netbeans.api.autoupdate.InstallSupport.Installer;
68
import org.netbeans.api.autoupdate.InstallSupport.Validator;
65
import org.netbeans.api.autoupdate.InstallSupport.Validator;
69
import org.netbeans.api.autoupdate.OperationContainer.OperationInfo;
66
import org.netbeans.api.autoupdate.OperationContainer.OperationInfo;
70
import org.netbeans.api.autoupdate.OperationSupport.Restarter;
67
import org.netbeans.api.autoupdate.OperationSupport.Restarter;
71
import org.netbeans.api.progress.ProgressHandle;
68
import org.netbeans.api.progress.ProgressHandle;
72
import org.netbeans.api.progress.ProgressHandleFactory;
73
import org.netbeans.api.sendopts.CommandException;
69
import org.netbeans.api.sendopts.CommandException;
74
import org.netbeans.spi.sendopts.Env;
70
import org.netbeans.spi.sendopts.Env;
75
import org.netbeans.spi.sendopts.Option;
71
import org.netbeans.spi.sendopts.Option;
Lines 78-83 Link Here
78
import org.openide.util.*;
74
import org.openide.util.*;
79
75
80
import static org.netbeans.modules.autoupdate.cli.Bundle.*;
76
import static org.netbeans.modules.autoupdate.cli.Bundle.*;
77
import org.netbeans.modules.progress.spi.Controller;
78
import org.netbeans.modules.progress.spi.InternalHandle;
79
import org.netbeans.modules.progress.spi.ProgressEvent;
80
import org.netbeans.modules.progress.spi.ProgressUIWorker;
81
81
82
/**
82
/**
83
 *
83
 *
Lines 335-370 Link Here
335
            return;
335
            return;
336
        }
336
        }
337
        env.getOutputStream().println("updates=" + operate.listAll().size()); // NOI18N
337
        env.getOutputStream().println("updates=" + operate.listAll().size()); // NOI18N
338
        ProgressHandle downloadHandle = ProgressHandleFactory.createHandle("downloading-updates"); // NOI18N
338
        ProgressHandle downloadHandle = new CLIProgressHandle("downloading-updates", env); // NOI18N
339
        downloadHandle.setInitialDelay(0);
339
        downloadHandle.setInitialDelay(0);
340
        JLabel downloadDetailLabel = ProgressHandleFactory.createDetailLabelComponent(downloadHandle);
341
        downloadDetailLabel.addPropertyChangeListener(new PropertyChangeListener() {
342
            @Override
343
            public void propertyChange(PropertyChangeEvent evt) {
344
                if ("text".equals(evt.getPropertyName())) { // NOI18N
345
                    env.getOutputStream().println(
346
                            Bundle.MSG_Download(evt.getNewValue()));
347
                    LOG.fine("  ... downloading update " + evt.getNewValue());
348
                }
349
            }
350
        });
351
        try {
340
        try {
352
            final Validator res1 = support.doDownload(downloadHandle, null, false);
341
            final Validator res1 = support.doDownload(downloadHandle, null, false);
353
342
354
            Installer res2 = support.doValidate(res1, null);
343
            Installer res2 = support.doValidate(res1, null);
355
344
356
            ProgressHandle installHandle = ProgressHandleFactory.createHandle("installing-updates"); // NOI18N
345
            ProgressHandle installHandle = new CLIProgressHandle("installing-updates", env); // NOI18N
357
            installHandle.setInitialDelay(0);
346
            installHandle.setInitialDelay(0);
358
            JLabel installDetailLabel = ProgressHandleFactory.createDetailLabelComponent(installHandle);
359
            installDetailLabel.addPropertyChangeListener(new PropertyChangeListener() {
360
                @Override
361
                public void propertyChange(PropertyChangeEvent evt) {
362
                    if ("text".equals(evt.getPropertyName())) {
363
                        env.getOutputStream().println(evt.getNewValue());
364
                        LOG.fine("  ... installing update " + evt.getNewValue());
365
                    }
366
                }
367
            });
368
            Restarter res3 = support.doInstall(res2, installHandle);
347
            Restarter res3 = support.doInstall(res2, installHandle);
369
            if (res3 != null) {
348
            if (res3 != null) {
370
                support.doRestart(res3, null);
349
                support.doRestart(res3, null);
Lines 445-479 Link Here
445
        }
424
        }
446
        try {
425
        try {
447
            env.getOutputStream().println("modules=" + operate.listAll().size()); // NOI18N
426
            env.getOutputStream().println("modules=" + operate.listAll().size()); // NOI18N
448
            ProgressHandle downloadHandle = ProgressHandleFactory.createHandle("downloading-modules"); // NOI18N
427
            ProgressHandle downloadHandle = new CLIProgressHandle("downloading-modules", env); // NOI18N
449
            downloadHandle.setInitialDelay(0);
428
            downloadHandle.setInitialDelay(0);
450
            JLabel downloadDetailLabel = ProgressHandleFactory.createDetailLabelComponent(downloadHandle);
451
            downloadDetailLabel.addPropertyChangeListener(new PropertyChangeListener() {
452
                @Override
453
                public void propertyChange(PropertyChangeEvent evt) {
454
                    if ("text".equals(evt.getPropertyName())) { // NOI18N
455
                        env.getOutputStream().println(
456
                                Bundle.MSG_Download(evt.getNewValue()));
457
                        LOG.fine("  ... downloading module " + evt.getNewValue());
458
                    }
459
                }
460
            });
461
            final Validator res1 = support.doDownload(downloadHandle, null, false);
429
            final Validator res1 = support.doDownload(downloadHandle, null, false);
462
430
463
            Installer res2 = support.doValidate(res1, null);
431
            Installer res2 = support.doValidate(res1, null);
464
432
465
            ProgressHandle installHandle = ProgressHandleFactory.createHandle("installing-modules"); // NOI18N
433
            ProgressHandle installHandle = new CLIProgressHandle("installing-modules", env); // NOI18N
466
            installHandle.setInitialDelay(0);
434
            installHandle.setInitialDelay(0);
467
            JLabel installDetailLabel = ProgressHandleFactory.createDetailLabelComponent(installHandle);
468
            installDetailLabel.addPropertyChangeListener(new PropertyChangeListener() {
469
                @Override
470
                public void propertyChange(PropertyChangeEvent evt) {
471
                    if ("text".equals(evt.getPropertyName())) { // NOI18N
472
                        env.getOutputStream().println(evt.getNewValue());
473
                        LOG.fine("  ... installing module " + evt.getNewValue());
474
                    }
475
                }
476
            });
477
            Restarter res3 = support.doInstall(res2, installHandle);
435
            Restarter res3 = support.doInstall(res2, installHandle);
478
            if (res3 != null) {
436
            if (res3 != null) {
479
                support.doRestart(res3, null);
437
                support.doRestart(res3, null);
Lines 537-540 Link Here
537
        return res;
495
        return res;
538
    }
496
    }
539
    
497
    
498
    private class CLIProgressHandle extends ProgressHandle {
499
        public CLIProgressHandle(String displayName, Env env) {
500
            super(new CLIInternalHandle(displayName, env));
540
}
501
}
502
    }
503
504
    private class CLIInternalHandle extends InternalHandle {
505
        public CLIInternalHandle(String displayName, Env env) {
506
            super(displayName, null, false);
507
            setController(new Controller(new CLIProgressUIWorker(env)));
508
        }
509
    }
510
511
    private class CLIProgressUIWorker implements ProgressUIWorker { 
512
        private final Env env;
513
        public CLIProgressUIWorker(Env env) {
514
            this.env = env;
515
        }
516
        @Override
517
        public void processProgressEvent(ProgressEvent event) {
518
            env.getOutputStream().println(event.getMessage());
519
        }
520
        @Override
521
        public void processSelectedProgressEvent(ProgressEvent event) {
522
            env.getOutputStream().println(event.getMessage());
523
        }
524
    }
525
    
526
}

Return to bug 247200