diff -r 9587e4825f10 glassfish.common/src/org/netbeans/modules/glassfish/common/GlassfishInstanceProvider.java --- a/glassfish.common/src/org/netbeans/modules/glassfish/common/GlassfishInstanceProvider.java Fri Nov 20 21:53:40 2009 +0100 +++ b/glassfish.common/src/org/netbeans/modules/glassfish/common/GlassfishInstanceProvider.java Sun Nov 22 19:34:11 2009 +0100 @@ -726,6 +726,18 @@ CreateDomain cd = new CreateDomain("anonymous", "", new File(f,"glassfish"), ip, this,true); // NOI18N cd.start(); } + + FileObject serverInstanceDir = FileUtil.getConfigFile("J2EE/InstalledServers"); // NOI18N + if (serverInstanceDir == null) { + FileObject root = FileUtil.getConfigRoot(); + serverInstanceDir = FileUtil.createFolder(root, "J2EE/InstalledServers"); // NOI18N + } + + if (serverInstanceDir != null) { + registerServerInstanceFO(serverInstanceDir, ip); + } else { + Logger.getLogger("glassfish-javaee").log(Level.INFO, "Cannot register the default Tomcat server. The //J2EE//InstalledServers folder cannot be found."); // NOI18N + } } } } catch (IOException ex) { @@ -735,6 +747,22 @@ } } + private static void registerServerInstanceFO(FileObject serverInstanceDir, + Map props) { + String name = FileUtil.findFreeFileName(serverInstanceDir, "gfv3_autoregistered_instance", null); // NOI18N + FileObject instanceFO; + try { + instanceFO = serverInstanceDir.createData(name); + for (Map.Entry entry : props.entrySet()) { + instanceFO.setAttribute(entry.getKey(), entry.getValue()); + } + instanceFO.setAttribute("registeredWithoutUI", "true"); // NOI18N + } catch (IOException e) { + Logger.getLogger("glassfish-javaee").log(Level.INFO, "Cannot register the default Tomcat server."); // NOI18N + Logger.getLogger("glassfish-javaee").log(Level.INFO, null, e); + } + } + String[] getNoPasswordCreatDomainCommand(String startScript, String jarLocation, String domainDir, String portBase, String uname, String domain) { List retVal = new ArrayList(); retVal.addAll(Arrays.asList(new String[] {startScript, diff -r 9587e4825f10 glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/JavaEEServerModuleFactory.java --- a/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/JavaEEServerModuleFactory.java Fri Nov 20 21:53:40 2009 +0100 +++ b/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/JavaEEServerModuleFactory.java Sun Nov 22 19:34:11 2009 +0100 @@ -55,7 +55,6 @@ import org.netbeans.api.project.libraries.Library; import org.netbeans.api.project.libraries.LibraryManager; import org.netbeans.modules.glassfish.javaee.ide.Hk2PluginProperties; -import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceCreationException; import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties; import org.netbeans.modules.glassfish.spi.GlassfishModule; import org.netbeans.modules.glassfish.spi.GlassfishModuleFactory; @@ -108,20 +107,8 @@ String url = props.get(InstanceProperties.URL_ATTR); ip = InstanceProperties.getInstanceProperties(url); if(ip == null) { - String username = props.get(InstanceProperties.USERNAME_ATTR); - String password = props.get(InstanceProperties.PASSWORD_ATTR); - String displayName = props.get(InstanceProperties.DISPLAY_NAME_ATTR); - try { - ip = InstanceProperties.createInstancePropertiesWithoutUI( - url, username, password, displayName, props); - } catch (InstanceCreationException ex) { - Logger.getLogger("glassfish-javaee").log(Level.WARNING, null, ex); // NOI18N - } - - if(ip == null) { - Logger.getLogger("glassfish-javaee").log(Level.INFO, - "Unable to create/locate J2EE InstanceProperties for " + url); - } + Logger.getLogger("glassfish-javaee").log(Level.INFO, + "Unable to create/locate J2EE InstanceProperties for " + url); } final String glassfishRoot = commonModule.getInstanceProperties().get( diff -r 9587e4825f10 j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/ServerRegistry.java --- a/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/ServerRegistry.java Fri Nov 20 21:53:40 2009 +0100 +++ b/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/ServerRegistry.java Sun Nov 22 19:34:11 2009 +0100 @@ -53,6 +53,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Enumeration; import java.util.EventListener; import java.util.HashMap; import java.util.HashSet; @@ -487,8 +488,14 @@ String displayName = (String) fo.getAttribute(InstanceProperties.DISPLAY_NAME_ATTR); String withoutUI = (String) fo.getAttribute(InstanceProperties.REGISTERED_WITHOUT_UI); boolean withoutUIFlag = withoutUI == null ? false : Boolean.valueOf(withoutUI); + Map props = new HashMap(); + for(Enumeration e = fo.getAttributes(); e.hasMoreElements();) { + String name = e.nextElement(); + Object attr = fo.getAttribute(name); + props.put(name, attr == null ? null : attr.toString()); + } try { - addInstanceImpl(url, username, password, displayName, withoutUIFlag, null); + addInstanceImpl(url, username, password, displayName, withoutUIFlag, props); } catch (InstanceCreationException ice) { // yes... we are ignoring this.. because that }