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

(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/Bundle.properties (+2 lines)
Lines 54-56 Link Here
54
54
55
MSG_INVALID_URI=Invalid URI: {0}
55
MSG_INVALID_URI=Invalid URI: {0}
56
MSG_ERROR_CREATING_DM=Error during Deployment Manager creation.
56
MSG_ERROR_CREATING_DM=Error during Deployment Manager creation.
57
58
MSG_ApplicationStarted=Application started
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/JBDeployer.java (-1 / +1 lines)
Lines 265-271 Link Here
265
            // allow the thread to exit
265
            // allow the thread to exit
266
        }
266
        }
267
267
268
        fireHandleProgressEvent(null, new JBDeploymentStatus(ActionType.EXECUTE, CommandType.DISTRIBUTE, StateType.COMPLETED, "Applicaton Deployed"));
268
        fireHandleProgressEvent(null, new JBDeploymentStatus(ActionType.EXECUTE, CommandType.DISTRIBUTE, StateType.COMPLETED, "Application deployed"));
269
    }
269
    }
270
270
271
    /**
271
    /**
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/JBDeploymentFactory.java (-2 / +34 lines)
Lines 156-161 Link Here
156
                // dom4j.jar library for JBoss Application Server 4.0.5
156
                // dom4j.jar library for JBoss Application Server 4.0.5
157
                domFile = new File(domainRoot, JBPluginUtils.LIB + "dom4j.jar"); // NOI18N
157
                domFile = new File(domainRoot, JBPluginUtils.LIB + "dom4j.jar"); // NOI18N
158
            }
158
            }
159
160
            String sep = File.separator;
161
            if (!domFile.exists() && "7".equals(JBVer.getMajorNumber())) {
162
                domFile = new File(serverRoot, JBPluginUtils.MODULES + "org" + sep + "dom4j" + sep + "main" + sep + "dom4j-1.6.1.jar"); // NOI18N
163
            }
159
            if (!domFile.exists()) {
164
            if (!domFile.exists()) {
160
                domFile = null;
165
                domFile = null;
161
                LOGGER.log(Level.INFO, "No dom4j.jar availabale on classpath"); // NOI18N
166
                LOGGER.log(Level.INFO, "No dom4j.jar availabale on classpath"); // NOI18N
Lines 179-185 Link Here
179
                urlList.add(domFile.toURI().toURL());
184
                urlList.add(domFile.toURI().toURL());
180
            }
185
            }
181
186
182
            if  (version5Above) {
187
            if ("7".equals(JBVer.getMajorNumber())) {
188
               
189
                File org = new File(serverRoot, JBPluginUtils.MODULES + "org");
190
                File jboss = new File(org, "jboss");
191
                File as = new File(jboss, "as");
192
                String versionString = JBVer.getMajorNumber()+"."+JBVer.getMinorNumber()+"."+JBVer.getMicroNumber()+"."+JBVer.getUpdate();
193
                
194
                if (domFile.exists()) {
195
                    urlList.add(domFile.toURI().toURL());
196
                }
197
                
198
                urlList.add(new File(serverRoot, "jboss-modules.jar").toURI().toURL());
199
                urlList.add(new File(serverRoot, "bin"+sep+"client"+sep+"jboss-client.jar").toURI().toURL());
200
                urlList.add(new File(jboss, "logging" + sep + "main" + sep + "jboss-logging-3.1.0.GA.jar").toURI().toURL());
201
                urlList.add(new File(jboss, "threads" + sep + "main" + sep + "jboss-threads-2.0.0.GA.jar").toURI().toURL());
202
                urlList.add(new File(jboss, "remoting3" + sep + "main" + sep + "jboss-remoting-3.2.3.GA.jar").toURI().toURL());
203
                urlList.add(new File(jboss, "xnio" + sep + "main" + sep + "xnio-api-3.0.3.GA.jar").toURI().toURL());
204
                urlList.add(new File(jboss, "msc" + sep + "main" + sep + "jboss-msc-1.0.2.GA.jar").toURI().toURL());
205
                urlList.add(new File(as, "ee" + sep + "deployment" + sep + "main" + sep + "jboss-as-ee-deployment-" + versionString + ".jar").toURI().toURL());
206
                urlList.add(new File(as, "naming" + sep + "main" + sep + "jboss-as-naming-" + versionString + ".jar").toURI().toURL());
207
                urlList.add(new File(as, "controller-client" + sep + "main" + sep + "jboss-as-controller-client-" + versionString + ".jar").toURI().toURL());
208
                urlList.add(new File(as, "protocol" + sep + "main" + sep + "jboss-as-protocol-" + versionString + ".jar").toURI().toURL());
209
            } else if (version5Above) {
183
                // get lient class path for Jboss 5.0
210
                // get lient class path for Jboss 5.0
184
                List<URL> clientClassUrls = JBPluginUtils.getJB5ClientClasspath(
211
                List<URL> clientClassUrls = JBPluginUtils.getJB5ClientClasspath(
185
                        serverRoot);
212
                        serverRoot);
Lines 274-282 Link Here
274
                    jbossFactory = (DeploymentFactory) FACTORIES_CACHE.get(ip);
301
                    jbossFactory = (DeploymentFactory) FACTORIES_CACHE.get(ip);
275
                }
302
                }
276
                if (jbossFactory == null) {
303
                if (jbossFactory == null) {
304
                    Version version = JBPluginUtils.getServerVersion(new File(jbossRoot));
277
                    URLClassLoader loader = (ip != null) ? getJBClassLoader(ip) : createJBClassLoader(jbossRoot, domainRoot);
305
                    URLClassLoader loader = (ip != null) ? getJBClassLoader(ip) : createJBClassLoader(jbossRoot, domainRoot);
278
                    jbossFactory = (DeploymentFactory) loader.loadClass("org.jboss.deployment.spi.factories.DeploymentFactoryImpl").newInstance();//NOI18N
279
306
307
                    if (version != null && "7".equals(version.getMajorNumber())) { // NOI18N
308
                        jbossFactory = (DeploymentFactory) loader.loadClass("org.jboss.as.ee.deployment.spi.factories.DeploymentFactoryImpl").newInstance(); // NOI18N
309
                    } else {
310
                        jbossFactory = (DeploymentFactory) loader.loadClass("org.jboss.deployment.spi.factories.DeploymentFactoryImpl").newInstance(); // NOI18N
311
                    }
280
                    
312
                    
281
                    if (ip != null) {
313
                    if (ip != null) {
282
                        FACTORIES_CACHE.put(ip, jbossFactory);
314
                        FACTORIES_CACHE.put(ip, jbossFactory);
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/JBDeploymentManager.java (-10 / +38 lines)
Lines 59-73 Link Here
59
import java.util.logging.Level;
59
import java.util.logging.Level;
60
import java.util.logging.Logger;
60
import java.util.logging.Logger;
61
import javax.enterprise.deploy.model.DeployableObject;
61
import javax.enterprise.deploy.model.DeployableObject;
62
import javax.enterprise.deploy.shared.ActionType;
63
import javax.enterprise.deploy.shared.CommandType;
62
import javax.enterprise.deploy.shared.DConfigBeanVersionType;
64
import javax.enterprise.deploy.shared.DConfigBeanVersionType;
63
import javax.enterprise.deploy.shared.ModuleType;
65
import javax.enterprise.deploy.shared.ModuleType;
66
import javax.enterprise.deploy.shared.StateType;
64
import javax.enterprise.deploy.spi.DeploymentConfiguration;
67
import javax.enterprise.deploy.spi.DeploymentConfiguration;
65
import javax.enterprise.deploy.spi.DeploymentManager;
68
import javax.enterprise.deploy.spi.DeploymentManager;
66
import javax.enterprise.deploy.spi.Target;
69
import javax.enterprise.deploy.spi.Target;
67
import javax.enterprise.deploy.spi.TargetModuleID;
70
import javax.enterprise.deploy.spi.TargetModuleID;
68
import javax.enterprise.deploy.spi.exceptions.DConfigBeanVersionUnsupportedException;
71
import javax.enterprise.deploy.spi.exceptions.DConfigBeanVersionUnsupportedException;
69
import javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
72
import javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
73
import javax.enterprise.deploy.spi.exceptions.OperationUnsupportedException;
70
import javax.enterprise.deploy.spi.exceptions.TargetException;
74
import javax.enterprise.deploy.spi.exceptions.TargetException;
75
import javax.enterprise.deploy.spi.status.ClientConfiguration;
76
import javax.enterprise.deploy.spi.status.DeploymentStatus;
77
import javax.enterprise.deploy.spi.status.ProgressListener;
71
import javax.enterprise.deploy.spi.status.ProgressObject;
78
import javax.enterprise.deploy.spi.status.ProgressObject;
72
import javax.management.MBeanServerConnection;
79
import javax.management.MBeanServerConnection;
73
import javax.management.remote.JMXConnector;
80
import javax.management.remote.JMXConnector;
Lines 76-83 Link Here
76
import javax.naming.Context;
83
import javax.naming.Context;
77
import javax.naming.InitialContext;
84
import javax.naming.InitialContext;
78
import javax.naming.NamingException;
85
import javax.naming.NamingException;
86
import org.netbeans.modules.j2ee.jboss4.ide.JBDeploymentStatus;
87
import org.netbeans.modules.j2ee.jboss4.ide.JBFinishedProgressObject;
79
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginProperties;
88
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginProperties;
80
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginUtils;
89
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginUtils;
90
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginUtils.Version;
91
import org.openide.util.NbBundle;
81
92
82
/**
93
/**
83
 *
94
 *
Lines 177-184 Link Here
177
                System.setProperty(JAVA_SEC_AUTH_LOGIN_CONF, securityConf.getAbsolutePath()); // NOI18N
188
                System.setProperty(JAVA_SEC_AUTH_LOGIN_CONF, securityConf.getAbsolutePath()); // NOI18N
178
            }
189
            }
179
190
180
            // Gets naming context
191
            if(!props.isVersion(JBPluginUtils.JBOSS_7_0_0)) {
181
            ctx = new InitialContext(env);
192
                // Gets naming context
193
                ctx = new InitialContext(env);
194
            }
182
195
183
            //restore java.security.auth.login.config system property
196
            //restore java.security.auth.login.config system property
184
            if (oldAuthConf != null) {
197
            if (oldAuthConf != null) {
Lines 189-211 Link Here
189
202
190
            MBeanServerConnection rmiServer = null;
203
            MBeanServerConnection rmiServer = null;
191
            try {
204
            try {
192
                conn = JMXConnectorFactory.connect(new JMXServiceURL(
205
                JMXServiceURL url;
193
                        "service:jmx:rmi:///jndi/rmi://localhost:1090/jmxrmi"));
206
                if(props.isVersion(JBPluginUtils.JBOSS_7_0_0)) {
207
                    // using management-native port
208
                    url = new JMXServiceURL(
209
                            System.getProperty("jmx.service.url","service:jmx:remoting-jmx://localhost:9999")); // NOI18N
210
                } else {
211
                    url = new JMXServiceURL(
212
                            "service:jmx:rmi:///jndi/rmi://localhost:1090/jmxrmi"); // NOI18N
213
                }
214
                conn = JMXConnectorFactory.connect(url);
194
215
195
                rmiServer = conn.getMBeanServerConnection();
216
                rmiServer = conn.getMBeanServerConnection();
196
            } catch (IOException ex) {
217
            } catch (IOException ex) {
197
                LOGGER.log(Level.FINE, null, ex);
218
                LOGGER.log(Level.FINE, null, ex);
198
            }
219
            }
199
220
200
            if (rmiServer == null) {
221
            if (rmiServer == null && ctx != null) {
201
                // Lookup RMI Adaptor
222
                // Lookup RMI Adaptor
202
                rmiServer = (MBeanServerConnection) ctx.lookup("/jmx/invoker/RMIAdaptor"); // NOI18N
223
                rmiServer = (MBeanServerConnection) ctx.lookup("/jmx/invoker/RMIAdaptor"); // NOI18N
203
            }
224
            }
204
225
205
            JBoss5ProfileServiceProxy profileService = null;
226
            JBoss5ProfileServiceProxy profileService = null;
206
            Object service = ctx.lookup("ProfileService"); // NOI18N
227
            if (ctx != null) {
207
            if (service != null) {
228
                Object service = ctx.lookup("ProfileService"); // NOI18N
208
                profileService = new JBoss5ProfileServiceProxy(service);
229
                if (service != null) {
230
                    profileService = new JBoss5ProfileServiceProxy(service);
231
                }
209
            }
232
            }
210
233
211
            return action.action(rmiServer, profileService);
234
            return action.action(rmiServer, profileService);
Lines 288-295 Link Here
288
        return dm.stop(targetModuleID);
311
        return dm.stop(targetModuleID);
289
    }
312
    }
290
313
291
    public ProgressObject start(TargetModuleID[] targetModuleID) throws IllegalStateException {
314
    public ProgressObject start(final TargetModuleID[] targetModuleID) throws IllegalStateException {
292
        return dm.start(targetModuleID);
315
        if (!getProperties().isVersion(JBPluginUtils.JBOSS_7_0_0)) {
316
            return dm.start(targetModuleID);
317
        }
318
        // FIXME JBTargetModule is not accepted
319
        return new JBFinishedProgressObject(CommandType.START, NbBundle.getMessage(
320
                JBDeploymentManager.class, "MSG_ApplicationStarted"), targetModuleID);
293
    }
321
    }
294
322
295
    public void setLocale(Locale locale) throws UnsupportedOperationException {
323
    public void setLocale(Locale locale) throws UnsupportedOperationException {
(-)f28f4261af1d (+108 lines)
Added Link Here
1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
4
 * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
5
 *
6
 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7
 * Other names may be trademarks of their respective owners.
8
 *
9
 * The contents of this file are subject to the terms of either the GNU
10
 * General Public License Version 2 only ("GPL") or the Common
11
 * Development and Distribution License("CDDL") (collectively, the
12
 * "License"). You may not use this file except in compliance with the
13
 * License. You can obtain a copy of the License at
14
 * http://www.netbeans.org/cddl-gplv2.html
15
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16
 * specific language governing permissions and limitations under the
17
 * License.  When distributing the software, include this License Header
18
 * Notice in each file and include the License file at
19
 * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
20
 * particular file as subject to the "Classpath" exception as provided
21
 * by Oracle in the GPL Version 2 section of the License file that
22
 * accompanied this code. If applicable, add the following below the
23
 * License Header, with the fields enclosed by brackets [] replaced by
24
 * your own identifying information:
25
 * "Portions Copyrighted [year] [name of copyright owner]"
26
 *
27
 * If you wish your version of this file to be governed by only the CDDL
28
 * or only the GPL Version 2, indicate your decision by adding
29
 * "[Contributor] elects to include this software in this distribution
30
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
31
 * single choice of license, a recipient has the option to distribute
32
 * your version of this file under either the CDDL, the GPL Version 2 or
33
 * to extend the choice of license to its licensees as provided above.
34
 * However, if you add GPL Version 2 code and therefore, elected the GPL
35
 * Version 2 license, then the option applies only if the new code is
36
 * made subject to such option by the copyright holder.
37
 *
38
 * Contributor(s):
39
 *
40
 * Portions Copyrighted 2012 Sun Microsystems, Inc.
41
 */
42
package org.netbeans.modules.j2ee.jboss4.ide;
43
44
import javax.enterprise.deploy.shared.ActionType;
45
import javax.enterprise.deploy.shared.CommandType;
46
import javax.enterprise.deploy.shared.StateType;
47
import javax.enterprise.deploy.spi.TargetModuleID;
48
import javax.enterprise.deploy.spi.exceptions.OperationUnsupportedException;
49
import javax.enterprise.deploy.spi.status.ClientConfiguration;
50
import javax.enterprise.deploy.spi.status.DeploymentStatus;
51
import javax.enterprise.deploy.spi.status.ProgressListener;
52
import javax.enterprise.deploy.spi.status.ProgressObject;
53
54
/**
55
 *
56
 * @author Petr Hejl
57
 */
58
public class JBFinishedProgressObject implements ProgressObject {
59
60
    private final JBDeploymentStatus status;
61
    private final TargetModuleID[] ids;
62
63
    public JBFinishedProgressObject(CommandType command, String message, TargetModuleID[] ids) {
64
        this.ids = ids;
65
        this.status = new JBDeploymentStatus(ActionType.EXECUTE, command, StateType.COMPLETED, message);
66
    }
67
68
    @Override
69
    public DeploymentStatus getDeploymentStatus() {
70
        return status;
71
    }
72
73
    @Override
74
    public TargetModuleID[] getResultTargetModuleIDs() {
75
        return ids;
76
    }
77
78
    @Override
79
    public ClientConfiguration getClientConfiguration(TargetModuleID tmid) {
80
        return null;
81
    }
82
83
    @Override
84
    public boolean isCancelSupported() {
85
        return false;
86
    }
87
88
    @Override
89
    public void cancel() throws OperationUnsupportedException {
90
    }
91
92
    @Override
93
    public boolean isStopSupported() {
94
        return false;
95
    }
96
97
    @Override
98
    public void stop() throws OperationUnsupportedException {
99
    }
100
101
    @Override
102
    public void addProgressListener(ProgressListener pl) {
103
    }
104
105
    @Override
106
    public void removeProgressListener(ProgressListener pl) {
107
    }
108
}
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBOutputSupport.java (-2 / +3 lines)
Lines 309-318 Link Here
309
                    || line.indexOf("Starting JBossAS") > -1) { // JBoss 6.0 message // NOI18N
309
                    || line.indexOf("Starting JBossAS") > -1) { // JBoss 6.0 message // NOI18N
310
                LOGGER.log(Level.FINER, "STARTING message fired"); // NOI18N
310
                LOGGER.log(Level.FINER, "STARTING message fired"); // NOI18N
311
                //fireStartProgressEvent(StateType.RUNNING, createProgressMessage("MSG_START_SERVER_IN_PROGRESS")); // NOI18N
311
                //fireStartProgressEvent(StateType.RUNNING, createProgressMessage("MSG_START_SERVER_IN_PROGRESS")); // NOI18N
312
            } else if ((line.indexOf("JBoss (MX MicroKernel)") > -1 // JBoss 4.x message // NOI18N
312
            } else if ( ((line.indexOf("JBoss (MX MicroKernel)") > -1 // JBoss 4.x message // NOI18N
313
                    || line.indexOf("JBoss (Microcontainer)") > -1 // JBoss 5.0 message // NOI18N
313
                    || line.indexOf("JBoss (Microcontainer)") > -1 // JBoss 5.0 message // NOI18N
314
                    || line.indexOf("JBossAS") > -1) // JBoss 6.0 message // NOI18N
314
                    || line.indexOf("JBossAS") > -1) // JBoss 6.0 message // NOI18N
315
                    && line.indexOf("Started in") > -1) { // NOI18N
315
                    && line.indexOf("Started in") > -1) 
316
                    || line.indexOf("JBoss AS") > -1 && line.indexOf("started in") > -1) { // NOI18N
316
                LOGGER.log(Level.FINER, "STARTED message fired"); // NOI18N
317
                LOGGER.log(Level.FINER, "STARTED message fired"); // NOI18N
317
318
318
                synchronized (JBOutputSupport.this) {
319
                synchronized (JBOutputSupport.this) {
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBStartRunnable.java (-3 / +12 lines)
Lines 79-84 Link Here
79
import org.openide.util.Utilities;
79
import org.openide.util.Utilities;
80
import org.openide.util.lookup.Lookups;
80
import org.openide.util.lookup.Lookups;
81
import org.openide.windows.InputOutput;
81
import org.openide.windows.InputOutput;
82
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginUtils.Version;
82
83
83
/**
84
/**
84
 *
85
 *
Lines 100-107 Link Here
100
101
101
    private final static String STARTUP_SH = File.separator + 
102
    private final static String STARTUP_SH = File.separator + 
102
            "bin" + File.separator + "run.sh";          // NOI18N
103
            "bin" + File.separator + "run.sh";          // NOI18N
104
    private final static String STANDALONE_SH = File.separator + 
105
            "bin" + File.separator + "standalone.sh";          // NOI18N
103
    private final static String STARTUP_BAT = File.separator + 
106
    private final static String STARTUP_BAT = File.separator + 
104
            "bin" + File.separator + RUN_FILE_NAME;     // NOI18N
107
            "bin" + File.separator + RUN_FILE_NAME;     // NOI18N
108
    private final static String STANDALONE_BAT = File.separator + 
109
            "bin" + File.separator + "standalone.bat";     // NOI18N
105
                             
110
                             
106
    private final static String CONF_BAT = File.separator + 
111
    private final static String CONF_BAT = File.separator + 
107
            "bin" + File.separator + CONF_FILE_NAME;    // NOI18N
112
            "bin" + File.separator + CONF_FILE_NAME;    // NOI18N
Lines 316-322 Link Here
316
321
317
        final String instanceName = ip.getProperty(JBPluginProperties.PROPERTY_SERVER);
322
        final String instanceName = ip.getProperty(JBPluginProperties.PROPERTY_SERVER);
318
        String args = ("all".equals(instanceName) ? "-b 127.0.0.1 " : "") + "-c " + instanceName; // NOI18N
323
        String args = ("all".equals(instanceName) ? "-b 127.0.0.1 " : "") + "-c " + instanceName; // NOI18N
319
        return new NbProcessDescriptor(serverRunFileName, args);
324
        return new NbProcessDescriptor(serverRunFileName, isJBoss7()? "" : args);
320
    }
325
    }
321
    
326
    
322
    private String getRunFileName( InstanceProperties ip, String[] envp ){
327
    private String getRunFileName( InstanceProperties ip, String[] envp ){
Lines 351-363 Link Here
351
            Logger.getLogger("global").log(Level.INFO, null, ioe);
356
            Logger.getLogger("global").log(Level.INFO, null, ioe);
352
357
353
            final String serverLocation = ip.getProperty(JBPluginProperties.PROPERTY_ROOT_DIR);
358
            final String serverLocation = ip.getProperty(JBPluginProperties.PROPERTY_ROOT_DIR);
354
            final String serverRunFileName = serverLocation + (Utilities.isWindows() ? STARTUP_BAT : STARTUP_SH);
359
            final String serverRunFileName = serverLocation + (isJBoss7() ? Utilities.isWindows() ? STANDALONE_BAT : STANDALONE_SH : Utilities.isWindows() ? STARTUP_BAT : STARTUP_SH);
355
            fireStartProgressEvent(StateType.FAILED, createProgressMessage("MSG_START_SERVER_FAILED_PD", serverRunFileName));
360
            fireStartProgressEvent(StateType.FAILED, createProgressMessage("MSG_START_SERVER_FAILED_PD", serverRunFileName));
356
361
357
            return null;
362
            return null;
358
        }
363
        }
359
    }
364
    }
360
    
365
    
366
    private boolean isJBoss7() {
367
        return dm.getProperties().isVersion(JBPluginUtils.JBOSS_7_0_0);
368
    }
369
    
361
    private InputOutput openConsole() {
370
    private InputOutput openConsole() {
362
        InputOutput io = UISupport.getServerIO(dm.getUrl());
371
        InputOutput io = UISupport.getServerIO(dm.getUrl());
363
        if (io == null) {
372
        if (io == null) {
Lines 414-420 Link Here
414
            String serverLocation = getProperties().getProperty(
423
            String serverLocation = getProperties().getProperty(
415
                    JBPluginProperties.PROPERTY_ROOT_DIR);
424
                    JBPluginProperties.PROPERTY_ROOT_DIR);
416
            String serverRunFileName = serverLocation + 
425
            String serverRunFileName = serverLocation + 
417
                (Utilities.isWindows() ? STARTUP_BAT : STARTUP_SH);
426
                    (isJBoss7() ? Utilities.isWindows() ? STANDALONE_BAT : STANDALONE_SH : Utilities.isWindows() ? STARTUP_BAT : STARTUP_SH);
418
            if ( needChange ){
427
            if ( needChange ){
419
                String contentRun = readFile(serverRunFileName);
428
                String contentRun = readFile(serverRunFileName);
420
                String contentConf = readFile(serverLocation + CONF_BAT);
429
                String contentConf = readFile(serverLocation + CONF_BAT);
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBStartServer.java (-14 / +26 lines)
Lines 75-80 Link Here
75
import javax.management.MBeanServerConnection;
75
import javax.management.MBeanServerConnection;
76
import org.netbeans.modules.j2ee.jboss4.JBRemoteAction;
76
import org.netbeans.modules.j2ee.jboss4.JBRemoteAction;
77
import org.netbeans.modules.j2ee.jboss4.JBoss5ProfileServiceProxy;
77
import org.netbeans.modules.j2ee.jboss4.JBoss5ProfileServiceProxy;
78
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginUtils;
79
import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginUtils.Version;
78
import org.openide.util.NbBundle;
80
import org.openide.util.NbBundle;
79
import org.netbeans.modules.j2ee.jboss4.nodes.Util;
81
import org.netbeans.modules.j2ee.jboss4.nodes.Util;
80
82
Lines 249-270 Link Here
249
251
250
                        @Override
252
                        @Override
251
                        public Void action(MBeanServerConnection connection, JBoss5ProfileServiceProxy profileService) throws Exception {
253
                        public Void action(MBeanServerConnection connection, JBoss5ProfileServiceProxy profileService) throws Exception {
252
                            Object serverName = Util.getMBeanParameter(connection, "ServerName", "jboss.system:type=ServerConfig"); //NOI18N
254
                            Object serverName = null;
253
                            Object serverHome = Util.getMBeanParameter(connection, "ServerHomeLocation", "jboss.system:type=ServerConfig"); //NOI18N
255
                            Object serverHome = null;
254
                            boolean isJBoss6 = serverHome != null;
256
                            if (dm.getProperties().isVersion(JBPluginUtils.JBOSS_7_0_0)) {
255
                            if (!isJBoss6) {
257
                                serverHome = Util.getMBeanParameter(connection, "baseDir", "jboss.as:core-service=server-environment"); //NOI18N
256
                                serverHome = Util.getMBeanParameter(connection, "ServerHomeDir", "jboss.system:type=ServerConfig"); //NOI18N
258
                                serverName = Util.getMBeanParameter(connection, "launchType", "jboss.as:core-service=server-environment"); //NOI18N
257
                            }
259
                                if (serverName != null) {
258
                            try {
260
                                    serverName = serverName.toString().toLowerCase();
259
                                if (serverHome != null) {
261
                                }
260
                                    if (isJBoss6) {
262
                            } else {
261
                                        serverHome = new File(((URL) serverHome).toURI()).getAbsolutePath();
263
                                serverName = Util.getMBeanParameter(connection, "ServerName", "jboss.system:type=ServerConfig"); //NOI18N
262
                                    } else {
264
                                serverHome = Util.getMBeanParameter(connection, "ServerHomeLocation", "jboss.system:type=ServerConfig"); //NOI18N
263
                                        serverHome = ((File) serverHome).getAbsolutePath();
265
                                boolean isJBoss6 = serverHome != null;
266
                                if (!isJBoss6) {
267
                                    serverHome = Util.getMBeanParameter(connection, "ServerHomeDir", "jboss.system:type=ServerConfig"); //NOI18N
268
                                }
269
                                try {
270
                                    if (serverHome != null) {
271
                                        if (isJBoss6) {
272
                                            serverHome = new File(((URL) serverHome).toURI()).getAbsolutePath();
273
                                        } else {
274
                                            serverHome = ((File) serverHome).getAbsolutePath();
275
                                        }
264
                                    }
276
                                    }
277
                                } catch (URISyntaxException use) {
278
                                    LOGGER.log(Level.WARNING, "error getting file from URI: " + serverHome, use); //NOI18N
265
                                }
279
                                }
266
                            } catch (URISyntaxException use) {
267
                                LOGGER.log(Level.WARNING, "error getting file from URI: " + serverHome, use); //NOI18N
268
                            }
280
                            }
269
281
270
                            if (serverName == null || serverHome == null) {
282
                            if (serverName == null || serverHome == null) {
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBStopRunnable.java (-3 / +13 lines)
Lines 77-83 Link Here
77
    private static final Logger LOGGER = Logger.getLogger(JBStopRunnable.class.getName());
77
    private static final Logger LOGGER = Logger.getLogger(JBStopRunnable.class.getName());
78
    
78
    
79
    private static final String SHUTDOWN_SH = "/bin/shutdown.sh"; // NOI18N
79
    private static final String SHUTDOWN_SH = "/bin/shutdown.sh"; // NOI18N
80
    private static final String JBOSS_CLI_SH = "/bin/jboss-cli.sh"; // NOI18N
80
    private static final String SHUTDOWN_BAT = "/bin/shutdown.bat"; // NOI18N
81
    private static final String SHUTDOWN_BAT = "/bin/shutdown.bat"; // NOI18N
82
    private static final String JBOSS_CLI_BAT = "/bin/jboss-cli.bat"; // NOI18N
81
83
82
    private static final int TIMEOUT = 300000;
84
    private static final int TIMEOUT = 300000;
83
    
85
    
Lines 89-94 Link Here
89
        this.startServer = startServer;
91
        this.startServer = startServer;
90
    }
92
    }
91
    
93
    
94
    private boolean isJBoss7() {
95
        return dm.getProperties().isVersion(JBPluginUtils.JBOSS_7_0_0);
96
    }
97
    
92
    private String[] createEnvironment() {
98
    private String[] createEnvironment() {
93
        
99
        
94
        JBProperties properties = dm.getProperties();
100
        JBProperties properties = dm.getProperties();
Lines 120-126 Link Here
120
        String serverName = ip.getProperty(InstanceProperties.DISPLAY_NAME_ATTR);
126
        String serverName = ip.getProperty(InstanceProperties.DISPLAY_NAME_ATTR);
121
127
122
        String serverLocation = ip.getProperty(JBPluginProperties.PROPERTY_ROOT_DIR);
128
        String serverLocation = ip.getProperty(JBPluginProperties.PROPERTY_ROOT_DIR);
123
        String serverStopFileName = serverLocation + (Utilities.isWindows() ? SHUTDOWN_BAT : SHUTDOWN_SH);
129
        String serverStopFileName = serverLocation + (isJBoss7() ? Utilities.isWindows() ? JBOSS_CLI_BAT : JBOSS_CLI_SH :Utilities.isWindows() ? SHUTDOWN_BAT : SHUTDOWN_SH);
124
130
125
        File serverStopFile = new File(serverStopFileName);
131
        File serverStopFile = new File(serverStopFileName);
126
        if (!serverStopFile.exists()){
132
        if (!serverStopFile.exists()){
Lines 131-136 Link Here
131
        JBProperties properties = dm.getProperties();
137
        JBProperties properties = dm.getProperties();
132
        StringBuilder additionalParams = new StringBuilder(32);
138
        StringBuilder additionalParams = new StringBuilder(32);
133
        int jnpPort = JBPluginUtils.getJnpPortNumber(ip.getProperty(JBPluginProperties.PROPERTY_SERVER_DIR));  
139
        int jnpPort = JBPluginUtils.getJnpPortNumber(ip.getProperty(JBPluginProperties.PROPERTY_SERVER_DIR));  
140
        NbProcessDescriptor pd;
141
        if(isJBoss7()) {
142
            pd = new NbProcessDescriptor(serverStopFileName, "--connect --command=:shutdown"); // NOI18N
143
        } else {
134
        if (dm.getProperties().getServerVersion().compareTo(JBPluginUtils.JBOSS_6_0_0) < 0) {
144
        if (dm.getProperties().getServerVersion().compareTo(JBPluginUtils.JBOSS_6_0_0) < 0) {
135
            additionalParams.append(" -s jnp://localhost:").append(jnpPort); // NOI18N
145
            additionalParams.append(" -s jnp://localhost:").append(jnpPort); // NOI18N
136
        } else {
146
        } else {
Lines 150-158 Link Here
150
160
151
        /* 2008-09-10 The usage of --halt doesn't solve the problem on Windows; it even creates another problem
161
        /* 2008-09-10 The usage of --halt doesn't solve the problem on Windows; it even creates another problem
152
                        of NB Profiler not being notified about the fact that the server was stopped */
162
                        of NB Profiler not being notified about the fact that the server was stopped */
153
        NbProcessDescriptor pd = new NbProcessDescriptor(
163
            pd = new NbProcessDescriptor(
154
                serverStopFileName, "--shutdown " + additionalParams); // NOI18N
164
                serverStopFileName, "--shutdown " + additionalParams); // NOI18N
155
165
        }
156
        Process stoppingProcess = null;
166
        Process stoppingProcess = null;
157
        try {
167
        try {
158
            String envp[] = createEnvironment();
168
            String envp[] = createEnvironment();
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/ui/Bundle.properties (-2 / +2 lines)
Lines 56-64 Link Here
56
56
57
LBL_BrowseButton=Br&owse...
57
LBL_BrowseButton=Br&owse...
58
58
59
MSG_InvalidServerLocation=Provide a valid JBoss Application Server 6, 5 or 4 Location
59
MSG_InvalidServerLocation=Provide a valid JBoss Application Server 7, 6, 5 or 4 Location
60
60
61
MSG_SpecifyServerLocation=Please specify JBoss Application Server 6, 5 or 4 Location
61
MSG_SpecifyServerLocation=Please specify JBoss Application Server 7, 6, 5 or 4 Location
62
62
63
LBL_ChooserName=Choose JBoss Server Location
63
LBL_ChooserName=Choose JBoss Server Location
64
64
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/ui/JBInstantiatingIterator.java (-4 / +7 lines)
Lines 146-160 Link Here
146
        Set result = new HashSet();
146
        Set result = new HashSet();
147
        
147
        
148
        String displayName =  (String)wizard.getProperty(PROP_DISPLAY_NAME);
148
        String displayName =  (String)wizard.getProperty(PROP_DISPLAY_NAME);
149
        
149
        JBPluginUtils.Version version = JBPluginUtils.getServerVersion(new File(installLocation));
150
        String url = JBDeploymentFactory.URI_PREFIX + host + ":" + port;    // NOI18N
150
        String url = JBDeploymentFactory.URI_PREFIX;
151
        if(version != null && "7".equals(version.getMajorNumber())){
152
            url += "//"+host + ":" + port+"?targetType=as7&serverPort="+port;    // NOI18N
153
        } else {
154
            url += host + ":" + port;    // NOI18N
155
        }
151
        if (server != null && !server.equals(""))                           // NOI18N
156
        if (server != null && !server.equals(""))                           // NOI18N
152
            url += "#" + server;                                            // NOI18N
157
            url += "#" + server;                                            // NOI18N
153
        url += "&"+ installLocation;                                        // NOI18N
158
        url += "&"+ installLocation;                                        // NOI18N
154
      
159
      
155
        try {
160
        try {
156
            JBPluginUtils.Version version = JBPluginUtils.getServerVersion(new File(installLocation));
157
158
            Map<String, String> initialProperties = new HashMap<String, String>();
161
            Map<String, String> initialProperties = new HashMap<String, String>();
159
            initialProperties.put(JBPluginProperties.PROPERTY_SERVER, server);
162
            initialProperties.put(JBPluginProperties.PROPERTY_SERVER, server);
160
            initialProperties.put(JBPluginProperties.PROPERTY_DEPLOY_DIR, deployDir);
163
            initialProperties.put(JBPluginProperties.PROPERTY_DEPLOY_DIR, deployDir);
(-)a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/ui/JBPluginUtils.java (-10 / +86 lines)
Lines 91-96 Link Here
91
    public static final Version JBOSS_5_0_1 = new Version("5.0.1"); // NOI18N
91
    public static final Version JBOSS_5_0_1 = new Version("5.0.1"); // NOI18N
92
92
93
    public static final Version JBOSS_6_0_0 = new Version("6.0.0"); // NOI18N
93
    public static final Version JBOSS_6_0_0 = new Version("6.0.0"); // NOI18N
94
95
    public static final Version JBOSS_7_0_0 = new Version("7.0.0"); // NOI18N
94
    
96
    
95
    private static final Logger LOGGER = Logger.getLogger(JBPluginUtils.class.getName());
97
    private static final Logger LOGGER = Logger.getLogger(JBPluginUtils.class.getName());
96
98
Lines 98-103 Link Here
98
100
99
    public static final String LIB = "lib" + File.separator;
101
    public static final String LIB = "lib" + File.separator;
100
102
103
    public static final String MODULES = "modules" + File.separator;
104
101
    public static final String CLIENT = "client" + File.separator;
105
    public static final String CLIENT = "client" + File.separator;
102
106
103
    public static final String COMMON = "common" + File.separator;
107
    public static final String COMMON = "common" + File.separator;
Lines 195-200 Link Here
195
        return domainRequirements6x;
199
        return domainRequirements6x;
196
    }
200
    }
197
201
202
    private static List<String> domainRequirements7x;
203
204
    private static synchronized List<String> getDomainRequirements7x() {
205
        if (domainRequirements7x == null) {
206
            domainRequirements7x = new ArrayList<String>(11);
207
            Collections.addAll(domainRequirements7x,
208
                    "configuration", // NOI18N
209
                    "deployments", // NOI18N
210
                    "lib" // NOI18N
211
                    );
212
        }
213
        return domainRequirements7x;
214
    }
215
216
198
    //--------------- checking for possible server directory -------------
217
    //--------------- checking for possible server directory -------------
199
    private static List<String> serverRequirements4x;
218
    private static List<String> serverRequirements4x;
200
219
Lines 249-254 Link Here
249
        return serverRequirements5And6x;
268
        return serverRequirements5And6x;
250
    }
269
    }
251
270
271
    private static List<String> serverRequirements7x;
272
    private static synchronized List<String> getServerRequirements7x() {
273
        if (serverRequirements7x == null) {
274
            serverRequirements7x = new ArrayList<String>(6);
275
            Collections.addAll(serverRequirements7x,
276
                    "bin", // NOI18N
277
                    "modules", // NOI18N
278
                    "jboss-modules.jar"); // NOI18N
279
        }
280
        return serverRequirements7x;
281
    }
282
252
    //------------  getting exists servers---------------------------
283
    //------------  getting exists servers---------------------------
253
    /**
284
    /**
254
     * returns Hashmap
285
     * returns Hashmap
Lines 262-275 Link Here
262
        File serverDirectory = new File(serverLocation);
293
        File serverDirectory = new File(serverLocation);
263
294
264
        if (isGoodJBServerLocation(serverDirectory)) {
295
        if (isGoodJBServerLocation(serverDirectory)) {
265
           File file = new File(serverLocation + File.separator + "server");  // NOI18N
296
            Version version = getServerVersion(serverDirectory);            
266
297
            File file;
267
            String[] files = file.list(new FilenameFilter(){
298
            String[] files;
299
            if("7".equals(version.getMajorNumber())) {
300
                files = new String[]{"standalone", "domain"};
301
                file = serverDirectory;
302
            } else {
303
                file = new File(serverLocation + File.separator + "server");  // NOI18N
304
                files = file.list(new FilenameFilter(){
305
                    @Override
268
                public boolean accept(File dir, String name){
306
                public boolean accept(File dir, String name){
269
                    if ((new File(dir.getAbsolutePath()+File.separator+name)).isDirectory()) return true;
307
                    if ((new File(dir.getAbsolutePath()+File.separator+name)).isDirectory()) return true;
270
                    return false;
308
                    return false;
271
                }
309
                }
272
            });
310
            });
311
            }
273
312
274
            for(int i = 0; i<files.length; i++) {
313
            for(int i = 0; i<files.length; i++) {
275
                String path = file.getAbsolutePath() + File.separator + files[i];
314
                String path = file.getAbsolutePath() + File.separator + files[i];
Lines 319-337 Link Here
319
        return isGoodJBInstanceLocation(candidate, getDomainRequirements6x());
358
        return isGoodJBInstanceLocation(candidate, getDomainRequirements6x());
320
    }
359
    }
321
360
361
    private static boolean isGoodJBInstanceLocation7x(File serverDir, File candidate){
362
        return isGoodJBInstanceLocation(candidate, getDomainRequirements7x());
363
    }
364
322
    public static boolean isGoodJBInstanceLocation(File serverDir, File candidate){
365
    public static boolean isGoodJBInstanceLocation(File serverDir, File candidate){
323
        Version version = getServerVersion(serverDir);
366
        Version version = getServerVersion(serverDir);
324
        if (version == null || (!"4".equals(version.getMajorNumber())
367
        if (version == null || (!"4".equals(version.getMajorNumber())
325
                && !"5".equals(version.getMajorNumber()) // NOI18N
368
                && !"5".equals(version.getMajorNumber()) // NOI18N
326
                && !"6".equals(version.getMajorNumber()))) { // NOI18N
369
                && !"6".equals(version.getMajorNumber()) // NOI18N
370
                && !"7".equals(version.getMajorNumber()))) { // NOI18N
327
            return JBPluginUtils.isGoodJBInstanceLocation4x(serverDir, candidate)
371
            return JBPluginUtils.isGoodJBInstanceLocation4x(serverDir, candidate)
328
                    || JBPluginUtils.isGoodJBInstanceLocation5x(serverDir, candidate)
372
                    || JBPluginUtils.isGoodJBInstanceLocation5x(serverDir, candidate)
329
                    || JBPluginUtils.isGoodJBInstanceLocation6x(serverDir, candidate);
373
                    || JBPluginUtils.isGoodJBInstanceLocation6x(serverDir, candidate)
374
                    || JBPluginUtils.isGoodJBInstanceLocation7x(serverDir, candidate);
330
        }
375
        }
331
376
332
        return ("4".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBInstanceLocation4x(serverDir, candidate)) // NOI18N
377
        return ("4".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBInstanceLocation4x(serverDir, candidate)) // NOI18N
333
                || ("5".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBInstanceLocation5x(serverDir, candidate)) // NOI18N
378
                || ("5".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBInstanceLocation5x(serverDir, candidate)) // NOI18N
334
                || ("6".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBInstanceLocation6x(serverDir, candidate)); // NOI18N
379
                || ("6".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBInstanceLocation6x(serverDir, candidate)) // NOI18N
380
                || ("7".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBInstanceLocation7x(serverDir, candidate)); // NOI18N
335
    }
381
    }
336
382
337
    private static boolean isGoodJBServerLocation(File candidate, List<String> requirements){
383
    private static boolean isGoodJBServerLocation(File candidate, List<String> requirements){
Lines 372-390 Link Here
372
        return isGoodJBServerLocation(candidate, getServerRequirements5And6x());
418
        return isGoodJBServerLocation(candidate, getServerRequirements5And6x());
373
    }
419
    }
374
420
421
    private static boolean isGoodJBServerLocation7x(File candidate){
422
        return isGoodJBServerLocation(candidate, getServerRequirements7x());
423
    }
424
375
    public static boolean isGoodJBServerLocation(File candidate) {
425
    public static boolean isGoodJBServerLocation(File candidate) {
376
        Version version = getServerVersion(candidate);
426
        Version version = getServerVersion(candidate);
377
        if (version == null || (!"4".equals(version.getMajorNumber())
427
        if (version == null || (!"4".equals(version.getMajorNumber())
378
                && !"5".equals(version.getMajorNumber())
428
                && !"5".equals(version.getMajorNumber())
379
                && !"6".equals(version.getMajorNumber()))) { // NOI18N
429
                && !"6".equals(version.getMajorNumber())
430
                && !"7".equals(version.getMajorNumber()))) { // NOI18N
380
            return JBPluginUtils.isGoodJBServerLocation4x(candidate)
431
            return JBPluginUtils.isGoodJBServerLocation4x(candidate)
381
                    || JBPluginUtils.isGoodJBServerLocation5x(candidate)
432
                    || JBPluginUtils.isGoodJBServerLocation5x(candidate)
382
                    || JBPluginUtils.isGoodJBServerLocation6x(candidate);
433
                    || JBPluginUtils.isGoodJBServerLocation5x(candidate)
434
                    || JBPluginUtils.isGoodJBServerLocation7x(candidate);
383
        }
435
        }
384
436
385
        return ("4".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBServerLocation4x(candidate)) // NOI18n
437
        return ("4".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBServerLocation4x(candidate)) // NOI18n
386
                || ("5".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBServerLocation5x(candidate)) // NOI18N
438
                || ("5".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBServerLocation5x(candidate)) // NOI18N
387
                || ("6".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBServerLocation6x(candidate)); // NOI18N
439
                || ("6".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBServerLocation6x(candidate)) // NOI18N
440
                || ("7".equals(version.getMajorNumber()) && JBPluginUtils.isGoodJBServerLocation7x(candidate)); // NOI18N
388
    }
441
    }
389
442
390
    public static boolean isJB4(JBDeploymentManager dm) {
443
    public static boolean isJB4(JBDeploymentManager dm) {
Lines 435-440 Link Here
435
     *
488
     *
436
     */
489
     */
437
    public static String getDeployDir(String domainDir){
490
    public static String getDeployDir(String domainDir){
491
        Version version = JBPluginUtils.getServerVersion(new File(JBPluginProperties.getInstance().getInstallLocation()));
492
        if("7".equals(version.getMajorNumber())) {
493
            return domainDir + File.separator + "deployments"; //NOI18N
494
        }
438
        return domainDir + File.separator + "deploy"; //NOI18N
495
        return domainDir + File.separator + "deploy"; //NOI18N
439
        //todo: get real deploy path
496
        //todo: get real deploy path
440
    }
497
    }
Lines 659-665 Link Here
659
        assert serverPath != null : "Can't determine version with null server path"; // NOI18N
716
        assert serverPath != null : "Can't determine version with null server path"; // NOI18N
660
717
661
        File systemJarFile = new File(serverPath, "lib/jboss-system.jar"); // NOI18N
718
        File systemJarFile = new File(serverPath, "lib/jboss-system.jar"); // NOI18N
662
        return getVersion(systemJarFile);
719
        Version version = getVersion(systemJarFile);
720
        if(version == null) {
721
            // check for JBoss AS 7
722
            File serverDir = new File(serverPath, "modules/org/jboss/as/server/main");
723
            for (File jarFile : serverDir.listFiles(new JarFileFilter())) {
724
                version = getVersion(jarFile);
725
                if(version != null) {
726
                    break;
727
    }
728
            }
729
        }
730
        return version;
731
    }
732
733
    static class JarFileFilter implements FilenameFilter {
734
735
        @Override
736
        public boolean accept(File dir, String name) {
737
            return name.endsWith(".jar");
738
        }
663
    }
739
    }
664
740
665
    private static Version getVersion(File systemJarFile) {
741
    private static Version getVersion(File systemJarFile) {

Return to bug 200132