Commit b0350f114ab72d625687d3e0d22b288e269a02a5

Authored by Thomas Ziemer
1 parent 6fbb49a3

style: JavaDocs und Checkstyle

src/main/java/net/ziemers/swxercise/db/BaseEntity.java
@@ -4,6 +4,9 @@ import javax.persistence.GeneratedValue; @@ -4,6 +4,9 @@ import javax.persistence.GeneratedValue;
4 import javax.persistence.Id; 4 import javax.persistence.Id;
5 import javax.persistence.MappedSuperclass; 5 import javax.persistence.MappedSuperclass;
6 6
  7 +/**
  8 + * Diese Basisklasse wird von allen Entitäten verwendet.
  9 + */
7 @MappedSuperclass 10 @MappedSuperclass
8 public class BaseEntity { 11 public class BaseEntity {
9 12
src/main/java/net/ziemers/swxercise/db/dao/GenericDao.java
@@ -12,6 +12,10 @@ import javax.persistence.criteria.Root; @@ -12,6 +12,10 @@ import javax.persistence.criteria.Root;
12 12
13 import net.ziemers.swxercise.db.BaseEntity; 13 import net.ziemers.swxercise.db.BaseEntity;
14 14
  15 +/**
  16 + * Stellt generische Persistenz-Funktionalität zur Verfügung. Wird normalerweise von den
  17 + * spazialisierten Data Access Objects geerbt.
  18 + */
15 @Stateless 19 @Stateless
16 public class GenericDao { 20 public class GenericDao {
17 21
src/main/java/net/ziemers/swxercise/db/dao/user/UserDao.java
@@ -5,29 +5,49 @@ import net.ziemers.swxercise.lg.model.user.User; @@ -5,29 +5,49 @@ import net.ziemers.swxercise.lg.model.user.User;
5 5
6 import javax.ejb.Stateless; 6 import javax.ejb.Stateless;
7 7
  8 +/**
  9 + * Stellt Persistenz-Funktionalität im Kontext der Benutzerverwaltung
  10 + * zur Verfügung.
  11 + */
8 @Stateless 12 @Stateless
9 public class UserDao extends GenericDao { 13 public class UserDao extends GenericDao {
10 14
  15 + /**
  16 + * Findet einen {@link User} aufgrund seiner Id.
  17 + *
  18 + * @param id die Id des gewünschten Users
  19 + * @return den User oder null, falls es keinen gibt.
  20 + */
11 public User findById(final Long id) { 21 public User findById(final Long id) {
12 User user = null; 22 User user = null;
13 23
14 try { 24 try {
15 - // ermittelt den ersten Datensatz mit der gesuchten Id, auch wenn er sich nicht im Persistence Context befindet  
16 - user = (User) entityManager.createNamedQuery("User.findById").setParameter("id", id).getSingleResult();  
17 - } catch(Exception e) {  
18 - /* nix */ 25 + // ermittelt den ersten Datensatz mit der gesuchten Id, auch wenn
  26 + // er sich nicht im Persistence Context befindet
  27 + user = (User) entityManager.createNamedQuery("User.findById")
  28 + .setParameter("id", id).getSingleResult();
  29 + } catch (Exception e) {
  30 + /* nix */
19 } 31 }
20 return user; 32 return user;
21 } 33 }
22 34
  35 + /**
  36 + * Findet einen {@link User} aufgrund seiner Id.
  37 + *
  38 + * @param username der username des gewünschten Users
  39 + * @return den User oder null, falls es keinen gibt.
  40 + */
23 public User findByUsername(final String username) { 41 public User findByUsername(final String username) {
24 User user = null; 42 User user = null;
25 43
26 try { 44 try {
27 - // ermittelt den ersten Datensatz mit dem gesuchten Benutzernamen, auch wenn er sich nicht im Persistence Context befindet  
28 - user = (User) entityManager.createNamedQuery("User.findByUsername").setParameter("username", username).getSingleResult();  
29 - } catch(Exception e) {  
30 - /* nix */ 45 + // ermittelt den ersten Datensatz mit dem gesuchten Benutzernamen,
  46 + // auch wenn er sich nicht im Persistence Context befindet
  47 + user = (User) entityManager.createNamedQuery("User.findByUsername")
  48 + .setParameter("username", username).getSingleResult();
  49 + } catch (Exception e) {
  50 + /* nix */
31 } 51 }
32 return user; 52 return user;
33 } 53 }
src/main/java/net/ziemers/swxercise/db/utils/JpaTestUtils.java
@@ -30,11 +30,14 @@ import org.hibernate.internal.SessionImpl; @@ -30,11 +30,14 @@ import org.hibernate.internal.SessionImpl;
30 import org.slf4j.Logger; 30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory; 31 import org.slf4j.LoggerFactory;
32 32
  33 +/**
  34 + * Stellt nützliche Funktionalität für JUnit-Tests zur Verfügung.
  35 + */
33 public class JpaTestUtils { 36 public class JpaTestUtils {
34 37
35 private static final Logger logger = LoggerFactory.getLogger(JpaTestUtils.class.getName()); 38 private static final Logger logger = LoggerFactory.getLogger(JpaTestUtils.class.getName());
36 39
37 - private static final String PERSISTENCE_UNIT_TEST = "swxercise_test"; 40 + private static final String PERSISTENCE_UNIT_TEST = "swXerciseTestPU";
38 41
39 private static final String NET_ZIEMERS_SWXERCISE_PKG = "net/ziemers/swxercise/"; 42 private static final String NET_ZIEMERS_SWXERCISE_PKG = "net/ziemers/swxercise/";
40 43
src/main/java/net/ziemers/swxercise/lg/model/user/Address.java
@@ -4,6 +4,9 @@ import javax.persistence.Entity; @@ -4,6 +4,9 @@ import javax.persistence.Entity;
4 4
5 import net.ziemers.swxercise.db.BaseEntity; 5 import net.ziemers.swxercise.db.BaseEntity;
6 6
  7 +/**
  8 + * Verwaltet die Adressdaten eines Benutzers.
  9 + */
7 @Entity 10 @Entity
8 public class Address extends BaseEntity { 11 public class Address extends BaseEntity {
9 12
src/main/java/net/ziemers/swxercise/lg/model/user/Profile.java
@@ -13,6 +13,10 @@ import java.security.MessageDigest; @@ -13,6 +13,10 @@ import java.security.MessageDigest;
13 import java.security.SecureRandom; 13 import java.security.SecureRandom;
14 import java.util.Random; 14 import java.util.Random;
15 15
  16 +/**
  17 + * Verwaltet die Anmeldedaten eines anmeldefähigen Benutzers. Das Kennwort wird niemals im Klartext
  18 + * gespeichert, sondern stets nur in seiner verhashten Form.
  19 + */
16 @Entity 20 @Entity
17 public class Profile extends BaseEntity { 21 public class Profile extends BaseEntity {
18 22
src/main/java/net/ziemers/swxercise/lg/model/user/Session.java
@@ -2,6 +2,9 @@ package net.ziemers.swxercise.lg.model.user; @@ -2,6 +2,9 @@ package net.ziemers.swxercise.lg.model.user;
2 2
3 import javax.enterprise.context.SessionScoped; 3 import javax.enterprise.context.SessionScoped;
4 4
  5 +/**
  6 + * Verwaltet die Session des zurzeit angemeldeten Benutzers.
  7 + */
5 @SessionScoped 8 @SessionScoped
6 public class Session implements java.io.Serializable { 9 public class Session implements java.io.Serializable {
7 10
src/main/java/net/ziemers/swxercise/lg/model/user/User.java
@@ -5,6 +5,9 @@ import javax.validation.constraints.NotNull; @@ -5,6 +5,9 @@ import javax.validation.constraints.NotNull;
5 5
6 import net.ziemers.swxercise.db.BaseEntity; 6 import net.ziemers.swxercise.db.BaseEntity;
7 7
  8 +/**
  9 + * Stellt die Stammdaten eines Benutzers zur Verfügung. Nutzt hierbei verschiedene Subklassen.
  10 + */
8 @Entity 11 @Entity
9 @NamedQueries({ 12 @NamedQueries({
10 @NamedQuery(name = "User.findById", query = "SELECT u FROM User u WHERE u.id = :id"), 13 @NamedQuery(name = "User.findById", query = "SELECT u FROM User u WHERE u.id = :id"),
src/main/java/net/ziemers/swxercise/lg/user/dto/UserDto.java
@@ -2,6 +2,10 @@ package net.ziemers.swxercise.lg.user.dto; @@ -2,6 +2,10 @@ package net.ziemers.swxercise.lg.user.dto;
2 2
3 import javax.validation.constraints.NotNull; 3 import javax.validation.constraints.NotNull;
4 4
  5 +/**
  6 + * Das Data Transfer Object im Kontext der Benutzerverwaltung. Es wird unter anderem auch aus einem
  7 + * JSON-Objekt des {@link net.ziemers.swxercise.ui.UserViewController}s gefüllt.
  8 + */
5 public class UserDto { 9 public class UserDto {
6 10
7 @NotNull 11 @NotNull
@@ -20,9 +24,7 @@ public class UserDto { @@ -20,9 +24,7 @@ public class UserDto {
20 return username; 24 return username;
21 } 25 }
22 26
23 - public String getPassword() {  
24 - return password;  
25 - } 27 + public String getPassword() { return password; }
26 28
27 public String getFirstname() { 29 public String getFirstname() {
28 return firstname; 30 return firstname;
src/main/java/net/ziemers/swxercise/lg/user/enums/PasswordHashAlgorithm.java
1 package net.ziemers.swxercise.lg.user.enums; 1 package net.ziemers.swxercise.lg.user.enums;
2 2
  3 +/**
  4 + * Eine Enumeration aller jemals verwendeten Algorithmen zum Verhashen des Kennworts.
  5 + */
3 public enum PasswordHashAlgorithm { 6 public enum PasswordHashAlgorithm {
4 7
5 SHA512("SHA-512"), 8 SHA512("SHA-512"),
src/main/java/net/ziemers/swxercise/lg/user/service/UserService.java
@@ -11,6 +11,9 @@ import net.ziemers.swxercise.lg.model.user.Session; @@ -11,6 +11,9 @@ import net.ziemers.swxercise.lg.model.user.Session;
11 import net.ziemers.swxercise.lg.model.user.User; 11 import net.ziemers.swxercise.lg.model.user.User;
12 import net.ziemers.swxercise.lg.user.dto.UserDto; 12 import net.ziemers.swxercise.lg.user.dto.UserDto;
13 13
  14 +/**
  15 + * Diese Klasse stellt alle Dienste im Kontext einer Benutzerverwaltung zur Verfügung.
  16 + */
14 @Stateless 17 @Stateless
15 public class UserService { 18 public class UserService {
16 19
src/main/java/net/ziemers/swxercise/ui/RestApplication.java
@@ -3,6 +3,9 @@ package net.ziemers.swxercise.ui; @@ -3,6 +3,9 @@ package net.ziemers.swxercise.ui;
3 import javax.ws.rs.ApplicationPath; 3 import javax.ws.rs.ApplicationPath;
4 import javax.ws.rs.core.Application; 4 import javax.ws.rs.core.Application;
5 5
  6 +/**
  7 + * Basisklasse für alle REST-Methoden.
  8 + */
6 @ApplicationPath(RestApplication.webContextPath) 9 @ApplicationPath(RestApplication.webContextPath)
7 public class RestApplication extends Application { 10 public class RestApplication extends Application {
8 11
src/main/java/net/ziemers/swxercise/ui/UserViewController.java
@@ -11,6 +11,9 @@ import net.ziemers.swxercise.lg.model.user.User; @@ -11,6 +11,9 @@ import net.ziemers.swxercise.lg.model.user.User;
11 import net.ziemers.swxercise.lg.user.dto.UserDto; 11 import net.ziemers.swxercise.lg.user.dto.UserDto;
12 import net.ziemers.swxercise.lg.user.service.UserService; 12 import net.ziemers.swxercise.lg.user.service.UserService;
13 13
  14 +/**
  15 + * REST-Methoden für die Benutzerverwaltung.
  16 + */
14 @ApplicationScoped 17 @ApplicationScoped
15 @Path(UserViewController.webContextPath) 18 @Path(UserViewController.webContextPath)
16 public class UserViewController { 19 public class UserViewController {