202 lines
7.9 KiB
Java
202 lines
7.9 KiB
Java
package it.acxent.news.servlet;
|
|
|
|
import it.acxent.db.CRAdapter;
|
|
import it.acxent.db.DBAdapter;
|
|
import it.acxent.db.DBAdapterException;
|
|
import it.acxent.db.ResParm;
|
|
import it.acxent.news.AllegatoNews;
|
|
import it.acxent.news.News;
|
|
import it.acxent.news.NewsCR;
|
|
import it.acxent.news.TipoNews;
|
|
import it.acxent.servlet.AblServletSvlt;
|
|
import it.acxent.util.Vectumerator;
|
|
import java.sql.SQLException;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
@Object(urlPatterns = {"/News.abl"})
|
|
public class NewsSvlt extends AblServletSvlt {
|
|
private static final long serialVersionUID = 476646217816287146L;
|
|
|
|
protected void fillComboAfterDetail(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
|
|
News bean = (News)beanA;
|
|
req.setAttribute("listaAllegati", bean.getAllegati());
|
|
req.setAttribute("listaTipoNews", new TipoNews(getApFull(req)).findAll());
|
|
}
|
|
|
|
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {
|
|
req.setAttribute("listaTipoNews", new TipoNews(getApFull(req)).findAll());
|
|
}
|
|
|
|
protected DBAdapter getBean(HttpServletRequest req) {
|
|
return new News(getApFull(req));
|
|
}
|
|
|
|
protected CRAdapter getBeanCR(HttpServletRequest req) {
|
|
return new NewsCR(getApFull(req));
|
|
}
|
|
|
|
protected boolean isSecureServlet(HttpServletRequest req) {
|
|
return false;
|
|
}
|
|
|
|
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
|
|
search(req, res);
|
|
}
|
|
|
|
public void _last(HttpServletRequest req, HttpServletResponse res) {
|
|
News news = new News(getApFull(req));
|
|
news.findLastNews();
|
|
req.setAttribute("bean", news);
|
|
setJspPage("/news.jsp", req);
|
|
callJsp(req, res);
|
|
}
|
|
|
|
public void _getTimelineOld(HttpServletRequest req, HttpServletResponse res) {
|
|
String lang = (String)req.getSession().getAttribute("lang");
|
|
StringBuilder sb = new StringBuilder();
|
|
try {
|
|
NewsCR CR = new NewsCR();
|
|
CR.getFlgPubblica();
|
|
CR.getId_tipoNews();
|
|
Vectumerator<News> vec = new News(getApFull(req)).findByCR(CR, 0, 0);
|
|
sb.append("{\"timeline\":{");
|
|
sb.append("\"headline\":\"\",");
|
|
sb.append("\"type\":\"default\",");
|
|
sb.append("\"text\":\"<p>News TechnoPlants</p>\",");
|
|
sb.append("\"date\":[{");
|
|
StringBuilder sbd = new StringBuilder();
|
|
while (vec.hasMoreElements()) {
|
|
News news = (News)vec.nextElement();
|
|
if (sbd.length() > 0)
|
|
sbd.append("},{");
|
|
sbd.append("\"startDate\":\"" + news.getDataNews().toString().replace("-", ",") + "\",");
|
|
if (news.getDataFine() != null) {
|
|
sbd.append("\"endDate\":\"" + news.getDataFine().toString().replace("-", ",") + "\",");
|
|
} else {
|
|
sbd.append("\"endDate\":\"" + news.getDataNews().toString().replace("-", ",") + "\",");
|
|
}
|
|
sbd.append("\"headline\":\"" + news.getTitolo(lang) + "\",");
|
|
sbd.append("\"text\":\"prova\",");
|
|
sbd.append("\"tag\":\"" + news.getTipoNews().getDescrizione(lang) + "\",");
|
|
sbd.append("\"asset\":");
|
|
sbd.append("{");
|
|
if (news.getId_tipoNews() == 3L) {
|
|
if (!news.getLink(lang).isEmpty())
|
|
sbd.append("\"media\":\"" + news.getLink(lang) + "\"");
|
|
} else {
|
|
if (isFileExist(getDocBase() + getDocBase() + news.getPathImmagini()))
|
|
sbd.append("\"media\":\"" + news.getPathImmagini() + news.getImgFileName(2) + "\",");
|
|
if (isFileExist(getDocBase() + getDocBase() + news.getPathImmagini()))
|
|
sbd.append("\"thumbnail\":\"" + news.getPathImmagini() + news.getImgFileName(1) + "\",");
|
|
sbd.append("\"caption\":\"" + news.getLink(lang) + "\"");
|
|
}
|
|
sbd.append("}");
|
|
}
|
|
if (sbd.length() > 0)
|
|
sb.append(sbd.toString());
|
|
sb.append("}]}}");
|
|
} catch (DBAdapterException e) {
|
|
e.printStackTrace();
|
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
System.out.println(sb.toString());
|
|
sendHtmlMsgResponse(req, res, sb.toString());
|
|
}
|
|
|
|
public void _getTimeline(HttpServletRequest req, HttpServletResponse res) {
|
|
String lang = (String)req.getSession().getAttribute("lang");
|
|
StringBuilder sb = new StringBuilder();
|
|
try {
|
|
NewsCR CR = new NewsCR();
|
|
CR.getId_tipoNews();
|
|
Vectumerator<News> vec = new News(getApFull(req)).findByCR(CR, 0, 0);
|
|
sb.append("{");
|
|
sb.append("\"events\":[{");
|
|
StringBuilder sbd = new StringBuilder();
|
|
while (vec.hasMoreElements()) {
|
|
News news = (News)vec.nextElement();
|
|
if (sbd.length() > 0)
|
|
sbd.append("},{");
|
|
String temp = news.getDataNews().toString();
|
|
if (temp.equals("2020-03-17"))
|
|
System.out.println("_getTimeline: data " + temp);
|
|
sbd.append("\"start_date\":{\"month\": \"");
|
|
sbd.append(temp.substring(5, 7));
|
|
sbd.append("\",\"day\": \"");
|
|
sbd.append(temp.substring(8, 10));
|
|
sbd.append("\",\"year\": \"");
|
|
sbd.append(temp.substring(0, 4));
|
|
sbd.append("\"},");
|
|
if (news.getDataFine() != null) {
|
|
temp = news.getDataFine().toString();
|
|
sbd.append("\"end_date\":{\"month\": \"");
|
|
sbd.append(temp.substring(5, 7));
|
|
sbd.append("\",\"day\": \"");
|
|
sbd.append(temp.substring(8, 10));
|
|
sbd.append("\",\"year\": \"");
|
|
sbd.append(temp.substring(0, 4));
|
|
sbd.append("\"},");
|
|
} else {
|
|
temp = news.getDataNews().toString();
|
|
sbd.append("\"end_date\":{\"month\": \"");
|
|
sbd.append(temp.substring(5, 7));
|
|
sbd.append("\",\"day\": \"");
|
|
sbd.append(temp.substring(8, 10));
|
|
sbd.append("\",\"year\": \"");
|
|
sbd.append(temp.substring(0, 4));
|
|
sbd.append("\"},");
|
|
}
|
|
sbd.append("\"text\":{");
|
|
sbd.append("\"headline\":\"" + news.getTitolo(lang) + "\",");
|
|
sbd.append("\"text\":\"" + news.getTesto(lang).replace("\"", "'") + "\"");
|
|
sbd.append("}");
|
|
if (!news.getLink(lang).isEmpty()) {
|
|
sbd.append(",\"media\":{\"url\": \"" + news.getLink(lang) + "\"");
|
|
sbd.append(",\"caption\":\"" + news.getLink(lang) + "\"");
|
|
sbd.append("}");
|
|
continue;
|
|
}
|
|
if (isFileExist(getDocBase() + getDocBase() + news.getPathImmagini())) {
|
|
sbd.append(",\"media\":{\"url\": \"" + news.getPathImmagini() + news.getImgFileName(2) + "\"");
|
|
sbd.append(",\"thumbnail\": \"" + news.getPathImmagini() + news.getImgFileName(2) + "\"");
|
|
sbd.append(",\"caption\":\"" + news.getTitolo(lang) + "\"");
|
|
sbd.append("}");
|
|
continue;
|
|
}
|
|
if (isFileExist(getDocBase() + getDocBase() + news.getPathImmagini())) {
|
|
sbd.append(",\"media\":{\"url\": \"" + news.getPathImmagini() + news.getImgFileName(1) + "\"");
|
|
sbd.append(",\"thumbnail\": \"" + news.getPathImmagini() + news.getImgFileName(1) + "\"");
|
|
sbd.append(",\"caption\":\"" + news.getTitolo(lang) + "\"");
|
|
sbd.append("}");
|
|
}
|
|
}
|
|
if (sbd.length() > 0)
|
|
sb.append(sbd.toString());
|
|
sb.append("}]}");
|
|
} catch (DBAdapterException e) {
|
|
e.printStackTrace();
|
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
System.out.println(sb.toString());
|
|
sendHtmlMsgResponse(req, res, sb.toString());
|
|
}
|
|
|
|
protected ResParm beforeSearch(HttpServletRequest req, HttpServletResponse res) {
|
|
req.setAttribute("flgOrderBy", "1");
|
|
return super.beforeSearch(req, res);
|
|
}
|
|
|
|
public void _addClickThroughAttach(HttpServletRequest req, HttpServletResponse res) {
|
|
AllegatoNews bean = new AllegatoNews(getApFull(req));
|
|
bean.findByPrimaryKey(getRequestLongParameter(req, "id"));
|
|
bean.addClickThrough(req.getRemoteAddr(), req.getServletPath());
|
|
}
|
|
|
|
protected void search(HttpServletRequest req, HttpServletResponse res) {
|
|
req.setAttribute("flgVisibile", "1");
|
|
super.search(req, res);
|
|
}
|
|
}
|