Advertisement
Guest User

Untitled

a guest
Mar 8th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.07 KB | None | 0 0
  1. java.lang.NullPointerException
  2. at service.KweetServices.createUser(KweetServices.java:35)
  3. at service.KweetServices$createUser$1.call(Unknown Source)
  4. at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
  5. at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
  6. at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
  7. at KweetServicesTest.testCreateUser(KweetServicesTest.groovy:58)
  8. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  9. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  10. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  11. at java.lang.reflect.Method.invoke(Method.java:498)
  12. at junit.framework.TestCase.runTest(TestCase.java:176)
  13. at junit.framework.TestCase.runBare(TestCase.java:141)
  14. at junit.framework.TestResult$1.protect(TestResult.java:122)
  15. at junit.framework.TestResult.runProtected(TestResult.java:142)
  16. at junit.framework.TestResult.run(TestResult.java:125)
  17. at junit.framework.TestCase.run(TestCase.java:129)
  18. at junit.framework.TestSuite.runTest(TestSuite.java:252)
  19. at junit.framework.TestSuite.run(TestSuite.java:247)
  20. at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
  21. at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
  22. at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
  23. at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
  24. at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)
  25. at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
  26. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  27. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  28. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  29. at java.lang.reflect.Method.invoke(Method.java:498)
  30. at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
  31.  
  32. public interface UserDAO {
  33.  
  34. int count();
  35.  
  36. boolean create(User user);
  37.  
  38. boolean edit(User user);
  39.  
  40. List<User> findAll();
  41.  
  42. User findUserByUsername(String username);
  43.  
  44. boolean remove(User user);
  45.  
  46. }
  47.  
  48. package dao;
  49.  
  50. import domain.User;
  51.  
  52. import javax.ejb.Stateless;
  53. import javax.persistence.PersistenceContext;
  54. import javax.persistence.EntityManager;
  55. import java.util.List;
  56.  
  57. /**
  58. * Created by Nick on 08-Mar-17.
  59. */
  60. @Stateless
  61. public class UserDAOJPAImpl implements UserDAO{
  62. @PersistenceContext
  63. private EntityManager em;
  64.  
  65. public UserDAOJPAImpl() {
  66. }
  67.  
  68.  
  69. @Override
  70. public int count() {
  71. int i = (Integer) em.createNamedQuery("countUsers").getSingleResult();
  72. return i;
  73. }
  74.  
  75. @Override
  76. public boolean create(User user) {
  77. User toCreate = findUserByUsername(user.getUserName());
  78. if(toCreate == null)
  79. {
  80. em.persist(user);
  81. return true;
  82. }
  83. return false;
  84. }
  85.  
  86. @Override
  87. public boolean edit(User user) {
  88. User toEdit = findUserByUsername(user.getUserName());
  89. if(toEdit == null)
  90. {
  91. em.merge(user);
  92. return true;
  93. }
  94. return false;
  95. }
  96.  
  97. @Override
  98. public List<User> findAll() {
  99. return (List<User>) em.createNamedQuery("findAllUsers", User.class).getResultList();
  100. }
  101.  
  102. @Override
  103. public User findUserByUsername(String username) {
  104. return em.find(User.class, username);
  105. }
  106.  
  107. @Override
  108. public boolean remove(User user) {
  109. User userToRemove = findUserByUsername(user.getUserName());
  110. if(userToRemove != null)
  111. {
  112. em.remove(user);
  113. return true;
  114. }
  115. return false;
  116.  
  117. }
  118.  
  119.  
  120.  
  121. }
  122.  
  123. @Entity
  124. @NamedQueries({
  125. @NamedQuery(name = "findAllUsers", query = "select u from User u"),
  126. @NamedQuery(name = "countUsers", query = "select count(u) from User u")
  127. })
  128. public class User implements Serializable{
  129.  
  130. @Id
  131. @GeneratedValue(strategy = GenerationType.AUTO)
  132. private int id;
  133.  
  134. private String name;
  135.  
  136. private String userName;
  137.  
  138. private String password;
  139.  
  140. private String role;
  141.  
  142.  
  143.  
  144. private String eMail;
  145. private String bio;
  146. private String location;
  147. private String avatar;
  148.  
  149. public User(String name, String userName, String password, String role, String eMail, String bio, String location, String avatar, String webPage) {
  150. this.name = name;
  151. this.userName = userName;
  152. this.password = password;
  153. this.role = role;
  154. this.eMail = eMail;
  155. this.bio = bio;
  156. this.location = location;
  157. this.avatar = avatar;
  158. this.webPage = webPage;
  159. }
  160.  
  161. private String webPage;
  162.  
  163. @ManyToMany
  164. private Collection<User> followers = new ArrayList();
  165. @ManyToMany
  166. private Collection<User> following = new ArrayList();
  167.  
  168. @OneToMany
  169. private Collection<Kweet> kweets = new ArrayList();
  170.  
  171. public User(){
  172.  
  173. }
  174.  
  175. public User(String userName, String password, String role){
  176. this.userName = userName;
  177. this.password = password;
  178. this.role = role;
  179. }
  180.  
  181.  
  182.  
  183. public void addKweet(Kweet kweet) {
  184. this.kweets.add(kweet);
  185. }
  186.  
  187. public void removeKweet(Kweet kweet) {
  188. Iterator<Kweet> iter = kweets.iterator();
  189. while (iter.hasNext()) {
  190. Kweet kwt = iter.next();
  191. if (kwt.getOwner().equals(kweet.getOwner())) {
  192. if (kwt.getMessage().equals(kweet.getMessage())) {
  193. iter.remove();
  194. }
  195. }
  196. }
  197. }
  198.  
  199.  
  200.  
  201. //<editor-fold defaultstate="collapsed"
  202. public int getId() {
  203. return id;
  204. }
  205.  
  206. public void setId(int id) {
  207. this.id = id;
  208. }
  209.  
  210. public String getUserName() {
  211. return userName;
  212. }
  213.  
  214. public void setUserName(String userName) {
  215. this.userName = userName;
  216. }
  217.  
  218. public String getPassword() {
  219. return password;
  220. }
  221.  
  222. public void setPassword(String password) {
  223. this.password = password;
  224. }
  225.  
  226. public String getRole() {
  227. return role;
  228. }
  229.  
  230. public void setRole(String role) {
  231. this.role = role;
  232. }
  233.  
  234. public Collection<User> getFollowers() {
  235. return followers;
  236. }
  237.  
  238. public void setFollowers(Collection<User> followers) {
  239. this.followers = followers;
  240. }
  241.  
  242. public Collection<User> getFollowing() {
  243. return following;
  244. }
  245.  
  246. public void setFollowing(Collection<User> following) {
  247. this.following = following;
  248. }
  249.  
  250. public Collection<Kweet> getKweets() {
  251. return kweets;
  252. }
  253.  
  254. public void setKweets(Collection<Kweet> kweets) {
  255. this.kweets = kweets;
  256. }
  257.  
  258. public String geteMail() {
  259. return eMail;
  260. }
  261.  
  262. public void seteMail(String eMail) {
  263. this.eMail = eMail;
  264. }
  265.  
  266. public String getBio() {
  267. return bio;
  268. }
  269.  
  270. public void setBio(String bio) {
  271. this.bio = bio;
  272. }
  273.  
  274. public String getLocation() {
  275. return location;
  276. }
  277.  
  278. public void setLocation(String location) {
  279. this.location = location;
  280. }
  281.  
  282. public String getAvatar() {
  283. return avatar;
  284. }
  285.  
  286. public void setAvatar(String avatar) {
  287. this.avatar = avatar;
  288. }
  289.  
  290. public String getWebPage() {
  291. return webPage;
  292. }
  293.  
  294. public void setWebPage(String webPage) {
  295. this.webPage = webPage;
  296. }
  297. //</editor-fold>
  298.  
  299. }
  300.  
  301. @Stateless
  302. public class KweetServices implements Serializable {
  303.  
  304.  
  305. @Inject
  306. private UserDAO userDAO;
  307.  
  308. @Inject
  309. private KweetDAO kweetDAO;
  310.  
  311. public void removeKweet(Kweet kweet) {
  312. kweetDAO.removeKweet(kweet);
  313. }
  314. public Kweet findKweet(Kweet kweet) {return kweetDAO.findKweet(kweet);}
  315. public boolean createKweet(Kweet kweet){return kweetDAO.createKweet(kweet);}
  316. public Collection<Kweet> getMentioned(Long id) {
  317. return kweetDAO.getMentioned(id);
  318. }
  319. public boolean createUser(User user){return userDAO.create(user);}
  320.  
  321.  
  322.  
  323. public UserDAO getUserDAO() {
  324. return userDAO;
  325. }
  326.  
  327. public void setUserDAO(UserDAO userDAO) {
  328. this.userDAO = userDAO;
  329. }
  330.  
  331. public KweetDAO getKweetDAO() {
  332. return kweetDAO;
  333. }
  334.  
  335. public void setKweetDAO(KweetDAO kweetDAO) {
  336. this.kweetDAO = kweetDAO;
  337. }
  338.  
  339.  
  340. }
  341.  
  342. class KweetServicesTest extends GroovyTestCase {
  343.  
  344. KweetServices service;
  345.  
  346. @Mock
  347. UserDAO userdao;
  348.  
  349. @Mock
  350. KweetDAO kweetdao;
  351.  
  352. User user1;
  353. User user2;
  354.  
  355. Kweet tweet1;
  356. Kweet tweet2;
  357.  
  358. void setUp() {
  359. super.setUp()
  360. service = new KweetServices();
  361. service.setUserDAO(userdao);
  362. service.setKweetDAO(kweetdao);
  363.  
  364. user1 = new User("hai","user1", "password1", "admin","nick@bijmoer.nl","hoi","breda","ja","nee");
  365. user2 = new User("hai2","user12", "password12", "admin2","nick@bijmoer.nl2","hoi2","breda2","ja2","nee2");
  366.  
  367.  
  368. tweet1 = new Kweet("tweet 1", new Date(), user1);
  369. tweet2 = new Kweet("tweet 2", new Date(), user2);
  370.  
  371. }
  372.  
  373.  
  374. void tearDown() {
  375.  
  376. }
  377.  
  378. void testCreateUser() {
  379. service.createUser(user1);
  380. verify(userdao, Mockito.times(1)).create(user1);
  381. }
  382.  
  383.  
  384. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement