diff -Naur factory/ide.kit/test/qa-functional/data/whitelist_3.txt optional/ide.kit/test/qa-functional/data/whitelist_3.txt --- factory/ide.kit/test/qa-functional/data/whitelist_3.txt 2010-02-17 20:49:36.000000000 +0100 +++ optional/ide.kit/test/qa-functional/data/whitelist_3.txt 2010-02-18 12:27:11.000000000 +0100 @@ -142,14 +142,13 @@ org.netbeans.modules.j2ee.deployment.plugins.spi.StartServer org.netbeans.modules.j2ee.deployment.plugins.spi.TargetModuleIDResolver org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyDeploymentFactory -org.netbeans.modules.j2ee.genericserver.ide.GSOptionalDeploymentManagerFactory -org.netbeans.modules.j2ee.jboss4.ide.JBOptionalDeploymentManagerFactory +org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyOptionalFactory org.netbeans.modules.j2ee.sun.api.ServerLocationManager org.netbeans.modules.j2ee.sun.ide.j2ee.OptionalFactory org.netbeans.modules.j2ee.sun.ide.j2ee.RunTimeDDCatalog -org.netbeans.modules.j2ee.weblogic9.optional.WLOptionalFactory -org.netbeans.modules.tomcat5.TomcatManager$TomcatVersion -org.netbeans.modules.tomcat5.ide.OptionalFactory +org.netbeans.modules.glassfish.javaee.Hk2DeploymentFactory +org.netbeans.modules.glassfish.javaee.Hk2OptionalFactory +org.netbeans.modules.glassfish.spi.ServerUtilities #IZ 177644 org.netbeans.modules.schema2beans.AttrProp diff -Naur factory/j2ee.genericserver/nbproject/project.xml optional/j2ee.genericserver/nbproject/project.xml --- factory/j2ee.genericserver/nbproject/project.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2ee.genericserver/nbproject/project.xml 2010-02-18 10:51:41.000000000 +0100 @@ -84,7 +84,7 @@ 4 - 1.65 + 1.66 diff -Naur factory/j2ee.genericserver/src/org/netbeans/modules/j2ee/genericserver/resources/layer.xml optional/j2ee.genericserver/src/org/netbeans/modules/j2ee/genericserver/resources/layer.xml --- factory/j2ee.genericserver/src/org/netbeans/modules/j2ee/genericserver/resources/layer.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2ee.genericserver/src/org/netbeans/modules/j2ee/genericserver/resources/layer.xml 2010-02-18 10:51:41.000000000 +0100 @@ -68,8 +68,9 @@ - - + + + diff -Naur factory/j2ee.jboss4/nbproject/project.xml optional/j2ee.jboss4/nbproject/project.xml --- factory/j2ee.jboss4/nbproject/project.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2ee.jboss4/nbproject/project.xml 2010-02-18 10:51:41.000000000 +0100 @@ -122,7 +122,7 @@ 4 - 1.65 + 1.66 diff -Naur factory/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/resources/layer.xml optional/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/resources/layer.xml --- factory/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/resources/layer.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/resources/layer.xml 2010-02-18 10:51:41.000000000 +0100 @@ -69,8 +69,9 @@ - - + + + diff -Naur factory/j2eeserver/apichanges.xml optional/j2eeserver/apichanges.xml --- factory/j2eeserver/apichanges.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2eeserver/apichanges.xml 2010-02-18 13:05:23.626478940 +0100 @@ -113,6 +113,31 @@ + + + + Added class proxying the OptionalDeploymentManagerFactory and adding + the optional noInitializationFinish attribute. + + + + + + +

+ Added class ProxyOptionalFactory which delegates all calls + to configured delegate. Via noInitializationFinish it + is possible to supress finishInitialization() method when + it is not required by the plugin. +

+

+ Designed to be used from XML Layer. +

+
+ + +
+ diff -Naur factory/j2eeserver/nbproject/project.properties optional/j2eeserver/nbproject/project.properties --- factory/j2eeserver/nbproject/project.properties 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2eeserver/nbproject/project.properties 2010-02-18 10:51:41.000000000 +0100 @@ -39,7 +39,7 @@ is.autoload=true javac.source=1.6 -spec.version.base=1.65.0 +spec.version.base=1.66.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff -Naur factory/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/support/ProxyOptionalFactory.java optional/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/support/ProxyOptionalFactory.java --- factory/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/support/ProxyOptionalFactory.java 1970-01-01 01:00:00.000000000 +0100 +++ optional/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/support/ProxyOptionalFactory.java 2010-02-18 11:04:26.000000000 +0100 @@ -0,0 +1,169 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2010 Sun Microsystems, Inc. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common + * Development and Distribution License("CDDL") (collectively, the + * "License"). You may not use this file except in compliance with the + * License. You can obtain a copy of the License at + * http://www.netbeans.org/cddl-gplv2.html + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the + * specific language governing permissions and limitations under the + * License. When distributing the software, include this License Header + * Notice in each file and include the License file at + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the GPL Version 2 section of the License file that + * accompanied this code. If applicable, add the following below the + * License Header, with the fields enclosed by brackets [] replaced by + * your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * If you wish your version of this file to be governed by only the CDDL + * or only the GPL Version 2, indicate your decision by adding + * "[Contributor] elects to include this software in this distribution + * under the [CDDL or GPL Version 2] license." If you do not indicate a + * single choice of license, a recipient has the option to distribute + * your version of this file under either the CDDL, the GPL Version 2 or + * to extend the choice of license to its licensees as provided above. + * However, if you add GPL Version 2 code and therefore, elected the GPL + * Version 2 license, then the option applies only if the new code is + * made subject to such option by the copyright holder. + * + * Contributor(s): + * + * Portions Copyrighted 2010 Sun Microsystems, Inc. + */ + +package org.netbeans.modules.j2ee.deployment.plugins.spi.support; + +import java.util.Map; +import javax.enterprise.deploy.spi.DeploymentManager; +import org.netbeans.modules.j2ee.deployment.plugins.spi.AntDeploymentProvider; +import org.netbeans.modules.j2ee.deployment.plugins.spi.DatasourceManager; +import org.netbeans.modules.j2ee.deployment.plugins.spi.FindJSPServlet; +import org.netbeans.modules.j2ee.deployment.plugins.spi.IncrementalDeployment; +import org.netbeans.modules.j2ee.deployment.plugins.spi.JDBCDriverDeployer; +import org.netbeans.modules.j2ee.deployment.plugins.spi.MessageDestinationDeployment; +import org.netbeans.modules.j2ee.deployment.plugins.spi.OptionalDeploymentManagerFactory; +import org.netbeans.modules.j2ee.deployment.plugins.spi.ServerInitializationException; +import org.netbeans.modules.j2ee.deployment.plugins.spi.ServerInstanceDescriptor; +import org.netbeans.modules.j2ee.deployment.plugins.spi.StartServer; +import org.netbeans.modules.j2ee.deployment.plugins.spi.TargetModuleIDResolver; +import org.openide.WizardDescriptor.InstantiatingIterator; +import org.openide.util.Parameters; + +/** + * Provides a proxying implementation of {@link OptionalDeploymentManagerFactory}. + * Handles optional noInitializationFinish attribute as a way + * to prevent delegate's {@link #finishServerInitialization()} to be called. + * This can be useful in situation when we want to prevent loading unnecessary + * code (from delegate) being loaded during the {@link #finishServerInitialization()} + * call. Designed to be used via XML layer filesystem. + * + * @author Petr Hejl + * @since 1.66 + */ +public final class ProxyOptionalFactory extends OptionalDeploymentManagerFactory { + + private final Map attributes; + + private final boolean noInitializationFinish; + + /* GuardedBy("this") */ + private OptionalDeploymentManagerFactory delegate; + + private ProxyOptionalFactory(Map attributes) { + this.attributes = attributes; + + Boolean finish = (Boolean) attributes.get("noInitializationFinish"); // NOI18N + this.noInitializationFinish = finish == null ? false : finish.booleanValue(); + } + + public static ProxyOptionalFactory create(Map map) { + return new ProxyOptionalFactory(map); + } + + @Override + public boolean isCommonUIRequired() { + return getDelegate().isCommonUIRequired(); + } + + @Override + public TargetModuleIDResolver getTargetModuleIDResolver(DeploymentManager dm) { + return getDelegate().getTargetModuleIDResolver(dm); + } + + @Override + public StartServer getStartServer(DeploymentManager dm) { + return getDelegate().getStartServer(dm); + } + + @Override + public ServerInstanceDescriptor getServerInstanceDescriptor(DeploymentManager dm) { + return getDelegate().getServerInstanceDescriptor(dm); + } + + @Override + public MessageDestinationDeployment getMessageDestinationDeployment(DeploymentManager dm) { + return getDelegate().getMessageDestinationDeployment(dm); + } + + @Override + public JDBCDriverDeployer getJDBCDriverDeployer(DeploymentManager dm) { + return getDelegate().getJDBCDriverDeployer(dm); + } + + @Override + public IncrementalDeployment getIncrementalDeployment(DeploymentManager dm) { + return getDelegate().getIncrementalDeployment(dm); + } + + @Override + public FindJSPServlet getFindJSPServlet(DeploymentManager dm) { + return getDelegate().getFindJSPServlet(dm); + } + + @Override + public DatasourceManager getDatasourceManager(DeploymentManager dm) { + return getDelegate().getDatasourceManager(dm); + } + + @Override + public AntDeploymentProvider getAntDeploymentProvider(DeploymentManager dm) { + return getDelegate().getAntDeploymentProvider(dm); + } + + @Override + public InstantiatingIterator getAddInstanceIterator() { + return getDelegate().getAddInstanceIterator(); + } + + @Override + public void finishServerInitialization() throws ServerInitializationException { + if (!noInitializationFinish) { + getDelegate().finishServerInitialization(); + } + } + + private OptionalDeploymentManagerFactory getDelegate() { + synchronized (this) { + if (delegate != null) { + return delegate; + } + } + + OptionalDeploymentManagerFactory factory = (OptionalDeploymentManagerFactory) attributes.get("delegate"); // NOI18N + Parameters.notNull("delegate", factory); // NOI18N + + synchronized (this) { + if (delegate == null) { + delegate = factory; + } + return delegate; + } + } + +} diff -Naur factory/j2ee.weblogic9/nbproject/project.xml optional/j2ee.weblogic9/nbproject/project.xml --- factory/j2ee.weblogic9/nbproject/project.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2ee.weblogic9/nbproject/project.xml 2010-02-18 10:51:41.000000000 +0100 @@ -110,7 +110,7 @@ 4 - 1.65 + 1.66 diff -Naur factory/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/resources/layer.xml optional/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/resources/layer.xml --- factory/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/resources/layer.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/resources/layer.xml 2010-02-18 10:51:41.000000000 +0100 @@ -103,8 +103,9 @@ etc. --> - - + + + diff -Naur factory/tomcat5/nbproject/project.xml optional/tomcat5/nbproject/project.xml --- factory/tomcat5/nbproject/project.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/tomcat5/nbproject/project.xml 2010-02-18 10:51:41.000000000 +0100 @@ -155,7 +155,7 @@ 4 - 1.65 + 1.66 diff -Naur factory/tomcat5/src/org/netbeans/modules/tomcat5/resources/layer.xml optional/tomcat5/src/org/netbeans/modules/tomcat5/resources/layer.xml --- factory/tomcat5/src/org/netbeans/modules/tomcat5/resources/layer.xml 2010-02-17 20:49:36.000000000 +0100 +++ optional/tomcat5/src/org/netbeans/modules/tomcat5/resources/layer.xml 2010-02-18 10:51:41.000000000 +0100 @@ -59,8 +59,9 @@ - - + + + @@ -94,8 +95,9 @@ - - + + + @@ -129,8 +131,9 @@ - - + + +