diff --git a/build.gradle b/build.gradle
index 5594e43b5..390f2ab8b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,17 +1,54 @@
apply plugin: 'java'
-apply from: 'gradle-mvn-push.gradle'
+apply plugin: 'maven'
-targetCompatibility = '1.6'
-sourceCompatibility = '1.6'
+group = 'com.github.matheusbristot'
-sourceSets {
- main {
- java {
- srcDir 'src'
- }
- }
+sourceCompatibility = 1.8 // java 8
+targetCompatibility = 1.8
+
+
+repositories {
+ mavenCentral()
}
dependencies {
- compile fileTree(dir: 'libs', include: '*.jar')
+ compile 'com.google.guava:guava:18.0'
}
+
+task sourcesJar(type: Jar, dependsOn: classes) {
+ classifier = 'sources'
+ from sourceSets.main.allSource
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+ classifier = 'javadoc'
+ from javadoc.destinationDir
+}
+
+artifacts {
+ archives sourcesJar
+ archives javadocJar
+}
+
+// To specify a license in the pom:
+install {
+ repositories.mavenInstaller {
+ pom.project {
+ groupId "com.github.matheusbristot"
+ artifactId "com.activeandroid"
+ version "3.2.9"
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+ scm {
+ connection = 'scm:git@github.com:matheusbristot/ActiveAndroid.git'
+ developerConnection = 'scm:git@github.com:matheusbristot/ActiveAndroid.git'
+ url = 'https://github.com/matheusbristot/ActiveAndroid'
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/build.xml b/build.xml
deleted file mode 100644
index b2b7bfa6a..000000000
--- a/build.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gradle.properties b/gradle.properties
deleted file mode 100644
index 424d885af..000000000
--- a/gradle.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-VERSION_NAME=3.1.0-SNAPSHOT
-VERSION_CODE=1
-GROUP=com.michaelpardo
-
-POM_DESCRIPTION=Active record style SQLite persistence for Android.
-POM_URL=https://github.com/pardom/ActiveAndroid
-POM_SCM_URL=https://github.com/pardom/ActiveAndroid
-POM_SCM_CONNECTION=scm:git@github.com:pardom/ActiveAndroid.git
-POM_SCM_DEV_CONNECTION=scm:git@github.com:pardom/ActiveAndroid.git
-POM_LICENCE_NAME=The Apache Software License, Version 2.0
-POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
-POM_LICENCE_DIST=repo
-POM_DEVELOPER_ID=michaelpardo
-POM_DEVELOPER_NAME=Michael Pardo
-
-POM_NAME=ActiveAndroid
-POM_ARTIFACT_ID=activeandroid
-POM_PACKAGING=jar
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 330a2c9f8..054073342 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
diff --git a/pom-child.xml b/pom-child.xml
deleted file mode 100644
index 4f0c72df4..000000000
--- a/pom-child.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
- 4.0.0
- com.activeandroid
- activeandroid
- 3.1-SNAPSHOT
- jar
- ActiveAndroid
-
-
-
- The Apache Software License, Version 2.0
- http://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
-
- com.activeandroid
- activeandroid-parent
- 3.1-SNAPSHOT
- ./pom.xml
-
-
-
- scm:git:git@github.com:pardom/ActiveAndroid.git
- scm:git:git@github.com:pardom/ActiveAndroid.git
- git@github.com:pardom/ActiveAndroid.git
-
-
-
- 1.6
- 16
- 4.1.1.4
- r7
-
-
-
-
- com.google.android
- android
- ${platform.version}
- provided
-
-
- com.google.android
- android-test
- ${platform.version}
- provided
-
-
- com.google.android
- support-v4
- ${platform.support-version}
-
-
-
-
- src
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 2.14.1
-
-
- maven-compiler-plugin
- 3.1
-
- ${java.version}
- ${java.version}
-
-
-
- com.jayway.maven.plugins.android.generation2
- android-maven-plugin
- 3.8.2
-
-
- ${env.ANDROID_HOME}
- ${platform.sdk}
-
-
- true
-
-
-
-
-
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index eafb111c5..000000000
--- a/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
- 4.0.0
- com.activeandroid
- activeandroid-parent
- 3.1-SNAPSHOT
- pom
- ActiveAndroid - Parent
-
-
- pom-child.xml
- tests
-
-
-
- 1.6
- 16
- 4.1.1.4
- r7
-
-
-
-
-
-
- com.jayway.maven.plugins.android.generation2
- android-maven-plugin
- 3.8.2
-
-
- maven-compiler-plugin
- 3.1
-
-
-
-
-
diff --git a/src/com/activeandroid/Model.java b/src/com/activeandroid/Model.java
index 421426ea3..04d7d3dba 100644
--- a/src/com/activeandroid/Model.java
+++ b/src/com/activeandroid/Model.java
@@ -64,11 +64,15 @@ public final Long getId() {
}
public final void delete() {
- Cache.openDatabase().delete(mTableInfo.getTableName(), idName+"=?", new String[] { getId().toString() });
- Cache.removeEntity(this);
-
- Cache.getContext().getContentResolver()
- .notifyChange(ContentProvider.createUri(mTableInfo.getType(), mId), null);
+ try {
+ Cache.openDatabase().delete(mTableInfo.getTableName(), idName + "=?", new String[]{getId().toString()});
+ Cache.removeEntity(this);
+
+ Cache.getContext().getContentResolver()
+ .notifyChange(ContentProvider.createUri(mTableInfo.getType(), mId), null);
+ } catch (Throwable t){
+ t.printStackTrace()
+ }
}
public final Long save() {
@@ -151,15 +155,17 @@ else if (ReflectionUtils.isSubclassOf(fieldType, Enum.class)) {
}
}
- if (mId == null) {
- mId = db.insert(mTableInfo.getTableName(), null, values);
- }
- else {
- db.update(mTableInfo.getTableName(), values, idName+"=" + mId, null);
+ try {
+ if (mId == null) {
+ mId = db.insert(mTableInfo.getTableName(), null, values);
+ } else {
+ db.update(mTableInfo.getTableName(), values, idName + "=" + mId, null);
+ }
+ Cache.getContext().getContentResolver()
+ .notifyChange(ContentProvider.createUri(mTableInfo.getType(), mId), null);
+ } catch (Throwable t){
+ t.printStackTrace()
}
-
- Cache.getContext().getContentResolver()
- .notifyChange(ContentProvider.createUri(mTableInfo.getType(), mId), null);
return mId;
}
diff --git a/src/com/activeandroid/content/ContentProvider.java b/src/com/activeandroid/content/ContentProvider.java
index b4a841d64..279fa0524 100644
--- a/src/com/activeandroid/content/ContentProvider.java
+++ b/src/com/activeandroid/content/ContentProvider.java
@@ -147,18 +147,14 @@ public Cursor query(Uri uri, String[] projection, String selection, String[] sel
//////////////////////////////////////////////////////////////////////////////////////
public static Uri createUri(Class extends Model> type, Long id) {
- final StringBuilder uri = new StringBuilder();
- uri.append("content://");
- uri.append(sAuthority);
- uri.append("/");
- uri.append(Cache.getTableName(type).toLowerCase());
-
+ Uri.Builder uriBuilder = new Uri.Builder();
+ uriBuilder.authority(sAuthority);
+ uriBuilder.scheme("content");
+ uriBuilder.appendPath(Cache.getTableName(type).toLowerCase());
if (id != null) {
- uri.append("/");
- uri.append(id.toString());
+ uriBuilder.appendPath(id.toString());
}
-
- return Uri.parse(uri.toString());
+ return uriBuilder.build();
}
//////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/com/activeandroid/query/From.java b/src/com/activeandroid/query/From.java
index ab3837a90..4ddf7b87d 100644
--- a/src/com/activeandroid/query/From.java
+++ b/src/com/activeandroid/query/From.java
@@ -29,63 +29,63 @@
import java.util.List;
public final class From implements Sqlable {
- private Sqlable mQueryBase;
-
- private Class extends Model> mType;
- private String mAlias;
- private List mJoins;
- private final StringBuilder mWhere = new StringBuilder();
- private String mGroupBy;
- private String mHaving;
- private String mOrderBy;
- private String mLimit;
- private String mOffset;
-
- private List