diff --git a/samples/bloggy/pom.xml b/samples/bloggy/pom.xml
index ed495ba..6a88a2b 100644
--- a/samples/bloggy/pom.xml
+++ b/samples/bloggy/pom.xml
@@ -33,7 +33,7 @@
org.mariadb.jdbc
mariadb-java-client
- 3.1.4
+ 3.5.6
com.codeforces
@@ -41,7 +41,7 @@
3.0-SNAPSHOT
-
+
bloggy
@@ -95,7 +95,7 @@
org.basepom.maven
duplicate-finder-maven-plugin
- 1.5.0
+ 2.0.1
default
@@ -117,15 +117,14 @@
false
true
-
- false
- sun.boot.class.path
-
-
-
false
+
+ true
+
+ org\.apache\.commons\.logging\..*
+
diff --git a/samples/bloggy/src/main/java/bloggy/ApplicationModule.java b/samples/bloggy/src/main/java/bloggy/ApplicationModule.java
index 2e097b7..24f987d 100644
--- a/samples/bloggy/src/main/java/bloggy/ApplicationModule.java
+++ b/samples/bloggy/src/main/java/bloggy/ApplicationModule.java
@@ -1,14 +1,5 @@
package bloggy;
-import com.codeforces.commons.io.http.HttpMethod;
-import com.codeforces.commons.text.StringUtil;
-import com.google.inject.Binder;
-import com.google.inject.Module;
-import com.google.inject.matcher.AbstractMatcher;
-import org.aopalliance.intercept.MethodInterceptor;
-import org.nocturne.link.Links;
-import org.nocturne.main.ApplicationContext;
-import org.nocturne.main.Component;
import bloggy.captions.dao.CaptionDao;
import bloggy.captions.dao.impl.CaptionDaoImpl;
import bloggy.dao.DateDao;
@@ -19,6 +10,14 @@
import bloggy.dao.impl.UserDaoImpl;
import bloggy.web.annotation.PostOnly;
import bloggy.web.page.IndexPage;
+import com.codeforces.commons.io.http.HttpMethod;
+import com.codeforces.commons.text.StringUtil;
+import com.google.inject.Binder;
+import com.google.inject.Module;
+import com.google.inject.matcher.AbstractMatcher;
+import org.nocturne.link.Links;
+import org.nocturne.main.ApplicationContext;
+import org.nocturne.main.Component;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
@@ -34,12 +33,12 @@ public void configure(Binder binder) {
binder.bind(UserDao.class).to(UserDaoImpl.class);
binder.bind(PostDao.class).to(PostDaoImpl.class);
- binder.bindInterceptor(new AbstractMatcher>() {
+ binder.bindInterceptor(new AbstractMatcher<>() {
@Override
public boolean matches(Class> aClass) {
return Component.class.isAssignableFrom(aClass);
}
- }, new AbstractMatcher() {
+ }, new AbstractMatcher<>() {
@Override
public boolean matches(Method method) {
return method.getAnnotation(PostOnly.class) != null;
diff --git a/samples/bloggy/src/main/java/bloggy/ApplicationPageRequestListener.java b/samples/bloggy/src/main/java/bloggy/ApplicationPageRequestListener.java
index 7ceb670..1ff1825 100644
--- a/samples/bloggy/src/main/java/bloggy/ApplicationPageRequestListener.java
+++ b/samples/bloggy/src/main/java/bloggy/ApplicationPageRequestListener.java
@@ -3,13 +3,13 @@
*/
package bloggy;
+import bloggy.web.page.WebPage;
import com.codeforces.commons.exception.ExceptionUtil;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.apache.log4j.Logger;
import org.nocturne.listener.PageRequestListener;
import org.nocturne.main.Page;
-import bloggy.web.page.WebPage;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -50,7 +50,8 @@ public void afterProcessPage(Page page, Throwable t) {
addRequestParameters(page, paramsDump);
addRequestAttributes(page, paramsDump);
- t.printStackTrace();
+ t.printStackTrace(System.out);
+ t.printStackTrace(System.err);
}
if (t != null && page instanceof WebPage) {
diff --git a/samples/bloggy/src/main/java/bloggy/ApplicationRequestRouter.java b/samples/bloggy/src/main/java/bloggy/ApplicationRequestRouter.java
index ef4e512..0b675cd 100644
--- a/samples/bloggy/src/main/java/bloggy/ApplicationRequestRouter.java
+++ b/samples/bloggy/src/main/java/bloggy/ApplicationRequestRouter.java
@@ -1,8 +1,8 @@
package bloggy;
+import bloggy.web.page.*;
import org.nocturne.link.Links;
import org.nocturne.main.LinkedRequestRouter;
-import bloggy.web.page.*;
/**
* @author Mike Mirzayanov
diff --git a/samples/bloggy/src/main/java/bloggy/NginxFilter.java b/samples/bloggy/src/main/java/bloggy/NginxFilter.java
index 2a42895..b9267cb 100644
--- a/samples/bloggy/src/main/java/bloggy/NginxFilter.java
+++ b/samples/bloggy/src/main/java/bloggy/NginxFilter.java
@@ -20,9 +20,7 @@ public void init(FilterConfig filterConfig) {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
- if (request instanceof HttpServletRequest) {
- HttpServletRequest httpRequest = (HttpServletRequest) request;
-
+ if (request instanceof HttpServletRequest httpRequest) {
String ip = httpRequest.getHeader(X_REAL_IP);
String host = httpRequest.getHeader(X_FORWARDED_FOR);
diff --git a/samples/bloggy/src/main/java/bloggy/PreprocessFilter.java b/samples/bloggy/src/main/java/bloggy/PreprocessFilter.java
index f1817b3..e09b162 100644
--- a/samples/bloggy/src/main/java/bloggy/PreprocessFilter.java
+++ b/samples/bloggy/src/main/java/bloggy/PreprocessFilter.java
@@ -3,8 +3,8 @@
*/
package bloggy;
-import org.jacuzzi.core.Jacuzzi;
import bloggy.database.ApplicationDataSource;
+import org.jacuzzi.core.Jacuzzi;
import javax.servlet.*;
import java.io.IOException;
diff --git a/samples/bloggy/src/main/java/bloggy/StaticFilter.java b/samples/bloggy/src/main/java/bloggy/StaticFilter.java
index c9395fc..e311e4c 100644
--- a/samples/bloggy/src/main/java/bloggy/StaticFilter.java
+++ b/samples/bloggy/src/main/java/bloggy/StaticFilter.java
@@ -2,7 +2,6 @@
import com.codeforces.commons.properties.PropertiesUtil;
import com.codeforces.commons.text.StringUtil;
-import org.nocturne.main.ApplicationContext;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
@@ -38,10 +37,9 @@ public void init(FilterConfig filterConfig) {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
- if (ENABLED && request instanceof HttpServletRequest && response instanceof HttpServletResponse) {
- HttpServletRequest httpServletRequest = (HttpServletRequest) request;
- HttpServletResponse httpServletResponse = (HttpServletResponse) response;
-
+ if (ENABLED
+ && request instanceof HttpServletRequest httpServletRequest
+ && response instanceof HttpServletResponse httpServletResponse) {
String requestURI = httpServletRequest.getRequestURI();
if (isResourceRequestUri(requestURI)) {
File file = new File(STATIC_SRC_PATH, requestURI);
diff --git a/samples/bloggy/src/main/java/bloggy/captions/CaptionsImpl.java b/samples/bloggy/src/main/java/bloggy/captions/CaptionsImpl.java
index b8ff05e..3e92652 100644
--- a/samples/bloggy/src/main/java/bloggy/captions/CaptionsImpl.java
+++ b/samples/bloggy/src/main/java/bloggy/captions/CaptionsImpl.java
@@ -3,12 +3,12 @@
*/
package bloggy.captions;
+import bloggy.captions.dao.CaptionDao;
+import bloggy.captions.model.Caption;
import com.google.common.base.Strings;
import com.google.inject.Inject;
import org.nocturne.caption.Captions;
import org.nocturne.main.ApplicationContext;
-import bloggy.captions.dao.CaptionDao;
-import bloggy.captions.model.Caption;
import java.text.MessageFormat;
import java.util.Locale;
diff --git a/samples/bloggy/src/main/java/bloggy/captions/dao/CaptionDao.java b/samples/bloggy/src/main/java/bloggy/captions/dao/CaptionDao.java
index f75f47b..81061e1 100644
--- a/samples/bloggy/src/main/java/bloggy/captions/dao/CaptionDao.java
+++ b/samples/bloggy/src/main/java/bloggy/captions/dao/CaptionDao.java
@@ -5,8 +5,6 @@
import bloggy.captions.model.Caption;
-import java.util.List;
-
public interface CaptionDao {
String shaHex(String s);
Caption find(String shortcutSha1, String locale);
diff --git a/samples/bloggy/src/main/java/bloggy/captions/dao/impl/CaptionDaoImpl.java b/samples/bloggy/src/main/java/bloggy/captions/dao/impl/CaptionDaoImpl.java
index e2a7bbe..900a692 100644
--- a/samples/bloggy/src/main/java/bloggy/captions/dao/impl/CaptionDaoImpl.java
+++ b/samples/bloggy/src/main/java/bloggy/captions/dao/impl/CaptionDaoImpl.java
@@ -3,6 +3,10 @@
*/
package bloggy.captions.dao.impl;
+import bloggy.captions.TemplateEngineConfigurations;
+import bloggy.captions.dao.CaptionDao;
+import bloggy.captions.model.Caption;
+import bloggy.dao.impl.ApplicationDaoImpl;
import com.codeforces.commons.text.StringUtil;
import com.google.inject.Singleton;
import freemarker.cache.SoftCacheStorage;
@@ -10,10 +14,6 @@
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.log4j.Logger;
import org.nocturne.main.ApplicationContext;
-import bloggy.captions.TemplateEngineConfigurations;
-import bloggy.captions.dao.CaptionDao;
-import bloggy.captions.model.Caption;
-import bloggy.dao.impl.ApplicationDaoImpl;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
diff --git a/samples/bloggy/src/main/java/bloggy/dao/impl/ApplicationDaoImpl.java b/samples/bloggy/src/main/java/bloggy/dao/impl/ApplicationDaoImpl.java
index 9241246..abe6081 100644
--- a/samples/bloggy/src/main/java/bloggy/dao/impl/ApplicationDaoImpl.java
+++ b/samples/bloggy/src/main/java/bloggy/dao/impl/ApplicationDaoImpl.java
@@ -1,8 +1,8 @@
package bloggy.dao.impl;
-import org.jacuzzi.core.GenericDaoImpl;
import bloggy.database.ApplicationDataSource;
import bloggy.model.Entity;
+import org.jacuzzi.core.GenericDaoImpl;
import java.util.Date;
import java.util.List;
diff --git a/samples/bloggy/src/main/java/bloggy/dao/impl/PostDaoImpl.java b/samples/bloggy/src/main/java/bloggy/dao/impl/PostDaoImpl.java
index d9da44b..78751d7 100644
--- a/samples/bloggy/src/main/java/bloggy/dao/impl/PostDaoImpl.java
+++ b/samples/bloggy/src/main/java/bloggy/dao/impl/PostDaoImpl.java
@@ -1,9 +1,9 @@
package bloggy.dao.impl;
-import com.google.inject.Singleton;
import bloggy.dao.PostDao;
import bloggy.model.Post;
import bloggy.model.User;
+import com.google.inject.Singleton;
import java.util.List;
diff --git a/samples/bloggy/src/main/java/bloggy/dao/impl/UserDaoImpl.java b/samples/bloggy/src/main/java/bloggy/dao/impl/UserDaoImpl.java
index 155777b..523e262 100644
--- a/samples/bloggy/src/main/java/bloggy/dao/impl/UserDaoImpl.java
+++ b/samples/bloggy/src/main/java/bloggy/dao/impl/UserDaoImpl.java
@@ -1,8 +1,8 @@
package bloggy.dao.impl;
-import com.google.inject.Singleton;
import bloggy.dao.UserDao;
import bloggy.model.User;
+import com.google.inject.Singleton;
@Singleton
public class UserDaoImpl extends ApplicationDaoImpl implements UserDao {
diff --git a/samples/bloggy/src/main/java/bloggy/database/ApplicationDataSource.java b/samples/bloggy/src/main/java/bloggy/database/ApplicationDataSource.java
index 42c4fc4..9726c6f 100644
--- a/samples/bloggy/src/main/java/bloggy/database/ApplicationDataSource.java
+++ b/samples/bloggy/src/main/java/bloggy/database/ApplicationDataSource.java
@@ -3,8 +3,8 @@
*/
package bloggy.database;
-import org.apache.log4j.Logger;
import bloggy.exception.ApplicationException;
+import org.apache.log4j.Logger;
import org.mariadb.jdbc.MariaDbDataSource;
import javax.annotation.Nonnull;
diff --git a/samples/bloggy/src/main/java/bloggy/exception/ApplicationException.java b/samples/bloggy/src/main/java/bloggy/exception/ApplicationException.java
index 7790312..b985363 100644
--- a/samples/bloggy/src/main/java/bloggy/exception/ApplicationException.java
+++ b/samples/bloggy/src/main/java/bloggy/exception/ApplicationException.java
@@ -1,5 +1,6 @@
package bloggy.exception;
+@SuppressWarnings("unused")
public class ApplicationException extends RuntimeException {
public ApplicationException(String message) {
super(message);
diff --git a/samples/bloggy/src/main/java/bloggy/model/Entity.java b/samples/bloggy/src/main/java/bloggy/model/Entity.java
index e0a9fa0..30ac6ba 100644
--- a/samples/bloggy/src/main/java/bloggy/model/Entity.java
+++ b/samples/bloggy/src/main/java/bloggy/model/Entity.java
@@ -21,6 +21,7 @@ public void setId(long id) {
this.id = id;
}
+ @SuppressWarnings("unused")
public Date getUpdateTime() {
return updateTime;
}
@@ -29,6 +30,7 @@ public void setUpdateTime(Date updateTime) {
this.updateTime = TimeUtil.toDate(updateTime);
}
+ @SuppressWarnings("unused")
public Date getCreationTime() {
return creationTime;
}
diff --git a/samples/bloggy/src/main/java/bloggy/model/User.java b/samples/bloggy/src/main/java/bloggy/model/User.java
index e191988..953bc6a 100644
--- a/samples/bloggy/src/main/java/bloggy/model/User.java
+++ b/samples/bloggy/src/main/java/bloggy/model/User.java
@@ -8,6 +8,7 @@ public String getLogin() {
return login;
}
+ @SuppressWarnings("unused")
public void setLogin(String login) {
this.login = login;
}
diff --git a/samples/bloggy/src/main/java/bloggy/web/frame/PostViewFrame.java b/samples/bloggy/src/main/java/bloggy/web/frame/PostViewFrame.java
index 6263fa4..09a48f3 100644
--- a/samples/bloggy/src/main/java/bloggy/web/frame/PostViewFrame.java
+++ b/samples/bloggy/src/main/java/bloggy/web/frame/PostViewFrame.java
@@ -1,9 +1,9 @@
package bloggy.web.frame;
-import com.google.inject.Inject;
import bloggy.dao.UserDao;
import bloggy.model.Post;
import bloggy.model.User;
+import com.google.inject.Inject;
public class PostViewFrame extends ApplicationFrame {
@Inject
diff --git a/samples/bloggy/src/main/java/bloggy/web/frame/PostsViewFrame.java b/samples/bloggy/src/main/java/bloggy/web/frame/PostsViewFrame.java
index 7de8d5c..d647f6b 100644
--- a/samples/bloggy/src/main/java/bloggy/web/frame/PostsViewFrame.java
+++ b/samples/bloggy/src/main/java/bloggy/web/frame/PostsViewFrame.java
@@ -1,9 +1,9 @@
package bloggy.web.frame;
-import com.google.inject.Inject;
import bloggy.dao.PostDao;
import bloggy.model.Post;
import bloggy.model.User;
+import com.google.inject.Inject;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/samples/bloggy/src/main/java/bloggy/web/page/ApplicationPage.java b/samples/bloggy/src/main/java/bloggy/web/page/ApplicationPage.java
index e5d3718..65c90c1 100644
--- a/samples/bloggy/src/main/java/bloggy/web/page/ApplicationPage.java
+++ b/samples/bloggy/src/main/java/bloggy/web/page/ApplicationPage.java
@@ -1,10 +1,10 @@
package bloggy.web.page;
+import bloggy.dao.DateDao;
+import bloggy.model.User;
import com.google.inject.Inject;
import org.nocturne.main.ApplicationContext;
import org.nocturne.main.Page;
-import bloggy.dao.DateDao;
-import bloggy.model.User;
public abstract class ApplicationPage extends Page {
private static final String USER_SESSION_KEY = "user";
diff --git a/samples/bloggy/src/main/java/bloggy/web/page/EnterPage.java b/samples/bloggy/src/main/java/bloggy/web/page/EnterPage.java
index 25ca69c..a46be42 100644
--- a/samples/bloggy/src/main/java/bloggy/web/page/EnterPage.java
+++ b/samples/bloggy/src/main/java/bloggy/web/page/EnterPage.java
@@ -1,5 +1,7 @@
package bloggy.web.page;
+import bloggy.dao.UserDao;
+import bloggy.web.annotation.PostOnly;
import com.google.inject.Inject;
import org.nocturne.annotation.Action;
import org.nocturne.annotation.Parameter;
@@ -8,8 +10,6 @@
import org.nocturne.validation.RequiredValidator;
import org.nocturne.validation.ValidationException;
import org.nocturne.validation.Validator;
-import bloggy.dao.UserDao;
-import bloggy.web.annotation.PostOnly;
@Link("enter")
public class EnterPage extends WebPage {
diff --git a/samples/bloggy/src/main/java/bloggy/web/page/IndexPage.java b/samples/bloggy/src/main/java/bloggy/web/page/IndexPage.java
index d865ed0..dacadcf 100644
--- a/samples/bloggy/src/main/java/bloggy/web/page/IndexPage.java
+++ b/samples/bloggy/src/main/java/bloggy/web/page/IndexPage.java
@@ -1,8 +1,8 @@
package bloggy.web.page;
+import bloggy.web.frame.PostsViewFrame;
import com.google.inject.Inject;
import org.nocturne.link.Link;
-import bloggy.web.frame.PostsViewFrame;
@Link(";index")
public class IndexPage extends WebPage {
diff --git a/samples/bloggy/src/main/java/bloggy/web/page/LogoutDataPage.java b/samples/bloggy/src/main/java/bloggy/web/page/LogoutDataPage.java
index ea85f05..0b108b3 100644
--- a/samples/bloggy/src/main/java/bloggy/web/page/LogoutDataPage.java
+++ b/samples/bloggy/src/main/java/bloggy/web/page/LogoutDataPage.java
@@ -1,8 +1,8 @@
package bloggy.web.page;
+import bloggy.web.annotation.PostOnly;
import org.nocturne.annotation.Action;
import org.nocturne.link.Link;
-import bloggy.web.annotation.PostOnly;
@Link("logout")
public class LogoutDataPage extends DataPage {
diff --git a/samples/bloggy/src/main/java/bloggy/web/page/MyPostsPage.java b/samples/bloggy/src/main/java/bloggy/web/page/MyPostsPage.java
index b77ccd7..90012c0 100644
--- a/samples/bloggy/src/main/java/bloggy/web/page/MyPostsPage.java
+++ b/samples/bloggy/src/main/java/bloggy/web/page/MyPostsPage.java
@@ -1,10 +1,9 @@
package bloggy.web.page;
-import com.google.inject.Inject;
-import org.nocturne.link.Link;
-import bloggy.dao.PostDao;
import bloggy.model.User;
import bloggy.web.frame.PostsViewFrame;
+import com.google.inject.Inject;
+import org.nocturne.link.Link;
@Link("my")
public class MyPostsPage extends WebPage {
diff --git a/samples/bloggy/src/main/java/bloggy/web/page/PostViewPage.java b/samples/bloggy/src/main/java/bloggy/web/page/PostViewPage.java
index 36a527b..b194387 100644
--- a/samples/bloggy/src/main/java/bloggy/web/page/PostViewPage.java
+++ b/samples/bloggy/src/main/java/bloggy/web/page/PostViewPage.java
@@ -1,11 +1,11 @@
package bloggy.web.page;
-import com.google.inject.Inject;
-import org.nocturne.annotation.Parameter;
-import org.nocturne.link.Link;
import bloggy.dao.PostDao;
import bloggy.model.Post;
import bloggy.web.frame.PostViewFrame;
+import com.google.inject.Inject;
+import org.nocturne.annotation.Parameter;
+import org.nocturne.link.Link;
@Link("post/{postId}")
public class PostViewPage extends WebPage {
diff --git a/samples/helloworld/pom.xml b/samples/helloworld/pom.xml
index 1514fda..441bdf1 100644
--- a/samples/helloworld/pom.xml
+++ b/samples/helloworld/pom.xml
@@ -29,6 +29,18 @@
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 3.5.1
+
+
+
+ src/main/webapp
+
+
+
+
org.apache.maven.plugins
maven-compiler-plugin
diff --git a/samples/helloworld/src/main/webapp/WEB-INF/templates/IndexPage.ftl b/samples/helloworld/src/main/webapp/WEB-INF/templates/IndexPage.ftl
index 38555bd..7376c9e 100644
--- a/samples/helloworld/src/main/webapp/WEB-INF/templates/IndexPage.ftl
+++ b/samples/helloworld/src/main/webapp/WEB-INF/templates/IndexPage.ftl
@@ -2,7 +2,7 @@
<#-- @ftlvariable name="home" type="java.lang.String" -->
<#setting url_escaping_charset='UTF-8'>
-
+