makes LightPITServlet abstract

Fri, 15 Dec 2017 17:39:54 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 15 Dec 2017 17:39:54 +0100
changeset 9
20a9b2bc9063
parent 8
2dfdb79b5344
child 10
89e3e6e28b69

makes LightPITServlet abstract

src/java/de/uapcore/lightpit/AbstractLightPITServlet.java file | annotate | diff | comparison | revisions
src/java/de/uapcore/lightpit/LightPITServlet.java file | annotate | diff | comparison | revisions
src/java/de/uapcore/lightpit/ModuleManager.java file | annotate | diff | comparison | revisions
src/java/de/uapcore/lightpit/modules/HomeModule.java file | annotate | diff | comparison | revisions
src/java/de/uapcore/lightpit/modules/VersionsModule.java file | annotate | diff | comparison | revisions
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java/de/uapcore/lightpit/AbstractLightPITServlet.java	Fri Dec 15 17:39:54 2017 +0100
@@ -0,0 +1,55 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ * 
+ * Copyright 2017 Mike Becker. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ */
+package de.uapcore.lightpit;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * A special implementation of a HTTPServlet which is focused on implementing
+ * the necessary functionality for {@link LightPITModule}s.
+ */
+public abstract class AbstractLightPITServlet extends HttpServlet {
+    
+    @Override
+    protected final void doGet(HttpServletRequest req, HttpServletResponse resp)
+            throws ServletException, IOException {
+        
+        resp.getWriter().println("It works!");
+    }
+
+    @Override
+    protected final void doPost(HttpServletRequest req, HttpServletResponse resp)
+            throws ServletException, IOException {
+    }
+    
+}
--- a/src/java/de/uapcore/lightpit/LightPITServlet.java	Sun Dec 10 16:10:14 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- * 
- * Copyright 2017 Mike Becker. All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- *   1. Redistributions of source code must retain the above copyright
- *      notice, this list of conditions and the following disclaimer.
- *
- *   2. Redistributions in binary form must reproduce the above copyright
- *      notice, this list of conditions and the following disclaimer in the
- *      documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- * 
- */
-package de.uapcore.lightpit;
-
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * A special implementation of a HTTPServlet which is focused on implementing
- * the necessary functionality for {@link LightPITModule}s.
- */
-public class LightPITServlet extends HttpServlet {
-    
-    @Override
-    protected final void doGet(HttpServletRequest req, HttpServletResponse resp)
-            throws ServletException, IOException {
-        
-        resp.getWriter().println("It works!");
-    }
-
-    @Override
-    protected final void doPost(HttpServletRequest req, HttpServletResponse resp)
-            throws ServletException, IOException {
-    }
-    
-}
--- a/src/java/de/uapcore/lightpit/ModuleManager.java	Sun Dec 10 16:10:14 2017 +0100
+++ b/src/java/de/uapcore/lightpit/ModuleManager.java	Fri Dec 15 17:39:54 2017 +0100
@@ -70,26 +70,28 @@
         try {
             final Class scclass = Class.forName(reg.getClassName());
             
-            final boolean lpservlet = LightPITServlet.class.isAssignableFrom(scclass);
+            final boolean lpservlet = AbstractLightPITServlet.class.isAssignableFrom(scclass);
             final boolean lpmodule = scclass.isAnnotationPresent(LightPITModule.class);
             
             if (lpservlet && !lpmodule) {
                 LOG.warn(
-                    "Servlet is a LightPITServlet but is missing the module annotation: {}",
+                    "{} is a LightPIT Servlet but is missing the module annotation.",
                     reg.getClassName()
                 );
             } else if (!lpservlet && lpmodule) {
                 LOG.warn(
-                    "Servlet is annotated as a LightPITModule but does not extend LightPITServlet: {}",
-                    reg.getClassName()
+                    "{} is annotated as a LightPIT Module but does not extend {}.",
+                    reg.getClassName(),
+                    AbstractLightPITServlet.class.getSimpleName()
                 );
             }
             
             return lpservlet && lpmodule;
         } catch (ClassNotFoundException ex) {
             LOG.error(
-                    "Servlet registration refers to a class which cannot be found by the class loader: {}",
-                    reg.getClassName()
+                    "Servlet registration refers to class {} which cannot be found by the class loader (Reason: {})",
+                    reg.getClassName(),
+                    ex.getMessage()
             );
             return false;
         }        
--- a/src/java/de/uapcore/lightpit/modules/HomeModule.java	Sun Dec 10 16:10:14 2017 +0100
+++ b/src/java/de/uapcore/lightpit/modules/HomeModule.java	Fri Dec 15 17:39:54 2017 +0100
@@ -30,7 +30,7 @@
 
 import de.uapcore.lightpit.Constants;
 import de.uapcore.lightpit.LightPITModule;
-import de.uapcore.lightpit.LightPITServlet;
+import de.uapcore.lightpit.AbstractLightPITServlet;
 import javax.servlet.annotation.WebServlet;
 
 /**
@@ -43,6 +43,6 @@
         name = "HomeModule",
         urlPatterns = Constants.HOME_NODE+"*"
 )
-public class HomeModule extends LightPITServlet {
+public class HomeModule extends AbstractLightPITServlet {
     
 }
--- a/src/java/de/uapcore/lightpit/modules/VersionsModule.java	Sun Dec 10 16:10:14 2017 +0100
+++ b/src/java/de/uapcore/lightpit/modules/VersionsModule.java	Fri Dec 15 17:39:54 2017 +0100
@@ -29,7 +29,7 @@
 package de.uapcore.lightpit.modules;
 
 import de.uapcore.lightpit.LightPITModule;
-import de.uapcore.lightpit.LightPITServlet;
+import de.uapcore.lightpit.AbstractLightPITServlet;
 import javax.servlet.annotation.WebServlet;
 
 
@@ -40,6 +40,6 @@
         name = "VersionsModule",
         urlPatterns = "/versions/*"
 )
-public class VersionsModule extends LightPITServlet {
+public class VersionsModule extends AbstractLightPITServlet {
     
 }

mercurial