diff --git a/pom.xml b/pom.xml
index 857c732..c74fb6a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -123,6 +123,11 @@
tigon-codegen
${project.version}
+
+ org.projectlombok
+ lombok
+ 1.18.0
+
org.springframework
diff --git a/tigon-codegen/pom.xml b/tigon-codegen/pom.xml
index 7976295..7584e96 100644
--- a/tigon-codegen/pom.xml
+++ b/tigon-codegen/pom.xml
@@ -46,7 +46,7 @@
commons-io
commons-io
- 2.4
+ 2.6
diff --git a/tigon-model/pom.xml b/tigon-model/pom.xml
index 5891547..ba7815e 100644
--- a/tigon-model/pom.xml
+++ b/tigon-model/pom.xml
@@ -21,12 +21,12 @@
org.apache.commons
commons-lang3
- 3.1
+ 3.7
com.alibaba
fastjson
- 1.2.31
+ 1.2.47
org.springframework
diff --git a/tigon-model/src/main/java/me/chyxion/tigon/form/BaseForm.java b/tigon-model/src/main/java/me/chyxion/tigon/form/BaseForm.java
index c395292..8b3a896 100644
--- a/tigon-model/src/main/java/me/chyxion/tigon/form/BaseForm.java
+++ b/tigon-model/src/main/java/me/chyxion/tigon/form/BaseForm.java
@@ -33,14 +33,14 @@ public class BaseForm implements BaseFormApi {
*/
@Override
public T copy(Class clazz, boolean convert) {
- log.debug("Copy Form [{}] To Class [{}].", this, clazz);
+ log.debug("Copy form [{}] to class [{}].", this, clazz);
T obj = null;
try {
obj = clazz.newInstance();
}
catch (Exception e) {
throw new IllegalStateException(
- "Create [" + clazz + "] Object Error Caused", e);
+ "Create [" + clazz + "] object error caused", e);
}
return copy(obj, convert);
}
@@ -65,18 +65,18 @@ public class BaseForm implements BaseFormApi {
public T copy(T obj, boolean convert) {
try {
if (convert) {
- log.debug("Copy Form [{}] To [{}] With Type Converting.", this, obj);
+ log.debug("Copy form [{}] to [{}] with type converting.", this, obj);
org.apache.commons.beanutils.BeanUtils.copyProperties(obj, this);
}
else {
- log.debug("Copy Form [{}] To [{}].", this, obj);
+ log.debug("Copy form [{}] to [{}].", this, obj);
BeanUtils.copyProperties(this, obj);
}
return obj;
}
catch (Exception e) {
throw new IllegalStateException(
- "Copy [" + this + "] Error Caused", e);
+ "Copy [" + this + "] error caused", e);
}
}
diff --git a/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudByFormService.java b/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudByFormService.java
index 8165761..bad2418 100644
--- a/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudByFormService.java
+++ b/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudByFormService.java
@@ -21,7 +21,7 @@ public interface BaseCrudByFormService
FormForUpdate extends BaseFormForUpdateApi>
extends BaseCrudService,
BaseQueryService,
- BaseDeleteService {
+ BaseDeleteService {
/**
* @param form form
diff --git a/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudService.java b/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudService.java
index d5b5a95..22e9af7 100644
--- a/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudService.java
+++ b/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseCrudService.java
@@ -19,7 +19,7 @@ import me.chyxion.tigon.validation.annotation.NotNullOrBlank;
public interface BaseCrudService
>
extends BaseQueryService,
- BaseDeleteService {
+ BaseDeleteService {
/**
* @param model form
diff --git a/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseDeleteService.java b/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseDeleteService.java
index 3037e2d..345c0cb 100644
--- a/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseDeleteService.java
+++ b/tigon-service-api/src/main/java/me/chyxion/tigon/service/BaseDeleteService.java
@@ -1,5 +1,6 @@
package me.chyxion.tigon.service;
+import java.util.List;
import me.chyxion.tigon.mybatis.Search;
import javax.validation.constraints.NotNull;
import org.springframework.validation.annotation.Validated;
@@ -13,17 +14,19 @@ import me.chyxion.tigon.validation.annotation.NotNullOrBlank;
* Nov 7, 2016 4:20:42 PM
*/
@Validated
-public interface BaseDeleteService {
+public interface BaseDeleteService {
/**
* delete by search
* @param search search
+ * @return models deleted
*/
- int delete(@NotNull Search search);
+ List delete(@NotNull Search search);
/**
* delete by primaryKey
* @param primaryKey primaryKey
+ * @return model deleted
*/
- int delete(@NotNullOrBlank PrimaryKey primaryKey);
+ Model delete(@NotNullOrBlank PrimaryKey primaryKey);
}
diff --git a/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudByFormServiceSupport.java b/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudByFormServiceSupport.java
index 9731b99..b092800 100644
--- a/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudByFormServiceSupport.java
+++ b/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudByFormServiceSupport.java
@@ -30,9 +30,11 @@ public class BaseCrudByFormServiceSupport
*/
@Override
public ViewModel create(FormForCreate form) {
- log.debug("Create Form [{}].", form);
+ log.debug("Create form [{}].", form);
validate(form);
- return create(form.copy(modelType));
+ final Model model = form.copy(modelType);
+ beforeCreate(form, model);
+ return create(model);
}
/**
@@ -40,13 +42,15 @@ public class BaseCrudByFormServiceSupport
*/
@Override
public ViewModel update(FormForUpdate form) {
+ log.debug("Update form [{}].", form);
validate(form);
PrimaryKey primaryKey = form.getId();
Model model = find(primaryKey);
- Assert.state(model != null, "No Model [" + primaryKey + "] Found");
- return update(form.copy(model));
+ Assert.state(model != null, "No model [" + primaryKey + "] found");
+ form.copy(model);
+ beforeUpdate(form, model);
+ return update(model);
}
-
// --
// private methods
@@ -66,4 +70,12 @@ public class BaseCrudByFormServiceSupport
protected void validate(FormForUpdate form) {
// For Override
}
+
+ protected void beforeCreate(FormForCreate form, Model model) {
+
+ }
+
+ protected void beforeUpdate(FormForUpdate form, Model model) {
+
+ }
}
diff --git a/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudServiceSupport.java b/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudServiceSupport.java
index 6c0ccbd..a0e7ba2 100644
--- a/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudServiceSupport.java
+++ b/tigon-service-support/src/main/java/me/chyxion/tigon/service/support/BaseCrudServiceSupport.java
@@ -29,16 +29,41 @@ public class BaseCrudServiceSupport
*/
@Override
@Transactional
- public int delete(Search search) {
- return mapper.delete(search);
+ public List delete(final Search search) {
+ log.info("Delete model by search [{}].", search);
+ final List models = mapper.list(search);
+ if (models != null && !models.isEmpty()) {
+ for (Model model : models) {
+ log.info("Delete model [{}].", model);
+ beforeDelete(model);
+ mapper.delete(model.primaryKeyValue());
+ afterDelete(model);
+ }
+ }
+ else {
+ log.warn("No model found by search [{}] to delete.", search);
+ }
+ return models;
}
/**
* {@inheritDoc}
*/
@Override
- public int delete(PrimaryKey primaryKey) {
- return mapper.delete(primaryKey);
+ @Transactional
+ public Model delete(final PrimaryKey primaryKey) {
+ log.info("Delete model by PK [{}].", primaryKey);
+ final Model model = mapper.find(primaryKey);
+ if (model != null) {
+ log.info("Delete model [{}].", model);
+ beforeDelete(model);
+ mapper.delete(primaryKey);
+ afterDelete(model);
+ }
+ else {
+ log.warn("No model found by PK [{}] to delete.", primaryKey);
+ }
+ return model;
}
/**
@@ -131,4 +156,12 @@ public class BaseCrudServiceSupport
protected void afterUpdate(Model model) {
// Hook
}
+
+ protected void beforeDelete(Model model) {
+ // Hook
+ }
+
+ protected void afterDelete(Model model) {
+ // Hook
+ }
}
diff --git a/tigon-shiro-cache/pom.xml b/tigon-shiro-cache/pom.xml
index 6e12499..ecec895 100644
--- a/tigon-shiro-cache/pom.xml
+++ b/tigon-shiro-cache/pom.xml
@@ -35,10 +35,6 @@
shiro-core
1.3.2
-
-
-
-
org.projectlombok