[228100] adds OPEN_IN_EDITOR data model property which determines whether the newly created Java EE artifact to be open in the editor.
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java
index 1d23d6c..31f0a0f 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java
@@ -79,6 +79,14 @@
 	public static final String ABSTRACT_METHODS = "NewJavaClassDataModel.ABSTRACT_METHODS"; //$NON-NLS-1$
 	
 	/**
+	 * Optional, boolean property used to set whether the new java class should
+	 * be open in the default editor. The default value is true. The value could
+	 * be changed to false if opening the java class in the editor is not
+	 * desired.
+	 */
+	public static final String OPEN_IN_EDITOR = "NewJavaClassDataModel.OPEN_IN_EDITOR"; //$NON-NLS-1$
+	
+	/**
 	 * THIS PROPERTY SHOULD NOT BE SET, it's value is meant to be determined as a helper method
 	 */
 	public static final String JAVA_PACKAGE_FRAGMENT_ROOT = "NewJavaClassDataModel.JAVA_PACKAGE_FRAGMENT_ROOT"; //$NON-NLS-1$
@@ -97,4 +105,5 @@
 	 * THIS PROPERTY SHOULD NOT BE SET, it's value is meant to be determined as a helper method
 	 */
 	public static final String QUALIFIED_CLASS_NAME = "NewJavaClassDataModel.QUALIFIED_CLASS_NAME"; //$NON-NLS-1$
+	
 }
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java
index 992a1a4..2f069e4 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java
@@ -21,6 +21,7 @@
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.MODIFIER_ABSTRACT;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.MODIFIER_FINAL;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.MODIFIER_PUBLIC;
+import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.OPEN_IN_EDITOR;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.PROJECT;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.QUALIFIED_CLASS_NAME;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.SOURCE_FOLDER;
@@ -183,6 +184,7 @@
 		propertyNames.add(MAIN_METHOD);
 		propertyNames.add(CONSTRUCTOR);
 		propertyNames.add(ABSTRACT_METHODS);
+		propertyNames.add(OPEN_IN_EDITOR);
 		propertyNames.add(JAVA_PACKAGE_FRAGMENT_ROOT);
 		propertyNames.add(JAVA_SOURCE_FOLDER);
 		propertyNames.add(PROJECT);
@@ -212,13 +214,16 @@
 			return new String("java.lang.Object"); //$NON-NLS-1$
 		// Use public as default visibility
 		else if (propertyName.equals(MODIFIER_PUBLIC))
-			return new Boolean(true);
+			return Boolean.TRUE;
 		// Generate constructors from the superclass by default
 		else if (propertyName.equals(CONSTRUCTOR))
-			return new Boolean(true);
+			return Boolean.TRUE;
 		// Generate unimplemented methods from declared interfaces by default
 		else if (propertyName.equals(ABSTRACT_METHODS))
-			return new Boolean(true);
+			return Boolean.TRUE;
+		// Open the generated java class in the editor by default
+		else if (propertyName.equals(OPEN_IN_EDITOR))
+			return Boolean.TRUE;
 		else if (propertyName.equals(PROJECT))
 			return getTargetProject();
 		else if (propertyName.equals(JAVA_SOURCE_FOLDER))
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebArtifactWizard.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebArtifactWizard.java
index c2e47a8..0e15c82 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebArtifactWizard.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/NewWebArtifactWizard.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.jst.servlet.ui.internal.wizard;
 
+import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.OPEN_IN_EDITOR;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.PROJECT;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.QUALIFIED_CLASS_NAME;
 
@@ -89,18 +90,20 @@
 	}
 
 	protected void openEditor(final IFile file) {
-		if (file != null) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					try {
-						IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-						IDE.openEditor(page, file, true);
+		if (getDataModel().getBooleanProperty(OPEN_IN_EDITOR)) {
+			if (file != null) {
+				getShell().getDisplay().asyncExec(new Runnable() {
+					public void run() {
+						try {
+							IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+							IDE.openEditor(page, file, true);
+						}
+						catch (PartInitException e) {
+							ServletUIPlugin.log(e);
+						}
 					}
-					catch (PartInitException e) {
-						ServletUIPlugin.log(e);
-					}
-				}
-			});
+				});
+			}
 		}
 	}