/*
* Juick
* Copyright (C) 2008-2013, ugnich
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package com.juick.http.www;
import com.juick.Message;
import com.juick.server.Endpoints;
import com.juick.server.MessagesQueries;
import org.springframework.jdbc.core.JdbcTemplate;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author ugnich
*/
public class RSS {
private static final SimpleDateFormat sdfSQL = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static final SimpleDateFormat sdfRSS = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
protected void doGet(JdbcTemplate sql, HttpServletRequest request,
HttpServletResponse response, int uid, String uname) throws ServletException, IOException {
List mids = MessagesQueries.getUserBlog(sql, uid, 0, 0);
if (mids.isEmpty()) {
response.sendError(404);
return;
}
List msgs = MessagesQueries.getMessages(sql, mids);
response.setContentType("application/rss+xml; charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("");
out.println("");
out.println("");
out.println("");
out.println("" + uname + " - Juick");
out.println("http://juick.com/" + uname + "/");
out.println("The latest messages by @" + uname + " at Juick");
out.println("http://i.juick.com/a/" + uid + ".png" + uname + " - Juickhttp://juick.com/" + uname + "/");
for (Message msg : msgs) {
out.println("");
out.println("http://" + Endpoints.wwwJuickCom + "/" + msg.getUser().getUName() + "/" + msg.getMID() + "");
out.println("http://" + Endpoints.wwwJuickCom + "/" + msg.getUser().getUName() + "/" + msg.getMID() + "");
out.print("");
out.println("");
out.println("" + sdfRSS.format(msg.getDate()) + "");
out.println("http://" + Endpoints.wwwJuickCom + "/" + msg.getUser().getUName() + "/" + msg.getMID() + "");
if (!msg.Tags.isEmpty()) {
for (int n = 0; n < msg.Tags.size(); n++) {
out.println("" + msg.Tags.get(n) + "");
}
}
if (msg.AttachmentType != null) {
if (msg.AttachmentType.equals("jpg")) {
out.println("");
out.println("");
} else if (msg.AttachmentType.equals("png")) {
out.println("");
out.println("");
}
}
out.println("");
out.println("");
}
out.println("");
}
}
}