From 3638bdcdf57f85a1b2d81760352555cf6ff52f23 Mon Sep 17 00:00:00 2001
From: Christian Dresen <info@draycoding.de>
Date: Mon, 29 Jun 2015 16:58:33 +0200
Subject: [PATCH] no message

---
 WarpDrinkApp/app/hs_err_pid13888.log          | 150 ++++++++
 .../ms/itsecteam/warpdrink/MainActivity.java  | 206 ++---------
 .../warpdrink/WarpDrinkApplication.java       |   2 +
 .../ms/itsecteam/warpdrink/data/DataApi.java  |  62 ----
 .../warpdrink/data/objects/Setting.java       |   3 +-
 .../warpdrink/data/rest/RestClient.java       |  10 +-
 .../data/rest/http/HttpGetRequest.java        |  10 +-
 .../data/rest/http/HttpPostRequest.java       |   7 +-
 .../data/rest/http/HttpPutRequest.java        |  10 +-
 .../warpdrink/dialogs/ChargeCustomDialog.java |  10 +-
 .../warpdrink/dialogs/ChargeDialog.java       |  17 +-
 .../warpdrink/dialogs/NewUserDialog.java      |  13 +-
 .../warpdrink/dialogs/SettingsDialog.java     |  54 +++
 .../warpdrink/manager/DataManager.java        |  59 +++
 .../warpdrink/manager/DatabaseManager.java    |  59 +++
 .../warpdrink/manager/MainManager.java        | 128 +++++++
 .../warpdrink/manager/UiManager.java          | 171 +++++++++
 .../app/src/main/res/layout/activity_main.xml |   4 +-
 .../src/main/res/layout/settings_dialog.xml   |  81 ++++
 .../app/src/main/res/values/strings.xml       |   4 +
 WarpDrinkApp/hs_err_pid11576.log              | 348 ++++++++++++++++++
 21 files changed, 1132 insertions(+), 276 deletions(-)
 create mode 100644 WarpDrinkApp/app/hs_err_pid13888.log
 delete mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java
 create mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/SettingsDialog.java
 create mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DataManager.java
 create mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DatabaseManager.java
 create mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java
 create mode 100644 WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java
 create mode 100644 WarpDrinkApp/app/src/main/res/layout/settings_dialog.xml
 create mode 100644 WarpDrinkApp/hs_err_pid11576.log

diff --git a/WarpDrinkApp/app/hs_err_pid13888.log b/WarpDrinkApp/app/hs_err_pid13888.log
new file mode 100644
index 0000000..183df69
--- /dev/null
+++ b/WarpDrinkApp/app/hs_err_pid13888.log
@@ -0,0 +1,150 @@
+#
+# There is insufficient memory for the Java Runtime Environment to continue.
+# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap
+# Possible reasons:
+#   The system is out of physical RAM or swap space
+#   In 32 bit mode, the process size limit was hit
+# Possible solutions:
+#   Reduce memory load on the system
+#   Increase physical memory or swap space
+#   Check if swap backing store is full
+#   Use 64 bit Java on a 64 bit OS
+#   Decrease Java heap size (-Xmx/-Xms)
+#   Decrease number of Java threads
+#   Decrease Java thread stack sizes (-Xss)
+#   Set larger code cache with -XX:ReservedCodeCacheSize=
+# This output file may be truncated or incomplete.
+#
+#  Out of Memory Error (memory/allocation.inline.hpp:61), pid=13888, tid=5780
+#
+# JRE version:  (7.0_51-b13) (build )
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
+# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
+#
+
+---------------  T H R E A D  ---------------
+
+Current thread (0x0000000001dc0800):  JavaThread "Unknown thread" [_thread_in_vm, id=5780, stack(0x0000000001cc0000,0x0000000001dc0000)]
+
+Stack: [0x0000000001cc0000,0x0000000001dc0000]
+
+---------------  P R O C E S S  ---------------
+
+Java Threads: ( => current thread )
+
+Other Threads:
+
+=>0x0000000001dc0800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=5780, stack(0x0000000001cc0000,0x0000000001dc0000)]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap
+ PSYoungGen      total 55296K, used 952K [0x00000000eaa80000, 0x00000000ee800000, 0x0000000100000000)
+  eden space 47616K, 2% used [0x00000000eaa80000,0x00000000eab6e1b0,0x00000000ed900000)
+  from space 7680K, 0% used [0x00000000ee080000,0x00000000ee080000,0x00000000ee800000)
+  to   space 7680K, 0% used [0x00000000ed900000,0x00000000ed900000,0x00000000ee080000)
+ ParOldGen       total 125440K, used 0K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 0% used [0x00000000c0000000,0x00000000c0000000,0x00000000c7a80000)
+ PSPermGen       total 21504K, used 673K [0x00000000bae00000, 0x00000000bc300000, 0x00000000c0000000)
+  object space 21504K, 3% used [0x00000000bae00000,0x00000000baea8570,0x00000000bc300000)
+
+Card table byte_map: [0x0000000004f80000,0x00000000051b0000] byte_map_base: 0x00000000049a9000
+
+Polling page: 0x0000000000460000
+
+Code Cache  [0x0000000001ec0000, 0x0000000002130000, 0x0000000004ec0000)
+ total_blobs=38 nmethods=0 adapters=20 free_code_cache=48889Kb largest_free_block=50062528
+
+Compilation events (0 events):
+No events
+
+GC Heap History (0 events):
+No events
+
+Deoptimization events (0 events):
+No events
+
+Internal exceptions (0 events):
+No events
+
+Events (10 events):
+Event: 0.071 loading class 0x0000000001e0f2c0
+Event: 0.071 loading class 0x0000000001e0f2c0 done
+Event: 0.071 loading class 0x0000000001e0f310
+Event: 0.071 loading class 0x0000000001e0f310 done
+Event: 0.071 loading class 0x0000000001e0f360
+Event: 0.072 loading class 0x0000000001e0f360 done
+Event: 0.072 loading class 0x0000000001e100c0
+Event: 0.072 loading class 0x0000000001e100c0 done
+Event: 0.072 loading class 0x0000000001e0fce0
+Event: 0.072 loading class 0x0000000001e0fce0 done
+
+
+Dynamic libraries:
+0x00007ff751e40000 - 0x00007ff751e73000 	C:\Program Files\Java\jdk1.7.0_51\bin\java.exe
+0x00007fffc8560000 - 0x00007fffc870c000 	C:\WINDOWS\SYSTEM32\ntdll.dll
+0x00007fffc8110000 - 0x00007fffc824a000 	C:\WINDOWS\system32\KERNEL32.DLL
+0x00007fffc5970000 - 0x00007fffc5a7f000 	C:\WINDOWS\system32\KERNELBASE.dll
+0x00007fffc4380000 - 0x00007fffc440e000 	C:\WINDOWS\system32\apphelp.dll
+0x00007fffb3d30000 - 0x00007fffb3d83000 	C:\WINDOWS\AppPatch\AppPatch64\AcGenral.DLL
+0x00007fffc6140000 - 0x00007fffc61e7000 	C:\WINDOWS\system32\msvcrt.dll
+0x00007fffc5650000 - 0x00007fffc567b000 	C:\WINDOWS\SYSTEM32\SspiCli.dll
+0x00007fffc5cb0000 - 0x00007fffc5d01000 	C:\WINDOWS\system32\SHLWAPI.dll
+0x00007fffc6690000 - 0x00007fffc6801000 	C:\WINDOWS\system32\USER32.dll
+0x00007fffc7d90000 - 0x00007fffc7f08000 	C:\WINDOWS\system32\ole32.dll
+0x00007fffc6830000 - 0x00007fffc7d48000 	C:\WINDOWS\system32\SHELL32.dll
+0x00007fffc4e10000 - 0x00007fffc4e2f000 	C:\WINDOWS\SYSTEM32\USERENV.dll
+0x00007fffc65e0000 - 0x00007fffc6685000 	C:\WINDOWS\system32\ADVAPI32.dll
+0x00007fffb7ba0000 - 0x00007fffb7bbb000 	C:\WINDOWS\SYSTEM32\MPR.dll
+0x00007fffc5ec0000 - 0x00007fffc5ff7000 	C:\WINDOWS\system32\RPCRT4.dll
+0x00007fffc8250000 - 0x00007fffc82a9000 	C:\WINDOWS\SYSTEM32\sechost.dll
+0x00007fffc8380000 - 0x00007fffc8556000 	C:\WINDOWS\SYSTEM32\combase.dll
+0x00007fffc6490000 - 0x00007fffc65d4000 	C:\WINDOWS\system32\GDI32.dll
+0x00007fffc57a0000 - 0x00007fffc57b4000 	C:\WINDOWS\SYSTEM32\profapi.dll
+0x00007fffc42c0000 - 0x00007fffc4372000 	C:\WINDOWS\SYSTEM32\SHCORE.dll
+0x00007fffc7d50000 - 0x00007fffc7d84000 	C:\WINDOWS\system32\IMM32.DLL
+0x00007fffc7f10000 - 0x00007fffc8062000 	C:\WINDOWS\system32\MSCTF.dll
+0x00000000500c0000 - 0x00000000500f8000 	C:\PROGRA~2\Sophos\SOPHOS~1\SOPHOS~2.DLL
+0x00007fffc6130000 - 0x00007fffc6137000 	C:\WINDOWS\system32\PSAPI.DLL
+0x00007fffc3740000 - 0x00007fffc39ba000 	C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17810_none_6240b9c7ecbd0bda\COMCTL32.dll
+0x0000000075ef0000 - 0x0000000075fc2000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\msvcr100.dll
+0x0000000073cf0000 - 0x00000000744b9000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\server\jvm.dll
+0x00007fffbc460000 - 0x00007fffbc469000 	C:\WINDOWS\SYSTEM32\WSOCK32.dll
+0x00007fffc3090000 - 0x00007fffc30af000 	C:\WINDOWS\SYSTEM32\WINMM.dll
+0x00007fffc82b0000 - 0x00007fffc8308000 	C:\WINDOWS\system32\WS2_32.dll
+0x00007fffc3050000 - 0x00007fffc307a000 	C:\WINDOWS\SYSTEM32\WINMMBASE.dll
+0x00007fffc5eb0000 - 0x00007fffc5eb9000 	C:\WINDOWS\system32\NSI.dll
+0x00007fffc5a80000 - 0x00007fffc5aca000 	C:\WINDOWS\SYSTEM32\cfgmgr32.dll
+0x00007fffc45f0000 - 0x00007fffc4616000 	C:\WINDOWS\SYSTEM32\DEVOBJ.dll
+0x0000000050090000 - 0x000000005009f000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\verify.dll
+0x0000000074800000 - 0x0000000074828000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\java.dll
+0x00000000747e0000 - 0x00000000747f5000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\zip.dll
+
+VM Arguments:
+jvm_args: -Xmx1024M -Dfile.encoding=windows-1252 -Duser.country=DE -Duser.language=de -Duser.variant 
+java_command: com.android.dx.command.Main --dex --num-threads=4 --output C:\Users\Chris\Documents\git\warpdrink\WarpDrinkApp\app\build\intermediates\pre-dexed\debug\jackson-core-2.0.1-ac38530da5103924c8b5ca722c5513a67af403c0.jar C:\Users\Chris\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.0.1\481d14ec21e034ed45217c4854dbbf15940ce108\jackson-core-2.0.1.jar
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+PATH=C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\idmu\common;C:\Program Files (x86)\GNU\GnuPG\pub;C:\Program Files\Microsoft Network Monitor 3\;C:\Program Files\OpenVPN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Windows Live\Shared
+USERNAME=chris
+OS=Windows_NT
+PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
+
+
+
+---------------  S Y S T E M  ---------------
+
+OS: Windows 8 , 64 bit Build 9200 
+
+CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, ht, tsc, tscinvbit
+
+Memory: 4k page, physical 12072340k(1312620k free), swap 17358432k(13148k free)
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (24.51-b03) for windows-amd64 JRE (1.7.0_51-b13), built on Dec 18 2013 18:40:56 by "java_re" with unknown MS VC++:1600
+
+time: Mon Jun 29 16:15:01 2015
+elapsed time: 2 seconds
+
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java
index d831c3e..bd2b1bc 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/MainActivity.java
@@ -1,53 +1,38 @@
 package ms.itsecteam.warpdrink;
 
-import android.app.AlertDialog;
 import android.content.DialogInterface;
-import android.provider.ContactsContract;
 import android.support.v7.app.ActionBarActivity;
 import android.os.Bundle;
-import android.util.Log;
 import android.view.KeyEvent;
 import android.view.Menu;
 import android.view.MenuInflater;
+
 import android.view.MenuItem;
 import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.AutoCompleteTextView;
-import android.widget.Button;
-import android.widget.ImageButton;
-import android.widget.ListView;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import java.util.ArrayList;
-import java.util.Arrays;
+
+
+
 import java.util.List;
-import java.util.ListIterator;
 
-import ms.itsecteam.warpdrink.data.DataApi;
-import ms.itsecteam.warpdrink.data.rest.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.dialogs.SettingsDialog;
+import ms.itsecteam.warpdrink.manager.MainManager;
+import ms.itsecteam.warpdrink.manager.UiManager;
 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;
-    private TextView txtSum,txtCredit;
-    private ListView lstOrdered;
-    private AutoCompleteTextView atxvName;
 
-    private ListViewAdapter lstAdapter;
-    private ArrayAdapter atxvAdapter;
-    private ArrayList<Double> order;
+public class MainActivity extends ActionBarActivity implements View.OnClickListener { // implements View.OnClickListener, View.OnKeyListener, AdapterView.OnItemClickListener, DialogInterface.OnClickListener {
+
     private User currentUser;
     private List<User> users;
+
+    private MainManager manager;
     public boolean onCreateOptionsMenu(Menu menu) {
         MenuInflater inflater = getMenuInflater();
         inflater.inflate(R.menu.menu_main, menu);
+
         return true;
     }
 
@@ -55,156 +40,46 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+
         getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
         setContentView(R.layout.activity_main);
-        DataApi.getInstance().setMainActivity(this);
-
-        this.txtSum = (TextView) findViewById(R.id.txtSum);
-        this.txtCredit = (TextView)findViewById(R.id.txtCredit);
-        this.txtCredit.setText(getResources().getString(R.string.credit,0.0));
-        this.txtSum.setText(getResources().getString(R.string.total,0.0));
-
-        this.btnLogout = (Button) findViewById(R.id.btnLogout);
-        this.btnRefresh = (ImageButton) findViewById(R.id.btnRefresh);
-        this.btnPay = (Button) findViewById(R.id.btnPay);
-        this.btnCharge = (Button) findViewById(R.id.btnCharge);
-
-        this.lstAdapter = new ListViewAdapter(this, R.layout.order_list_item, new ArrayList<Order>());
-        this.lstOrdered = (ListView) findViewById(R.id.lstOrdered);
-        this.lstOrdered.setAdapter(this.lstAdapter);
-
-
-        this.users = User.getAll();
-        this.atxvAdapter = new ArrayAdapter(this, android.R.layout.select_dialog_item, this.users);
-
-        this.atxvName = (AutoCompleteTextView) findViewById(R.id.atxvName);
-        this.atxvName.setAdapter(atxvAdapter);
-        this.atxvName.setThreshold(1);
-        this.atxvName.setOnKeyListener(this);
-        this.atxvName.setOnItemClickListener(this);
 
-        this.btnLogout.setVisibility(View.INVISIBLE);
-        this.enableControls(false);
+        this.manager = MainManager.getInstance();
+        this.manager.init(this);
 
 
-        DataApi.getInstance().refreshUserData();
 
     }
 
-    private void setCurrentUser(User user) {
-        if (user != null) {
-            this.enableControls(true);
-            this.atxvName.dismissDropDown();
-            this.btnLogout.setVisibility(View.VISIBLE);
-            this.txtCredit.setText(getResources().getString(R.string.credit,user.getCredit()));
-            this.currentUser = user;
-        }
+    public void onClick(View v) {
+        UiManager.getInstance().onClick(v);
     }
 
-    public void refreshUsers() {
-        this.atxvAdapter.clear();
-        List <User> userList = User.getAll();
-        ListIterator<User> userListIterator = userList.listIterator();
-        while(userListIterator.hasNext()) {
-            this.atxvAdapter.add(userListIterator.next());
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case R.id.action_settings:
+                new SettingsDialog(this).show();
+                break;
+            case R.id.action_new_user:
+                new NewUserDialog().show();
+                break;
+            default:
+                break;
         }
-        this.users = users;
-    }
-
-    public List<User> getUsers() {
 
-        return users;
-    }
-
-    public User getCurrentUser() {
-        return this.currentUser;
-    }
-    private void clearCurrentUser() {
-        this.atxvName.setText("");
-        this.lstAdapter.clear();
-        this.enableControls(false);
-        this.btnLogout.setVisibility(View.INVISIBLE);
-        this.txtCredit.setText(getResources().getString(R.string.credit, 0.0));
-        this.txtSum.setText(getResources().getString(R.string.total, 0.0));
-        this.currentUser = null;
-    }
-    private void enableControls(boolean enable) {
-        this.atxvName.setEnabled(!enable);
-        this.btnRefresh.setEnabled(!enable);
-        this.btnCharge.setEnabled(enable);
-        this.btnPay.setEnabled(enable);
-        this.btnLogout.setEnabled(enable);
-    }
-    private double getTotal() {
-        double ret=0.0;
-        for (int i=0;i<this.lstAdapter.getCount();i++) {
-            ret += this.lstAdapter.getItem(i).getValue();
-        }
-        return ret;
-    }
-    private void refreshTotalTextView() {
-        this.txtSum.setText(getResources().getString(R.string.total,this.getTotal()));
-    }
-    public void refreshCreditTextView() {
-        this.txtCredit.setText(getResources().getString(R.string.credit,this.currentUser.getCredit()));
+        return true;
     }
     public void removeOrderOnClickHandler(View v) {
-        Order itemToRemove = (Order) v.getTag();
-        this.lstAdapter.remove(itemToRemove);
-        refreshTotalTextView();
-    }
+        MainManager.getInstance().removeOrder((Order) v.getTag());
 
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.btnOneEuro:
-                this.lstAdapter.insert(new Order(1.0), this.lstAdapter.getCount());
-                refreshTotalTextView();
-                break;
-            case R.id.btnFiftyCent:
-                this.lstAdapter.insert(new Order(0.5), this.lstAdapter.getCount());
-                refreshTotalTextView();
-                break;
-            case R.id.btnCharge:
-                new ChargeDialog(this).show();
-                break;
-            case R.id.btnPay:
-                double total = this.getTotal();
-                if (total > 0.0){
-                    if (this.currentUser.getCredit()>=total){
-                        new AlertDialog.Builder(this)
-                                .setTitle(getResources().getString(R.string.confirm_payment_title))
-                                .setMessage(getResources().getString(R.string.confirm_payment, total))
-                                .setPositiveButton(android.R.string.yes, this)
-                                .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
-                                    public void onClick(DialogInterface dialog, int which) {
-                                    }
-                                })
-                                .setIcon(android.R.drawable.ic_dialog_alert)
-                                .show();
-                    } else {
-                        Toast.makeText(this,getResources().getString(R.string.please_charge),Toast.LENGTH_LONG).show();
-                    }
-                }
-                break;
-            case R.id.btnLogout:
-                clearCurrentUser();
-                break;
-            case R.id.btnAddUser:
-                new NewUserDialog(this).show();
-                break;
-            case R.id.btnRefresh:
-                DataApi.getInstance().refreshUserData();
-                Toast.makeText(this,"Refresh successful"  ,Toast.LENGTH_LONG).show();
-                break;
-        }
     }
+/*
 
     @Override
     public boolean onKey(View v, int keyCode, KeyEvent event) {
         if (event.getAction()==KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
            if(this.atxvAdapter.getCount() == 1) {
-               setCurrentUser(DataApi.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(0)).getUserid()));
+               setCurrentUser(DatabaseManager.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(0)).getUserid()));
                this.atxvName.setText(this.atxvAdapter.getItem(0).toString());
                this.atxvName.dismissDropDown();
            }
@@ -215,7 +90,7 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
 
     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-        setCurrentUser(DataApi.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(position)).getUserid()));
+        setCurrentUser(DatabaseManager.getInstance().remoteGetUser(((User) this.atxvAdapter.getItem(position)).getUserid()));
     }
 
     @Override
@@ -225,19 +100,6 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
         RestClient.getInstance().saveUserCredit(this.currentUser);
         this.clearCurrentUser();
     }
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case R.id.action_settings:
-                Toast.makeText(this, "Settings selected", Toast.LENGTH_SHORT).show();
-                break;
-            case R.id.action_new_user:
-                new NewUserDialog(this).show();
-                break;
-            default:
-                break;
-        }
-
-        return true;
-    }
 
+*/
 }
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/WarpDrinkApplication.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/WarpDrinkApplication.java
index 854f795..b9c47b3 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/WarpDrinkApplication.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/WarpDrinkApplication.java
@@ -4,6 +4,8 @@ import android.util.Log;
 
 import com.activeandroid.ActiveAndroid;
 
+import ms.itsecteam.warpdrink.manager.MainManager;
+
 /**
  * Created by Chris on 26.06.2015.
  */
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java
deleted file mode 100644
index d5ca1bc..0000000
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/DataApi.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package ms.itsecteam.warpdrink.data;
-
-import android.util.Log;
-import java.util.Arrays;
-import java.util.List;
-import java.util.ListIterator;
-
-import ms.itsecteam.warpdrink.MainActivity;
-import ms.itsecteam.warpdrink.data.objects.User;
-import ms.itsecteam.warpdrink.data.rest.RestClient;
-
-public class DataApi {
-
-    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);
-            RestClient.getInstance().createUser(u);
-            //u.save();
-            refreshUserData();
-            return true;
-        }
-        return false;
-    }
-
-    public void refreshUserData() {
-        List<User> u = RestClient.getInstance().getAllUser();
-        if(u == null)
-            return;
-        User.deleteAll();
-        ListIterator<User> ui = u.listIterator();
-        while(ui.hasNext()) {
-            ui.next().save();
-        }
-        Log.d("App", Arrays.toString(u.toArray()));
-        mainActivity.refreshUsers();
-    }
-
-
-    public User remoteGetUser(int userid) {
-        return RestClient.getInstance().getUser(userid);
-    }
-}
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/objects/Setting.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/objects/Setting.java
index 46efb14..acc94dc 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/objects/Setting.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/objects/Setting.java
@@ -41,7 +41,7 @@ public class Setting extends Model {
                 .executeSingle();
         if(setting != null)
             return setting.getValue();
-        return "";
+        return null;
     }
 
     public void setKey(String key) {
@@ -63,6 +63,7 @@ public class Setting extends Model {
         } else {
             setting = new Setting(key, value);
         }
+        setting.save();
     }
 
     public static void deleteAll() {
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/RestClient.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/RestClient.java
index ed89a3f..ee532ff 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/RestClient.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/RestClient.java
@@ -1,6 +1,7 @@
 package ms.itsecteam.warpdrink.data.rest;
 
 import android.util.Log;
+import android.widget.Toast;
 
 import com.google.gson.Gson;
 
@@ -33,7 +34,6 @@ public class RestClient {
     public User getUser(int userid) {
         try {
             User u = (User) new RequestSingleObject<User>().initTask("user/"+userid,User.class).execute().get();
-            Log.d("TV",u.getName());
             return u;
         } catch (Exception e) {
             e.printStackTrace();
@@ -43,6 +43,10 @@ public class RestClient {
     public List<User> getAllUser() {
         try {
             String response = new HttpGetRequest().initTask("user/all").execute().get();
+            if(response == null) {
+                this.handleError();
+                return null;
+            }
             return Arrays.asList(new Gson().fromJson(response, User[].class));
         } catch (Exception e) {
             e.printStackTrace();
@@ -72,5 +76,9 @@ public class RestClient {
         }
         return false;
     }
+
+    private void handleError() {
+        Toast.makeText(null,"Netzwerkfehler",Toast.LENGTH_LONG);
+    }
 }
 
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpGetRequest.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpGetRequest.java
index a5ab9ba..a16bdcb 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpGetRequest.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpGetRequest.java
@@ -1,7 +1,6 @@
 package ms.itsecteam.warpdrink.data.rest.http;
 
 import android.os.AsyncTask;
-import android.util.Log;
 
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
@@ -11,11 +10,14 @@ import org.apache.http.impl.client.DefaultHttpClient;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 
+import ms.itsecteam.warpdrink.manager.DatabaseManager;
+
+// this.url = "http://10.0.2.2:8080/warpdrink/rest/";
+
 public class HttpGetRequest extends AsyncTask<Void, Void, String> {
     String url;
     public HttpGetRequest initTask(String url) {
-        this.url = "http://10.0.2.2:8080/warpdrink/rest/";
-        this.url += url;
+        this.url = DatabaseManager.getInstance().getSetting("api_url")+"/"+ url;
         return this;
     }
     @Override
@@ -34,9 +36,7 @@ public class HttpGetRequest extends AsyncTask<Void, Void, String> {
             }
             return responsestr;
         } catch (Exception e) {
-            Log.e("MainActivity", e.getMessage(), e);
         }
         return null;
     }
-
 }
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPostRequest.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPostRequest.java
index 8150020..4d4b512 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPostRequest.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPostRequest.java
@@ -1,7 +1,6 @@
 package ms.itsecteam.warpdrink.data.rest.http;
 
 import android.os.AsyncTask;
-import android.util.Log;
 
 import org.apache.http.HttpResponse;
 import org.apache.http.NameValuePair;
@@ -14,12 +13,13 @@ import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.util.List;
 
+import ms.itsecteam.warpdrink.manager.DatabaseManager;
+
 public class HttpPostRequest extends AsyncTask<Void, Void, String> {
     String url;
     List<NameValuePair> postParams;
     public HttpPostRequest initTask(String url, List<NameValuePair> postParams) {
-        this.url = "http://10.0.2.2:8080/warpdrink/rest/";
-        this.url += url;
+        this.url = DatabaseManager.getInstance().getSetting("api_url")+"/"+ url;
         this.postParams =postParams;
         return this;
     }
@@ -41,7 +41,6 @@ public class HttpPostRequest extends AsyncTask<Void, Void, String> {
             }
             return responsestr;
         } catch (Exception e) {
-            Log.e("MainActivity", e.getMessage(), e);
         }
         return null;
     }
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPutRequest.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPutRequest.java
index b0dcd7b..4b2661e 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPutRequest.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/data/rest/http/HttpPutRequest.java
@@ -1,7 +1,6 @@
 package ms.itsecteam.warpdrink.data.rest.http;
 
 import android.os.AsyncTask;
-import android.util.Log;
 
 import org.apache.http.HttpResponse;
 import org.apache.http.NameValuePair;
@@ -14,13 +13,14 @@ import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.util.List;
 
+import ms.itsecteam.warpdrink.manager.DatabaseManager;
+
 public class HttpPutRequest extends AsyncTask<Void, Void, String> {
     String url;
     List<NameValuePair> postParams;
     public HttpPutRequest initTask(String url, List<NameValuePair> postParams) {
-        this.url = "http://10.0.2.2:8080/warpdrink/rest/";
-        this.url += url;
-        this.postParams =postParams;
+        this.url = DatabaseManager.getInstance().getSetting("api_url")+"/"+ url;
+        this.postParams = postParams;
         return this;
     }
     @Override
@@ -41,7 +41,7 @@ public class HttpPutRequest extends AsyncTask<Void, Void, String> {
             }
             return responsestr;
         } catch (Exception e) {
-            Log.e("MainActivity", e.getMessage(), e);
+
         }
         return null;
     }
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeCustomDialog.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeCustomDialog.java
index 08a3f49..1674b46 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeCustomDialog.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeCustomDialog.java
@@ -11,6 +11,7 @@ import ms.itsecteam.warpdrink.MainActivity;
 import ms.itsecteam.warpdrink.R;
 import ms.itsecteam.warpdrink.data.objects.User;
 import ms.itsecteam.warpdrink.data.rest.RestClient;
+import ms.itsecteam.warpdrink.manager.MainManager;
 
 public class ChargeCustomDialog extends Dialog implements
         View.OnClickListener {
@@ -50,13 +51,8 @@ public class ChargeCustomDialog extends Dialog implements
             default:
                 break;
         }
-        if(amount > 0.0) {
-            User u = this.c.getCurrentUser();
-            u.setCredit(u.getCredit()+amount);
-            u.save();
-            RestClient.getInstance().saveUserCredit(u);
-        }
-        this.c.refreshCreditTextView();
+        if(amount > 0.0)
+            MainManager.getInstance().chargeAmount(amount);
         dismiss();
     }
 }
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeDialog.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeDialog.java
index 5436935..862eeb1 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeDialog.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/ChargeDialog.java
@@ -10,6 +10,7 @@ import ms.itsecteam.warpdrink.MainActivity;
 import ms.itsecteam.warpdrink.R;
 import ms.itsecteam.warpdrink.data.objects.User;
 import ms.itsecteam.warpdrink.data.rest.RestClient;
+import ms.itsecteam.warpdrink.manager.MainManager;
 
 public class ChargeDialog extends Dialog implements
         android.view.View.OnClickListener {
@@ -18,9 +19,10 @@ public class ChargeDialog extends Dialog implements
     public Dialog d;
     public Button btnFiveEuro, btnTenEuro, btnTwentyEuro,btnOther;
 
-    public ChargeDialog(MainActivity a) {
-        super(a);
-        this.c = a;
+    public ChargeDialog() {
+        super(MainManager.getInstance().getMainActivity());
+        this.c = MainManager.getInstance().getMainActivity();
+ ;
     }
 
     @Override
@@ -59,13 +61,8 @@ public class ChargeDialog extends Dialog implements
             default:
                 break;
         }
-        if(amount > 0.0) {
-            User u = this.c.getCurrentUser();
-            u.setCredit(u.getCredit()+amount);
-            u.save();
-            RestClient.getInstance().saveUserCredit(u);
-        }
-        this.c.refreshCreditTextView();
+        if(amount > 0.0)
+            MainManager.getInstance().chargeAmount(amount);
         dismiss();
     }
 }
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java
index 6f0751d..be8edbd 100644
--- a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/NewUserDialog.java
@@ -10,19 +10,18 @@ import android.widget.Toast;
 
 import ms.itsecteam.warpdrink.MainActivity;
 import ms.itsecteam.warpdrink.R;
-import ms.itsecteam.warpdrink.data.DataApi;
-import ms.itsecteam.warpdrink.data.rest.RestClient;
+import ms.itsecteam.warpdrink.manager.DatabaseManager;
+import ms.itsecteam.warpdrink.manager.MainManager;
 
 public class NewUserDialog extends Dialog implements
         View.OnClickListener {
 
     public MainActivity c;
-    public Dialog d;
     public Button btnAddUser;
     public TextView txtUsername;
-    public NewUserDialog(MainActivity a) {
-        super(a);
-        this.c = a;
+    public NewUserDialog() {
+        super(MainManager.getInstance().getMainActivity());
+        this.c = MainManager.getInstance().getMainActivity();
     }
 
     @Override
@@ -43,7 +42,7 @@ public class NewUserDialog extends Dialog implements
             case R.id.btnAddUser:
                 String username = this.txtUsername.getText().toString();
                 if (!username.equals("")) {
-                    if(!DataApi.getInstance().addUser(username)) {
+                    if(!MainManager.getInstance().addUser(username)) {
                         Toast.makeText(v.getContext(),"Username ist schon vorhanden",Toast.LENGTH_LONG).show();
                     } else {
                         Toast.makeText(v.getContext(),"User angelegt",Toast.LENGTH_LONG).show();
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/SettingsDialog.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/SettingsDialog.java
new file mode 100644
index 0000000..2cd903f
--- /dev/null
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/dialogs/SettingsDialog.java
@@ -0,0 +1,54 @@
+package ms.itsecteam.warpdrink.dialogs;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.view.View;
+import android.view.Window;
+import android.widget.Button;
+import android.widget.TextView;
+
+import ms.itsecteam.warpdrink.MainActivity;
+import ms.itsecteam.warpdrink.R;
+import ms.itsecteam.warpdrink.manager.DatabaseManager;
+
+public class SettingsDialog extends Dialog implements
+        View.OnClickListener {
+
+    public MainActivity c;
+    public Button btnSave, btnAbort;
+    TextView txtApiUrl;
+    public SettingsDialog(MainActivity a) {
+        super(a);
+        this.c = a;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        requestWindowFeature(Window.FEATURE_NO_TITLE);
+        setContentView(R.layout.settings_dialog);
+        this.btnSave = (Button) findViewById(R.id.btnSave);
+        this.btnSave.setOnClickListener(this);
+
+        this.btnAbort = (Button) findViewById(R.id.btnAbort);
+        this.btnAbort.setOnClickListener(this);
+
+        this.txtApiUrl = (TextView) findViewById(R.id.txtApiUrl);
+        this.txtApiUrl.setText(DatabaseManager.getInstance().getSetting("api_url"));
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.btnSave:
+                DatabaseManager.getInstance().saveSetting("api_url",txtApiUrl.getText().toString());
+                this.dismiss();
+                break;
+            case R.id.btnAbort:
+                this.dismiss();
+            default:
+                break;
+        }
+    }
+}
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DataManager.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DataManager.java
new file mode 100644
index 0000000..d223ba0
--- /dev/null
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DataManager.java
@@ -0,0 +1,59 @@
+package ms.itsecteam.warpdrink.manager;
+
+import ms.itsecteam.warpdrink.data.objects.User;
+import ms.itsecteam.warpdrink.data.rest.RestClient;
+
+public class DataManager {
+    private User currentUser;
+    private double totalAmount;
+
+
+
+    private static DataManager ourInstance = new DataManager();
+
+    protected static DataManager getInstance() {
+        return ourInstance;
+    }
+
+    private DataManager() {
+    }
+
+    public void saveCurrentUser() {
+        this.currentUser.save();
+        RestClient.getInstance().saveUserCredit(this.currentUser);
+    }
+
+    public void performPayment() {
+        this.currentUser.setCredit(this.currentUser.getCredit()-this.totalAmount);
+        this.saveCurrentUser();
+        this.totalAmount = 0.0;
+    }
+
+    public void clearCurrentUser() {
+
+    }
+
+    public User getCurrentUser() {
+        return currentUser;
+    }
+
+    public void setCurrentUser(User currentUser) {
+        this.currentUser = currentUser;
+    }
+
+    public double getTotalAmount() {
+        return totalAmount;
+    }
+
+    public void addToTotalAmount(double value) {
+        this.totalAmount += value;
+    }
+
+    public void setTotalAmount(double totalAmount) {
+        this.totalAmount = totalAmount;
+    }
+
+
+
+
+}
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DatabaseManager.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DatabaseManager.java
new file mode 100644
index 0000000..f227cb8
--- /dev/null
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/DatabaseManager.java
@@ -0,0 +1,59 @@
+package ms.itsecteam.warpdrink.manager;
+
+import android.util.Log;
+import java.util.Arrays;
+import java.util.List;
+import java.util.ListIterator;
+
+import ms.itsecteam.warpdrink.MainActivity;
+import ms.itsecteam.warpdrink.data.objects.Setting;
+import ms.itsecteam.warpdrink.data.objects.User;
+import ms.itsecteam.warpdrink.data.rest.RestClient;
+
+public class DatabaseManager {
+
+    private static DatabaseManager instance;
+    private DatabaseManager() {}
+
+    public static DatabaseManager getInstance () {
+        if (DatabaseManager.instance == null)
+            DatabaseManager.instance = new DatabaseManager();
+        return DatabaseManager.instance;
+    }
+
+    public User getUserByName(String name) {
+        return User.getByName(name);
+    }
+    public void refreshUserData(List<User> u) {
+        User.deleteAll();
+        if(u == null)
+            return;
+        ListIterator<User> ui = u.listIterator();
+        while(ui.hasNext()) {
+            ui.next().save();
+        }
+        Log.d("App", Arrays.toString(u.toArray()));
+    }
+
+
+    public void saveSetting(String key, String value) {
+        Setting.setSetting(key, value);
+    }
+
+    public String getSetting(String key) {
+        return this.getSetting(key, "");
+    }
+
+    public String getSetting(String key, String defaultValue) {
+        String value = Setting.getSetting(key);
+        if(value == null) {
+            return defaultValue;
+        }
+        return value;
+    }
+
+    public User remoteGetUser(int userid) {
+        return RestClient.getInstance().getUser(userid);
+    }
+
+}
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java
new file mode 100644
index 0000000..450f02a
--- /dev/null
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/MainManager.java
@@ -0,0 +1,128 @@
+package ms.itsecteam.warpdrink.manager;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.util.Log;
+import android.widget.Toast;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.ListIterator;
+
+import ms.itsecteam.warpdrink.MainActivity;
+import ms.itsecteam.warpdrink.R;
+import ms.itsecteam.warpdrink.data.objects.User;
+import ms.itsecteam.warpdrink.data.rest.RestClient;
+import ms.itsecteam.warpdrink.orderList.Order;
+
+public class MainManager {
+
+    private MainActivity mainActivity;
+    private DatabaseManager databaseManager;
+    private UiManager uiManager;
+    private DataManager dataManager;
+
+    private static MainManager ourInstance = new MainManager();
+    public static MainManager getInstance() {
+        return ourInstance;
+    }
+
+    private MainManager() {
+        this.databaseManager = DatabaseManager.getInstance();
+        this.uiManager = UiManager.getInstance();
+        this.dataManager = DataManager.getInstance();
+    }
+
+    public void init(MainActivity mainActivity) {
+        this.mainActivity = mainActivity;
+        this.uiManager.initUi(this.mainActivity);
+        this.refreshUserData();
+    }
+
+    public void refreshUserData() {
+        List<User> userList = RestClient.getInstance().getAllUser();
+        this.databaseManager.refreshUserData(userList);
+        if(userList != null) {
+            this.uiManager.refreshUserData(userList);
+        }
+    }
+
+    public boolean addUser(String name) {
+         if(this.databaseManager.getUserByName(name) == null) {
+                User u = new User();
+                u.setName(name);
+                RestClient.getInstance().createUser(u);
+                this.refreshUserData();
+                return true;
+        }
+        return false;
+    }
+
+    public void setCurrentUser(User user) {
+        if (user != null) {
+            this.dataManager.setCurrentUser(user);
+            this.uiManager.setCurrentUser(user);
+        }
+    }
+
+    public void clearCurrentUser() {
+        this.dataManager.clearCurrentUser();
+        this.uiManager.clearCurrentUser();
+    }
+    public void addOrder(double amount) {
+        DataManager.getInstance().addToTotalAmount(amount);
+        this.uiManager.refreshTotalTextView(DataManager.getInstance().getTotalAmount());
+    }
+
+    public void removeOrder(Order order) {
+        DataManager.getInstance().addToTotalAmount((-1)*order.getValue());
+        this.uiManager.removeOrder(order);
+        this.uiManager.refreshTotalTextView(DataManager.getInstance().getTotalAmount());
+
+    }
+    public void chargeAmount(double amount) {
+        User user = this.dataManager.getCurrentUser();
+        user.setCredit(user.getCredit()+amount);
+        user.save();
+        RestClient.getInstance().saveUserCredit(user);
+        this.uiManager.refreshCreditTextView(user.getCredit());
+    }
+    public void performPayment() {
+        User user = DataManager.getInstance().getCurrentUser();
+        double totalAmount = DataManager.getInstance().getTotalAmount();
+
+        if (totalAmount > 0.0 && user != null){
+            if (DataManager.getInstance().getCurrentUser().getCredit()>=totalAmount){
+                new AlertDialog.Builder(mainActivity)
+                        .setTitle(mainActivity.getResources().getString(R.string.confirm_payment_title))
+                        .setMessage(mainActivity.getResources().getString(R.string.confirm_payment, totalAmount))
+                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+                            public void onClick(DialogInterface dialog, int which) {
+                                DataManager.getInstance().performPayment();
+                                MainManager.getInstance().clearCurrentUser();
+
+                            }
+                        })
+                        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
+                            public void onClick(DialogInterface dialog, int which) {
+                            }
+                        })
+                        .setIcon(android.R.drawable.ic_dialog_alert)
+                        .show();
+            } else {
+                Toast.makeText(mainActivity, mainActivity.getResources().getString(R.string.please_charge), Toast.LENGTH_LONG).show();
+            }
+        }
+    }
+
+
+    public MainActivity getMainActivity() {
+        return mainActivity;
+    }
+
+    public void setMainActivity(MainActivity mainActivity) {
+        this.mainActivity = mainActivity;
+    }
+
+
+}
diff --git a/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java
new file mode 100644
index 0000000..7ff6b8b
--- /dev/null
+++ b/WarpDrinkApp/app/src/main/java/ms/itsecteam/warpdrink/manager/UiManager.java
@@ -0,0 +1,171 @@
+package ms.itsecteam.warpdrink.manager;
+
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.AutoCompleteTextView;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.ListIterator;
+
+import ms.itsecteam.warpdrink.MainActivity;
+import ms.itsecteam.warpdrink.R;
+import ms.itsecteam.warpdrink.data.objects.User;
+import ms.itsecteam.warpdrink.dialogs.ChargeDialog;
+import ms.itsecteam.warpdrink.dialogs.NewUserDialog;
+import ms.itsecteam.warpdrink.dialogs.SettingsDialog;
+import ms.itsecteam.warpdrink.orderList.ListViewAdapter;
+import ms.itsecteam.warpdrink.orderList.Order;
+
+/**
+ * Created by chris on 29.06.2015.
+ */
+public class UiManager implements View.OnKeyListener, View.OnClickListener, AdapterView.OnItemClickListener {
+
+    private MainActivity mainActivity;
+    private Button btnPay, btnCharge, btnLogout;
+    private ImageButton btnRefresh;
+    private TextView txtSum,txtCredit;
+    private ListView lstOrdered;
+    private AutoCompleteTextView atxvName;
+
+    private ListViewAdapter lstAdapter;
+    private ArrayAdapter atxvAdapter;
+    private ArrayList<Double> order;
+    private List<User> users;
+
+    private static UiManager ourInstance = new UiManager();
+
+    public static UiManager getInstance() {
+        return ourInstance;
+    }
+
+    private UiManager() {}
+
+    protected void initUi(MainActivity mainActivity) {
+        this.txtSum = (TextView) mainActivity.findViewById(R.id.txtSum);
+        this.txtCredit = (TextView)mainActivity.findViewById(R.id.txtCredit);
+        this.txtCredit.setText(mainActivity.getResources().getString(R.string.credit,0.0));
+        this.txtSum.setText(mainActivity.getResources().getString(R.string.total,0.0));
+
+        this.btnLogout = (Button) mainActivity.findViewById(R.id.btnLogout);
+        this.btnRefresh = (ImageButton) mainActivity.findViewById(R.id.btnRefresh);
+        this.btnPay = (Button) mainActivity.findViewById(R.id.btnPay);
+        this.btnCharge = (Button) mainActivity.findViewById(R.id.btnCharge);
+
+        this.lstAdapter = new ListViewAdapter(mainActivity, R.layout.order_list_item, new ArrayList<Order>());
+        this.lstOrdered = (ListView) mainActivity.findViewById(R.id.lstOrdered);
+        this.lstOrdered.setAdapter(this.lstAdapter);
+
+
+        this.users = User.getAll();
+        this.atxvAdapter = new ArrayAdapter(mainActivity, android.R.layout.select_dialog_item, this.users);
+        this.atxvName = (AutoCompleteTextView) mainActivity.findViewById(R.id.atxvName);
+        this.atxvName.setAdapter(atxvAdapter);
+        this.atxvName.setThreshold(1);
+        this.atxvName.setOnKeyListener(this);
+        this.atxvName.setOnItemClickListener(this);
+
+        this.btnLogout.setVisibility(View.INVISIBLE);
+        this.enableControls(false);
+        this.mainActivity = mainActivity;
+    }
+
+    protected void refreshTotalTextView(double totalAmount) {
+        this.txtSum.setText(this.mainActivity.getResources().getString(R.string.total,totalAmount));
+    }
+    protected void refreshCreditTextView(double credit) {
+        this.txtCredit.setText(this.mainActivity.getResources().getString(R.string.credit, credit));
+    }
+
+    protected void setCurrentUser(User user) {
+        this.enableControls(true);
+        this.atxvName.dismissDropDown();
+        this.btnLogout.setVisibility(View.VISIBLE);
+        this.refreshCreditTextView(user.getCredit());
+    }
+
+    protected void clearCurrentUser() {
+        this.atxvName.setText("");
+        this.lstAdapter.clear();
+        this.enableControls(false);
+        this.btnLogout.setVisibility(View.INVISIBLE);
+        this.refreshCreditTextView(0.0);
+        this.refreshTotalTextView(0.0);
+    }
+
+    private void enableControls(boolean enable) {
+        this.atxvName.setEnabled(!enable);
+        this.btnRefresh.setEnabled(!enable);
+        this.btnCharge.setEnabled(enable);
+        this.btnPay.setEnabled(enable);
+        this.btnLogout.setEnabled(enable);
+    }
+
+    protected void refreshUserData(List<User> userList) {
+        this.atxvAdapter.clear();
+        ListIterator<User> userListIterator = userList.listIterator();
+        while(userListIterator.hasNext()) {
+            this.atxvAdapter.add(userListIterator.next());
+        }
+    }
+    protected void removeOrder(Order order) {
+        this.lstAdapter.remove(order);
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.btnOneEuro:
+                this.lstAdapter.insert(new Order(1.0), this.lstAdapter.getCount());
+                MainManager.getInstance().addOrder(1.0);
+                break;
+            case R.id.btnFiftyCent:
+                this.lstAdapter.insert(new Order(0.5), this.lstAdapter.getCount());
+                MainManager.getInstance().addOrder(0.5);
+                break;
+            case R.id.btnCharge:
+                new ChargeDialog().show();
+                break;
+            case R.id.btnPay:
+                MainManager.getInstance().performPayment();
+                break;
+            case R.id.btnLogout:
+                MainManager.getInstance().clearCurrentUser();
+                break;
+            case R.id.btnAddUser:
+                new NewUserDialog().show();
+                break;
+            case R.id.btnRefresh:
+                MainManager.getInstance().refreshUserData();
+                Toast.makeText(this.mainActivity, "Refresh successful", Toast.LENGTH_LONG).show();
+                break;
+        }
+    }
+
+    @Override
+    public boolean onKey(View v, int keyCode, KeyEvent event) {
+        if (event.getAction()==KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
+            if(this.atxvAdapter.getCount() == 1) {
+                MainManager.getInstance().setCurrentUser((User) this.atxvAdapter.getItem(0));
+                this.atxvName.setText(this.atxvAdapter.getItem(0).toString());
+                this.atxvName.dismissDropDown();
+            }
+            return true;
+        }
+        return false;
+    }
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        MainManager.getInstance().setCurrentUser((User) this.atxvAdapter.getItem(position));
+    }
+}
diff --git a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml
index fe095e2..06ed63e 100644
--- a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml
+++ b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml
@@ -134,7 +134,7 @@
 
                 <ListView
                     android:layout_width="wrap_content"
-                    android:layout_height="291dp"
+                    android:layout_height="255dp"
                     android:id="@+id/lstOrdered"
                     android:layout_row="2"
                     android:layout_column="12"
@@ -142,7 +142,7 @@
 
                 <Space
                     android:layout_width="20px"
-                    android:layout_height="50px" />
+                    android:layout_height="25px" />
 
                 <TextView
                     android:layout_width="wrap_content"
diff --git a/WarpDrinkApp/app/src/main/res/layout/settings_dialog.xml b/WarpDrinkApp/app/src/main/res/layout/settings_dialog.xml
new file mode 100644
index 0000000..b9e9b73
--- /dev/null
+++ b/WarpDrinkApp/app/src/main/res/layout/settings_dialog.xml
@@ -0,0 +1,81 @@
+<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:stretchColumns="1">
+
+
+    <TableRow
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/abc_input_method_navigation_guard">
+
+        <TextView
+            android:text="@string/rest_config_header"
+            android:padding="3dip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:stretchColumns="2"
+            android:textColor="@android:color/white" />
+
+
+    </TableRow>
+
+    <TableRow
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <TextView
+            android:text="@string/rest_service"
+            android:padding="3dip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content" />
+
+        <EditText
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/txtApiUrl" />
+    </TableRow>
+
+    <TableRow
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <TextView
+            android:text=""
+            android:padding="3dip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content" />
+
+        <EditText
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/editText3" />
+    </TableRow>
+
+    <TableRow>
+
+        <Space
+            android:layout_width="20px"
+            android:layout_height="20px" />
+
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <Button
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/save"
+                android:id="@+id/btnSave" />
+
+            <Button
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/abort"
+                android:id="@+id/btnAbort" />
+        </LinearLayout>
+
+    </TableRow>
+
+</TableLayout>
\ No newline at end of file
diff --git a/WarpDrinkApp/app/src/main/res/values/strings.xml b/WarpDrinkApp/app/src/main/res/values/strings.xml
index 3f128e3..f5279cd 100644
--- a/WarpDrinkApp/app/src/main/res/values/strings.xml
+++ b/WarpDrinkApp/app/src/main/res/values/strings.xml
@@ -22,6 +22,10 @@
     <string name="credit">Guthaben: %1$,.2f Euro</string>
     <string name="total">Gesamt: %1$,.2f Euro</string>
     <string name="addNewUser">Benutzer hinzufügen</string>
+    <string name="rest_service">RESTAPI-URL</string>
+    <string name="rest_config_header">REST-API Konfiguration</string>
+    <string name="save">Speichern</string>
+    <string name="abort">Abbrechen</string>
 
     <style name="ButtonText">
         <item name="android:layout_width">fill_parent</item>
diff --git a/WarpDrinkApp/hs_err_pid11576.log b/WarpDrinkApp/hs_err_pid11576.log
new file mode 100644
index 0000000..6c77d1f
--- /dev/null
+++ b/WarpDrinkApp/hs_err_pid11576.log
@@ -0,0 +1,348 @@
+#
+# There is insufficient memory for the Java Runtime Environment to continue.
+# Native memory allocation (malloc) failed to allocate 1227936 bytes for Chunk::new
+# Possible reasons:
+#   The system is out of physical RAM or swap space
+#   In 32 bit mode, the process size limit was hit
+# Possible solutions:
+#   Reduce memory load on the system
+#   Increase physical memory or swap space
+#   Check if swap backing store is full
+#   Use 64 bit Java on a 64 bit OS
+#   Decrease Java heap size (-Xmx/-Xms)
+#   Decrease number of Java threads
+#   Decrease Java thread stack sizes (-Xss)
+#   Set larger code cache with -XX:ReservedCodeCacheSize=
+# This output file may be truncated or incomplete.
+#
+#  Out of Memory Error (allocation.cpp:323), pid=11576, tid=16076
+#
+# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
+# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
+#
+
+---------------  T H R E A D  ---------------
+
+Current thread (0x000000000261f000):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=16076, stack(0x000000000b620000,0x000000000b720000)]
+
+Stack: [0x000000000b620000,0x000000000b720000]
+
+Current CompileTask:
+C2:   9890  714             java.lang.Class::privateGetPublicMethods (263 bytes)
+
+
+---------------  P R O C E S S  ---------------
+
+Java Threads: ( => current thread )
+  0x000000000e320800 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 2" [_thread_blocked, id=14176, stack(0x0000000012c80000,0x0000000012d80000)]
+  0x000000000e31c000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 3" [_thread_in_native, id=11412, stack(0x0000000012980000,0x0000000012a80000)]
+  0x000000000e31f000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 2" [_thread_in_native, id=15832, stack(0x0000000012880000,0x0000000012980000)]
+  0x000000000e31e000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_blocked, id=11232, stack(0x0000000012780000,0x0000000012880000)]
+  0x000000000e319000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 3" [_thread_blocked, id=1536, stack(0x0000000012580000,0x0000000012680000)]
+  0x000000000e31b000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 2" [_thread_blocked, id=12280, stack(0x0000000012480000,0x0000000012580000)]
+  0x000000000e317800 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_blocked, id=14052, stack(0x0000000012380000,0x0000000012480000)]
+  0x000000000e31a800 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 3" [_thread_blocked, id=12428, stack(0x0000000012180000,0x0000000012280000)]
+  0x000000000e316800 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 2" [_thread_blocked, id=11676, stack(0x0000000012080000,0x0000000012180000)]
+  0x000000000e318000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_blocked, id=16148, stack(0x0000000011f80000,0x0000000012080000)]
+  0x000000000e313000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 3" [_thread_in_native, id=11856, stack(0x0000000011e80000,0x0000000011f80000)]
+  0x000000000e316000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 2" [_thread_in_native, id=15204, stack(0x0000000011d80000,0x0000000011e80000)]
+  0x000000000e314800 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_blocked, id=15000, stack(0x0000000011c80000,0x0000000011d80000)]
+  0x000000000e315000 JavaThread "Run command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_in_native, id=14848, stack(0x0000000011b80000,0x0000000011c80000)]
+  0x000000000f911800 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 3" [_thread_in_native, id=16300, stack(0x0000000011280000,0x0000000011380000)]
+  0x000000000f90f800 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' Thread 2" [_thread_in_native, id=5260, stack(0x0000000011180000,0x0000000011280000)]
+  0x000000000f911000 JavaThread "Forward streams with process: command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_blocked, id=12228, stack(0x0000000011080000,0x0000000011180000)]
+  0x000000000f90d000 JavaThread "Run command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_in_native, id=5888, stack(0x0000000010c80000,0x0000000010d80000)]
+  0x000000000f90a000 JavaThread "Run command 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe'" [_thread_in_native, id=10856, stack(0x0000000010a80000,0x0000000010b80000)]
+  0x000000000f909800 JavaThread "pool-1-thread-8" [_thread_in_Java, id=15696, stack(0x0000000010880000,0x0000000010980000)]
+  0x000000000f906800 JavaThread "pool-1-thread-7" [_thread_blocked, id=13948, stack(0x0000000010780000,0x0000000010880000)]
+  0x000000000f908800 JavaThread "pool-1-thread-6" [_thread_blocked, id=5076, stack(0x0000000010680000,0x0000000010780000)]
+  0x000000000f907000 JavaThread "pool-1-thread-5" [_thread_blocked, id=14356, stack(0x0000000010580000,0x0000000010680000)]
+  0x000000000f908000 JavaThread "pool-1-thread-4" [_thread_blocked, id=14332, stack(0x00000000102b0000,0x00000000103b0000)]
+  0x000000000b2a9800 JavaThread "pool-1-thread-3" [_thread_blocked, id=12464, stack(0x00000000100b0000,0x00000000101b0000)]
+  0x000000000b2a8800 JavaThread "pool-1-thread-2" [_thread_blocked, id=9180, stack(0x000000000ffb0000,0x00000000100b0000)]
+  0x000000000b2a8000 JavaThread "pool-1-thread-1" [_thread_blocked, id=13880, stack(0x000000000feb0000,0x000000000ffb0000)]
+  0x000000000b2aa000 JavaThread "File lock request listener" [_thread_in_native, id=15712, stack(0x000000000dc40000,0x000000000dd40000)]
+  0x000000000b2a4000 JavaThread "Stdin handler" [_thread_blocked, id=14364, stack(0x000000000db40000,0x000000000dc40000)]
+  0x000000000b2a7000 JavaThread "Daemon worker" [_thread_blocked, id=12960, stack(0x000000000da40000,0x000000000db40000)]
+  0x000000000b2a3000 JavaThread "Cancel handler" [_thread_blocked, id=15540, stack(0x000000000d940000,0x000000000da40000)]
+  0x000000000b2a6000 JavaThread "Handler for socket connection from /127.0.0.1:54366 to /127.0.0.1:54368" [_thread_in_native, id=11904, stack(0x000000000d840000,0x000000000d940000)]
+  0x000000000b2a5800 JavaThread "Daemon" [_thread_blocked, id=2744, stack(0x000000000d690000,0x000000000d790000)]
+  0x000000000b2a4800 JavaThread "Incoming local TCP Connector on port 54366" [_thread_in_native, id=4488, stack(0x000000000d4e0000,0x000000000d5e0000)]
+  0x0000000002627800 JavaThread "Service Thread" daemon [_thread_blocked, id=13592, stack(0x000000000b720000,0x000000000b820000)]
+=>0x000000000261f000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=16076, stack(0x000000000b620000,0x000000000b720000)]
+  0x000000000261d800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=8168, stack(0x000000000b520000,0x000000000b620000)]
+  0x000000000261d000 JavaThread "Attach Listener" daemon [_thread_blocked, id=7552, stack(0x000000000b420000,0x000000000b520000)]
+  0x0000000002618000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6064, stack(0x000000000b320000,0x000000000b420000)]
+  0x0000000008f50000 JavaThread "Finalizer" daemon [_thread_blocked, id=13780, stack(0x000000000ae20000,0x000000000af20000)]
+  0x0000000008f47800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4492, stack(0x000000000ad20000,0x000000000ae20000)]
+  0x0000000002530800 JavaThread "main" [_thread_blocked, id=15988, stack(0x0000000002430000,0x0000000002530000)]
+
+Other Threads:
+  0x0000000008f44800 VMThread [stack: 0x000000000ac20000,0x000000000ad20000] [id=2768]
+  0x000000000262c000 WatcherThread [stack: 0x000000000b820000,0x000000000b920000] [id=10872]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap
+ PSYoungGen      total 208896K, used 172729K [0x00000000eaa80000, 0x00000000f9280000, 0x0000000100000000)
+  eden space 187904K, 81% used [0x00000000eaa80000,0x00000000f40adc18,0x00000000f6200000)
+  from space 20992K, 90% used [0x00000000f7900000,0x00000000f8b80998,0x00000000f8d80000)
+  to   space 23552K, 0% used [0x00000000f6200000,0x00000000f6200000,0x00000000f7900000)
+ ParOldGen       total 125440K, used 23082K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 18% used [0x00000000c0000000,0x00000000c168a9a0,0x00000000c7a80000)
+ PSPermGen       total 39424K, used 38945K [0x00000000b0000000, 0x00000000b2680000, 0x00000000c0000000)
+  object space 39424K, 98% used [0x00000000b0000000,0x00000000b2608510,0x00000000b2680000)
+
+Card table byte_map: [0x00000000056f0000,0x0000000005980000] byte_map_base: 0x0000000005170000
+
+Polling page: 0x00000000022f0000
+
+Code Cache  [0x0000000002630000, 0x00000000029d0000, 0x0000000005630000)
+ total_blobs=1295 nmethods=684 adapters=563 free_code_cache=45492Kb largest_free_block=46541376
+
+Compilation events (10 events):
+Event: 7.432 Thread 0x000000000261f000 nmethod 709 0x00000000029c7650 code [0x00000000029c7780, 0x00000000029c7818]
+Event: 7.432 Thread 0x000000000261f000  710             java.util.HashSet::add (20 bytes)
+Event: 7.433 Thread 0x000000000261f000 nmethod 710 0x00000000029c9290 code [0x00000000029c9400, 0x00000000029c94d8]
+Event: 7.433 Thread 0x000000000261f000  711             java.lang.String::compareTo (9 bytes)
+Event: 7.433 Thread 0x000000000261f000 nmethod 711 0x00000000029c8f10 code [0x00000000029c9060, 0x00000000029c91b8]
+Event: 7.433 Thread 0x000000000261f000  712             groovy.lang.MetaClassImpl::addElementToList (58 bytes)
+Event: 7.446 Thread 0x000000000261f000 nmethod 712 0x00000000029cb410 code [0x00000000029cb580, 0x00000000029cb938]
+Event: 7.447 Thread 0x000000000261f000  713             org.codehaus.groovy.reflection.CachedMethod::<init> (15 bytes)
+Event: 7.447 Thread 0x000000000261f000 nmethod 713 0x00000000029c7450 code [0x00000000029c7580, 0x00000000029c75f8]
+Event: 7.447 Thread 0x000000000261f000  714             java.lang.Class::privateGetPublicMethods (263 bytes)
+
+GC Heap History (10 events):
+Event: 1.977 GC heap before
+{Heap before GC invocations=2 (full 0):
+ PSYoungGen      total 55296K, used 54656K [0x00000000eaa80000, 0x00000000ee800000, 0x0000000100000000)
+  eden space 47616K, 100% used [0x00000000eaa80000,0x00000000ed900000,0x00000000ed900000)
+  from space 7680K, 91% used [0x00000000ed900000,0x00000000edfe0380,0x00000000ee080000)
+  to   space 7680K, 0% used [0x00000000ee080000,0x00000000ee080000,0x00000000ee800000)
+ ParOldGen       total 125440K, used 8K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 0% used [0x00000000c0000000,0x00000000c0002000,0x00000000c7a80000)
+ PSPermGen       total 21504K, used 17698K [0x00000000b0000000, 0x00000000b1500000, 0x00000000c0000000)
+  object space 21504K, 82% used [0x00000000b0000000,0x00000000b1148a58,0x00000000b1500000)
+Event: 1.987 GC heap after
+Heap after GC invocations=2 (full 0):
+ PSYoungGen      total 55296K, used 7648K [0x00000000eaa80000, 0x00000000ee800000, 0x0000000100000000)
+  eden space 47616K, 0% used [0x00000000eaa80000,0x00000000eaa80000,0x00000000ed900000)
+  from space 7680K, 99% used [0x00000000ee080000,0x00000000ee7f81b0,0x00000000ee800000)
+  to   space 7680K, 0% used [0x00000000ed900000,0x00000000ed900000,0x00000000ee080000)
+ ParOldGen       total 125440K, used 2271K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 1% used [0x00000000c0000000,0x00000000c0237c80,0x00000000c7a80000)
+ PSPermGen       total 21504K, used 17698K [0x00000000b0000000, 0x00000000b1500000, 0x00000000c0000000)
+  object space 21504K, 82% used [0x00000000b0000000,0x00000000b1148a58,0x00000000b1500000)
+}
+Event: 2.581 GC heap before
+{Heap before GC invocations=3 (full 0):
+ PSYoungGen      total 55296K, used 55264K [0x00000000eaa80000, 0x00000000ee800000, 0x0000000100000000)
+  eden space 47616K, 100% used [0x00000000eaa80000,0x00000000ed900000,0x00000000ed900000)
+  from space 7680K, 99% used [0x00000000ee080000,0x00000000ee7f81b0,0x00000000ee800000)
+  to   space 7680K, 0% used [0x00000000ed900000,0x00000000ed900000,0x00000000ee080000)
+ ParOldGen       total 125440K, used 2271K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 1% used [0x00000000c0000000,0x00000000c0237c80,0x00000000c7a80000)
+ PSPermGen       total 21504K, used 21232K [0x00000000b0000000, 0x00000000b1500000, 0x00000000c0000000)
+  object space 21504K, 98% used [0x00000000b0000000,0x00000000b14bc110,0x00000000b1500000)
+Event: 2.591 GC heap after
+Heap after GC invocations=3 (full 0):
+ PSYoungGen      total 55296K, used 7667K [0x00000000eaa80000, 0x00000000f1680000, 0x0000000100000000)
+  eden space 47616K, 0% used [0x00000000eaa80000,0x00000000eaa80000,0x00000000ed900000)
+  from space 7680K, 99% used [0x00000000ed900000,0x00000000ee07cd40,0x00000000ee080000)
+  to   space 7680K, 0% used [0x00000000f0f00000,0x00000000f0f00000,0x00000000f1680000)
+ ParOldGen       total 125440K, used 5632K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 4% used [0x00000000c0000000,0x00000000c0580060,0x00000000c7a80000)
+ PSPermGen       total 21504K, used 21232K [0x00000000b0000000, 0x00000000b1500000, 0x00000000c0000000)
+  object space 21504K, 98% used [0x00000000b0000000,0x00000000b14bc110,0x00000000b1500000)
+}
+Event: 3.276 GC heap before
+{Heap before GC invocations=4 (full 0):
+ PSYoungGen      total 55296K, used 55283K [0x00000000eaa80000, 0x00000000f1680000, 0x0000000100000000)
+  eden space 47616K, 100% used [0x00000000eaa80000,0x00000000ed900000,0x00000000ed900000)
+  from space 7680K, 99% used [0x00000000ed900000,0x00000000ee07cd40,0x00000000ee080000)
+  to   space 7680K, 0% used [0x00000000f0f00000,0x00000000f0f00000,0x00000000f1680000)
+ ParOldGen       total 125440K, used 5632K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 4% used [0x00000000c0000000,0x00000000c0580060,0x00000000c7a80000)
+ PSPermGen       total 24576K, used 24543K [0x00000000b0000000, 0x00000000b1800000, 0x00000000c0000000)
+  object space 24576K, 99% used [0x00000000b0000000,0x00000000b17f7ea0,0x00000000b1800000)
+Event: 3.286 GC heap after
+Heap after GC invocations=4 (full 0):
+ PSYoungGen      total 102912K, used 7648K [0x00000000eaa80000, 0x00000000f1680000, 0x0000000100000000)
+  eden space 95232K, 0% used [0x00000000eaa80000,0x00000000eaa80000,0x00000000f0780000)
+  from space 7680K, 99% used [0x00000000f0f00000,0x00000000f1678020,0x00000000f1680000)
+  to   space 7680K, 0% used [0x00000000f0780000,0x00000000f0780000,0x00000000f0f00000)
+ ParOldGen       total 125440K, used 8685K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 6% used [0x00000000c0000000,0x00000000c087b628,0x00000000c7a80000)
+ PSPermGen       total 24576K, used 24543K [0x00000000b0000000, 0x00000000b1800000, 0x00000000c0000000)
+  object space 24576K, 99% used [0x00000000b0000000,0x00000000b17f7ea0,0x00000000b1800000)
+}
+Event: 4.394 GC heap before
+{Heap before GC invocations=5 (full 0):
+ PSYoungGen      total 102912K, used 102880K [0x00000000eaa80000, 0x00000000f1680000, 0x0000000100000000)
+  eden space 95232K, 100% used [0x00000000eaa80000,0x00000000f0780000,0x00000000f0780000)
+  from space 7680K, 99% used [0x00000000f0f00000,0x00000000f1678020,0x00000000f1680000)
+  to   space 7680K, 0% used [0x00000000f0780000,0x00000000f0780000,0x00000000f0f00000)
+ ParOldGen       total 125440K, used 8685K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 6% used [0x00000000c0000000,0x00000000c087b628,0x00000000c7a80000)
+ PSPermGen       total 32768K, used 32474K [0x00000000b0000000, 0x00000000b2000000, 0x00000000c0000000)
+  object space 32768K, 99% used [0x00000000b0000000,0x00000000b1fb69b0,0x00000000b2000000)
+Event: 4.419 GC heap after
+Heap after GC invocations=5 (full 0):
+ PSYoungGen      total 102912K, used 7664K [0x00000000eaa80000, 0x00000000f8d80000, 0x0000000100000000)
+  eden space 95232K, 0% used [0x00000000eaa80000,0x00000000eaa80000,0x00000000f0780000)
+  from space 7680K, 99% used [0x00000000f0780000,0x00000000f0efc050,0x00000000f0f00000)
+  to   space 20992K, 0% used [0x00000000f7900000,0x00000000f7900000,0x00000000f8d80000)
+ ParOldGen       total 125440K, used 23082K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 18% used [0x00000000c0000000,0x00000000c168a9a0,0x00000000c7a80000)
+ PSPermGen       total 32768K, used 32474K [0x00000000b0000000, 0x00000000b2000000, 0x00000000c0000000)
+  object space 32768K, 99% used [0x00000000b0000000,0x00000000b1fb69b0,0x00000000b2000000)
+}
+Event: 5.890 GC heap before
+{Heap before GC invocations=6 (full 0):
+ PSYoungGen      total 102912K, used 102896K [0x00000000eaa80000, 0x00000000f8d80000, 0x0000000100000000)
+  eden space 95232K, 100% used [0x00000000eaa80000,0x00000000f0780000,0x00000000f0780000)
+  from space 7680K, 99% used [0x00000000f0780000,0x00000000f0efc050,0x00000000f0f00000)
+  to   space 20992K, 0% used [0x00000000f7900000,0x00000000f7900000,0x00000000f8d80000)
+ ParOldGen       total 125440K, used 23082K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 18% used [0x00000000c0000000,0x00000000c168a9a0,0x00000000c7a80000)
+ PSPermGen       total 35840K, used 35638K [0x00000000b0000000, 0x00000000b2300000, 0x00000000c0000000)
+  object space 35840K, 99% used [0x00000000b0000000,0x00000000b22cda48,0x00000000b2300000)
+Event: 5.911 GC heap after
+Heap after GC invocations=6 (full 0):
+ PSYoungGen      total 208896K, used 18946K [0x00000000eaa80000, 0x00000000f9280000, 0x0000000100000000)
+  eden space 187904K, 0% used [0x00000000eaa80000,0x00000000eaa80000,0x00000000f6200000)
+  from space 20992K, 90% used [0x00000000f7900000,0x00000000f8b80998,0x00000000f8d80000)
+  to   space 23552K, 0% used [0x00000000f6200000,0x00000000f6200000,0x00000000f7900000)
+ ParOldGen       total 125440K, used 23082K [0x00000000c0000000, 0x00000000c7a80000, 0x00000000eaa80000)
+  object space 125440K, 18% used [0x00000000c0000000,0x00000000c168a9a0,0x00000000c7a80000)
+ PSPermGen       total 35840K, used 35638K [0x00000000b0000000, 0x00000000b2300000, 0x00000000c0000000)
+  object space 35840K, 99% used [0x00000000b0000000,0x00000000b22cda48,0x00000000b2300000)
+}
+
+Deoptimization events (10 events):
+Event: 6.507 Thread 0x000000000b2a7000 Uncommon trap: reason=unloaded action=reinterpret pc=0x000000000287a980 method=com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getNodeObject(I)Lcom/sun/org/apache/xerces/internal/dom/DeferredNode; @ 255
+Event: 6.508 Thread 0x000000000b2a7000 Uncommon trap: reason=unreached action=reinterpret pc=0x00000000028862f0 method=com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getChunkIndex([[III)I @ 3
+Event: 6.508 Thread 0x000000000b2a7000 Uncommon trap: reason=unreached action=reinterpret pc=0x00000000026bbb74 method=com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getChunkIndex([[III)I @ 3
+Event: 7.650 Thread 0x000000000b2a7000 Uncommon trap: reason=predicate action=maybe_recompile pc=0x000000000296c444 method=java.util.TimSort.binarySort([Ljava/lang/Object;IIILjava/util/Comparator;)V @ 37
+Event: 7.657 Thread 0x000000000b2a9800 Uncommon trap: reason=unreached action=reinterpret pc=0x00000000028c1684 method=java.util.concurrent.locks.AbstractQueuedSynchronizer.release(I)Z @ 14
+Event: 7.660 Thread 0x000000000f908000 Uncommon trap: reason=unreached action=reinterpret pc=0x000000000296dd3c method=java.lang.ThreadLocal.get()Ljava/lang/Object; @ 11
+Event: 7.661 Thread 0x000000000b2a9800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000000286fce0 method=java.util.concurrent.locks.AbstractQueuedSynchronizer.release(I)Z @ 14
+Event: 7.661 Thread 0x000000000b2a8000 Uncommon trap: reason=unreached action=reinterpret pc=0x000000000286fce0 method=java.util.concurrent.locks.AbstractQueuedSynchronizer.release(I)Z @ 14
+Event: 7.670 Thread 0x000000000f909800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000000281e300 method=groovy.lang.MetaClassImpl.findPropertyMethod(Ljava/lang/Object;ZZ)Lgroovy/lang/MetaMethod; @ 95
+Event: 7.721 Thread 0x000000000f909800 Uncommon trap: reason=unreached action=reinterpret pc=0x00000000028fc4d0 method=java.util.concurrent.locks.AbstractQueuedSynchronizer.release(I)Z @ 14
+
+Internal exceptions (10 events):
+Event: 7.741 Thread 0x000000000f90a000 Threw 0x00000000f06044a8 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.741 Thread 0x000000000f90a000 Threw 0x00000000f0604bb0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.741 Thread 0x000000000f90a000 Threw 0x00000000f0607bf0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.741 Thread 0x000000000f90a000 Threw 0x00000000f0608238 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.742 Thread 0x000000000f90a000 Threw 0x00000000f060bde0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.742 Thread 0x000000000f90a000 Threw 0x00000000f060c4f0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.743 Thread 0x000000000f90a000 Threw 0x00000000f0611050 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.743 Thread 0x000000000f90a000 Threw 0x00000000f06117c8 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.743 Thread 0x000000000f90a000 Threw 0x00000000f0615090 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+Event: 7.743 Thread 0x000000000f90a000 Threw 0x00000000f0615920 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
+
+Events (10 events):
+Event: 7.797 Executing VM operation: RevokeBias done
+Event: 7.797 Thread 0x000000000e319800 Thread exited: 0x000000000e319800
+Event: 7.798 Executing VM operation: RevokeBias
+Event: 7.798 Executing VM operation: RevokeBias done
+Event: 7.798 Executing VM operation: RevokeBias
+Event: 7.798 Executing VM operation: RevokeBias done
+Event: 7.798 Thread 0x000000000e31f800 Thread exited: 0x000000000e31f800
+Event: 7.798 Thread 0x000000000e312000 Thread exited: 0x000000000e312000
+Event: 7.798 Thread 0x000000000e31d800 Thread exited: 0x000000000e31d800
+Event: 9.841 Executing VM operation: RevokeBias
+
+
+Dynamic libraries:
+0x00007ff751e40000 - 0x00007ff751e73000 	C:\Program Files\Java\jdk1.7.0_51\bin\java.exe
+0x00007fffc8560000 - 0x00007fffc870c000 	C:\WINDOWS\SYSTEM32\ntdll.dll
+0x00007fffc8110000 - 0x00007fffc824a000 	C:\WINDOWS\system32\KERNEL32.DLL
+0x00007fffc5970000 - 0x00007fffc5a7f000 	C:\WINDOWS\system32\KERNELBASE.dll
+0x00007fffc4380000 - 0x00007fffc440e000 	C:\WINDOWS\system32\apphelp.dll
+0x00007fffb3d30000 - 0x00007fffb3d83000 	C:\WINDOWS\AppPatch\AppPatch64\AcGenral.DLL
+0x00007fffc6140000 - 0x00007fffc61e7000 	C:\WINDOWS\system32\msvcrt.dll
+0x00007fffc5650000 - 0x00007fffc567b000 	C:\WINDOWS\SYSTEM32\SspiCli.dll
+0x00007fffc5cb0000 - 0x00007fffc5d01000 	C:\WINDOWS\system32\SHLWAPI.dll
+0x00007fffc6690000 - 0x00007fffc6801000 	C:\WINDOWS\system32\USER32.dll
+0x00007fffc7d90000 - 0x00007fffc7f08000 	C:\WINDOWS\system32\ole32.dll
+0x00007fffc6830000 - 0x00007fffc7d48000 	C:\WINDOWS\system32\SHELL32.dll
+0x00007fffc4e10000 - 0x00007fffc4e2f000 	C:\WINDOWS\SYSTEM32\USERENV.dll
+0x00007fffc65e0000 - 0x00007fffc6685000 	C:\WINDOWS\system32\ADVAPI32.dll
+0x00007fffb7ba0000 - 0x00007fffb7bbb000 	C:\WINDOWS\SYSTEM32\MPR.dll
+0x00007fffc5ec0000 - 0x00007fffc5ff7000 	C:\WINDOWS\system32\RPCRT4.dll
+0x00007fffc8250000 - 0x00007fffc82a9000 	C:\WINDOWS\SYSTEM32\sechost.dll
+0x00007fffc8380000 - 0x00007fffc8556000 	C:\WINDOWS\SYSTEM32\combase.dll
+0x00007fffc6490000 - 0x00007fffc65d4000 	C:\WINDOWS\system32\GDI32.dll
+0x00007fffc57a0000 - 0x00007fffc57b4000 	C:\WINDOWS\SYSTEM32\profapi.dll
+0x00007fffc42c0000 - 0x00007fffc4372000 	C:\WINDOWS\SYSTEM32\SHCORE.dll
+0x00007fffc7d50000 - 0x00007fffc7d84000 	C:\WINDOWS\system32\IMM32.DLL
+0x00007fffc7f10000 - 0x00007fffc8062000 	C:\WINDOWS\system32\MSCTF.dll
+0x00000000500c0000 - 0x00000000500f8000 	C:\PROGRA~2\Sophos\SOPHOS~1\SOPHOS~2.DLL
+0x00007fffc6130000 - 0x00007fffc6137000 	C:\WINDOWS\system32\PSAPI.DLL
+0x00007fffc3740000 - 0x00007fffc39ba000 	C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17810_none_6240b9c7ecbd0bda\COMCTL32.dll
+0x0000000075ef0000 - 0x0000000075fc2000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\msvcr100.dll
+0x0000000073cf0000 - 0x00000000744b9000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\server\jvm.dll
+0x00007fffbc460000 - 0x00007fffbc469000 	C:\WINDOWS\SYSTEM32\WSOCK32.dll
+0x00007fffc3090000 - 0x00007fffc30af000 	C:\WINDOWS\SYSTEM32\WINMM.dll
+0x00007fffc82b0000 - 0x00007fffc8308000 	C:\WINDOWS\system32\WS2_32.dll
+0x00007fffc3050000 - 0x00007fffc307a000 	C:\WINDOWS\SYSTEM32\WINMMBASE.dll
+0x00007fffc5eb0000 - 0x00007fffc5eb9000 	C:\WINDOWS\system32\NSI.dll
+0x00007fffc5a80000 - 0x00007fffc5aca000 	C:\WINDOWS\SYSTEM32\cfgmgr32.dll
+0x00007fffc45f0000 - 0x00007fffc4616000 	C:\WINDOWS\SYSTEM32\DEVOBJ.dll
+0x0000000050090000 - 0x000000005009f000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\verify.dll
+0x0000000074800000 - 0x0000000074828000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\java.dll
+0x00000000747e0000 - 0x00000000747f5000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\zip.dll
+0x00000000747c0000 - 0x00000000747d9000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\net.dll
+0x00007fffc50b0000 - 0x00007fffc5108000 	C:\WINDOWS\system32\mswsock.dll
+0x00000000747a0000 - 0x00000000747b1000 	C:\Program Files\Java\jdk1.7.0_51\jre\bin\nio.dll
+0x00007fffc5110000 - 0x00007fffc512e000 	C:\WINDOWS\SYSTEM32\CRYPTSP.dll
+0x00007fffc4d00000 - 0x00007fffc4d35000 	C:\WINDOWS\system32\rsaenh.dll
+0x00007fffc5350000 - 0x00007fffc5376000 	C:\WINDOWS\SYSTEM32\bcrypt.dll
+0x00007fffc5680000 - 0x00007fffc56e0000 	C:\WINDOWS\system32\bcryptprimitives.dll
+0x00007fffc56e0000 - 0x00007fffc56ea000 	C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
+0x00007fffb7a70000 - 0x00007fffb7a84000 	C:\WINDOWS\system32\napinsp.dll
+0x00007fffb7a90000 - 0x00007fffb7aa9000 	C:\WINDOWS\system32\pnrpnsp.dll
+0x00007fffc0670000 - 0x00007fffc068b000 	C:\WINDOWS\system32\NLAapi.dll
+0x00007fffc4ec0000 - 0x00007fffc4f64000 	C:\WINDOWS\SYSTEM32\DNSAPI.dll
+0x00007fffb7ab0000 - 0x00007fffb7abc000 	C:\WINDOWS\System32\winrnr.dll
+0x0000000050b90000 - 0x0000000050bb6000 	C:\Program Files\Bonjour\mdnsNSP.dll
+0x00007fffbddf0000 - 0x00007fffbde19000 	C:\WINDOWS\SYSTEM32\Iphlpapi.DLL
+0x00007fffbddd0000 - 0x00007fffbddda000 	C:\WINDOWS\SYSTEM32\WINNSI.DLL
+0x00007fffb9a70000 - 0x00007fffb9a79000 	C:\Windows\System32\rasadhlp.dll
+0x00007fffbdb90000 - 0x00007fffbdbfb000 	C:\WINDOWS\System32\fwpuclnt.dll
+0x00007fffbb630000 - 0x00007fffbb642000 	C:\Users\Chris\AppData\Local\Temp\native-platform7883221194529296210dir\native-platform.dll
+0x00007fffbdc70000 - 0x00007fffbdc84000 	C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
+0x00007fffbdc50000 - 0x00007fffbdc69000 	C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
+
+VM Arguments:
+jvm_args: -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=windows-1252 -Duser.country=DE -Duser.language=de -Duser.variant 
+java_command: org.gradle.launcher.daemon.bootstrap.GradleDaemon 2.2.1 C:\Users\Chris\.gradle\daemon 10800000 410974b1-9922-499b-bf75-13159b0f5ac3 -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=windows-1252 -Duser.country=DE -Duser.language=de -Duser.variant
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+PATH=C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\idmu\common;C:\Program Files (x86)\GNU\GnuPG\pub;C:\Program Files\Microsoft Network Monitor 3\;C:\Program Files\OpenVPN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Windows Live\Shared
+USERNAME=chris
+OS=Windows_NT
+PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
+
+
+
+---------------  S Y S T E M  ---------------
+
+OS: Windows 8 , 64 bit Build 9200 
+
+CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, ht, tsc, tscinvbit
+
+Memory: 4k page, physical 12072340k(1327936k free), swap 17358432k(288528k free)
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (24.51-b03) for windows-amd64 JRE (1.7.0_51-b13), built on Dec 18 2013 18:40:56 by "java_re" with unknown MS VC++:1600
+
+time: Mon Jun 29 16:15:01 2015
+elapsed time: 9 seconds
+
-- 
GitLab