[565498] (partial) New Servlet/Filter/Listener wizards should account for Jakarta package names
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 849e5a8..9d41c24 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
@@ -75,14 +75,14 @@ import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_WEB_SERVLET; import static org.eclipse.jst.j2ee.web.IServletConstants.SERVICE_SIGNATURE; import static org.eclipse.jst.j2ee.web.IServletConstants.SERVLET_INIT_SIGNATURE; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_ANNOTATION_INIT_PARAM; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_HTTP_SERVLET_REQUEST; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_HTTP_SERVLET_RESPONSE; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_CONFIG; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_EXCEPTION; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_REQUEST; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_RESPONSE; -//import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_WEB_SERVLET; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_ANNOTATION_INIT_PARAM; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_HTTP_SERVLET_REQUEST; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_HTTP_SERVLET_RESPONSE; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_CONFIG; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_EXCEPTION; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_REQUEST; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_SERVLET_RESPONSE; +import static org.eclipse.jst.j2ee.web.IServletConstants.QUALIFIED_JAKARTA_WEB_SERVLET; import static org.eclipse.jst.j2ee.web.IServletConstants.JAKARTA_SERVICE_SIGNATURE; import static org.eclipse.jst.j2ee.web.IServletConstants.JAKARTA_SERVLET_INIT_SIGNATURE; @@ -110,47 +110,91 @@ @Override public Collection<String> getImports() { - // TODO: vary based on datamodel EE version Collection<String> collection = super.getImports(); - + String eeVersion = getJavaEEVersion(); + boolean useJakartaPackages = true; + try { + useJakartaPackages = (eeVersion == null || Double.valueOf(eeVersion).doubleValue() >= 5.0); + } + catch (NumberFormatException e) { + useJakartaPackages = true; + } + if (shouldGenInit()) { - collection.add(QUALIFIED_SERVLET_CONFIG); - collection.add(QUALIFIED_SERVLET_EXCEPTION); + if (useJakartaPackages) { + collection.add(QUALIFIED_JAKARTA_SERVLET_CONFIG); + collection.add(QUALIFIED_JAKARTA_SERVLET_EXCEPTION); + } + else { + collection.add(QUALIFIED_SERVLET_CONFIG); + collection.add(QUALIFIED_SERVLET_EXCEPTION); + } } if (shouldGenGetServletConfig()) { - collection.add(QUALIFIED_SERVLET_CONFIG); + if (useJakartaPackages) { + collection.add(QUALIFIED_JAKARTA_SERVLET_CONFIG); + } + else { + collection.add(QUALIFIED_SERVLET_CONFIG); + } } if (shouldGenService()) { - if (isHttpServletSuperclass()) { - collection.add(QUALIFIED_HTTP_SERVLET_REQUEST); - collection.add(QUALIFIED_HTTP_SERVLET_RESPONSE); - } else { - collection.add(QUALIFIED_SERVLET_REQUEST); - collection.add(QUALIFIED_SERVLET_RESPONSE); + if (useJakartaPackages) { + if (isHttpServletSuperclass()) { + collection.add(QUALIFIED_JAKARTA_HTTP_SERVLET_REQUEST); + collection.add(QUALIFIED_JAKARTA_HTTP_SERVLET_RESPONSE); + } else { + collection.add(QUALIFIED_JAKARTA_SERVLET_REQUEST); + collection.add(QUALIFIED_JAKARTA_SERVLET_RESPONSE); + } + collection.add(QUALIFIED_JAKARTA_SERVLET_EXCEPTION); } - - collection.add(QUALIFIED_SERVLET_EXCEPTION); + else { + if (isHttpServletSuperclass()) { + collection.add(QUALIFIED_HTTP_SERVLET_REQUEST); + collection.add(QUALIFIED_HTTP_SERVLET_RESPONSE); + } else { + collection.add(QUALIFIED_SERVLET_REQUEST); + collection.add(QUALIFIED_SERVLET_RESPONSE); + } + collection.add(QUALIFIED_SERVLET_EXCEPTION); + } collection.add(QUALIFIED_IO_EXCEPTION); } if (shouldGenDoGet() || shouldGenDoPost() || shouldGenDoPut() || shouldGenDoDelete() || shouldGenDoHead() || shouldGenDoOptions() || shouldGenDoTrace()) { - collection.add(QUALIFIED_HTTP_SERVLET_REQUEST); - collection.add(QUALIFIED_HTTP_SERVLET_RESPONSE); - collection.add(QUALIFIED_SERVLET_EXCEPTION); + if (useJakartaPackages) { + collection.add(QUALIFIED_JAKARTA_HTTP_SERVLET_REQUEST); + collection.add(QUALIFIED_JAKARTA_HTTP_SERVLET_RESPONSE); + collection.add(QUALIFIED_JAKARTA_SERVLET_EXCEPTION); + } + else { + collection.add(QUALIFIED_HTTP_SERVLET_REQUEST); + collection.add(QUALIFIED_HTTP_SERVLET_RESPONSE); + collection.add(QUALIFIED_SERVLET_EXCEPTION); + } collection.add(QUALIFIED_IO_EXCEPTION); } - - if (SERVLET_3.equals(getJavaEEVersion()) || SERVLET_3_1.equals(getJavaEEVersion()) || SERVLET_4_0.equals(getJavaEEVersion())){ + + if (useJakartaPackages) { + // TODO: only needed if registering via annotation + collection.add(QUALIFIED_JAKARTA_WEB_SERVLET); + if (getInitParams() != null && !getInitParams().isEmpty()) { + collection.add(QUALIFIED_JAKARTA_ANNOTATION_INIT_PARAM); + } + } + else if (SERVLET_3.equals(getJavaEEVersion()) || SERVLET_3_1.equals(getJavaEEVersion()) || SERVLET_4_0.equals(getJavaEEVersion())) { + // TODO: only needed if registering via annotation collection.add(QUALIFIED_WEB_SERVLET); - if (getInitParams()!= null && getInitParams().size()>0){ + if (getInitParams() != null && getInitParams().size() > 0) { collection.add(QUALIFIED_ANNOTATION_INIT_PARAM); } } - + return collection; }