fixed most compilation errors

This commit is contained in:
Ziver Koc 2018-07-24 16:23:53 +02:00
parent cd24ee74e3
commit de503bd441
23 changed files with 208 additions and 475 deletions

View file

@ -0,0 +1,76 @@
package zall.page;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.fileupload.util.Streams;
import zall.Zallery;
import zall.ZalleryServlet;
import zall.bean.Image;
import zall.bean.Media;
import zall.bean.User;
import zall.bean.Video;
import zall.manager.AuthenticationManager;
import zutil.db.DBConnection;
import zutil.io.file.FileUtil;
/**
* A headless page that provides media content.
*/
@WebServlet({"/image", "/video"})
public class ContentServlet extends ZalleryServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws ServletException, SQLException, IOException {
String size = request.getParameter("size");
Media media = null;
String contentType = "";
switch (request.getServletPath()){
case "/video":
media = Video.load(db, Integer.parseInt(request.getParameter("id")));
contentType = "video";
break;
case "/image":
media = Image.load(db, Integer.parseInt(request.getParameter("id")));
contentType = "image";
break;
}
if (media != null) {
File file;
if (size == null)
file = media.getFile(Media.Size.ORIGINAL);
else
file = media.getFile(Media.Size.valueOf(size.toUpperCase()));
if (request.getParameter("download") != null)
response.setHeader("Content-disposition", "attachment; filename=" + media.getTitle() + "." + FileUtil.getFileExtension(file));
if (file.exists()) {
response.setContentType(contentType + "/" + FileUtil.getFileExtension(file));
response.setContentLength((int) file.length());
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
Streams.copy(in, response.getOutputStream(), false);
in.close();
} else
response.setStatus(404);
} else {
// Page not found
response.setStatus(404);
}
}
}

View file

@ -3,6 +3,8 @@ package zall.page;
import zall.ZalleryServlet;
import zall.bean.Folder;
import zall.bean.Media;
import zall.bean.User;
import zall.manager.AuthenticationManager;
import zall.util.UserMessage;
import zutil.db.DBConnection;
import zutil.log.LogUtil;
@ -20,9 +22,13 @@ import java.util.logging.Logger;
public class GalleryServlet extends ZalleryServlet {
private static Logger logger = LogUtil.getLogger();
public static final String JSP_FILE = "gallery.jsp";
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws SQLException, IOException, ServletException {
User user = AuthenticationManager.getUserSession(request.getSession());
Folder folder;
if (request.getParameter("folder") != null && !request.getParameter("folder").equalsIgnoreCase("null"))
folder = Folder.load(db, Long.parseLong(request.getParameter("folder")));
else {
@ -33,6 +39,7 @@ public class GalleryServlet extends ZalleryServlet {
folder.save(db);
}
}
List<Media> list = Media.load(db, folder);
List<Folder> subFolders = Folder.loadSubFolders(db, folder, user);
@ -41,21 +48,19 @@ public class GalleryServlet extends ZalleryServlet {
request.setAttribute("subfolders", subFolders);
request.setAttribute("media", list);
include("header.jsp", request, response);
include("gallery.jsp", request, response);
include("footer.jsp", request, response);
include(JSP_FILE, request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws SQLException, IOException, ServletException {
User user = AuthenticationManager.getUserSession(request.getSession());
UserMessage msgs = UserMessage.getUserMessage(request.getSession());
long id = Long.parseLong(request.getParameter("id"));
if (request.getParameter("id") == null) {
msgs.add(UserMessage.MessageType.ERROR, "Missing parameters!");
msgs.add(UserMessage.MessageType.ERROR, "id" + lang.getString("error.not.found.parameter"));
return;
}
long id = Long.parseLong(request.getParameter("id"));
Folder folder = Folder.load(db, id);
switch (request.getParameter("action")) {
@ -66,18 +71,20 @@ public class GalleryServlet extends ZalleryServlet {
case "private":
if (folder != null) {
if (user.canEdit(folder)) {
if (AuthenticationManager.canEdit(user, folder)) {
folder.setPrivate(!folder.isPrivate());
folder.save(db);
if (folder.isPrivate())
msgs.add(UserMessage.MessageType.INFO, "Folder is now private (not visible to other users).");
msgs.add(UserMessage.MessageType.INFO, lang.getString("info.modify.folder.is.private"));
else
msgs.add(UserMessage.MessageType.INFO, "Folder is now public (can be viewed by other users).");
msgs.add(UserMessage.MessageType.INFO, lang.getString("info.modify.folder.is.public"));
} else
msgs.add(UserMessage.MessageType.ERROR, "You are not authorize to edit this folder!");
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.allowed.edit.folder"));
} else
msgs.add(UserMessage.MessageType.ERROR, "The folder does not exist!");
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.folder"));
break;
}
doGet(request, response, db);
}
}

View file

@ -3,6 +3,7 @@ package zall.page;
import zall.ZalleryServlet;
import zall.bean.User;
import zall.manager.AuthenticationManager;
import zall.util.UserMessage;
import zutil.db.DBConnection;
import zutil.log.LogUtil;
@ -14,8 +15,6 @@ import java.io.IOException;
import java.sql.SQLException;
import java.util.logging.Logger;
import static zall.ZalleryConstant.SESSION_KEY_USER;
@WebServlet("/login")
public class LoginServlet extends ZalleryServlet {
private static Logger logger = LogUtil.getLogger();
@ -29,20 +28,21 @@ public class LoginServlet extends ZalleryServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws SQLException, ServletException, IOException {
UserMessage msgs = UserMessage.getUserMessage(request.getSession());
User user = AuthenticationManager.authenticate(db,
request.getParameter("email"),
request.getParameter("password"));
// Successfull login
// Successful login
if (user != null) {
user.registerOnHost(request, response, db, true );
request.getSession().setAttribute(SESSION_KEY_USER, user);
AuthenticationManager.setUserSession(user, request.getSession());
forward("/", request, response);
}
// Failed login
else {
include(JSP_FILE, request, response);
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.incorrect.user_or_pass"));
}
}
}

View file

@ -11,21 +11,19 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
import static zall.ZalleryConstant.SESSION_KEY_USER;
/**
*
*/
@WebServlet(urlPatterns = "/logout")
public class LogoutServlet extends ZalleryServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp, DBConnection db) throws SQLException, IOException {
User user = (User) req.getSession().getAttribute(SESSION_KEY_USER);
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws SQLException, IOException {
User user = AuthenticationManager.getUserSession(request.getSession());
AuthenticationManager.reset(db, user);
req.getSession().removeAttribute(SESSION_KEY_USER);
AuthenticationManager.rmUserSession(request.getSession());
resp.sendRedirect("/login");
response.sendRedirect("/login");
}
}

View file

@ -3,6 +3,8 @@ package zall.page;
import zall.ZalleryServlet;
import zall.bean.Comment;
import zall.bean.Media;
import zall.bean.User;
import zall.manager.AuthenticationManager;
import zall.util.UserMessage;
import zutil.db.DBConnection;
import zutil.log.LogUtil;
@ -20,12 +22,14 @@ import java.util.logging.Logger;
public class MediaServlet extends ZalleryServlet {
private static Logger logger = LogUtil.getLogger();
private static final String JSP_FILE = "media.jsp";
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws ServletException, SQLException, IOException {
UserMessage msgs = UserMessage.getUserMessage(request.getSession());
if (request.getParameter("id") == null && request.getParameter("type") == null) {
msgs.add(UserMessage.MessageType.ERROR, "Missing parameters!");
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.parameter"));
return;
}
try {
@ -37,17 +41,16 @@ public class MediaServlet extends ZalleryServlet {
logger.log(Level.FINE, "", e);
}
include("header.jsp", request, response);
include("media.jsp", request, response);
include("footer.jsp", request, response);
include(JSP_FILE, request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws SQLException {
public void doPost(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws SQLException, ServletException, IOException {
UserMessage msgs = UserMessage.getUserMessage(request.getSession());
User user = AuthenticationManager.getUserSession(request.getSession());
long id = Long.parseLong(request.getParameter("id"));
if (request.getParameter("id") == null || request.getParameter("type") == null) {
msgs.add(UserMessage.MessageType.ERROR, "Missing parameters!");
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.parameter"));
return;
}
@ -65,7 +68,7 @@ public class MediaServlet extends ZalleryServlet {
media.addComment(cm);
media.save(db);
msgs.add(UserMessage.MessageType.INFO, "Comment saved.");
msgs.add(UserMessage.MessageType.INFO, lang.getString("info.created.comment"));
break;
// -----------------------------------------
@ -74,20 +77,21 @@ public class MediaServlet extends ZalleryServlet {
case "modify":
if (media != null) {
if (user.canEdit(media)) {
if (AuthenticationManager.canEdit(user, media)) {
media.setTitle(request.getParameter("title"));
media.setDescription(request.getParameter("description"));
media.save(db);
msgs.add(UserMessage.MessageType.INFO, "Item edited successfully.");
msgs.add(UserMessage.MessageType.INFO, lang.getString("info.modify.successfully"));
} else
msgs.add(UserMessage.MessageType.ERROR, "You are not authorize to modify this item!");
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.allowed.edit.media"));
} else
msgs.add(UserMessage.MessageType.ERROR, "The item does not exist!");
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.media"));
break;
}
doGet(request, response, db);
}
}

View file

@ -2,6 +2,7 @@ package zall.page;
import zall.ZalleryServlet;
import zall.bean.User;
import zall.manager.AuthenticationManager;
import zall.util.UserMessage;
import zutil.db.DBConnection;
import zutil.log.LogUtil;
@ -18,30 +19,26 @@ import java.util.logging.Logger;
public class ProfileServlet extends ZalleryServlet {
private static Logger logger = LogUtil.getLogger();
private static final String JSP_FILE = "profile.jsp";
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws ServletException{
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws ServletException, IOException, SQLException {
UserMessage msgs = UserMessage.getUserMessage(request.getSession());
User user = AuthenticationManager.getUserSession(request.getSession());
try{
if(request.getParameter("id") != null){
User profile_user = User.load(db, Long.parseLong( request.getParameter("id") ));
if(user.canEdit(profile_user)){
request.setAttribute("profile_user", profile_user);
} else {
msgs.add(UserMessage.MessageType.ERROR, "You do not have permission to edit the user.");
}
} else {
request.setAttribute("profile_user", user);
}
include("header.jsp", request, response);
include("profile.jsp", request, response);
include("footer.jsp", request, response);
} catch (Exception e) {
logger.severe(e.getMessage());
throw new ServletException(e);
if(request.getParameter("id") != null){
User profile_user = User.load(db, Long.parseLong( request.getParameter("id") ));
if(AuthenticationManager.canEdit(user, profile_user)){
request.setAttribute("profile_user", profile_user);
} else {
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.allowed.edit.user"));
}
} else {
request.setAttribute("profile_user", user);
}
include(JSP_FILE, request, response);
}

View file

@ -12,13 +12,8 @@ import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Locale;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
import java.util.logging.Logger;
import static zall.ZalleryConstant.LANG_BASENAME;
@WebServlet("/register")
public class RegisterServlet extends ZalleryServlet {
private static Logger logger = LogUtil.getLogger();
@ -38,8 +33,7 @@ public class RegisterServlet extends ZalleryServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws SQLException, IOException, ServletException {
UserMessage msgHandler = UserMessage.getUserMessage(request.getSession());
ResourceBundle lang = PropertyResourceBundle.getBundle(LANG_BASENAME, Locale.getDefault());
UserMessage msgs = UserMessage.getUserMessage(request.getSession());
/*
* Check inputs
@ -52,20 +46,20 @@ public class RegisterServlet extends ZalleryServlet {
String passwordRe = (String)request.getAttribute(INPUT_ID_PASSWORD_REPEATE);
if (firstName == null)
msgHandler.add(UserMessage.MessageType.ERROR, lang.getString("error.first_name_missing"));
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.first.name"));
if (lastName == null)
msgHandler.add(UserMessage.MessageType.ERROR, lang.getString("error.last_name_missing"));
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.last.name"));
if (email == null)
msgHandler.add(UserMessage.MessageType.ERROR, lang.getString("error.email_missing"));
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.email"));
if (password == null)
msgHandler.add(UserMessage.MessageType.ERROR, lang.getString("error.password_missing"));
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.password"));
if (passwordRe == null)
msgHandler.add(UserMessage.MessageType.ERROR, lang.getString("error.password_missing"));
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.not.found.password"));
else if (passwordRe.equals(password))
msgHandler.add(UserMessage.MessageType.ERROR, lang.getString("error.password_not_matching"));
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.incorrect.password.matching"));
if(User.load(db, (String)request.getAttribute(INPUT_ID_EMAIL)) != null){
msgHandler.add(UserMessage.MessageType.ERROR, lang.getString("error.email_exsists"));
msgs.add(UserMessage.MessageType.ERROR, lang.getString("error.email_exists"));
return;
}
@ -81,8 +75,8 @@ public class RegisterServlet extends ZalleryServlet {
ZalleryEmail.sendVerificationEmail( user );
request.getSession().setAttribute("user", user);
logger.info("Registered new user: "+user.getName()+".");
msgHandler.add(UserMessage.MessageType.INFO,
lang.getString("info.account_created") + lang.getString("info.verification_email_sent"));
msgs.add(UserMessage.MessageType.INFO,
lang.getString("info.created.account") + " " + lang.getString("info.sent.email.verification"));
include(JSP_FILE, request, response);
}

View file

@ -18,6 +18,8 @@ import java.util.logging.Logger;
public class SlideshowServlet extends ZalleryServlet {
private static Logger logger = LogUtil.getLogger();
private static final String JSP_FILE = "slideshow.jsp";
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws ServletException, SQLException, IOException {
Image image = Image.load(db, Integer.parseInt(request.getParameter("id")));
@ -27,9 +29,7 @@ public class SlideshowServlet extends ZalleryServlet {
request.setAttribute("image", image);
request.setAttribute("images", list);
include("header.jsp", request, response);
include("slideshow.jsp", request, response);
include("footer.jsp", request, response);
include(JSP_FILE, request, response);
}
}

View file

@ -16,16 +16,15 @@ import java.util.logging.Logger;
@WebServlet("/register")
public class UserListServlet extends ZalleryServlet {
private static Logger logger = LogUtil.getLogger();
private static Logger logger = LogUtil.getLogger();
private static final String JSP_FILE = "users.jsp";
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws ServletException, SQLException, IOException {
public void doGet(HttpServletRequest request, HttpServletResponse response, DBConnection db) throws ServletException, SQLException, IOException {
List<User> users = User.load(db);
request.setAttribute("users", users);
include("header.jsp", request, response);
include("users.jsp", request, response);
include("footer.jsp", request, response);
include(JSP_FILE, request, response);
}
}