Skip to content

Commit

Permalink
Merge pull request #17 from zeoflow/bug/delete-thread-error
Browse files Browse the repository at this point in the history
The delete functions are now called in the background thread
  • Loading branch information
teogor authored Jan 16, 2022
2 parents 9fa02c1 + a356359 commit 63da6e6
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -167,13 +167,47 @@ private List<MethodSpec> addVoidMethods() {
}
List<? extends VariableElement> parametersList = keyField.executableElement.getParameters();
MethodSpec.Builder method = MethodSpec.methodBuilder(getKeyFieldPutName(keyField.variableName));
if (parametersList.size() == 0) {
if (keyField.keyName.contains("delete")) {
if (parametersList.size() == 0) {
method.addStatement(
"$N.$N.execute(() -> $N.$N())",
getAtomDBName(),
AtomGenerator.FIELD_NAME_DATABASE_EXECUTOR,
getObjectDaoFieldName(),
keyField.executableElement.getSimpleName()
);
} else {
StringBuilder methodParams = new StringBuilder();
for (int index = 0; index < parametersList.size(); index++) {
VariableElement element = parametersList.get(index);
ParameterSpec.Builder param = ParameterSpec.builder(
TypeName.get(element.asType()),
String.valueOf(element.getSimpleName())
);
method.addParameter(param.build());
methodParams.append(element.getSimpleName());
if (index < parametersList.size() - 1) {
methodParams.append(", ");
}
}
method.addStatement(
"$N.$N.execute(() -> $N.$N($N))",
getAtomDBName(),
AtomGenerator.FIELD_NAME_DATABASE_EXECUTOR,
getObjectDaoFieldName(),
keyField.executableElement.getSimpleName(),
methodParams.toString()
);
}
} else if (parametersList.size() == 0) {
method.addStatement(
"$N.$N()",
getObjectDaoFieldName(),
keyField.executableElement.getSimpleName()
);
} else {
// todo just because it has some parameters it doesn't mean that
// it should run in the background thread
StringBuilder methodParams = new StringBuilder();
for (int index = 0; index < parametersList.size(); index++) {
VariableElement element = parametersList.get(index);
Expand All @@ -196,7 +230,6 @@ private List<MethodSpec> addVoidMethods() {
methodParams.toString()
);
}
method.addComment("addVoidMethod???");
methods.add(method.build());
}
return methods;
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ kotlin.code.style=official
# Maven
POM_NAME=Depot
POM_PACKAGING=aar
VERSION_NAME=1.0.2
VERSION_NAME=1.0.3
GROUP=com.zeoflow.depot
POM_DESCRIPTION=The Depot persistence library provides an abstraction layer over SQLite to allow for more robust database access while using the full power of SQLite.
POM_URL=https://github.com/zeoflow/depot
Expand Down

0 comments on commit 63da6e6

Please sign in to comment.