diff --git a/FitRank/.classpath b/FitRank/.classpath
index c00c312..3a6e616 100644
--- a/FitRank/.classpath
+++ b/FitRank/.classpath
@@ -1,22 +1,31 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/FitRank/.gitignore b/FitRank/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/FitRank/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/FitRank/.settings/org.eclipse.wst.common.component b/FitRank/.settings/org.eclipse.wst.common.component
index f6a01b1..5328095 100644
--- a/FitRank/.settings/org.eclipse.wst.common.component
+++ b/FitRank/.settings/org.eclipse.wst.common.component
@@ -1,9 +1,9 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/FitRank/.tern-project b/FitRank/.tern-project
new file mode 100644
index 0000000..2fef3d2
--- /dev/null
+++ b/FitRank/.tern-project
@@ -0,0 +1 @@
+{"libs":["browser","ecma5"],"ide":{}}
\ No newline at end of file
diff --git a/FitRank/pom.xml b/FitRank/pom.xml
index a0e8fff..cd5974a 100644
--- a/FitRank/pom.xml
+++ b/FitRank/pom.xml
@@ -7,6 +7,11 @@
0.0.1-SNAPSHOT
FitRank Maven Webapp
http://maven.apache.org
+
+ 1.0.2
+ 2.6.0-M3
+ 5.1.34
+
javax.servlet
@@ -44,7 +49,23 @@
-
+
+
+
+ javax.persistence
+ persistence-api
+ ${javax.persistence.version}
+
+
+ org.eclipse.persistence
+ eclipselink
+ ${eclipselink.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+
FitRank
diff --git a/FitRank/src/br/com/fitrank/persistencia/UsuarioDAO.java b/FitRank/src/br/com/fitrank/persistencia/UsuarioDAO.java
deleted file mode 100644
index 02ff243..0000000
--- a/FitRank/src/br/com/fitrank/persistencia/UsuarioDAO.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package br.com.fitrank.persistencia;
-
-import java.sql.Connection;
-
-import br.com.fitrank.modelo.Usuario;
-import br.com.fitrank.util.JDBCFactory;
-
-public class UsuarioDAO {
-
- // private final EntityManager em;
- private Connection conexao;
-
- public UsuarioDAO() {
- this.conexao = new JDBCFactory().getConnection();
- }
-
-
- //
- // //Persiste o novo usuario do facebook
- public Usuario persisteUsuario(Usuario usuario) {
- // em.getTransaction().begin();
- // usuario = em.merge(usuario);
- // em.getTransaction().commit();
- //
- return usuario;
- }
-
-}
diff --git a/FitRank/src/br/com/fitrank/controller/RecuperaFitness.java b/FitRank/src/main/java/br/com/fitrank/controller/RecuperaFitness.java
similarity index 100%
rename from FitRank/src/br/com/fitrank/controller/RecuperaFitness.java
rename to FitRank/src/main/java/br/com/fitrank/controller/RecuperaFitness.java
diff --git a/FitRank/src/br/com/fitrank/controller/RecuperaUsuarioFacebook.java b/FitRank/src/main/java/br/com/fitrank/controller/RecuperaUsuarioFacebook.java
similarity index 100%
rename from FitRank/src/br/com/fitrank/controller/RecuperaUsuarioFacebook.java
rename to FitRank/src/main/java/br/com/fitrank/controller/RecuperaUsuarioFacebook.java
diff --git a/FitRank/src/br/com/fitrank/modelo/CourseData.java b/FitRank/src/main/java/br/com/fitrank/modelo/CourseData.java
similarity index 100%
rename from FitRank/src/br/com/fitrank/modelo/CourseData.java
rename to FitRank/src/main/java/br/com/fitrank/modelo/CourseData.java
diff --git a/FitRank/src/br/com/fitrank/modelo/Fitness.java b/FitRank/src/main/java/br/com/fitrank/modelo/Fitness.java
similarity index 100%
rename from FitRank/src/br/com/fitrank/modelo/Fitness.java
rename to FitRank/src/main/java/br/com/fitrank/modelo/Fitness.java
diff --git a/FitRank/src/br/com/fitrank/modelo/PostFitness.java b/FitRank/src/main/java/br/com/fitrank/modelo/PostFitness.java
similarity index 100%
rename from FitRank/src/br/com/fitrank/modelo/PostFitness.java
rename to FitRank/src/main/java/br/com/fitrank/modelo/PostFitness.java
diff --git a/FitRank/src/br/com/fitrank/modelo/Usuario.java b/FitRank/src/main/java/br/com/fitrank/modelo/Usuario.java
similarity index 100%
rename from FitRank/src/br/com/fitrank/modelo/Usuario.java
rename to FitRank/src/main/java/br/com/fitrank/modelo/Usuario.java
diff --git a/FitRank/src/br/com/fitrank/persistencia/FitnessDAO.java b/FitRank/src/main/java/br/com/fitrank/persistencia/FitnessDAO.java
similarity index 72%
rename from FitRank/src/br/com/fitrank/persistencia/FitnessDAO.java
rename to FitRank/src/main/java/br/com/fitrank/persistencia/FitnessDAO.java
index 19f23d3..2a21a7a 100644
--- a/FitRank/src/br/com/fitrank/persistencia/FitnessDAO.java
+++ b/FitRank/src/main/java/br/com/fitrank/persistencia/FitnessDAO.java
@@ -1,7 +1,12 @@
package br.com.fitrank.persistencia;
+import br.com.fitrank.modelo.Fitness;
-public class FitnessDAO {
+public class FitnessDAO extends GenericDAO{
+
+ public FitnessDAO() {
+ super(Fitness.class);
+ }
// private final EntityManager em;
//
diff --git a/FitRank/src/main/java/br/com/fitrank/persistencia/GenericDAO.java b/FitRank/src/main/java/br/com/fitrank/persistencia/GenericDAO.java
new file mode 100644
index 0000000..711fbe6
--- /dev/null
+++ b/FitRank/src/main/java/br/com/fitrank/persistencia/GenericDAO.java
@@ -0,0 +1,53 @@
+package br.com.fitrank.persistencia;
+
+import java.sql.SQLException;
+
+import javax.persistence.EntityManager;
+
+public abstract class GenericDAO extends JpaDAO {
+
+ private Class entityClass;
+
+ public GenericDAO(Class entityClass) {
+ this.entityClass = entityClass;
+ }
+
+ public void insert(T type) throws SQLException {
+ super.open();
+ super.beginTransaction();
+ super.persist(type);
+ super.flush();
+ super.refresh(type);
+ super.commitTransaction();
+ super.close();
+ }
+
+ @SuppressWarnings("unchecked")
+ public T update(T type) throws SQLException {
+ super.open();
+ super.beginTransaction();
+ T merge = (T) super.merge(type);
+ super.commitTransaction();
+ super.close();
+ return merge;
+ }
+
+ @SuppressWarnings("unchecked")
+ public void delete(T type) throws SQLException {
+ super.open();
+ super.beginTransaction();
+ type = (T) super.merge(type);
+ super.remove(type);
+ super.commitTransaction();
+ super.close();
+ }
+
+ public T find(int entityID) throws SQLException {
+ super.open();
+ EntityManager em = super.getEntityManager();
+ T find = em.find(entityClass, entityID);
+ super.close();
+ return find;
+ }
+
+}
\ No newline at end of file
diff --git a/FitRank/src/main/java/br/com/fitrank/persistencia/JpaDAO.java b/FitRank/src/main/java/br/com/fitrank/persistencia/JpaDAO.java
new file mode 100644
index 0000000..d35fa12
--- /dev/null
+++ b/FitRank/src/main/java/br/com/fitrank/persistencia/JpaDAO.java
@@ -0,0 +1,73 @@
+package br.com.fitrank.persistencia;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.Persistence;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceUnit;
+
+public abstract class JpaDAO {
+ private final String PERSISTENCE_UNIT = "livrariaPU";
+
+ @PersistenceContext
+ private EntityManager em;
+
+ @PersistenceUnit
+ private EntityManagerFactory emf;
+
+ private EntityTransaction transaction;
+
+ protected void open() {
+ if (emf == null || !emf.isOpen()) {
+ emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT);
+ }
+
+ if (em == null || !em.isOpen()) {
+ em = emf.createEntityManager();
+ }
+
+ }
+
+ protected void beginTransaction() {
+ transaction = em.getTransaction();
+ transaction.begin();
+ }
+
+ protected void commitTransaction() {
+ transaction.commit();
+ }
+
+ protected void persist(Object o) {
+ em.persist(o);
+ }
+
+ protected void remove(Object o) {
+ em.remove(o);
+ }
+
+ protected Object merge(Object o) {
+ return em.merge(o);
+ }
+
+ protected void refresh(Object o) {
+ em.refresh(o);
+ }
+
+ protected void flush() {
+ em.flush();
+ }
+
+ protected void close() {
+ if (em != null && em.isOpen()) {
+ em.close();
+ }
+ if (em != null && emf.isOpen()) {
+ emf.close();
+ }
+ }
+
+ public EntityManager getEntityManager() {
+ return em;
+ }
+}
\ No newline at end of file
diff --git a/FitRank/src/main/java/br/com/fitrank/persistencia/UsuarioDAO.java b/FitRank/src/main/java/br/com/fitrank/persistencia/UsuarioDAO.java
new file mode 100644
index 0000000..aa1c3f7
--- /dev/null
+++ b/FitRank/src/main/java/br/com/fitrank/persistencia/UsuarioDAO.java
@@ -0,0 +1,32 @@
+package br.com.fitrank.persistencia;
+
+//import java.sql.Connection;
+
+import br.com.fitrank.modelo.Usuario;
+//import br.com.fitrank.util.JDBCFactory;
+
+public class UsuarioDAO extends GenericDAO {
+
+ public UsuarioDAO() {
+ super(Usuario.class);
+ }
+
+// // private final EntityManager em;
+// private Connection conexao;
+//
+// public UsuarioDAO() {
+// this.conexao = new JDBCFactory().getConnection();
+// }
+//
+//
+// //
+// // //Persiste o novo usuario do facebook
+// public Usuario persisteUsuario(Usuario usuario) {
+// // em.getTransaction().begin();
+// // usuario = em.merge(usuario);
+// // em.getTransaction().commit();
+// //
+// return usuario;
+// }
+
+}
diff --git a/FitRank/src/br/com/fitrank/service/UsuarioServico.java b/FitRank/src/main/java/br/com/fitrank/service/UsuarioServico.java
similarity index 81%
rename from FitRank/src/br/com/fitrank/service/UsuarioServico.java
rename to FitRank/src/main/java/br/com/fitrank/service/UsuarioServico.java
index 05a2642..445f35b 100644
--- a/FitRank/src/br/com/fitrank/service/UsuarioServico.java
+++ b/FitRank/src/main/java/br/com/fitrank/service/UsuarioServico.java
@@ -1,5 +1,7 @@
package br.com.fitrank.service;
+import java.sql.SQLException;
+
import br.com.fitrank.modelo.Usuario;
import br.com.fitrank.persistencia.UsuarioDAO;
@@ -36,8 +38,17 @@ public Usuario persisteUsuarioServico(User usuarioFacebook){
usuario.setDataNascimento(usuarioFacebook.getBirthday());
UsuarioDAO persiste = new UsuarioDAO();
- return persiste.persisteUsuario(usuario);
+ //return persiste.persisteUsuario(usuario);
+
+ try {
+ persiste.insert(usuario);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return usuario;
+
}
}
diff --git a/FitRank/src/br/com/fitrank/util/JDBCFactory.java b/FitRank/src/main/java/br/com/fitrank/util/JDBCFactory.java
similarity index 96%
rename from FitRank/src/br/com/fitrank/util/JDBCFactory.java
rename to FitRank/src/main/java/br/com/fitrank/util/JDBCFactory.java
index 0ea5789..9149530 100644
--- a/FitRank/src/br/com/fitrank/util/JDBCFactory.java
+++ b/FitRank/src/main/java/br/com/fitrank/util/JDBCFactory.java
@@ -4,6 +4,10 @@
import java.sql.DriverManager;
import java.sql.SQLException;
+/**
+ * @deprecated
+ *
+ */
public class JDBCFactory {
// private static EntityManagerFactory entityManagerFactory=
diff --git a/FitRank/src/main/resources/META-INF/persistence.xml b/FitRank/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 0000000..a4f8a78
--- /dev/null
+++ b/FitRank/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,13 @@
+
+
+
+ NONE
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FitRank/src/main/webapp/WEB-INF/jboss-web.xml b/FitRank/src/main/webapp/WEB-INF/jboss-web.xml
new file mode 100644
index 0000000..3e84e1f
--- /dev/null
+++ b/FitRank/src/main/webapp/WEB-INF/jboss-web.xml
@@ -0,0 +1,9 @@
+
+
+ /livraria
+
+
\ No newline at end of file
diff --git a/FitRank/src/main/webapp/WEB-INF/web.xml b/FitRank/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..7d7a274
--- /dev/null
+++ b/FitRank/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,87 @@
+
+
+
+ Archetype Created Web Application
+
+ ODataServlet
+ org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
+
+
+ javax.ws.rs.Application
+ org.apache.olingo.odata2.core.rest.app.ODataApplication
+
+
+
+ org.apache.olingo.odata2.service.factory
+ com.o2m.livraria.servlet.ODataFactory
+
+
+ 1
+
+
+ AddCategoria
+ AddCategoria
+
+ com.o2m.livraria.servlet.AddCategoria
+
+
+ DeleteCategoria
+ DeleteCategoria
+
+ com.o2m.livraria.servlet.DeleteCategoria
+
+
+ UpdateCategoria
+ UpdateCategoria
+
+ com.o2m.livraria.servlet.UpdateCategoria
+
+
+ AddLivro
+ AddLivro
+
+ com.o2m.livraria.servlet.AddLivro
+
+
+ UpdateLivro
+ UpdateLivro
+
+ com.o2m.livraria.servlet.UpdateLivro
+
+
+ DeleteLivro
+ DeleteLivro
+
+ com.o2m.livraria.servlet.DeleteLivro
+
+
+ ODataServlet
+ /odata.svc/*
+
+
+ AddCategoria
+ /AddCategoria
+
+
+ DeleteCategoria
+ /DeleteCategoria
+
+
+ UpdateCategoria
+ /UpdateCategoria
+
+
+ AddLivro
+ /AddLivro
+
+
+ UpdateLivro
+ /UpdateLivro
+
+
+ DeleteLivro
+ /DeleteLivro
+
+
diff --git a/FitRank/src/main/webapp/index.jsp b/FitRank/src/main/webapp/index.jsp
new file mode 100644
index 0000000..c38169b
--- /dev/null
+++ b/FitRank/src/main/webapp/index.jsp
@@ -0,0 +1,5 @@
+
+
+Hello World!
+
+
diff --git a/FitRank/target/classes/br/com/fitrank/persistencia/FitnessDAO.class b/FitRank/target/classes/br/com/fitrank/persistencia/FitnessDAO.class
index 9424fdc..1014020 100644
Binary files a/FitRank/target/classes/br/com/fitrank/persistencia/FitnessDAO.class and b/FitRank/target/classes/br/com/fitrank/persistencia/FitnessDAO.class differ
diff --git a/FitRank/target/classes/br/com/fitrank/persistencia/UsuarioDAO.class b/FitRank/target/classes/br/com/fitrank/persistencia/UsuarioDAO.class
index d2dd976..e2f1e0f 100644
Binary files a/FitRank/target/classes/br/com/fitrank/persistencia/UsuarioDAO.class and b/FitRank/target/classes/br/com/fitrank/persistencia/UsuarioDAO.class differ
diff --git a/FitRank/target/classes/br/com/fitrank/service/UsuarioServico.class b/FitRank/target/classes/br/com/fitrank/service/UsuarioServico.class
index 6ba02dd..1bdfbfa 100644
Binary files a/FitRank/target/classes/br/com/fitrank/service/UsuarioServico.class and b/FitRank/target/classes/br/com/fitrank/service/UsuarioServico.class differ
diff --git a/FitRank/target/classes/br/com/fitrank/util/JDBCFactory.class b/FitRank/target/classes/br/com/fitrank/util/JDBCFactory.class
index 1fd4b87..b314005 100644
Binary files a/FitRank/target/classes/br/com/fitrank/util/JDBCFactory.class and b/FitRank/target/classes/br/com/fitrank/util/JDBCFactory.class differ
diff --git a/FitRank/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF b/FitRank/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF
index 2283fff..0dc6dd9 100644
--- a/FitRank/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF
+++ b/FitRank/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF
@@ -1,5 +1,5 @@
-Manifest-Version: 1.0
-Built-By: Leandro
-Build-Jdk: 1.8.0_31
-Created-By: Maven Integration for Eclipse
-
+Manifest-Version: 1.0
+Built-By: g.rocha.araujo
+Build-Jdk: 1.8.0_11
+Created-By: Maven Integration for Eclipse
+
diff --git a/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.properties b/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.properties
index df709e1..66ba986 100644
--- a/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.properties
+++ b/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.properties
@@ -1,7 +1,7 @@
-#Generated by Maven Integration for Eclipse
-#Tue May 19 22:13:22 BRT 2015
-version=0.0.1-SNAPSHOT
-groupId=br.com.FitRank
-m2e.projectName=FitRank
-m2e.projectLocation=C\:\\Users\\Leandro\\workspace FitRank\\FitRank
-artifactId=FitRank
+#Generated by Maven Integration for Eclipse
+#Wed Jun 03 15:09:27 BRT 2015
+version=0.0.1-SNAPSHOT
+groupId=br.com.FitRank
+m2e.projectName=FitRank
+m2e.projectLocation=C\:\\Users\\g.rocha.araujo\\git\\FitRank\\FitRank
+artifactId=FitRank
diff --git a/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.xml b/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.xml
index a0e8fff..cd5974a 100644
--- a/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.xml
+++ b/FitRank/target/m2e-wtp/web-resources/META-INF/maven/br.com.FitRank/FitRank/pom.xml
@@ -7,6 +7,11 @@
0.0.1-SNAPSHOT
FitRank Maven Webapp
http://maven.apache.org
+
+ 1.0.2
+ 2.6.0-M3
+ 5.1.34
+
javax.servlet
@@ -44,7 +49,23 @@
-
+
+
+
+ javax.persistence
+ persistence-api
+ ${javax.persistence.version}
+
+
+ org.eclipse.persistence
+ eclipselink
+ ${eclipselink.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+
FitRank