diff --git a/.github/workflows/maven-test.yml b/.github/workflows/maven-test.yml
new file mode 100644
index 0000000..95be220
--- /dev/null
+++ b/.github/workflows/maven-test.yml
@@ -0,0 +1,34 @@
+name: Maven Test
+on:
+ push:
+ branches:
+ - '**'
+ - '!master'
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ services:
+ mysql:
+ image: mariadb:latest
+ env:
+ MYSQL_ALLOW_EMPTY_PASSWORD: yes
+ MYSQL_DATABASE: test
+ MYSQL_USER: test
+ MYSQL_PASSWORD: test
+ MYSQL_RANDOM_ROOT_PASSWORD: yes
+ ports:
+ - 3306
+ options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up JDK 1.8
+ uses: actions/setup-java@v1
+ with:
+ java-version: 1.8
+ - name: Test
+ run: mvn -B test
+ env:
+ MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
+ MYSQL_USERNAME: test
+ MYSQL_PASSWORD: test
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9b5ef29..7ccd700 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,11 +63,6 @@
reflections
0.9.12
-
- org.javawebstack
- Injector
- 1.0-SNAPSHOT
-
org.javawebstack
AbstractData
diff --git a/src/main/java/org/javawebstack/orm/Model.java b/src/main/java/org/javawebstack/orm/Model.java
index 4a8ef7c..9619dbd 100644
--- a/src/main/java/org/javawebstack/orm/Model.java
+++ b/src/main/java/org/javawebstack/orm/Model.java
@@ -1,6 +1,5 @@
package org.javawebstack.orm;
-import org.javawebstack.injector.Injector;
import org.javawebstack.orm.query.Query;
import java.lang.reflect.Field;
@@ -22,7 +21,6 @@ public class Model {
private static final Method refreshMethod;
{
- inject();
updateOriginal();
}
@@ -41,6 +39,7 @@ public class Model {
private transient boolean internalEntryExists = false;
private transient final Map, Object> internalJoinedModels = new HashMap<>();
private transient Map internalOriginalValues = new HashMap<>();
+ private transient Map internalExtraFields = new HashMap<>();
void internalAddJoinedModel(Class extends Model> type, Object entity) {
internalJoinedModels.put(type, entity);
@@ -62,6 +61,14 @@ public Map getFieldValues() {
return values;
}
+ public Map getExtraFields() {
+ return internalExtraFields;
+ }
+
+ public T getExtraField(String key) {
+ return (T) internalExtraFields.get(key);
+ }
+
public Map getOriginalValues() {
return internalOriginalValues;
}
@@ -114,12 +121,6 @@ void setEntryExists(boolean exists) {
this.internalEntryExists = exists;
}
- public void inject() {
- Injector injector = Repo.get(getClass()).getInfo().getConfig().getInjector();
- if (injector != null)
- injector.inject(this);
- }
-
public void save() {
try {
saveMethod.invoke(ORM.repo(getClass()), this);
diff --git a/src/main/java/org/javawebstack/orm/ORMConfig.java b/src/main/java/org/javawebstack/orm/ORMConfig.java
index 1558d95..38c14a6 100644
--- a/src/main/java/org/javawebstack/orm/ORMConfig.java
+++ b/src/main/java/org/javawebstack/orm/ORMConfig.java
@@ -1,6 +1,5 @@
package org.javawebstack.orm;
-import org.javawebstack.injector.Injector;
import org.javawebstack.orm.exception.ORMConfigurationException;
import org.javawebstack.orm.mapper.DefaultMapper;
import org.javawebstack.orm.mapper.TypeMapper;
@@ -15,7 +14,6 @@ public class ORMConfig {
private boolean idPrimaryKey = true;
private boolean idAutoIncrement = true;
private final List typeMappers = new ArrayList<>();
- private Injector injector;
private boolean preventUnnecessaryUpdates = true;
public ORMConfig() {
@@ -55,11 +53,6 @@ public ORMConfig setIdAutoIncrement(boolean idAutoIncrement) {
return this;
}
- public ORMConfig setInjector(Injector injector) {
- this.injector = injector;
- return this;
- }
-
public boolean isCamelToSnakeCase() {
return camelToSnakeCase;
}
@@ -84,10 +77,6 @@ public boolean isIdAutoIncrement() {
return idAutoIncrement;
}
- public Injector getInjector() {
- return injector;
- }
-
public TypeMapper getTypeMapper(Class> type, int size) {
for (TypeMapper mapper : getTypeMappers()) {
SQLType sqlType = mapper.getType(type, size);
diff --git a/src/main/java/org/javawebstack/orm/Repo.java b/src/main/java/org/javawebstack/orm/Repo.java
index d05687f..018f7f9 100644
--- a/src/main/java/org/javawebstack/orm/Repo.java
+++ b/src/main/java/org/javawebstack/orm/Repo.java
@@ -7,6 +7,7 @@
import org.javawebstack.orm.migration.AutoMigrator;
import org.javawebstack.orm.query.Query;
import org.javawebstack.orm.wrapper.SQL;
+import org.javawebstack.orm.wrapper.builder.SQLQueryString;
import java.lang.reflect.Field;
import java.sql.SQLException;
@@ -100,8 +101,6 @@ public void save(T entry) {
}
public void create(T entry) {
- if (info.getConfig().getInjector() != null)
- info.getConfig().getInjector().inject(entry);
observers.forEach(o -> o.saving(entry));
observers.forEach(o -> o.creating(entry));
executeCreate(entry);
@@ -124,28 +123,14 @@ private void executeCreate(T entry) {
if (field.get(entry) == null)
field.set(entry, UUID.randomUUID());
}
- List