aboutsummaryrefslogtreecommitdiff
path: root/juick-www/src/main/java/com/juick/www/Utils.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2016-12-28 22:38:21 +0300
committerGravatar Vitaly Takmazov2017-01-10 12:08:35 +0300
commit2f682b5e3cfc3fc5f961b60129be7bc90e0d6a03 (patch)
tree840aea9eb94d5c1f667a710d3298135854bc5002 /juick-www/src/main/java/com/juick/www/Utils.java
parenteb440ea4f120115613880e340b010eed5397e72c (diff)
juick-www: now on spring-webmvc
Diffstat (limited to 'juick-www/src/main/java/com/juick/www/Utils.java')
-rw-r--r--juick-www/src/main/java/com/juick/www/Utils.java140
1 files changed, 1 insertions, 139 deletions
diff --git a/juick-www/src/main/java/com/juick/www/Utils.java b/juick-www/src/main/java/com/juick/www/Utils.java
index ca3535fd..37016ed2 100644
--- a/juick-www/src/main/java/com/juick/www/Utils.java
+++ b/juick-www/src/main/java/com/juick/www/Utils.java
@@ -17,31 +17,21 @@
*/
package com.juick.www;
-import com.juick.Tag;
-import com.juick.User;
-import com.juick.server.TagQueries;
-import com.mitchellbosecke.pebble.PebbleEngine;
-import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
-import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
-import java.nio.file.Paths;
-import java.util.*;
+import java.util.Arrays;
/**
*
@@ -51,9 +41,6 @@ public class Utils {
private static final Logger logger = LoggerFactory.getLogger(Utils.class);
- private static final PebbleEngine engine = new PebbleEngine.Builder().build();
- private static String tmpDir = "/var/www/juick.com/i/tmp/";
-
public static String getCookie(HttpServletRequest request, String name) {
Cookie cookies[] = request.getCookies();
if (cookies != null) {
@@ -63,40 +50,7 @@ public class Utils {
return null;
}
- public static String receiveMultiPartFile(Part filePart) throws IOException, ServletException {
- String attachmentFName = null;
-
- if (filePart != null) {
- String partname = Utils.getPartFilename(filePart);
- if (partname != null && partname.length() > 0) {
- String attachmentType = partname.substring(partname.length() - 3).toLowerCase();
- if (attachmentType.equals("jpg") || attachmentType.equals("peg") || attachmentType.equals("png")) {
- if (attachmentType.equals("peg")) {
- attachmentType = "jpg";
- }
- attachmentFName = DigestUtils.md5Hex(UUID.randomUUID().toString()) + "." + attachmentType;
- filePart.write(Paths.get(getTmpDir(), attachmentFName).toString());
- } else {
- throw new IOException("Wrong file type");
- }
- }
- }
-
- return attachmentFName;
- }
- public static com.juick.User getVisitorUser(JdbcTemplate sql, HttpServletRequest request, HttpServletResponse response) {
- String hash = getCookie(request, "hash");
- if (hash != null) {
- com.juick.User visitor = com.juick.server.UserQueries.getUserByHash(sql, hash);
- if (response != null && visitor.getUid() > 0) {
- response.setHeader("X-Username", visitor.getName());
- }
- return visitor;
- } else {
- return new User();
- }
- }
public static void sendTemporaryRedirect(HttpServletResponse response, String location) {
response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
@@ -154,96 +108,4 @@ public class Utils {
return null;
}
}
-
- public static String downloadImage(URL url) throws Exception {
- String attachmentFName = null;
- Exception ex = null;
-
- InputStream is = null;
- FileOutputStream fos = null;
- try {
- URLConnection urlConn = url.openConnection();
- is = urlConn.getInputStream();
- String mime = urlConn.getContentType();
-
- String attachmentType;
- if (mime != null && mime.equals("image/jpeg")) {
- attachmentType = "jpg";
- } else if (mime != null && mime.equals("image/png")) {
- attachmentType = "png";
- } else {
- throw new Exception("Wrong file type");
- }
-
- attachmentFName = DigestUtils.md5Hex(UUID.randomUUID().toString()) + "." + attachmentType;
- fos = new FileOutputStream("/var/www/juick.com/i/tmp/" + attachmentFName);
- byte[] buffer = new byte[10240];
- int len;
- while ((len = is.read(buffer)) > 0) {
- fos.write(buffer, 0, len);
- }
- } catch (Exception e) {
- ex = e;
- attachmentFName = null;
- } finally {
- try {
- if (is != null) {
- is.close();
- }
- } finally {
- if (fos != null) {
- fos.close();
- }
- }
- }
-
- if (ex != null) {
- throw ex;
- } else {
- return attachmentFName;
- }
- }
-
- public static List<Tag> parseTags(JdbcTemplate sql, String tagsStr) {
- List<com.juick.Tag> tags = new ArrayList<>();
- String tagsArr[];
- if (tagsStr != null && !tagsStr.isEmpty()) {
- tagsArr = tagsStr.split("[ \\,]");
- for (int i = 0; i < tagsArr.length; i++) {
- if (tagsArr[i].startsWith("*")) {
- tagsArr[i] = tagsArr[i].substring(1);
- }
- if (tagsArr[i].length() > 64) {
- tagsArr[i] = tagsArr[i].substring(0, 64);
- }
- }
- tags = TagQueries.getTags(sql, tagsArr, true);
- while (tags.size() > 5) {
- tags.remove(5);
- }
- }
- return tags;
- }
-
- public static String receiveAttachment(Part part, String paramImg) throws Exception {
- String attachmentFName = receiveMultiPartFile(part);
-
- if (attachmentFName == null && paramImg != null && paramImg.length() > 10) {
- URL imgUrl = new URL(paramImg);
- attachmentFName = downloadImage(imgUrl);
- }
- return attachmentFName;
- }
-
- public static PebbleEngine getEngine() {
- return engine;
- }
-
- public static String getTmpDir() {
- return tmpDir;
- }
-
- public static void setTmpDir(String tmpDir) {
- Utils.tmpDir = tmpDir;
- }
}