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 53721
Collapse All | Expand All

(-)apichanges.xml (+18 lines)
Lines 80-85 Link Here
80
    <!-- ACTUAL CHANGES BEGIN HERE: -->
80
    <!-- ACTUAL CHANGES BEGIN HERE: -->
81
81
82
    <changes>
82
    <changes>
83
        <change id="Add-StartServer-needsRestart">
84
            <api name="plugins"/>
85
            <summary>StartServer.needsRestart tells j2eeserver a state of the server</summary>
86
            <version major="1" minor="6"/>
87
            <date day="20" month="1" year="2005"/>
88
            <author login="nnguyen"/>
89
            <compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
90
            <description>
91
                <p>
92
                    This optional method allow plugin to communicate with
93
		    j2eeserver about the need to restart the server before
94
		    deployment so that last changes to server configuration
95
		    would take effect.
96
                </p>
97
            </description>
98
            <class package="org.netbeans.modules.j2ee.deployment.plugins.api" name="StartServer"/>
99
            <issue number="53721"/>
100
        </change>
83
    
101
    
84
        <change id="Add-ModuleChangeDescriptor-getChangedFiles">
102
        <change id="Add-ModuleChangeDescriptor-getChangedFiles">
85
            <api name="plugins"/>
103
            <api name="plugins"/>
(-)src/org/netbeans/modules/j2ee/deployment/impl/ServerInstance.java (-2 / +29 lines)
Lines 422-432 Link Here
422
        }
422
        }
423
        
423
        
424
        boolean canControlAdmin = ss.supportsStartDeploymentManager();
424
        boolean canControlAdmin = ss.supportsStartDeploymentManager();
425
        boolean needsRestart = ss.needsRestart(target);
425
426
426
        if (ss.isAlsoTargetServer(target)) {
427
        if (ss.isAlsoTargetServer(target)) {
427
            if (debugMode) { 
428
            if (debugMode) { 
428
                if (ss.isDebuggable(target)) { // implies ss.isRunning() true
429
                if (ss.isDebuggable(target)) { // implies ss.isRunning() true
430
                    if (! needsRestart) {
429
                    return true;
431
                    return true;
432
                    }
433
                    if (! canControlAdmin || ! _stop(ui)) {
434
                        return errorCannotControlAdmin(ui);
435
                    }
436
                    
430
                } else if (isReallyRunning()) { // running but not debuggable
437
                } else if (isReallyRunning()) { // running but not debuggable
431
                    if (canControlAdmin) {
438
                    if (canControlAdmin) {
432
                        if (! _stop(ui))
439
                        if (! _stop(ui))
Lines 442-456 Link Here
442
                }
449
                }
443
            } else {
450
            } else {
444
                if (isReallyRunning()) {
451
                if (isReallyRunning()) {
452
                    if (! needsRestart) {
445
                    return true;
453
                    return true;
446
                } else if (canControlAdmin) {
454
                    } 
455
                    if (! canControlAdmin || ! _stop(ui)) {
456
                        return errorCannotControlAdmin(ui);
457
                    }
458
                }
459
                if (canControlAdmin) {
447
                    return _start(ui);
460
                    return _start(ui);
448
                } else {
461
                } else {
449
                    return errorCannotControlAdmin(ui);
462
                    return errorCannotControlAdmin(ui);
450
                }
463
                }
451
            }
464
            }
452
        } else { // not also target server
465
        } else { // not also target server
453
            // using JSR-77 Management so need to make sure admin is running
466
            // this block ensure a running admin server to control other targets
454
            if (! isReallyRunning()) {
467
            if (! isReallyRunning()) {
455
                if (canControlAdmin) {
468
                if (canControlAdmin) {
456
                    if (! _start(ui)) {
469
                    if (! _start(ui)) {
Lines 462-474 Link Here
462
            }
475
            }
463
            if (debugMode) {
476
            if (debugMode) {
464
                if (ss.isDebuggable(target)) {
477
                if (ss.isDebuggable(target)) {
478
                    if ( ! needsRestart) {
465
                    return true;
479
                    return true;
466
                }
480
                }
467
                if (! _stop(target, ui)) {
481
                if (! _stop(target, ui)) {
468
                    return false;
482
                    return false;
469
                }
483
                }
484
                } else if (ss.isRunning(target)) {
485
                    if (! _stop(target, ui)) {
486
                        return false;
487
                    }
488
                }
470
                return _startDebug(target, ui);
489
                return _startDebug(target, ui);
471
            } else {
490
            } else {
491
                if (ss.isRunning(target)) {
492
                    if (! needsRestart) {
493
                        return true;
494
                    }
495
                    if ( ! _stop(target, ui)) {
496
                        return false;
497
                    }
498
                }
472
                return _start(target, ui);
499
                return _start(target, ui);
473
            }
500
            }
474
        }
501
        }
(-)src/org/netbeans/modules/j2ee/deployment/plugins/api/StartServer.java (+11 lines)
Lines 161-164 Link Here
161
     * Returns the host/port necessary for connecting to the server's debug information.
161
     * Returns the host/port necessary for connecting to the server's debug information.
162
     */
162
     */
163
    public abstract ServerDebugInfo getDebugInfo(Target target);
163
    public abstract ServerDebugInfo getDebugInfo(Target target);
164
    
165
    /**
166
     * Returns true if target server needs a restart for last configuration changes to 
167
     * take effect.  Implementation should override when communication about this 
168
     * server state is needed.
169
     *
170
     * @param target target server; null implies the case where target is also admin server.
171
     */
172
    public boolean needsRestart(Target target) {
173
         return false;
174
    }
164
}
175
}

Return to bug 53721