[426504] Update New Servlet and Filter wizards to support async option
diff --git a/plugins/org.eclipse.jst.j2ee.web/templates/filter_classHeader.template b/plugins/org.eclipse.jst.j2ee.web/templates/filter_classHeader.template
index 98cc4f2..34a2012 100644
--- a/plugins/org.eclipse.jst.j2ee.web/templates/filter_classHeader.template
+++ b/plugins/org.eclipse.jst.j2ee.web/templates/filter_classHeader.template
@@ -240,6 +240,12 @@
%>}
<%
}
+ else if (key.equals(CreateFilterTemplateModel.ATT_ASYNC_SUPPORT)) {
+ Boolean value =(Boolean) params.get(key);
+ if (value){
+%><%= key %> = <%= value %>
+<% }
+ }
needComma = true;
}
%>)
diff --git a/plugins/org.eclipse.jst.j2ee.web/templates/servlet_classHeader.template b/plugins/org.eclipse.jst.j2ee.web/templates/servlet_classHeader.template
index 63128bf..6b820a9 100644
--- a/plugins/org.eclipse.jst.j2ee.web/templates/servlet_classHeader.template
+++ b/plugins/org.eclipse.jst.j2ee.web/templates/servlet_classHeader.template
@@ -159,7 +159,13 @@
}
<%
}
-
+
+ else if (key.equals(CreateServletTemplateModel.ATT_ASYNC_SUPPORT)) {
+ Boolean value =(Boolean) params.get(key);
+ if (value){
+%><%= key %> = <%= value %>
+<% }
+ }
needComma = true;
}
%>)
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateFilterTemplateModel.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateFilterTemplateModel.java
index 65a6e42..e798b4d 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateFilterTemplateModel.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateFilterTemplateModel.java
@@ -16,6 +16,7 @@
import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.FILTER_MAPPINGS;
import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.INIT;
import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.INIT_PARAM;
+import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.ASYNC_SUPPORT;
import static org.eclipse.jst.j2ee.web.IServletConstants.DESTROY_SIGNATURE;
import static org.eclipse.jst.j2ee.web.IServletConstants.DO_FILTER_SIGNATURE;
import static org.eclipse.jst.j2ee.web.IServletConstants.FILTER_INIT_SIGNATURE;
@@ -127,6 +128,10 @@
return null;
}
+ public boolean getAsyncSupported(){
+ return dataModel.getBooleanProperty(ASYNC_SUPPORT);
+ }
+
public String getDispatcherList(IFilterMappingItem mapping) {
List<String> list = new ArrayList<String>();
@@ -261,6 +266,11 @@
if (initParams != null && initParams.size() > 0) {
result.put(ATT_INIT_PARAMS, initParams);
}
+
+ boolean isAsyncSupported = getAsyncSupported();
+ if (isAsyncSupported)
+ result.put(ATT_ASYNC_SUPPORT, isAsyncSupported);
+
return result;
}
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateServletTemplateModel.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateServletTemplateModel.java
index e892bc6..61616a7 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateServletTemplateModel.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateServletTemplateModel.java
@@ -30,6 +30,7 @@
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.INIT_PARAM;
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.SERVICE;
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.URL_MAPPINGS;
+import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.ASYNC_SUPPORT;
import static org.eclipse.jst.j2ee.web.IServletConstants.DESTROY_SIGNATURE;
import static org.eclipse.jst.j2ee.web.IServletConstants.DO_DELETE_SIGNATURE;
import static org.eclipse.jst.j2ee.web.IServletConstants.DO_GET_SIGNATURE;
@@ -148,7 +149,7 @@
public String getServletClassName() {
return super.getClassName();
}
-
+
public boolean shouldGenInit() {
return implementImplementedMethod(METHOD_INIT);
}
@@ -226,6 +227,10 @@
return (List) dataModel.getProperty(URL_MAPPINGS);
}
+ public boolean getAsyncSupported(){
+ return dataModel.getBooleanProperty(ASYNC_SUPPORT);
+ }
+
public String getServletMapping(int index) {
List<String[]> mappings = getServletMappings();
if (index < mappings.size()) {
@@ -322,6 +327,10 @@
if (initParams != null && initParams.size() > 0) {
result.put(ATT_INIT_PARAMS, initParams);
}
+
+ boolean isAsyncSupported = getAsyncSupported();
+ if (isAsyncSupported)
+ result.put(ATT_ASYNC_SUPPORT, isAsyncSupported);
return result;
}
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateWebClassTemplateModel.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateWebClassTemplateModel.java
index 5187b51..1fc9319 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateWebClassTemplateModel.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/CreateWebClassTemplateModel.java
@@ -24,6 +24,7 @@
public static final String ATT_URL_PATTERNS = "urlPatterns"; //$NON-NLS-1$
public static final String ATT_INIT_PARAMS = "initParams"; //$NON-NLS-1$
+ public static final String ATT_ASYNC_SUPPORT = "asyncSupported"; //$NON-NLS-1$
public static final String SERVLET_3 = "3.0"; //$NON-NLS-1$
public static final String SERVLET_3_1 = "3.1"; //$NON-NLS-1$
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/FilterTemplate.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/FilterTemplate.java
index dfc2cda..455a91e 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/FilterTemplate.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/FilterTemplate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 SAP AG and others.
+ * Copyright (c) 2007, 2014 SAP AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -94,39 +94,44 @@
protected final String TEXT_68 = NL + "\t\t"; //$NON-NLS-1$
protected final String TEXT_69 = " "; //$NON-NLS-1$
protected final String TEXT_70 = "}" + NL + "\t\t\t\t\t"; //$NON-NLS-1$ //$NON-NLS-2$
- protected final String TEXT_71 = ")"; //$NON-NLS-1$
- protected final String TEXT_72 = NL + "public "; //$NON-NLS-1$
- protected final String TEXT_73 = "abstract "; //$NON-NLS-1$
- protected final String TEXT_74 = "final "; //$NON-NLS-1$
- protected final String TEXT_75 = "class "; //$NON-NLS-1$
- protected final String TEXT_76 = " extends "; //$NON-NLS-1$
- protected final String TEXT_77 = " implements "; //$NON-NLS-1$
- protected final String TEXT_78 = ", "; //$NON-NLS-1$
- protected final String TEXT_79 = " {"; //$NON-NLS-1$
- protected final String TEXT_80 = NL + NL + " /**" + NL + " * Default constructor. " + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- protected final String TEXT_81 = "() {" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_82 = NL + " " + NL + " /**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_83 = "#"; //$NON-NLS-1$
- protected final String TEXT_84 = "("; //$NON-NLS-1$
- protected final String TEXT_85 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_86 = "("; //$NON-NLS-1$
- protected final String TEXT_87 = ") {" + NL + " super("; //$NON-NLS-1$ //$NON-NLS-2$
- protected final String TEXT_88 = ");" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_89 = NL + NL + "\t/**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$
- protected final String TEXT_90 = "#"; //$NON-NLS-1$
- protected final String TEXT_91 = "("; //$NON-NLS-1$
- protected final String TEXT_92 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_93 = " "; //$NON-NLS-1$
- protected final String TEXT_94 = "("; //$NON-NLS-1$
- protected final String TEXT_95 = ") {" + NL + " // TODO Auto-generated method stub"; //$NON-NLS-1$ //$NON-NLS-2$
- protected final String TEXT_96 = NL + "\t\t\treturn "; //$NON-NLS-1$
- protected final String TEXT_97 = ";"; //$NON-NLS-1$
- protected final String TEXT_98 = NL + " }"; //$NON-NLS-1$
- protected final String TEXT_99 = NL + NL + "\t/**" + NL + "\t * @see Filter#destroy()" + NL + "\t */" + NL + "\tpublic void destroy() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_100 = NL + NL + "\t/**" + NL + "\t * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)" + NL + "\t */" + NL + "\tpublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\t// place your code here" + NL + "" + NL + "\t\t// pass the request along the filter chain" + NL + "\t\tchain.doFilter(request, response);" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
- protected final String TEXT_101 = NL + NL + "\t/**" + NL + "\t * @see Filter#init(FilterConfig)" + NL + "\t */" + NL + "\tpublic void init(FilterConfig fConfig) throws ServletException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_102 = NL + NL + "}"; //$NON-NLS-1$
- protected final String TEXT_103 = NL;
+ protected final String TEXT_71 = " = "; //$NON-NLS-1$
+ protected final String TEXT_72 = ")"; //$NON-NLS-1$
+ protected final String TEXT_73 = NL + "public "; //$NON-NLS-1$
+ protected final String TEXT_74 = "abstract "; //$NON-NLS-1$
+ protected final String TEXT_75 = "final "; //$NON-NLS-1$
+ protected final String TEXT_76 = "class "; //$NON-NLS-1$
+ protected final String TEXT_77 = " extends "; //$NON-NLS-1$
+ protected final String TEXT_78 = " implements "; //$NON-NLS-1$
+ protected final String TEXT_79 = ", "; //$NON-NLS-1$
+ protected final String TEXT_80 = " {"; //$NON-NLS-1$
+ protected final String TEXT_81 = NL + NL + " /**" + NL + " * Default constructor. " + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ protected final String TEXT_82 = "() {" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_83 = NL + " " + NL + " /**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_84 = "#"; //$NON-NLS-1$
+ protected final String TEXT_85 = "("; //$NON-NLS-1$
+ protected final String TEXT_86 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_87 = "("; //$NON-NLS-1$
+ protected final String TEXT_88 = ") {" + NL + " super("; //$NON-NLS-1$ //$NON-NLS-2$
+ protected final String TEXT_89 = ");" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_90 = NL + NL + "\t/**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$
+ protected final String TEXT_91 = "#"; //$NON-NLS-1$
+ protected final String TEXT_92 = "("; //$NON-NLS-1$
+ protected final String TEXT_93 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_94 = " "; //$NON-NLS-1$
+ protected final String TEXT_95 = "("; //$NON-NLS-1$
+ protected final String TEXT_96 = ") "; //$NON-NLS-1$
+ protected final String TEXT_97 = "throws "; //$NON-NLS-1$
+ protected final String TEXT_98 = " { "; //$NON-NLS-1$
+ protected final String TEXT_99 = " { "; //$NON-NLS-1$
+ protected final String TEXT_100 = NL + " // TODO Auto-generated method stub"; //$NON-NLS-1$
+ protected final String TEXT_101 = NL + "\t\t\treturn "; //$NON-NLS-1$
+ protected final String TEXT_102 = ";"; //$NON-NLS-1$
+ protected final String TEXT_103 = NL + " }"; //$NON-NLS-1$
+ protected final String TEXT_104 = NL + NL + "\t/**" + NL + "\t * @see Filter#destroy()" + NL + "\t */" + NL + "\tpublic void destroy() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_105 = NL + NL + "\t/**" + NL + "\t * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)" + NL + "\t */" + NL + "\tpublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\t// place your code here" + NL + "" + NL + "\t\t// pass the request along the filter chain" + NL + "\t\tchain.doFilter(request, response);" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
+ protected final String TEXT_106 = NL + NL + "\t/**" + NL + "\t * @see Filter#init(FilterConfig)" + NL + "\t */" + NL + "\tpublic void init(FilterConfig fConfig) throws ServletException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_107 = NL + NL + "}"; //$NON-NLS-1$
+ protected final String TEXT_108 = NL;
public String generate(Object argument)
{
@@ -231,7 +236,7 @@
stringBuffer.append(TEXT_26);
- if ("3.0".equals(model.getJavaEEVersion()) || "3.1".equals(model.getJavaEEVersion())) { //$NON-NLS-1$ //$NON-NLS-2$
+ if ("3.0".equals(model.getJavaEEVersion()) || "3.1".equals(model.getJavaEEVersion())) { //$NON-NLS-1$ //$NON-NLS-2$
stringBuffer.append(TEXT_27);
@@ -459,10 +464,19 @@
stringBuffer.append(TEXT_70);
}
+ else if (key.equals(CreateFilterTemplateModel.ATT_ASYNC_SUPPORT)) {
+ Boolean value =(Boolean) params.get(key);
+ if (value){
+
+ stringBuffer.append( key );
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append( value );
+ }
+ }
needComma = true;
}
- stringBuffer.append(TEXT_71);
+ stringBuffer.append(TEXT_72);
}
}
@@ -470,29 +484,29 @@
if (model.isPublic()) {
- stringBuffer.append(TEXT_72);
+ stringBuffer.append(TEXT_73);
}
if (model.isAbstract()) {
- stringBuffer.append(TEXT_73);
+ stringBuffer.append(TEXT_74);
}
if (model.isFinal()) {
- stringBuffer.append(TEXT_74);
+ stringBuffer.append(TEXT_75);
}
- stringBuffer.append(TEXT_75);
+ stringBuffer.append(TEXT_76);
stringBuffer.append( model.getClassName() );
String superClass = model.getSuperclassName();
if (superClass != null && superClass.length() > 0) {
- stringBuffer.append(TEXT_76);
+ stringBuffer.append(TEXT_77);
stringBuffer.append( superClass );
}
@@ -500,7 +514,7 @@
List<String> interfaces = model.getInterfaces();
if ( interfaces.size() > 0) {
- stringBuffer.append(TEXT_77);
+ stringBuffer.append(TEXT_78);
}
@@ -508,7 +522,7 @@
String INTERFACE = interfaces.get(i);
if (i > 0) {
- stringBuffer.append(TEXT_78);
+ stringBuffer.append(TEXT_79);
}
@@ -516,13 +530,13 @@
}
- stringBuffer.append(TEXT_79);
+ stringBuffer.append(TEXT_80);
if (!model.hasEmptySuperclassConstructor()) {
- stringBuffer.append(TEXT_80);
- stringBuffer.append( model.getClassName() );
stringBuffer.append(TEXT_81);
+ stringBuffer.append( model.getClassName() );
+ stringBuffer.append(TEXT_82);
}
@@ -531,19 +545,19 @@
for (Constructor constructor : constructors) {
if (constructor.isPublic() || constructor.isProtected()) {
- stringBuffer.append(TEXT_82);
- stringBuffer.append( model.getSuperclassName() );
stringBuffer.append(TEXT_83);
stringBuffer.append( model.getSuperclassName() );
stringBuffer.append(TEXT_84);
- stringBuffer.append( constructor.getParamsForJavadoc() );
+ stringBuffer.append( model.getSuperclassName() );
stringBuffer.append(TEXT_85);
- stringBuffer.append( model.getClassName() );
+ stringBuffer.append( constructor.getParamsForJavadoc() );
stringBuffer.append(TEXT_86);
- stringBuffer.append( constructor.getParamsForDeclaration() );
+ stringBuffer.append( model.getClassName() );
stringBuffer.append(TEXT_87);
- stringBuffer.append( constructor.getParamsForCall() );
+ stringBuffer.append( constructor.getParamsForDeclaration() );
stringBuffer.append(TEXT_88);
+ stringBuffer.append( constructor.getParamsForCall() );
+ stringBuffer.append(TEXT_89);
}
}
@@ -553,45 +567,53 @@
if (model.shouldImplementAbstractMethods()) {
for (Method method : model.getUnimplementedMethods()) {
- stringBuffer.append(TEXT_89);
- stringBuffer.append( method.getContainingJavaClass() );
stringBuffer.append(TEXT_90);
- stringBuffer.append( method.getName() );
+ stringBuffer.append( method.getContainingJavaClass() );
stringBuffer.append(TEXT_91);
- stringBuffer.append( method.getParamsForJavadoc() );
- stringBuffer.append(TEXT_92);
- stringBuffer.append( method.getReturnType() );
- stringBuffer.append(TEXT_93);
stringBuffer.append( method.getName() );
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append( method.getParamsForJavadoc() );
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append( method.getReturnType() );
stringBuffer.append(TEXT_94);
- stringBuffer.append( method.getParamsForDeclaration() );
+ stringBuffer.append( method.getName() );
stringBuffer.append(TEXT_95);
+ stringBuffer.append( method.getParamsForDeclaration() );
+ stringBuffer.append(TEXT_96);
+ if (method.getExceptions().length() > 0){
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(method.getExceptions());
+ stringBuffer.append(TEXT_98);
+ }else {
+ stringBuffer.append(TEXT_99);
+ }
+ stringBuffer.append(TEXT_100);
String defaultReturnValue = method.getDefaultReturnValue();
if (defaultReturnValue != null) {
- stringBuffer.append(TEXT_96);
+ stringBuffer.append(TEXT_101);
stringBuffer.append( defaultReturnValue );
- stringBuffer.append(TEXT_97);
+ stringBuffer.append(TEXT_102);
}
- stringBuffer.append(TEXT_98);
+ stringBuffer.append(TEXT_103);
}
}
if (model.shouldGenDestroy()) {
- stringBuffer.append(TEXT_99);
+ stringBuffer.append(TEXT_104);
}
if (model.shouldGenDoFilter()) {
- stringBuffer.append(TEXT_100);
+ stringBuffer.append(TEXT_105);
}
if (model.shouldGenInit()) {
- stringBuffer.append(TEXT_101);
+ stringBuffer.append(TEXT_106);
}
- stringBuffer.append(TEXT_102);
- stringBuffer.append(TEXT_103);
+ stringBuffer.append(TEXT_107);
+ stringBuffer.append(TEXT_108);
return stringBuffer.toString();
}
}
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewFilterClassDataModelProperties.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewFilterClassDataModelProperties.java
index 029c7c5..6b22077 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewFilterClassDataModelProperties.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewFilterClassDataModelProperties.java
@@ -39,5 +39,10 @@
* Optional, List propety used to cache all the filter mappings for this filter on the web application.
*/
public static final String FILTER_MAPPINGS = "NewFilterClassDataModel.FILTER_MAPPINGS"; //$NON-NLS-1$
+
+ /**
+ * Optional, boolean property used to enable asynchronous support for this filter
+ */
+ public static final String ASYNC_SUPPORT = "NewFilterClassDataModel.ASYNC_SUPPORT"; //$NON-NLS-1$
}
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewServletClassDataModelProperties.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewServletClassDataModelProperties.java
index 583f9a5..4420df3 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewServletClassDataModelProperties.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/INewServletClassDataModelProperties.java
@@ -95,6 +95,12 @@
* Optional, List propety used to cache all the servlet mappings for this servlet on the web application.
*/
public static final String URL_MAPPINGS = "NewServletClassDataModel.URL_MAPPINGS"; //$NON-NLS-1$
+
+ /**
+ * Optional, boolean property used to enable asynchronous support for this servlet
+ */
+ public static final String ASYNC_SUPPORT = "NewServletClassDataModel.ASYNC_SUPPORT"; //$NON-NLS-1$
+
/**
* Do not set! The javajet template file used in creating the annotated servlet template class
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewFilterClassDataModelProvider.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewFilterClassDataModelProvider.java
index c928ef9..668f293 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewFilterClassDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewFilterClassDataModelProvider.java
@@ -20,6 +20,7 @@
import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.INIT;
import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.INIT_PARAM;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.DISPLAY_NAME;
+import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.ASYNC_SUPPORT;
import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_FILTER;
import java.util.ArrayList;
@@ -91,6 +92,7 @@
propertyNames.add(DO_FILTER);
propertyNames.add(INIT_PARAM);
propertyNames.add(FILTER_MAPPINGS);
+ propertyNames.add(ASYNC_SUPPORT);
return propertyNames;
}
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewServletClassDataModelProvider.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewServletClassDataModelProvider.java
index 9792723..63734a3 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewServletClassDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/NewServletClassDataModelProvider.java
@@ -34,6 +34,7 @@
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.TEMPLATE_FILE;
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.TO_STRING;
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.URL_MAPPINGS;
+import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.ASYNC_SUPPORT;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.DISPLAY_NAME;
import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_HTTP_SERVLET;
import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_SERVLET;
@@ -150,6 +151,7 @@
propertyNames.add(IS_SERVLET_TYPE);
propertyNames.add(INIT_PARAM);
propertyNames.add(URL_MAPPINGS);
+ propertyNames.add(ASYNC_SUPPORT);
propertyNames.add(NON_ANNOTATED_TEMPLATE_FILE);
propertyNames.add(TEMPLATE_FILE);
diff --git a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/ServletTemplate.java b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/ServletTemplate.java
index 98de959..c4eec8f 100644
--- a/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/ServletTemplate.java
+++ b/plugins/org.eclipse.jst.j2ee.web/web/org/eclipse/jst/j2ee/internal/web/operations/ServletTemplate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 SAP AG and others.
+ * Copyright (c) 2007, 2014 SAP AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -75,50 +75,55 @@
protected final String TEXT_49 = "\""; //$NON-NLS-1$
protected final String TEXT_50 = ")"; //$NON-NLS-1$
protected final String TEXT_51 = NL + "\t\t}"; //$NON-NLS-1$
- protected final String TEXT_52 = ")"; //$NON-NLS-1$
- protected final String TEXT_53 = NL + "public "; //$NON-NLS-1$
- protected final String TEXT_54 = "abstract "; //$NON-NLS-1$
- protected final String TEXT_55 = "final "; //$NON-NLS-1$
- protected final String TEXT_56 = "class "; //$NON-NLS-1$
- protected final String TEXT_57 = " extends "; //$NON-NLS-1$
- protected final String TEXT_58 = " implements "; //$NON-NLS-1$
- protected final String TEXT_59 = ", "; //$NON-NLS-1$
- protected final String TEXT_60 = " {"; //$NON-NLS-1$
- protected final String TEXT_61 = NL + "\tprivate static final long serialVersionUID = 1L;"; //$NON-NLS-1$
- protected final String TEXT_62 = NL + NL + " /**" + NL + " * Default constructor. " + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- protected final String TEXT_63 = "() {" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_64 = NL + " " + NL + " /**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_65 = "#"; //$NON-NLS-1$
- protected final String TEXT_66 = "("; //$NON-NLS-1$
- protected final String TEXT_67 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_68 = "("; //$NON-NLS-1$
- protected final String TEXT_69 = ") {" + NL + " super("; //$NON-NLS-1$ //$NON-NLS-2$
- protected final String TEXT_70 = ");" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_71 = NL + NL + "\t/**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$
- protected final String TEXT_72 = "#"; //$NON-NLS-1$
- protected final String TEXT_73 = "("; //$NON-NLS-1$
- protected final String TEXT_74 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- protected final String TEXT_75 = " "; //$NON-NLS-1$
- protected final String TEXT_76 = "("; //$NON-NLS-1$
- protected final String TEXT_77 = ") {" + NL + " // TODO Auto-generated method stub"; //$NON-NLS-1$ //$NON-NLS-2$
- protected final String TEXT_78 = NL + "\t\t\treturn "; //$NON-NLS-1$
- protected final String TEXT_79 = ";"; //$NON-NLS-1$
- protected final String TEXT_80 = NL + " }"; //$NON-NLS-1$
- protected final String TEXT_81 = NL + NL + "\t/**" + NL + "\t * @see Servlet#init(ServletConfig)" + NL + "\t */" + NL + "\tpublic void init(ServletConfig config) throws ServletException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_82 = NL + NL + "\t/**" + NL + "\t * @see Servlet#destroy()" + NL + "\t */" + NL + "\tpublic void destroy() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_83 = NL + NL + "\t/**" + NL + "\t * @see Servlet#getServletConfig()" + NL + "\t */" + NL + "\tpublic ServletConfig getServletConfig() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\treturn null;" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- protected final String TEXT_84 = NL + NL + "\t/**" + NL + "\t * @see Servlet#getServletInfo()" + NL + "\t */" + NL + "\tpublic String getServletInfo() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\treturn null; " + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- protected final String TEXT_85 = NL + NL + "\t/**" + NL + "\t * @see Servlet#service(ServletRequest request, ServletResponse response)" + NL + "\t */" + NL + "\tpublic void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_86 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\tprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_87 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\tprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_88 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\tprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_89 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doPut(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_90 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doDelete(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_91 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doHead(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_92 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doOptions(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_93 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doTrace(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doTrace(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- protected final String TEXT_94 = NL + NL + "}"; //$NON-NLS-1$
- protected final String TEXT_95 = NL;
+ protected final String TEXT_52 = " = "; //$NON-NLS-1$
+ protected final String TEXT_53 = ")"; //$NON-NLS-1$
+ protected final String TEXT_54 = NL + "public "; //$NON-NLS-1$
+ protected final String TEXT_55 = "abstract "; //$NON-NLS-1$
+ protected final String TEXT_56 = "final "; //$NON-NLS-1$
+ protected final String TEXT_57 = "class "; //$NON-NLS-1$
+ protected final String TEXT_58 = " extends "; //$NON-NLS-1$
+ protected final String TEXT_59 = " implements "; //$NON-NLS-1$
+ protected final String TEXT_60 = ", "; //$NON-NLS-1$
+ protected final String TEXT_61 = " {"; //$NON-NLS-1$
+ protected final String TEXT_62 = NL + "\tprivate static final long serialVersionUID = 1L;"; //$NON-NLS-1$
+ protected final String TEXT_63 = NL + NL + " /**" + NL + " * Default constructor. " + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ protected final String TEXT_64 = "() {" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_65 = NL + " " + NL + " /**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_66 = "#"; //$NON-NLS-1$
+ protected final String TEXT_67 = "("; //$NON-NLS-1$
+ protected final String TEXT_68 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_69 = "("; //$NON-NLS-1$
+ protected final String TEXT_70 = ") {" + NL + " super("; //$NON-NLS-1$ //$NON-NLS-2$
+ protected final String TEXT_71 = ");" + NL + " // TODO Auto-generated constructor stub" + NL + " }"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_72 = NL + NL + "\t/**" + NL + " * @see "; //$NON-NLS-1$ //$NON-NLS-2$
+ protected final String TEXT_73 = "#"; //$NON-NLS-1$
+ protected final String TEXT_74 = "("; //$NON-NLS-1$
+ protected final String TEXT_75 = ")" + NL + " */" + NL + " public "; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ protected final String TEXT_76 = " "; //$NON-NLS-1$
+ protected final String TEXT_77 = "("; //$NON-NLS-1$
+ protected final String TEXT_78 = ") "; //$NON-NLS-1$
+ protected final String TEXT_79 = "throws "; //$NON-NLS-1$
+ protected final String TEXT_80 = " { "; //$NON-NLS-1$
+ protected final String TEXT_81 = " { "; //$NON-NLS-1$
+ protected final String TEXT_82 = NL + " // TODO Auto-generated method stub"; //$NON-NLS-1$
+ protected final String TEXT_83 = NL + "\t\t\treturn "; //$NON-NLS-1$
+ protected final String TEXT_84 = ";"; //$NON-NLS-1$
+ protected final String TEXT_85 = NL + " }"; //$NON-NLS-1$
+ protected final String TEXT_86 = NL + NL + "\t/**" + NL + "\t * @see Servlet#init(ServletConfig)" + NL + "\t */" + NL + "\tpublic void init(ServletConfig config) throws ServletException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_87 = NL + NL + "\t/**" + NL + "\t * @see Servlet#destroy()" + NL + "\t */" + NL + "\tpublic void destroy() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_88 = NL + NL + "\t/**" + NL + "\t * @see Servlet#getServletConfig()" + NL + "\t */" + NL + "\tpublic ServletConfig getServletConfig() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\treturn null;" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
+ protected final String TEXT_89 = NL + NL + "\t/**" + NL + "\t * @see Servlet#getServletInfo()" + NL + "\t */" + NL + "\tpublic String getServletInfo() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\treturn null; " + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
+ protected final String TEXT_90 = NL + NL + "\t/**" + NL + "\t * @see Servlet#service(ServletRequest request, ServletResponse response)" + NL + "\t */" + NL + "\tpublic void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_91 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\tprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_92 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\tprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_93 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\tprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_94 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doPut(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_95 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doDelete(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_96 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doHead(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_97 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doOptions(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_98 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doTrace(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\tprotected void doTrace(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ protected final String TEXT_99 = NL + NL + "}"; //$NON-NLS-1$
+ protected final String TEXT_100 = NL;
public String generate(Object argument)
{
@@ -350,11 +355,20 @@
stringBuffer.append(TEXT_51);
}
-
+
+ else if (key.equals(CreateServletTemplateModel.ATT_ASYNC_SUPPORT)) {
+ Boolean value =(Boolean) params.get(key);
+ if (value){
+
+ stringBuffer.append( key );
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append( value );
+ }
+ }
needComma = true;
}
- stringBuffer.append(TEXT_52);
+ stringBuffer.append(TEXT_53);
}
}
@@ -362,29 +376,29 @@
if (model.isPublic()) {
- stringBuffer.append(TEXT_53);
+ stringBuffer.append(TEXT_54);
}
if (model.isAbstract()) {
- stringBuffer.append(TEXT_54);
+ stringBuffer.append(TEXT_55);
}
if (model.isFinal()) {
- stringBuffer.append(TEXT_55);
+ stringBuffer.append(TEXT_56);
}
- stringBuffer.append(TEXT_56);
+ stringBuffer.append(TEXT_57);
stringBuffer.append( model.getClassName() );
String superClass = model.getSuperclassName();
if (superClass != null && superClass.length() > 0) {
- stringBuffer.append(TEXT_57);
+ stringBuffer.append(TEXT_58);
stringBuffer.append( superClass );
}
@@ -392,7 +406,7 @@
List<String> interfaces = model.getInterfaces();
if ( interfaces.size() > 0) {
- stringBuffer.append(TEXT_58);
+ stringBuffer.append(TEXT_59);
}
@@ -400,7 +414,7 @@
String INTERFACE = interfaces.get(i);
if (i > 0) {
- stringBuffer.append(TEXT_59);
+ stringBuffer.append(TEXT_60);
}
@@ -408,20 +422,20 @@
}
- stringBuffer.append(TEXT_60);
+ stringBuffer.append(TEXT_61);
if (model.isGenericServletSuperclass()) {
- stringBuffer.append(TEXT_61);
+ stringBuffer.append(TEXT_62);
}
if (!model.hasEmptySuperclassConstructor()) {
- stringBuffer.append(TEXT_62);
- stringBuffer.append( model.getClassName() );
stringBuffer.append(TEXT_63);
+ stringBuffer.append( model.getClassName() );
+ stringBuffer.append(TEXT_64);
}
@@ -430,19 +444,19 @@
for (Constructor constructor : constructors) {
if (constructor.isPublic() || constructor.isProtected()) {
- stringBuffer.append(TEXT_64);
- stringBuffer.append( model.getSuperclassName() );
stringBuffer.append(TEXT_65);
stringBuffer.append( model.getSuperclassName() );
stringBuffer.append(TEXT_66);
- stringBuffer.append( constructor.getParamsForJavadoc() );
+ stringBuffer.append( model.getSuperclassName() );
stringBuffer.append(TEXT_67);
- stringBuffer.append( model.getClassName() );
+ stringBuffer.append( constructor.getParamsForJavadoc() );
stringBuffer.append(TEXT_68);
- stringBuffer.append( constructor.getParamsForDeclaration() );
+ stringBuffer.append( model.getClassName() );
stringBuffer.append(TEXT_69);
- stringBuffer.append( constructor.getParamsForCall() );
+ stringBuffer.append( constructor.getParamsForDeclaration() );
stringBuffer.append(TEXT_70);
+ stringBuffer.append( constructor.getParamsForCall() );
+ stringBuffer.append(TEXT_71);
}
}
@@ -452,75 +466,83 @@
if (model.shouldImplementAbstractMethods()) {
for (Method method : model.getUnimplementedMethods()) {
- stringBuffer.append(TEXT_71);
- stringBuffer.append( method.getContainingJavaClass() );
stringBuffer.append(TEXT_72);
- stringBuffer.append( method.getName() );
+ stringBuffer.append( method.getContainingJavaClass() );
stringBuffer.append(TEXT_73);
- stringBuffer.append( method.getParamsForJavadoc() );
- stringBuffer.append(TEXT_74);
- stringBuffer.append( method.getReturnType() );
- stringBuffer.append(TEXT_75);
stringBuffer.append( method.getName() );
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append( method.getParamsForJavadoc() );
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append( method.getReturnType() );
stringBuffer.append(TEXT_76);
- stringBuffer.append( method.getParamsForDeclaration() );
+ stringBuffer.append( method.getName() );
stringBuffer.append(TEXT_77);
+ stringBuffer.append( method.getParamsForDeclaration() );
+ stringBuffer.append(TEXT_78);
+ if (method.getExceptions().length() > 0){
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(method.getExceptions());
+ stringBuffer.append(TEXT_80);
+ }else {
+ stringBuffer.append(TEXT_81);
+ }
+ stringBuffer.append(TEXT_82);
String defaultReturnValue = method.getDefaultReturnValue();
if (defaultReturnValue != null) {
- stringBuffer.append(TEXT_78);
+ stringBuffer.append(TEXT_83);
stringBuffer.append( defaultReturnValue );
- stringBuffer.append(TEXT_79);
+ stringBuffer.append(TEXT_84);
}
- stringBuffer.append(TEXT_80);
+ stringBuffer.append(TEXT_85);
}
}
if (model.shouldGenInit()) {
- stringBuffer.append(TEXT_81);
- }
- if (model.shouldGenDestroy()) {
- stringBuffer.append(TEXT_82);
- }
- if (model.shouldGenGetServletConfig()) {
- stringBuffer.append(TEXT_83);
- }
- if (model.shouldGenGetServletInfo()) {
- stringBuffer.append(TEXT_84);
- }
- if (model.shouldGenService() && !model.isHttpServletSuperclass()) {
- stringBuffer.append(TEXT_85);
- }
- if (model.shouldGenService() && model.isHttpServletSuperclass()) {
stringBuffer.append(TEXT_86);
}
- if (model.shouldGenDoGet()) {
+ if (model.shouldGenDestroy()) {
stringBuffer.append(TEXT_87);
}
- if (model.shouldGenDoPost()) {
+ if (model.shouldGenGetServletConfig()) {
stringBuffer.append(TEXT_88);
}
- if (model.shouldGenDoPut()) {
+ if (model.shouldGenGetServletInfo()) {
stringBuffer.append(TEXT_89);
}
- if (model.shouldGenDoDelete()) {
+ if (model.shouldGenService() && !model.isHttpServletSuperclass()) {
stringBuffer.append(TEXT_90);
}
- if (model.shouldGenDoHead()) {
+ if (model.shouldGenService() && model.isHttpServletSuperclass()) {
stringBuffer.append(TEXT_91);
}
- if (model.shouldGenDoOptions()) {
+ if (model.shouldGenDoGet()) {
stringBuffer.append(TEXT_92);
}
- if (model.shouldGenDoTrace()) {
+ if (model.shouldGenDoPost()) {
stringBuffer.append(TEXT_93);
}
+ if (model.shouldGenDoPut()) {
stringBuffer.append(TEXT_94);
+ }
+ if (model.shouldGenDoDelete()) {
stringBuffer.append(TEXT_95);
+ }
+ if (model.shouldGenDoHead()) {
+ stringBuffer.append(TEXT_96);
+ }
+ if (model.shouldGenDoOptions()) {
+ stringBuffer.append(TEXT_97);
+ }
+ if (model.shouldGenDoTrace()) {
+ stringBuffer.append(TEXT_98);
+ }
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(TEXT_100);
return stringBuffer.toString();
}
}
diff --git a/plugins/org.eclipse.jst.servlet.ui/property_files/web_ui.properties b/plugins/org.eclipse.jst.servlet.ui/property_files/web_ui.properties
index 4bc6d6a..524a2af 100644
--- a/plugins/org.eclipse.jst.servlet.ui/property_files/web_ui.properties
+++ b/plugins/org.eclipse.jst.servlet.ui/property_files/web_ui.properties
@@ -56,6 +56,7 @@
INIT_PARAM_LABEL=Initialization ¶meters:
URL_MAPPINGS_TITLE=URL Mappings
URL_MAPPINGS_LABEL=&URL mappings:
+ASYNC_SUPPORT_LABEL = As&ynchronous Support
CHOOSE_SERVLET_CLASS=&Choose a JSP file:
NEW_SERVLET_WIZARD_WINDOW_TITLE=New Servlet
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/plugin/WEBUIMessages.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/plugin/WEBUIMessages.java
index f34c075..6814cbe 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/plugin/WEBUIMessages.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/plugin/WEBUIMessages.java
@@ -39,6 +39,7 @@
public static String ADD_SERVLET_WIZARD_PAGE_TITLE;
public static String ADD_FILTER_WIZARD_WINDOW_TITLE;
public static String ADD_FILTER_WIZARD_PAGE_TITLE;
+ public static String ASYNC_SUPPORT_LABEL;
public static String JAVA_CLASS_MAIN_CHECKBOX_LABEL;
public static String EMPTY_LIST_MSG;
public static String ExportWARAction_UI_;
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java
index 79ca1ae..c6cc790 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java
@@ -12,6 +12,7 @@
import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.FILTER_MAPPINGS;
import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.INIT_PARAM;
+import static org.eclipse.jst.j2ee.internal.web.operations.INewFilterClassDataModelProperties.ASYNC_SUPPORT;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.DESCRIPTION;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.DISPLAY_NAME;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.USE_EXISTING_CLASS;
@@ -33,10 +34,12 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties;
import org.eclipse.jst.j2ee.internal.wizard.StringArrayTableWizardSection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
@@ -54,6 +57,7 @@
private Text displayNameText;
FilterMappingsArrayTableWizardSection mappingSection;
+ private Button asyncSupportCheckBox;
public AddFilterWizardPage(IDataModel model, String pageName) {
super(model, pageName);
@@ -103,6 +107,9 @@
displayNameText.setFocus();
+ createAsyncSupportGroup(composite);
+
+
IStatus projectStatus = validateProjectName();
if (!projectStatus.isOK()) {
setErrorMessage(projectStatus.getMessage());
@@ -140,6 +147,16 @@
descText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
synchHelper.synchText(descText, DESCRIPTION, null);
}
+
+
+ private void createAsyncSupportGroup(Composite composite){
+ asyncSupportCheckBox = new Button(composite, SWT.CHECK);
+ asyncSupportCheckBox.setText(IWebWizardConstants.ASYNC_SUPPORT_LABEL);
+ GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ data.horizontalSpan = 3;
+ asyncSupportCheckBox.setLayoutData(data);
+ synchHelper.synchCheckbox(asyncSupportCheckBox, ASYNC_SUPPORT, null);
+ }
public String getDisplayName() {
return displayNameText.getText();
@@ -157,4 +174,15 @@
return true;
}
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
+ if("3.0".equals(javaEEVersion) || "3.1".equals(javaEEVersion)){ //$NON-NLS-1$ //$NON-NLS-2$
+ asyncSupportCheckBox.setVisible(true);
+ }
+ else
+ asyncSupportCheckBox.setVisible(false);
+ }
+
}
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java
index 12d8119..13fac90 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java
@@ -50,6 +50,8 @@
private static final Image IMG_INTERFACE = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_INTERFACE);
protected ServletDataModelSyncHelper synchHelper2;
+ private Button changeSessionID, asyncListener;
+ private Label changeSessionIDIconLabel, changeSessionIDInterfaceLabel, asyncListenerIconLabel, asyncListenerInterfaceLabel;
public AddListenerWizardPage(IDataModel model, String pageName) {
super(model, pageName);
@@ -131,16 +133,10 @@
QUALIFIED_HTTP_SESSION_BINDING_LISTENER,
INTERFACES);
- String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
- if("3.1".equals(javaEEVersion)){ //$NON-NLS-1$
- createEventListenerRow(group,
- ADD_LISTENER_WIZARD_OBJECT_SESSION_ID,
- QUALIFIED_HTTP_SESSION_ID_LISTENER,
- INTERFACES);
- }
-
-
-
+ createEventListenerRow(group,
+ ADD_LISTENER_WIZARD_OBJECT_SESSION_ID,
+ QUALIFIED_HTTP_SESSION_ID_LISTENER,
+ INTERFACES);
}
private void createServletRequestEvents(Composite parent) {
@@ -156,14 +152,11 @@
QUALIFIED_SERVLET_REQUEST_ATTRIBUTE_LISTENER,
INTERFACES);
- String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
- if("3.1".equals(javaEEVersion)){ //$NON-NLS-1$
- createEventListenerRow(group,
- ADD_LISTENER_WIZARD_ASYNC_EVENTS,
- QUALIFIED_SERVLET_REQUEST_ASYNC_EVENT_LISTENER,
- INTERFACES);
- }
-
+ createEventListenerRow(group,
+ ADD_LISTENER_WIZARD_ASYNC_EVENTS,
+ QUALIFIED_SERVLET_REQUEST_ASYNC_EVENT_LISTENER,
+ INTERFACES);
+
}
@@ -178,9 +171,21 @@
}
private void createEventListenerRow(Composite parent, String event, String listener, String property) {
- createCheckbox(parent, event, listener, property);
- createInterfaceIcon(parent);
- createInterfaceLabel(parent, listener);
+ if (listener.equals(QUALIFIED_HTTP_SESSION_ID_LISTENER)){
+ changeSessionID = createCheckbox(parent, event, listener, property);
+ changeSessionIDIconLabel = createInterfaceIcon(parent);
+ changeSessionIDInterfaceLabel = createInterfaceLabel(parent, listener);
+ }
+ else if (listener.equals(QUALIFIED_SERVLET_REQUEST_ASYNC_EVENT_LISTENER)){
+ asyncListener = createCheckbox(parent, event, listener, property);
+ asyncListenerIconLabel = createInterfaceIcon(parent);
+ asyncListenerInterfaceLabel = createInterfaceLabel(parent, listener);
+ }
+ else{
+ createCheckbox(parent, event, listener, property);
+ createInterfaceIcon(parent);
+ createInterfaceLabel(parent, listener);
+ }
}
private Button createCheckbox(Composite parent, String text, String value, String property) {
@@ -265,5 +270,39 @@
synchHelper2.synchUIWithModel(INTERFACES, DataModelEvent.VALUE_CHG);
model.notifyPropertyChange(INTERFACES, DataModelEvent.VALUE_CHG);
}
+
+
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
+ if("3.1".equals(javaEEVersion)){ //$NON-NLS-1$
+ setServlet31ListenersVisible(true);
+ }
+ else{
+ setServlet31ListenersVisible(false);
+ }
+ }
+
+
+ private void setServlet31ListenersVisible(boolean visible){
+ changeSessionID.setVisible(visible);
+ changeSessionIDIconLabel.setVisible(visible);
+ changeSessionIDInterfaceLabel.setVisible(visible);
+ asyncListener.setVisible(visible);
+ asyncListenerIconLabel.setVisible(visible);
+ asyncListenerInterfaceLabel.setVisible(visible);
+
+ if (!visible){
+ List interfaces = (List) model.getProperty(INTERFACES);
+ if (interfaces != null){
+ //remove any selected interfaces
+ interfaces.remove(QUALIFIED_HTTP_SESSION_ID_LISTENER);
+ interfaces.remove(QUALIFIED_SERVLET_REQUEST_ASYNC_EVENT_LISTENER);
+ synchHelper2.synchUIWithModel(INTERFACES, DataModelEvent.VALUE_CHG);
+ model.notifyPropertyChange(INTERFACES, DataModelEvent.VALUE_CHG);
+ }
+ }
+ }
}
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java
index 83fdc45..9df611a 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java
@@ -14,6 +14,7 @@
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.INIT_PARAM;
import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.URL_MAPPINGS;
+import static org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties.ASYNC_SUPPORT;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.DESCRIPTION;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.DISPLAY_NAME;
import static org.eclipse.jst.j2ee.internal.web.operations.INewWebClassDataModelProperties.USE_EXISTING_CLASS;
@@ -45,12 +46,14 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jst.j2ee.internal.web.operations.INewServletClassDataModelProperties;
import org.eclipse.jst.j2ee.internal.wizard.StringArrayTableWizardSection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
@@ -67,6 +70,7 @@
private Text displayNameText;
private StringArrayTableWizardSection urlSection;
+ private Button asyncSupportCheckBox;
public AddServletWizardPage(IDataModel model, String pageName) {
super(model, pageName);
@@ -130,6 +134,10 @@
urlSection.setInput(input);
displayNameText.setFocus();
+
+ createAsyncSupportGroup(composite);
+
+
IStatus projectStatus = validateProjectName();
if (!projectStatus.isOK()) {
setErrorMessage(projectStatus.getMessage());
@@ -178,6 +186,16 @@
descText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
synchHelper.synchText(descText, DESCRIPTION, null);
}
+
+
+ private void createAsyncSupportGroup(Composite composite){
+ asyncSupportCheckBox = new Button(composite, SWT.CHECK);
+ asyncSupportCheckBox.setText(IWebWizardConstants.ASYNC_SUPPORT_LABEL);
+ GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ data.horizontalSpan = 3;
+ asyncSupportCheckBox.setLayoutData(data);
+ synchHelper.synchCheckbox(asyncSupportCheckBox, ASYNC_SUPPORT, null);
+ }
public String getDisplayName() {
return displayNameText.getText();
@@ -195,4 +213,15 @@
return true;
}
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
+ if("3.0".equals(javaEEVersion) || "3.1".equals(javaEEVersion)){ //$NON-NLS-1$ //$NON-NLS-2$
+ asyncSupportCheckBox.setVisible(true);
+ }
+ else
+ asyncSupportCheckBox.setVisible(false);
+ }
+
}
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/IWebWizardConstants.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/IWebWizardConstants.java
index e534e0a..218c7f0 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/IWebWizardConstants.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/IWebWizardConstants.java
@@ -29,6 +29,7 @@
public final static String INIT_PARAM_LABEL = WEBUIMessages.INIT_PARAM_LABEL;
public final static String URL_MAPPINGS_TITLE = WEBUIMessages.URL_MAPPINGS_TITLE;
public final static String URL_MAPPINGS_LABEL = WEBUIMessages.URL_MAPPINGS_LABEL;
+ public final static String ASYNC_SUPPORT_LABEL = WEBUIMessages.ASYNC_SUPPORT_LABEL;
public final static String CHOOSE_SERVLET_CLASS = WEBUIMessages.CHOOSE_SERVLET_CLASS;
// NewServletWizard