Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.validation.ConstraintViolationException: Validation failed for classes [com.finalspringproject.dao.User] during update time for groups [com.finalspringproject.dao.PersistenceValidationGroup, ]
- List of constraint violations:[
- ConstraintViolationImpl{interpolatedMessage='may not be empty', propertyPath=password, rootBeanClass=class com.finalspringproject.dao.User, messageTemplate='{org.hibernate.validator.constraints.NotBlank.message}'}
- ConstraintViolationImpl{interpolatedMessage='may not be empty', propertyPath=email, rootBeanClass=class com.finalspringproject.dao.User, messageTemplate='{org.hibernate.validator.constraints.NotBlank.message}'}
- ]
- org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)
- org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
- org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
- org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
- org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
- org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
- org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
- org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
- org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
- root cause
- javax.validation.ConstraintViolationException: Validation failed for classes [com.finalspringproject.dao.User] during update time for groups [com.finalspringproject.dao.PersistenceValidationGroup, ]
- List of constraint violations:[
- ConstraintViolationImpl{interpolatedMessage='may not be empty', propertyPath=password, rootBeanClass=class com.finalspringproject.dao.User, messageTemplate='{org.hibernate.validator.constraints.NotBlank.message}'}
- ConstraintViolationImpl{interpolatedMessage='may not be empty', propertyPath=email, rootBeanClass=class com.finalspringproject.dao.User, messageTemplate='{org.hibernate.validator.constraints.NotBlank.message}'}
- ]
- org.hibernate.cfg.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:161)
- org.hibernate.cfg.beanvalidation.BeanValidationEventListener.onPreUpdate(BeanValidationEventListener.java:102)
- org.hibernate.action.EntityUpdateAction.preUpdate(EntityUpdateAction.java:237)
- org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:86)
- org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
- org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
- org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:185)
- org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
- org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
- org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
- org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:145)
- org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95)
- org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:925)
- org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:738)
- org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724)
- org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:475)
- org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:270)
- org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
- org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
- org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:631)
- com.finalspringproject.dao.RecipeDAO$$EnhancerByCGLIB$$40f9f16.saveOrUpdate(<generated>)
- com.finalspringproject.service.RecipeService.saveOrUpdate(RecipeService.java:71)
- com.finalspringproject.service.RecipeService$$FastClassByCGLIB$$96c55643.invoke(<generated>)
- org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
- org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:627)
- com.finalspringproject.service.RecipeService$$EnhancerByCGLIB$$20d5df6c.saveOrUpdate(<generated>)
- com.finalspringproject.controllers.RecipeController.doCreate(RecipeController.java:90)
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
- sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
- java.lang.reflect.Method.invoke(Unknown Source)
- org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
- org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
- org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
- org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
- org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
- org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
- org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
- org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
- org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
- org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
- org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
- org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
- org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
- org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
- org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
- org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
- org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
- org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
- org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.Table;
- import javax.validation.constraints.NotNull;
- import javax.validation.constraints.Size;
- @Entity
- @Table(name="recipe")
- public class Recipe {
- @Id
- private int id;
- @Size(min = 5, max = 100,groups={FormValidationGroup.class,PersistenceValidationGroup.class})
- private String titleParse;
- @Size(min = 5, max = 200groups = {FormValidationGroup.class, PersistenceValidationGroup.class })
- private String descriptionParse;
- private String imageURLParse;
- @NotNull(groups = {FormValidationGroup.class, PersistenceValidationGroup.class })
- private String ratingParse;
- @ManyToOne(cascade = CascadeType.ALL)
- @JoinColumn(name="username")
- private User user;
- public Recipe() {
- this.user= new User();
- }
- public Recipe(User user, String titleParse, String descriptionParse, String imageURLParse, String ratingParse) {
- this.user = user;
- this.titleParse = titleParse;
- this.descriptionParse = descriptionParse;
- this.imageURLParse = imageURLParse;
- this.ratingParse = ratingParse;
- }
- public Recipe(int id, User user, String titleParse, String descriptionParse, String imageURLParse,
- String ratingParse) {
- this.id = id;
- this.user = user;
- this.titleParse = titleParse;
- this.descriptionParse = descriptionParse;
- this.imageURLParse = imageURLParse;
- this.ratingParse = ratingParse;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getTitleParse() {
- return titleParse;
- }
- public void setTitleParse(String titleParse) {
- this.titleParse = titleParse;
- }
- public String getDescriptionParse() {
- return descriptionParse;
- }
- public void setDescriptionParse(String descriptionParse) {
- this.descriptionParse = descriptionParse;
- }
- public String getImageURLParse() {
- return imageURLParse;
- }
- public void setImageURLParse(String imageURLParse) {
- this.imageURLParse = imageURLParse;
- }
- public String getRatingParse() {
- return ratingParse;
- }
- public void setRatingParse(String ratingParse) {
- this.ratingParse = ratingParse;
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- public String getUsername() {
- return user.getUsername();
- }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((descriptionParse == null) ? 0 : descriptionParse.hashCode());
- result = prime * result + ((imageURLParse == null) ? 0 : imageURLParse.hashCode());
- result = prime * result + ((ratingParse == null) ? 0 : ratingParse.hashCode());
- result = prime * result + ((titleParse == null) ? 0 : titleParse.hashCode());
- result = prime * result + ((user == null) ? 0 : user.hashCode());
- return result;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Recipe other = (Recipe) obj;
- if (descriptionParse == null) {
- if (other.descriptionParse != null)
- return false;
- } else if (!descriptionParse.equals(other.descriptionParse))
- return false;
- if (imageURLParse == null) {
- if (other.imageURLParse != null)
- return false;
- } else if (!imageURLParse.equals(other.imageURLParse))
- return false;
- if (ratingParse == null) {
- if (other.ratingParse != null)
- return false;
- } else if (!ratingParse.equals(other.ratingParse))
- return false;
- if (titleParse == null) {
- if (other.titleParse != null)
- return false;
- } else if (!titleParse.equals(other.titleParse))
- return false;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
- return true;
- }
- }
- @Service("recipeService")
- public class RecipeService {
- private RecipeDAO recipeDao;
- public RecipeService() {
- }
- public List<Recipe> getCurrent() {
- System.out.println("In the Current Service");
- return recipeDao.getRecipe();
- }
- public List<Recipe> getCurrent(String username) {
- System.out.println("In the Current Service with username");
- return recipeDao.getRecipe(username);
- }
- @Autowired
- public void setRecipeDao(RecipeDAO recipeDao) {
- this.recipeDao = recipeDao;
- }
- @Secured({"ROLE_USER","ROLE_ADMIN"})
- public void create(Recipe recipe){
- recipeDao.saveOrUpdate(recipe);
- }
- public boolean hadRecipe(String name) {
- if(name ==null) {
- return false;
- }
- List<Recipe> recipes = recipeDao.getRecipe(name);
- if(recipes.size()==0){
- return false;
- }
- return true;
- }
- public Recipe getRecipe(String username) {
- if(username==null){
- return null;
- }
- List<Recipe> recipes = recipeDao.getRecipe(username);
- if(recipes.size()==0){
- return null;
- }
- return recipes.get(0);
- }
- public void saveOrUpdate(Recipe recipe) {
- System.out.println("in the save or update/ Service");
- recipeDao.saveOrUpdate(recipe);
- }
- public void delete(int id) {
- recipeDao.delete(id);
- }
- @Transactional
- @Repository
- @Component("recipeDao")
- public class RecipeDAO {
- @Autowired
- private SessionFactory sessionFactory;
- public Session session() {
- return sessionFactory.getCurrentSession();
- }
- @SuppressWarnings("unchecked")
- public List<Recipe> getRecipe() {
- System.out.println("In the get recipe, Dao");
- Criteria crit = session().createCriteria(Recipe.class);
- crit.createAlias("user", "u").add(Restrictions.eq("u.enabled", true));
- System.out.println("In the get recipe, Dao2");
- return crit.list();
- }
- @SuppressWarnings("unchecked")
- public List<Recipe> getRecipe(String username) {
- System.out.println("In the get recipe, Dao with username");
- Criteria crit = session().createCriteria(Recipe.class);
- crit.createAlias("user", "u");
- crit.add(Restrictions.eq("u.enabled", true));
- crit.add(Restrictions.eq("u.username", username));
- System.out.println("In the get recipe, Dao with username2");
- return crit.list();
- }
- public void saveOrUpdate(Recipe recipe) {
- System.out.println("in the save session " + recipe.toString());
- session().saveOrUpdate(recipe);
- }
- public boolean delete(int id) {
- Query query = session().createQuery("delete from Recipe where id=:id");
- query.setLong("id", id);
- return query.executeUpdate() == 1;
- }
- public Recipe getRecipe(int id) {
- Criteria crit = session().createCriteria(Recipe.class);
- crit.createAlias("user", "u");
- crit.add(Restrictions.eq("u.enabled", true));
- crit.add(Restrictions.idEq(id));
- return (Recipe) crit.uniqueResult();
- }
- }
- @Entity
- @Table(name = "user")
- public class User {
- @Id
- @NotBlank(groups = {FormValidationGroup.class, PersistenceValidationGroup.class })
- @Size(min = 5, max = 20, groups = {FormValidationGroup.class, PersistenceValidationGroup.class })
- private String username;
- @NotBlank(groups = {FormValidationGroup.class, PersistenceValidationGroup.class })
- @Email(message = "This is an invalid email address", groups = {FormValidationGroup.class,PersistenceValidationGroup.class })
- private String email;
- @NotBlank(groups = {FormValidationGroup.class, PersistenceValidationGroup.class })
- @Size(min = 3, max = 15, groups = {FormValidationGroup.class })
- private String password;
- private boolean enabled = false;
- private String authority;
- public User() {
- }
- public User(String username, String email, String password, boolean enabled, String authority,
- List<Recipe> recipe) {
- super();
- this.username = username;
- this.email = email;
- this.password = password;
- this.enabled = enabled;
- this.authority = authority;
- }
- public boolean isEnabled() {
- return enabled;
- }
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
- public String getAuthority() {
- return authority;
- }
- public void setAuthority(String authority) {
- this.authority = authority;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((authority == null) ? 0 : authority.hashCode());
- result = prime * result + ((email == null) ? 0 : email.hashCode());
- result = prime * result + (enabled ? 1231 : 1237);
- result = prime * result + ((password == null) ? 0 : password.hashCode());
- result = prime * result + ((username == null) ? 0 : username.hashCode());
- return result;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- User other = (User) obj;
- if (authority == null) {
- if (other.authority != null)
- return false;
- } else if (!authority.equals(other.authority))
- return false;
- if (email == null) {
- if (other.email != null)
- return false;
- } else if (!email.equals(other.email))
- return false;
- if (enabled != other.enabled)
- return false;
- if (password == null) {
- if (other.password != null)
- return false;
- } else if (!password.equals(other.password))
- return false;
- if (username == null) {
- if (other.username != null)
- return false;
- } else if (!username.equals(other.username))
- return false;
- return true;
- }
- @Override
- public String toString() {
- return "User [ username=" + username + ", email=" + email + ", enabled=" + enabled
- + ", authority=" + authority + "]";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement