[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); - } - } - }); + }); + } } }