code cleanup

This commit is contained in:
东皇 2017-07-10 14:16:06 +08:00
parent f729548036
commit b4c406a7e0
16 changed files with 34 additions and 27 deletions

View File

@ -8,7 +8,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
/**
* @author shaun chyxion <br>
* @author Shaun Chyxion <br>
* chyxion@163.com <br>
* 2017/1/23 16:58
*/

View File

@ -19,7 +19,7 @@ public abstract class AbstractOnMissingCreateProcessor implements MapperXmlProce
* @param xPathParser xpath parser
* @return true if XPath Expression missing
*/
public boolean accept(Class<BaseMapper> mapperClass, XPathParser xPathParser) {
public boolean accept(Class<BaseMapper<?, ?>> mapperClass, XPathParser xPathParser) {
return xPathParser.evalNode(missingXPathExpression()) == null;
}
@ -28,7 +28,7 @@ public abstract class AbstractOnMissingCreateProcessor implements MapperXmlProce
* @param mapperClass mapper class
* @param doc xml document
*/
public void process(Class<BaseMapper> mapperClass, Document doc) {
public void process(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
doc.getDocumentElement().appendChild(elementToAppend(mapperClass, doc));
}
@ -43,15 +43,17 @@ public abstract class AbstractOnMissingCreateProcessor implements MapperXmlProce
* @param doc mapper xml document
* @return element to append
*/
protected abstract Element elementToAppend(Class<BaseMapper> mapperClass, Document doc);
protected abstract Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc);
/**
* get model class from mapper class
* @param mapperClass mapper class
* @return model class
*/
protected Class<BaseModel> getModelClass(Class<BaseMapper> mapperClass) {
return (Class<BaseModel>) GenericTypeResolver.resolveTypeArguments(mapperClass, BaseMapper.class)[1];
@SuppressWarnings("unchecked")
protected Class<BaseModel<?>> getModelClass(Class<BaseMapper<?, ?>> mapperClass) {
return (Class<BaseModel<?>>) GenericTypeResolver.resolveTypeArguments(
mapperClass, BaseMapper.class)[1];
}
/**
@ -59,7 +61,7 @@ public abstract class AbstractOnMissingCreateProcessor implements MapperXmlProce
* @param modelClass model class
* @return model object
*/
protected BaseModel newModelObj(Class<BaseModel> modelClass) {
protected BaseModel<?> newModelObj(Class<BaseModel<?>> modelClass) {
try {
return modelClass.newInstance();
}
@ -90,7 +92,7 @@ public abstract class AbstractOnMissingCreateProcessor implements MapperXmlProce
* @param id node id
* @return element
*/
protected Element createSelectEl(Class<BaseMapper> mapperClass, Document doc, String id) {
protected Element createSelectEl(Class<BaseMapper<?, ?>> mapperClass, Document doc, String id) {
return createSelectEl(doc, id, getModelClass(mapperClass).getName());
}

View File

@ -18,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
* Oct 17, 2015 2:09:20 PM
*/
@Validated
@SuppressWarnings("hiding")
public interface BaseMapper<PrimaryKey, Model extends BaseModel<PrimaryKey>> {
String PARAM_MODEL_KEY = "model";
String PARAM_MODELS_KEY = "models";

View File

@ -23,7 +23,7 @@ public class ColsXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
Element colEl = doc.createElement("sql");
colEl.setAttribute("id", "cols");
colEl.setTextContent(

View File

@ -22,7 +22,7 @@ public class CountXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
return appendIncludeEl(doc, createSelectEl(doc, "count", "int"), "Tigon.count");
}
}

View File

@ -22,7 +22,7 @@ public class DeleteXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
Element deleteEl = doc.createElement("delete");
deleteEl.setAttribute("id", "delete");
return appendIncludeEl(doc, deleteEl, "Tigon.delete");

View File

@ -22,7 +22,7 @@ public class FindXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
return appendIncludeEl(doc,
createSelectEl(mapperClass, doc, "find"), "Tigon.find");
}

View File

@ -25,10 +25,10 @@ public class InsertXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
final Element insertEl = doc.createElement("insert");
insertEl.setAttribute("id", "insert");
Class<BaseModel> modelClass = getModelClass(mapperClass);
Class<BaseModel<?>> modelClass = getModelClass(mapperClass);
UseGeneratedKeys ugkAnnotation =
AnnotationUtils.findAnnotation(modelClass, UseGeneratedKeys.class);
if (ugkAnnotation != null) {

View File

@ -84,11 +84,14 @@ class KeyGenInterceptor implements Interceptor {
BoundSql boundSql = (BoundSql) metaObjStatementHandler.getValue("boundSql");
Object paramObj = boundSql.getParameterObject();
if (paramObj instanceof MapperMethod.ParamMap) {
MapperMethod.ParamMap paramMap = (MapperMethod.ParamMap) paramObj;
@SuppressWarnings("unchecked")
MapperMethod.ParamMap<Object> paramMap =
(MapperMethod.ParamMap<Object>) paramObj;
if (paramMap.containsKey(BaseMapper.PARAM_MODEL_KEY) ||
paramMap.containsKey(BaseMapper.PARAM_MODELS_KEY)) {
KeyGenerator keygen = mappedStatement.getKeyGenerator();
if (keygen.getClass().equals(Jdbc3KeyGenerator.class)) {
log.debug("Replace JDBC3 Key Generator.");
SystemMetaObject.forObject(mappedStatement)
.setValue("keyGenerator",
new Jdbc3KeyGen(keygen));

View File

@ -22,7 +22,7 @@ public class ListXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
return appendIncludeEl(doc,
createSelectEl(mapperClass, doc, "list"), "Tigon.list");
}

View File

@ -16,12 +16,12 @@ public interface MapperXmlProcessor {
* @param xPathParser xpath parser
* @return true if accept process
*/
boolean accept(Class<BaseMapper> mapperClass, XPathParser xPathParser);
boolean accept(Class<BaseMapper<?, ?>> mapperClass, XPathParser xPathParser);
/**
* process document
* @param mapperClass mapper class
* @param document mapper xml document
*/
void process(Class<BaseMapper> mapperClass, Document document);
void process(Class<BaseMapper<?, ?>> mapperClass, Document document);
}

View File

@ -22,7 +22,7 @@ public class PrimaryKeyXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
Element primaryKeyEl = doc.createElement("sql");
primaryKeyEl.setAttribute("id", "primaryKey");
primaryKeyEl.setTextContent(newModelObj(getModelClass(mapperClass)).primaryKeyName());

View File

@ -22,7 +22,7 @@ public class SetNullXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
Element setNullEl = doc.createElement("update");
setNullEl.setAttribute("id", "setNull");
return appendIncludeEl(doc, setNullEl, "Tigon.setNull");

View File

@ -28,10 +28,10 @@ public class TableXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
Element tableEl = doc.createElement("sql");
tableEl.setAttribute("id", "table");
Class<BaseModel> modelClass = getModelClass(mapperClass);
Class<BaseModel<?>> modelClass = getModelClass(mapperClass);
// find table from mapper annotation
Table tableAnnotation =

View File

@ -125,13 +125,14 @@ public class TigonSqlSessionFactoryBean extends SqlSessionFactoryBean {
return resource;
}
private Class<BaseMapper> getMapperClass(String name) {
Class<BaseMapper> mapperClassRtn = null;
@SuppressWarnings("unchecked")
private Class<BaseMapper<?, ?>> getMapperClass(String name) {
Class<BaseMapper<?, ?>> mapperClassRtn = null;
try {
Class<?> classFound = ClassUtils.forName(name,
ClassUtils.getDefaultClassLoader());
if (BaseMapper.class.isAssignableFrom(classFound)) {
mapperClassRtn = (Class<BaseMapper>) classFound;
mapperClassRtn = (Class<BaseMapper<?, ?>>) classFound;
}
}
catch (ClassNotFoundException e) {
@ -164,7 +165,7 @@ public class TigonSqlSessionFactoryBean extends SqlSessionFactoryBean {
xPathParser.evalString("/mapper/@namespace");
if (StringUtils.isNotBlank(mapperNamespace)) {
final Class<BaseMapper> mapperClass =
final Class<BaseMapper<?, ?>> mapperClass =
getMapperClass(mapperNamespace);
if (mapperClass != null) {
MetaObject metaXpp = SystemMetaObject.forObject(xPathParser);

View File

@ -22,7 +22,7 @@ public class UpdateXmlProcessor extends AbstractOnMissingCreateProcessor {
* {@inheritDoc}
*/
@Override
protected Element elementToAppend(Class<BaseMapper> mapperClass, Document doc) {
protected Element elementToAppend(Class<BaseMapper<?, ?>> mapperClass, Document doc) {
Element updateEl = doc.createElement("update");
updateEl.setAttribute("id", "update");
return appendIncludeEl(doc, updateEl, "Tigon.update");