Skip to content

Commit 8ba9ebd

Browse files
committed
updates on examples
1 parent 6485ee9 commit 8ba9ebd

18 files changed

Lines changed: 133 additions & 24 deletions

File tree

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#Sun Nov 07 21:24:28 CET 2010
1+
#Tue Nov 23 21:04:08 CET 2010
22
eclipse.preferences.version=1
3+
jarsExcludedFromWebInfLib=
34
warSrcDir=war
45
warSrcDirIsOutput=true
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#Tue Nov 23 21:04:08 CET 2010
2+
eclipse.preferences.version=1
3+
filesCopiedToWebInfLib=

de.vogella.gae.java.chatbot/src/de/vogella/gae/java/chatbot/ChatbotServlet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ protected void doPost(HttpServletRequest req, HttpServletResponse resp)
3131
"This will be decided by me.",
3232
"You must stay in time and in quality." };
3333
Random random = new Random();
34-
int nextInt = random.nextInt(4);
34+
int nextInt = random.nextInt(6);
3535
Message message = xmppService.parseMessage(req);
3636
// To get the message send use message.getBody()
3737
Message reply = new MessageBuilder()

de.vogella.gae.java.chatbot/war/WEB-INF/appengine-web.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
3-
<application>workadvicebot</application>
3+
<application>managerchatbot</application>
44
<version>1</version>
55

66
<!-- Configure java.util.logging -->
Binary file not shown.

de.vogella.gae.java.todo/src/de/vogella/gae/java/todo/EmailServlet.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.io.IOException;
44
import java.util.Properties;
5+
import java.util.logging.Logger;
56

67
import javax.mail.Address;
78
import javax.mail.MessagingException;
@@ -13,27 +14,31 @@
1314
import javax.servlet.http.HttpServletRequest;
1415
import javax.servlet.http.HttpServletResponse;
1516

16-
import com.google.appengine.api.users.User;
17-
1817
import de.vogella.gae.java.todo.dao.Dao;
18+
import de.vogella.gae.java.todo.model.MyUser;
1919

2020
public class EmailServlet extends HttpServlet {
21+
private static final Logger log = Logger.getLogger(EmailServlet.class
22+
.getName());
2123

2224
private static final long serialVersionUID = 1L;
2325

2426
public void doPost(HttpServletRequest req, HttpServletResponse resp)
2527
throws IOException {
2628
Properties props = new Properties();
27-
2829
Session email = Session.getDefaultInstance(props, null);
29-
3030
try {
3131
MimeMessage message = new MimeMessage(email, req.getInputStream());
3232
String summary = message.getSubject();
3333
String description = getText(message);
3434
Address[] addresses = message.getFrom();
35-
User user = new User(addresses[0].toString(), "gmail.com");
36-
Dao.INSTANCE.add(user.getUserId(), summary, description, "");
35+
MyUser user = Dao.INSTANCE.getUser(addresses[0].toString());
36+
log.severe(addresses[0].toString());
37+
if (user != null) {
38+
Dao.INSTANCE.add(user.getUserId(), summary, description, "");
39+
} else {
40+
log.severe("User was null");
41+
}
3742

3843
} catch (Exception e) {
3944
e.printStackTrace();

de.vogella.gae.java.todo/src/de/vogella/gae/java/todo/ServletCreateTodo.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package de.vogella.gae.java.todo;
22

33
import java.io.IOException;
4+
import java.util.logging.Logger;
45

56
import javax.servlet.http.HttpServlet;
67
import javax.servlet.http.HttpServletRequest;
@@ -11,18 +12,32 @@
1112
import com.google.appengine.api.users.UserServiceFactory;
1213

1314
import de.vogella.gae.java.todo.dao.Dao;
15+
import de.vogella.gae.java.todo.model.MyUser;
1416

1517
@SuppressWarnings("serial")
1618
public class ServletCreateTodo extends HttpServlet {
19+
private static final Logger log = Logger.getLogger(ServletCreateTodo.class
20+
.getName());
21+
1722
public void doPost(HttpServletRequest req, HttpServletResponse resp)
1823
throws IOException {
19-
System.out.println("Creating new todo ");
24+
log.severe("Creating new todo Message ");
2025
User user = (User) req.getAttribute("user");
2126
if (user == null) {
2227
UserService userService = UserServiceFactory.getUserService();
2328
user = userService.getCurrentUser();
2429
}
2530

31+
// Check if users email is already known
32+
MyUser savedUser = Dao.INSTANCE.getUser(user.getEmail());
33+
if (savedUser == null) {
34+
log.severe("Save new user");
35+
Dao.INSTANCE.persistsUser(new MyUser(user.getUserId(), user
36+
.getEmail()));
37+
} else {
38+
log.severe("I have this user already");
39+
}
40+
2641
String summary = checkNull(req.getParameter("summary"));
2742
String longDescription = checkNull(req.getParameter("description"));
2843
String url = checkNull(req.getParameter("url"));

de.vogella.gae.java.todo/src/de/vogella/gae/java/todo/dao/Dao.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package de.vogella.gae.java.todo.dao;
22

3+
import java.util.ArrayList;
34
import java.util.List;
45

56
import javax.persistence.EntityManager;
67
import javax.persistence.Query;
78

9+
import de.vogella.gae.java.todo.model.MyUser;
810
import de.vogella.gae.java.todo.model.Todo;
911

1012
public enum Dao {
@@ -18,6 +20,25 @@ public List<Todo> listTodos() {
1820
return todos;
1921
}
2022

23+
public void persistsUser(MyUser user) {
24+
EntityManager em = EMFService.get().createEntityManager();
25+
em.persist(user);
26+
em.close();
27+
}
28+
29+
public MyUser getUser(String email) {
30+
EntityManager em = EMFService.get().createEntityManager();
31+
Query q = em.createQuery("select u from MyUser u");
32+
// q.setParameter("email", email);
33+
List<MyUser> resultList = new ArrayList(q.getResultList());
34+
35+
em.close();
36+
if ((resultList != null) && (resultList.size() > 0)) {
37+
return resultList.get(0);
38+
}
39+
return null;
40+
}
41+
2142
public void add(String userId, String summery, String description,
2243
String url) {
2344
synchronized (this) {
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package de.vogella.gae.java.todo.model;
2+
3+
import javax.persistence.Entity;
4+
import javax.persistence.GeneratedValue;
5+
import javax.persistence.GenerationType;
6+
import javax.persistence.Id;
7+
8+
@Entity
9+
public class MyUser {
10+
@Id
11+
@GeneratedValue(strategy = GenerationType.IDENTITY)
12+
private String id;
13+
private String userId;
14+
private String email;
15+
16+
public MyUser(String userId, String email) {
17+
this.id = userId;
18+
this.userId = userId;
19+
this.email = email;
20+
}
21+
22+
public String getId() {
23+
return id;
24+
}
25+
26+
public String getUserId() {
27+
return userId;
28+
}
29+
30+
public String getEmail() {
31+
return email;
32+
}
33+
34+
}

de.vogella.gae.java.todo/war/WEB-INF/appengine-web.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
99
</system-properties>
1010

11+
<sessions-enabled>true</sessions-enabled>
12+
1113
<inbound-services>
1214
<service>mail</service>
1315
</inbound-services>

0 commit comments

Comments
 (0)