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

no message

parent e6bcd116
No related branches found
No related tags found
No related merge requests found
Showing
with 388 additions and 22 deletions
WarpDrinkApi/.settings/
WarpDrinkApi/.classpath
WarpDrinkApi/.project
WarpDrinkApi/target/
<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>
</dependencies>
<build>
<finalName>warpdrink</finalName>
</build>
</project>
package ms.itsecteam.warpdrink.objects;
import javax.xml.bind.annotation.XmlRootElement;
@SuppressWarnings("restriction")
@XmlRootElement
public class User {
private int userid;
private String name;
private double credit;
public User() {
super();
}
public User(int userid, String name, double credit) {
super();
this.userid = userid;
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+"]";
}
}
package ms.itsecteam.warpdrink.provider;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import ms.itsecteam.warpdrink.objects.User;
@Path("user")
public class UserProvider {
@GET
@Path("/all")
@Produces(MediaType.APPLICATION_JSON)
public List<User> getUsers() {
List<User> users = new ArrayList<User>();
users.add(new User(1,"Hugo",1.0));
users.add(new User(2,"Frank",0.5));
users.add(new User(3,"Martin",0.5));
return users;
}
@GET
@Path("/{userid}")
@Produces(MediaType.APPLICATION_JSON)
public User getUser(@PathParam("userid") int userid) {
return new User(userid,"Hugo",1.0);
}
}
\ 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>com.sun.jersey.spi.container.servlet.ServletContainer</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>
......@@ -88,9 +88,17 @@
</content>
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="codepath-oauth-0.4.1" level="project" />
<orderEntry type="library" exported="" name="scribe-codepath-0.0.3" level="project" />
<orderEntry type="library" exported="" name="activeandroid-3.0" level="project" />
<orderEntry type="library" exported="" name="codepath-utils" level="project" />
<orderEntry type="library" exported="" name="jackson-databind-2.0.1" level="project" />
<orderEntry type="library" exported="" name="jackson-core-2.0.1" level="project" />
<orderEntry type="library" exported="" name="jackson-annotations-2.0.1" level="project" />
<orderEntry type="library" exported="" name="support-annotations-22.2.0" level="project" />
<orderEntry type="library" exported="" name="support-v4-22.2.0" level="project" />
<orderEntry type="library" exported="" name="spring-android-rest-template-1.0.1.RELEASE" level="project" />
<orderEntry type="library" exported="" name="spring-android-core-1.0.1.RELEASE" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-22.2.0" level="project" />
</component>
</module>
\ No newline at end of file
......@@ -17,9 +17,19 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.fasterxml.jackson.core:jackson-databind:2.0.1'
compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
}
File added
File added
File added
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ms.itsecteam.warpdrink" >
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name="ms.itsecteam.warpdrink.WarpDrinkApplication"
android:theme="@style/AppTheme" >
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<meta-data android:name="AA_DB_NAME" android:value="warpdrink_data.db" />
<meta-data android:name="AA_DB_VERSION" android:value="5" />
......
......@@ -19,14 +19,17 @@ import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import ms.itsecteam.warpdrink.data.User;
import ms.itsecteam.warpdrink.data.DataApi;
import ms.itsecteam.warpdrink.data.RestClient;
import ms.itsecteam.warpdrink.data.objects.User;
import ms.itsecteam.warpdrink.dialogs.ChargeDialog;
import ms.itsecteam.warpdrink.dialogs.NewUserDialog;
import ms.itsecteam.warpdrink.orderList.ListViewAdapter;
import ms.itsecteam.warpdrink.orderList.Order;
public class MainActivity extends ActionBarActivity implements View.OnClickListener, View.OnKeyListener, AdapterView.OnItemClickListener, DialogInterface.OnClickListener {
private Button btnPay, btnCharge, btnLogout;
private ImageButton btnRefresh;
......@@ -38,7 +41,7 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
private ArrayAdapter atxvAdapter;
private ArrayList<Double> order;
private User currentUser;
private List<User> users;
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
......@@ -56,9 +59,8 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
new User(5, "detlef", 0.5).save();
getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
// getSupportActionBar().hide();
setContentView(R.layout.activity_main);
DataApi.getInstance().setMainActivity(this);
this.txtSum = (TextView) findViewById(R.id.txtSum);
this.txtCredit = (TextView)findViewById(R.id.txtCredit);
......@@ -74,7 +76,9 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
this.lstOrdered = (ListView) findViewById(R.id.lstOrdered);
this.lstOrdered.setAdapter(this.lstAdapter);
this.atxvAdapter = new ArrayAdapter(this, android.R.layout.select_dialog_item, User.getAll());
this.users = User.getAll();
this.atxvAdapter = new ArrayAdapter(this, android.R.layout.select_dialog_item, users);
this.atxvName = (AutoCompleteTextView) findViewById(R.id.atxvName);
this.atxvName.setAdapter(atxvAdapter);
this.atxvName.setThreshold(1);
......@@ -84,6 +88,8 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
this.btnLogout.setVisibility(View.INVISIBLE);
this.enableControls(false);
RestClient restClient = RestClient.getInstance();
restClient.getUser();
}
private void setCurrentUser(User user) {
......@@ -95,6 +101,22 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
this.currentUser = user;
}
}
public void refreshUsers() {
this.atxvAdapter.clear();
List <User> userList = User.getAll();
ListIterator<User> userListIterator = userList.listIterator();
while(userListIterator.hasNext()) {
this.atxvAdapter.add(userListIterator.next());
}
this.users = users;
}
public List<User> getUsers() {
return users;
}
public User getCurrentUser() {
return this.currentUser;
}
......
package ms.itsecteam.warpdrink.data;
/**
* Created by Chris on 27.06.2015.
*/
import android.util.Log;
import java.util.Arrays;
import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.data.objects.User;
public class DataApi {
public static boolean addUser(String name) {
private static DataApi instance;
private MainActivity mainActivity;
private DataApi () {}
public static DataApi getInstance () {
if (DataApi.instance == null) {
DataApi.instance = new DataApi();
}
return DataApi.instance;
}
public MainActivity getMainActivity() {
return mainActivity;
}
public void setMainActivity(MainActivity mainActivity) {
this.mainActivity = mainActivity;
}
public boolean addUser(String name) {
if(User.getByName(name) == null) {
User u = new User();
u.setName(name);
......@@ -17,15 +39,16 @@ public class DataApi {
return false;
}
public static void localRefreshUserData() {
public void localRefreshUserData() {
Log.d("App", Arrays.toString(User.getAll().toArray()));
mainActivity.refreshUsers();
}
private static boolean remoteSaveNewUser(User u) {
private boolean remoteSaveNewUser(User u) {
return true;
}
public static User remoteGetUser(int userid) {
public User remoteGetUser(int userid) {
return new User();
}
}
package ms.itsecteam.warpdrink.data;
import android.os.AsyncTask;
import android.util.Log;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.data.objects.User;
public class RestClient {
private static RestClient instance;
private MainActivity mainActivity;
private RestClient() {}
public static RestClient getInstance () {
if (RestClient.instance == null) {
RestClient.instance = new RestClient();
}
return RestClient.instance;
}
public MainActivity getMainActivity() {
return mainActivity;
}
public void setMainActivity(MainActivity mainActivity) {
this.mainActivity = mainActivity;
}
public void getUser() {
new HttpRequestTask<User>().initTask("user/4",User.class).execute();
}
private class HttpRequestTask<T> extends AsyncTask<Object, Void, T> {
String url;
Class<T> clazz;
public HttpRequestTask initTask(String url, Class<T> clazz) {
this.url = "http://10.0.2.2:8080/warpdrink/rest/";
this.url += url;
this.clazz=clazz;
return this;
}
@Override
protected T doInBackground(Object... params) {
try {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
T ret = restTemplate.getForObject(this.url, clazz);
return ret;
} catch (Exception e) {
Log.e("MainActivity", e.getMessage(), e);
}
return null;
}
@Override
protected void onPostExecute(T result) {
Log.e("MainActivity", ((User) result).getName());
}
}
}
package ms.itsecteam.warpdrink.data.objects;
import com.activeandroid.Model;
import com.activeandroid.annotation.Column;
import com.activeandroid.annotation.Table;
import com.activeandroid.query.Delete;
import com.activeandroid.query.Select;
import java.util.List;
@Table(name = "Users")
public class Setting extends Model {
@Column(name = "key")
private String key;
@Column(name = "value")
private String value;
public Setting() {
super();
}
public Setting(String key, String value) {
super();
this.key = key;
this.value = value;
}
public String getKey() {
return key;
}
public String getValue() {
return value;
}
public static String getSetting(String key) {
Setting setting = new Select()
.from(Setting.class)
.where("key = ?", key)
.executeSingle();
if(setting != null)
return setting.getValue();
return "";
}
public void setKey(String key) {
this.key = key;
}
public void setValue(String value) {
this.value = value;
}
public static void setSetting(String key, String value) {
Setting setting = new Select()
.from(Setting.class)
.where("key = ?", key)
.executeSingle();
if(setting != null) {
setting.setValue(value);
} else {
setting = new Setting(key, value);
}
}
public static void deleteAll() {
new Delete().from(Setting.class).execute();
}
public String toString() {
return this.key+":"+this.value;
}
}
package ms.itsecteam.warpdrink.data;
import android.util.Log;
package ms.itsecteam.warpdrink.data.objects;
import com.activeandroid.Model;
import com.activeandroid.annotation.Column;
......@@ -31,6 +29,14 @@ public class User extends Model {
this.credit = credit;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getName() {
return name;
}
......
......@@ -9,7 +9,7 @@ import android.widget.NumberPicker;
import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.data.User;
import ms.itsecteam.warpdrink.data.objects.User;
public class ChargeCustomDialog extends Dialog implements
View.OnClickListener {
......
package ms.itsecteam.warpdrink.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
......@@ -9,7 +8,7 @@ import android.widget.Button;
import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.data.User;
import ms.itsecteam.warpdrink.data.objects.User;
public class ChargeDialog extends Dialog implements
android.view.View.OnClickListener {
......
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