Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea
1 change: 1 addition & 0 deletions .idea/artifacts/SlowNews_war_exploded.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions SlowNews.iml
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.5.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.5.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.5.3" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.persistence:eclipselink:2.3.2" level="project" />
</component>
</module>
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,11 @@
<version>2.5.3</version>
</dependency>

<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.3.2</version>
</dependency>

</dependencies>
</project>
70 changes: 70 additions & 0 deletions src/main/java/net/bash/serg/slownews/model/News.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package net.bash.serg.slownews.model;

import org.eclipse.persistence.oxm.annotations.XmlPath;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;

@XmlRootElement(name="rss")
@XmlType(propOrder={"category", "title", "image", "link", "description"})
@XmlAccessorType(XmlAccessType.FIELD)
public class News {

@XmlPath("channel/item/category/text()")
private ArrayList <String> category;

@XmlPath("channel/item/title/text()")
private ArrayList <String> title;

@XmlPath("channel/item/enclosure/@url")
private ArrayList <String> image;

@XmlPath("channel/item/link/text()")
private ArrayList <String> link;

@XmlPath("channel/item/description/text()")
private ArrayList <String> description;

public ArrayList <String> getCategory() {
return category;
}

public void setCategory(ArrayList <String> category) {
this.category = category;
}

public ArrayList <String> getImage() {
return image;
}

public void setImage(ArrayList <String> image) {
this.image = image;
}

public ArrayList <String> getTitle() {
return title;
}

public void setTitle(ArrayList <String> title) {
this.title = title;
}

public ArrayList<String> getLink() {
return link;
}

public void setLink(ArrayList<String> link) {
this.link = link;
}

public ArrayList<String> getDescription() {
return description;
}

public void setDescription(ArrayList<String> description) {
this.description = description;
}
}
45 changes: 38 additions & 7 deletions src/main/java/net/bash/serg/slownews/servlet/News.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package net.bash.serg.slownews.servlet;



import net.bash.serg.slownews.model.WeatherClientParser;
import org.eclipse.persistence.jaxb.JAXBContextFactory;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
Expand All @@ -12,23 +10,56 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

/**
* Created by bso05702 on 18.11.2015.
*/
@WebServlet("/news")
public class News extends HttpServlet{
private static final String BEGIN = "/WEB-INF/view/news.jsp";

@Override
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
ServletContext application = getServletContext();
RequestDispatcher dispatcher = application.getRequestDispatcher(BEGIN);
HttpSession session = req.getSession();
WeatherClientParser client = new WeatherClientParser();
session.setAttribute("news", client.getResult());

try {
JAXBContext context = JAXBContextFactory.createContext(new Class[]{net.bash.serg.slownews.model.News.class}, null);

Unmarshaller unmarshaller = context.createUnmarshaller();
URL xmlURL = new URL("https://news.mail.ru/rss/ukraine/");
InputStream xml = xmlURL.openStream();
net.bash.serg.slownews.model.News news = (net.bash.serg.slownews.model.News) unmarshaller.unmarshal(xml);

ArrayList list = new ArrayList();
for(int i = 0; i < news.getImage().size(); i++) {
Map items = new HashMap();
items.put("category", news.getCategory().get(i));
items.put("title", news.getTitle().get(i));
items.put("description", news.getDescription().get(i));
items.put("image", news.getImage().get(i));
items.put("link", news.getLink().get(i));
list.add(items);
}
xml.close();
ServletContext servletContext = getServletContext();
servletContext.setAttribute("list", list);
}
catch(JAXBException e){
System.out.println(e.getMessage());
}
// WeatherClientParser client = new WeatherClientParser();
// session.setAttribute("news", client.getResult());
dispatcher.forward(req, res);
}
}
}
31 changes: 31 additions & 0 deletions src/main/java/net/bash/serg/slownews/servlet/Weather.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package net.bash.serg.slownews.servlet;

import net.bash.serg.slownews.model.WeatherClientParser;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
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 java.io.IOException;

/**
* Created by Serg Bash on 12/2/2015.
*/
@WebServlet("/news")
public class Weather extends HttpServlet{
private static final String BEGIN = "/WEB-INF/view/weather.jsp";
@Override
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
ServletContext application = getServletContext();
HttpSession session = req.getSession();
WeatherClientParser client = new WeatherClientParser();
session.setAttribute("news", client.getResult());
RequestDispatcher dispatcher = application.getRequestDispatcher(BEGIN);
dispatcher.forward(req, res);
}
}
Loading