android: Add field for MTU to data model

This commit is contained in:
Tobias Brunner
2015-07-28 13:27:32 +02:00
parent 6830cb1c1b
commit 7e2a6c4a41
2 changed files with 30 additions and 4 deletions
@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2012 Tobias Brunner * Copyright (C) 2012-2015 Tobias Brunner
* Copyright (C) 2012 Giuliano Grassi * Copyright (C) 2012 Giuliano Grassi
* Copyright (C) 2012 Ralf Sager * Copyright (C) 2012 Ralf Sager
* Hochschule fuer Technik Rapperswil * Hochschule fuer Technik Rapperswil
@@ -20,6 +20,7 @@ package org.strongswan.android.data;
public class VpnProfile implements Cloneable public class VpnProfile implements Cloneable
{ {
private String mName, mGateway, mUsername, mPassword, mCertificate, mUserCertificate; private String mName, mGateway, mUsername, mPassword, mCertificate, mUserCertificate;
private Integer mMTU;
private VpnType mVpnType; private VpnType mVpnType;
private long mId = -1; private long mId = -1;
@@ -103,6 +104,16 @@ public class VpnProfile implements Cloneable
this.mUserCertificate = alias; this.mUserCertificate = alias;
} }
public Integer getMTU()
{
return mMTU;
}
public void setMTU(Integer mtu)
{
this.mMTU = mtu;
}
@Override @Override
public String toString() public String toString()
{ {
@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2012 Tobias Brunner * Copyright (C) 2012-2015 Tobias Brunner
* Copyright (C) 2012 Giuliano Grassi * Copyright (C) 2012 Giuliano Grassi
* Copyright (C) 2012 Ralf Sager * Copyright (C) 2012 Ralf Sager
* Hochschule fuer Technik Rapperswil * Hochschule fuer Technik Rapperswil
@@ -40,6 +40,7 @@ public class VpnProfileDataSource
public static final String KEY_PASSWORD = "password"; public static final String KEY_PASSWORD = "password";
public static final String KEY_CERTIFICATE = "certificate"; public static final String KEY_CERTIFICATE = "certificate";
public static final String KEY_USER_CERTIFICATE = "user_certificate"; public static final String KEY_USER_CERTIFICATE = "user_certificate";
public static final String KEY_MTU = "mtu";
private DatabaseHelper mDbHelper; private DatabaseHelper mDbHelper;
private SQLiteDatabase mDatabase; private SQLiteDatabase mDatabase;
@@ -48,7 +49,7 @@ public class VpnProfileDataSource
private static final String DATABASE_NAME = "strongswan.db"; private static final String DATABASE_NAME = "strongswan.db";
private static final String TABLE_VPNPROFILE = "vpnprofile"; private static final String TABLE_VPNPROFILE = "vpnprofile";
private static final int DATABASE_VERSION = 4; private static final int DATABASE_VERSION = 5;
public static final String DATABASE_CREATE = public static final String DATABASE_CREATE =
"CREATE TABLE " + TABLE_VPNPROFILE + " (" + "CREATE TABLE " + TABLE_VPNPROFILE + " (" +
@@ -59,7 +60,8 @@ public class VpnProfileDataSource
KEY_USERNAME + " TEXT," + KEY_USERNAME + " TEXT," +
KEY_PASSWORD + " TEXT," + KEY_PASSWORD + " TEXT," +
KEY_CERTIFICATE + " TEXT," + KEY_CERTIFICATE + " TEXT," +
KEY_USER_CERTIFICATE + " TEXT" + KEY_USER_CERTIFICATE + " TEXT," +
KEY_MTU + " INTEGER" +
");"; ");";
private static final String[] ALL_COLUMNS = new String[] { private static final String[] ALL_COLUMNS = new String[] {
KEY_ID, KEY_ID,
@@ -70,6 +72,7 @@ public class VpnProfileDataSource
KEY_PASSWORD, KEY_PASSWORD,
KEY_CERTIFICATE, KEY_CERTIFICATE,
KEY_USER_CERTIFICATE, KEY_USER_CERTIFICATE,
KEY_MTU,
}; };
private static class DatabaseHelper extends SQLiteOpenHelper private static class DatabaseHelper extends SQLiteOpenHelper
@@ -104,6 +107,11 @@ public class VpnProfileDataSource
{ /* remove NOT NULL constraint from username column */ { /* remove NOT NULL constraint from username column */
updateColumns(db); updateColumns(db);
} }
if (oldVersion < 5)
{
db.execSQL("ALTER TABLE " + TABLE_VPNPROFILE + " ADD " + KEY_MTU +
" INTEGER;");
}
} }
private void updateColumns(SQLiteDatabase db) private void updateColumns(SQLiteDatabase db)
@@ -255,6 +263,7 @@ public class VpnProfileDataSource
profile.setPassword(cursor.getString(cursor.getColumnIndex(KEY_PASSWORD))); profile.setPassword(cursor.getString(cursor.getColumnIndex(KEY_PASSWORD)));
profile.setCertificateAlias(cursor.getString(cursor.getColumnIndex(KEY_CERTIFICATE))); profile.setCertificateAlias(cursor.getString(cursor.getColumnIndex(KEY_CERTIFICATE)));
profile.setUserCertificateAlias(cursor.getString(cursor.getColumnIndex(KEY_USER_CERTIFICATE))); profile.setUserCertificateAlias(cursor.getString(cursor.getColumnIndex(KEY_USER_CERTIFICATE)));
profile.setMTU(getInt(cursor, cursor.getColumnIndex(KEY_MTU)));
return profile; return profile;
} }
@@ -268,6 +277,12 @@ public class VpnProfileDataSource
values.put(KEY_PASSWORD, profile.getPassword()); values.put(KEY_PASSWORD, profile.getPassword());
values.put(KEY_CERTIFICATE, profile.getCertificateAlias()); values.put(KEY_CERTIFICATE, profile.getCertificateAlias());
values.put(KEY_USER_CERTIFICATE, profile.getUserCertificateAlias()); values.put(KEY_USER_CERTIFICATE, profile.getUserCertificateAlias());
values.put(KEY_MTU, profile.getMTU());
return values; return values;
} }
private Integer getInt(Cursor cursor, int columnIndex)
{
return cursor.isNull(columnIndex) ? null : cursor.getInt(columnIndex);
}
} }