Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Context Path:/cvgest
- Servlet Path:/api
- Path Info:/person/1
- Query String:null
- Stack Trace
- org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
- org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:76)
- org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:212)
- org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:168)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:411)
- org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
- org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
- org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
- io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
- io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
- io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
- org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
- io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
- io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
- io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
- io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
- io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
- io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
- io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
- io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
- io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
- io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
- io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
- org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
- io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
- io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
- io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
- io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
- io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
- io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
- io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
- io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
- java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
- java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
- java.lang.Thread.run(Thread.java:745)
- package com.goodotcom.cvgest.util;
- import com.goodotcom.cvgest.model.Category;
- import org.hibernate.SessionFactory;
- import org.hibernate.boot.Metadata;
- import org.hibernate.boot.MetadataBuilder;
- import org.hibernate.boot.MetadataSources;
- import org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl;
- import org.hibernate.boot.registry.StandardServiceRegistry;
- import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
- import java.io.File;
- public class HibernateUtil {
- private static SessionFactory sessionFactory;
- public static SessionFactory getSessionFactory(){
- final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
- .configure() // configures settings from hibernate.cfg.xml
- .build();
- try {
- sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
- }
- catch (Exception e) {
- // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory
- // so destroy it manually.
- StandardServiceRegistryBuilder.destroy( registry );
- }
- return sessionFactory;
- }
- public static void shutdown() {
- // Close caches and connection pools
- getSessionFactory().close();
- }
- }
- package com.goodotcom.cvgest.api;
- import com.goodotcom.cvgest.model.Person;
- import com.goodotcom.cvgest.util.HibernateUtil;
- import org.hibernate.Session;
- import javax.ws.rs.*;
- import javax.ws.rs.core.MediaType;
- import javax.ws.rs.core.Response;
- import java.util.List;
- @Path("/person")
- @Produces(MediaType.APPLICATION_JSON)
- public class PersonResourceRESTService {
- @GET
- @Path("/{id:[0-9][0-9]*}")
- public Person lookupPersonById(@PathParam("id") int id){
- Person person;
- Session session= HibernateUtil.getSessionFactory().openSession();
- person=session.get(Person.class,id);
- HibernateUtil.shutdown();
- return person;
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE hibernate-configuration SYSTEM
- "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <property name="hibernate.dialect">
- org.hibernate.dialect.MySQLDialect
- </property>
- <property name="hibernate.connection.driver_class">
- com.mysql.jdbc.Driver
- </property>
- <property name="hibernate.connection.url">
- jdbc:mysql://localhost/cv_gest
- </property>
- <property name="hibernate.connection.username">
- cv_gest
- </property>
- <property name="hibernate.connection.password">
- cv_gest
- </property>
- <property name="cache.provider_class">
- org.hibernate.cache.NoCacheProvider
- </property>
- <property name="hbm2ddl.auto">update</property>
- <property name="show_sql">true</property>
- <property name="connection.pool_size">1</property>
- <property name="current_session_context_class">thread</property>
- <!-- List of XML mapping files -->
- <mapping resource="skill.hbm.xml"/>
- <mapping resource="person.hbm.xml"/>
- <mapping resource="category.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>com.goodotcom.cvgest</groupId>
- <artifactId>server</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>war</packaging>
- <properties>
- <resteasy.version>3.0.16.Final</resteasy.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- <version>5.1.0.Final</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <version>1.7.21</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <version>1</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.38</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-servlet-initializer</artifactId>
- <version>${resteasy.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.drewnoakes</groupId>
- <artifactId>metadata-extractor</artifactId>
- <version>2.9.0</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.wildfly.plugins</groupId>
- <artifactId>wildfly-maven-plugin</artifactId>
- <version>1.1.0.Alpha7</version>
- </plugin>
- </plugins>
- <finalName>${project.groupId}-${project.artifactId}-${project.version}</finalName>
- <!--<plugins>-->
- <!--<plugin>-->
- <!--<groupId>org.apache.maven.plugins</groupId>-->
- <!--<artifactId>maven-deploy-plugin</artifactId>-->
- <!--<configuration>-->
- <!--<skip>true</skip>-->
- <!--</configuration>-->
- <!--</plugin>-->
- <!--<plugin>-->
- <!--<groupId>org.apache.maven.plugins</groupId>-->
- <!--<artifactId>maven-compiler-plugin</artifactId>-->
- <!--<configuration>-->
- <!--<source>1.6</source>-->
- <!--<target>1.6</target>-->
- <!--</configuration>-->
- <!--</plugin>-->
- <!--</plugins>-->
- </build>
- <profiles>
- <profile>
- <id>jboss-deploy</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.as.plugins</groupId>
- <artifactId>jboss-as-maven-plugin</artifactId>
- <version>7.4.Final</version>
- <executions>
- <execution>
- <id>deploy</id>
- <phase>install</phase>
- <goals>
- <goal>deploy</goal>
- </goals>
- <configuration>
- <username>admin</username>
- <password>password</password>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>jboss-undeploy</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.as.plugins</groupId>
- <artifactId>jboss-as-maven-plugin</artifactId>
- <version>7.4.Final</version>
- <executions>
- <execution>
- <id>deploy</id>
- <phase>install</phase>
- <goals>
- <goal>undeploy</goal>
- </goals>
- <configuration>
- <username>admin</username>
- <password>password</password>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD//EN"
- "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
- <hibernate-mapping>
- <class name="com.goodotcom.cvgest.model.Person" table="person">
- <meta attribute="class-description">
- This class contains the person detail.
- </meta>
- <id name="id" type="int" column="id">
- <generator class="native"/>
- </id>
- <set name="skills" cascade="save-update" table="person_has_skill">
- <key column="person_id"/>
- <many-to-many column="skill_id" class="com.goodotcom.cvgest.model.Skill"/>
- </set>
- <property name="cf" column="cf" type="string"/>
- <property name="name" column="name" type="string"/>
- <property name="surname" column="surname" type="string"/>
- <property name="email" column="email" type="string"/>
- <property name="tel" column="tel" type="string"/>
- <property name="pathCv" column="path_cv" type="string"/>
- </class>
- </hibernate-mapping>
- package com.goodotcom.cvgest.model;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.Table;
- import java.util.Set;
- @Entity
- @Table(name = "person")
- public class Person {
- @Id
- @Column(name = "id")
- @GeneratedValue
- private int id;
- @Column(name = "cf", unique = true, nullable = false, length = 100)
- private String cf;
- @Column(name = "name", unique = false, nullable = false, length = 100)
- private String name;
- @Column(name = "surname", unique = false, nullable = false, length = 100)
- private String surname;
- @Column(name = "email", unique = true, nullable = false, length = 100)
- private String email;
- @Column(name = "tel", unique = false, nullable = false, length = 100)
- private String tel;
- @Column(name = "path_cv", unique = true, nullable = false, length = 100)
- private String pathCv;
- private Set<Skill> skills;
- public Person(){}
- public Person(int id, String cf, String name, String surname, String email, String tel, String pathCv) {
- this.id = id;
- this.cf = cf;
- this.name = name;
- this.surname = surname;
- this.email = email;
- this.tel = tel;
- this.pathCv = pathCv;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getCf() {
- return cf;
- }
- public void setCf(String cf) {
- this.cf = cf;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getSurname() {
- return surname;
- }
- public void setSurname(String surname) {
- this.surname = surname;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public String getTel() {
- return tel;
- }
- public void setTel(String tel) {
- this.tel = tel;
- }
- public String getPathCv() {
- return pathCv;
- }
- public void setPathCv(String pathCv) {
- this.pathCv = pathCv;
- }
- public Set<Skill> getSkills() {
- return skills;
- }
- public void setSkills(Set<Skill> skills) {
- this.skills = skills;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement