Skip to content
Snippets Groups Projects
Commit a01588a6 authored by Christian Dresen's avatar Christian Dresen
Browse files

Removed old API

parent 11e98d80
No related branches found
No related tags found
No related merge requests found
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ms.itsecteam</groupId>
<artifactId>warpdrink</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>warpdrink Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>5.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-security-oauth2</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>com.j256.ormlite</groupId>
<artifactId>ormlite-jdbc</artifactId>
<version>4.48</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
</dependencies>
<build>
<finalName>warpdrink</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
package ms.itsecteam.warpdrink;
import java.sql.SQLException;
import com.j256.ormlite.jdbc.JdbcConnectionSource;
import com.j256.ormlite.support.ConnectionSource;
public class Database {
private static Database instance;
private ConnectionSource connectionSource;
private Database() {
try {
this.connectionSource = new JdbcConnectionSource("jdbc:mysql://localhost/dev","root","");
System.out.println(this.connectionSource);
System.out.println(this.connectionSource.isOpen());
} catch (SQLException e) {
e.printStackTrace();
}
}
public static Database getInstance() {
if (instance == null) {
instance = new Database();
}
return instance;
}
public ConnectionSource getConnectionSource() {
return connectionSource;
}
public void setConnectionSource(ConnectionSource connectionSource) {
this.connectionSource = connectionSource;
}
}
package ms.itsecteam.warpdrink;
import java.sql.SQLException;
import ms.itsecteam.warpdrink.objects.User;
public class Servlet extends com.sun.jersey.spi.container.servlet.ServletContainer{
/**
*
*/
private static final long serialVersionUID = 1L;
public Servlet() {
super();
Database.getInstance();
try {
UserDao.getInstance().saveUser(new User("Hans",3.0));
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package ms.itsecteam.warpdrink;
import java.sql.SQLException;
import java.util.List;
import ms.itsecteam.warpdrink.objects.User;
import com.j256.ormlite.dao.BaseDaoImpl;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.dao.DaoManager;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;
public class UserDao extends BaseDaoImpl<User, String>{
private static UserDao instance;
private ConnectionSource connectionSource;
private Dao<User, String> userDao;
private UserDao() throws SQLException {
super(User.class);
this.connectionSource = Database.getInstance().getConnectionSource();
TableUtils.createTableIfNotExists(this.connectionSource, User.class);
this.userDao = DaoManager.createDao(this.connectionSource, User.class);
}
public static UserDao getInstance() throws SQLException {
if (instance == null) {
instance = new UserDao();
}
return instance;
}
public void saveUser(User user) throws SQLException {
this.userDao.createOrUpdate(user);
}
public List<User> getAllUsers() throws SQLException {
return this.userDao.queryForAll();
}
public User getUser(int userid) throws SQLException {
List<User> result = this.userDao.queryForEq("userid", userid);
if (!result.isEmpty())
return result.get(0);
return null;
}
public User getUser(String name) throws SQLException {
List<User> result = this.userDao.queryForEq("name", name);
if (!result.isEmpty())
return result.get(0);
return null;
}
}
\ No newline at end of file
package ms.itsecteam.warpdrink.objects;
import javax.xml.bind.annotation.XmlRootElement;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
@XmlRootElement
@DatabaseTable(tableName = "users")
public class User {
@DatabaseField(generatedId = true)
private int userid;
@DatabaseField(columnName = "name",unique = true, canBeNull = false)
private String name;
@DatabaseField(columnName = "credit")
private double credit;
public User() {
super();
}
public User(String name, double credit) {
super();
this.name = name;
this.credit = credit;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getCredit() {
return credit;
}
public void setCredit(double credit) {
this.credit = credit;
}
public String toString() {
return "[Name: "+this.name+", Credit:"+this.credit+"]";
}
@Override
public boolean equals(Object other) {
if (other == null || other.getClass() != getClass()) {
return false;
}
return name.equals(((User) other).name);
}
}
package ms.itsecteam.warpdrink.provider;
import java.sql.SQLException;
import java.util.List;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import com.google.gson.Gson;
import ms.itsecteam.warpdrink.UserDao;
import ms.itsecteam.warpdrink.objects.User;
@Path("user")
public class UserProvider {
List<User> users;
public UserProvider() {
try {
users = UserDao.getInstance().getAllUsers();
} catch (SQLException e) {
e.printStackTrace();
}
}
@GET
@Path("/all")
@Produces(MediaType.APPLICATION_JSON)
public String getUsers() {
List<User> users;
try {
users = UserDao.getInstance().getAllUsers();
if(users != null){
return new Gson().toJson(users,users.getClass());
}
} catch (SQLException e) {
e.printStackTrace();
}
return "";
}
@GET
@Path("/{userid}")
@Produces(MediaType.APPLICATION_JSON)
public User getUser(@PathParam("userid") int userid) {
try {
return UserDao.getInstance().getUser(userid);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@POST
@Path("/{userid}")
@Produces(MediaType.APPLICATION_JSON)
public void setUser(@PathParam("userid") int userid, @FormParam("credit") double credit) throws SQLException {
User user = UserDao.getInstance().getUser(userid);
user.setCredit(credit);
UserDao.getInstance().saveUser(user);
}
@PUT
@Path("/create")
@Produces(MediaType.APPLICATION_JSON)
public User createUser(@FormParam("name") String name) throws SQLException {
if(UserDao.getInstance().getUser(name) == null){
User user = new User(name,0.0);
UserDao.getInstance().saveUser(user);
return user;
}
return null;
}
}
\ No newline at end of file
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<servlet>
<servlet-name>REST Service</servlet-name>
<servlet-class>ms.itsecteam.warpdrink.Servlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>ms.itsecteam.warpdrink.provider</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment