table bug fixes
This commit is contained in:
parent
135462990c
commit
3136e1a364
@ -1,5 +1,7 @@
|
||||
package me.chyxion.tigon.mybatis;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* @author Donghuang <br>
|
||||
* donghuang@wacai.com <br>
|
||||
@ -20,6 +22,10 @@ class AndSearchProcessor extends AbstractSearchProcessor {
|
||||
*/
|
||||
@Override
|
||||
void doProcess(SearchProcessArgs args) {
|
||||
args.getResult().addAll(args.getCondition().getSearch().assemble(true));
|
||||
final Search search = args.getCondition().getSearch();
|
||||
if (StringUtils.isBlank(search.table())) {
|
||||
search.table(args.getTable());
|
||||
}
|
||||
args.getResult().addAll(search.assemble(true));
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package me.chyxion.tigon.mybatis;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* @author Shaun Chyxion <br>
|
||||
* chyxion@163.com <br>
|
||||
@ -7,11 +9,17 @@ package me.chyxion.tigon.mybatis;
|
||||
*/
|
||||
class OrSearchProcessor implements SearchProcessor {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean accept(SearchProcessArgs args) {
|
||||
return CriterionType.OR.equals(args.getCondition().getType());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void process(SearchProcessArgs args) {
|
||||
if (args.isHasPrevCol()) {
|
||||
@ -20,6 +28,10 @@ class OrSearchProcessor implements SearchProcessor {
|
||||
else {
|
||||
args.setHasPrevOrCol(true);
|
||||
}
|
||||
args.getResult().addAll(args.getCondition().getSearch().assemble(true));
|
||||
final Search search = args.getCondition().getSearch();
|
||||
if (StringUtils.isBlank(search.table())) {
|
||||
search.table(args.getTable());
|
||||
}
|
||||
args.getResult().addAll(search.assemble(true));
|
||||
}
|
||||
}
|
||||
|
@ -483,12 +483,20 @@ public class Search implements Serializable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* get table
|
||||
* @return table
|
||||
*/
|
||||
String table() {
|
||||
return this.table;
|
||||
}
|
||||
|
||||
List<Object> assemble(boolean subSearch) {
|
||||
List<Object> result = new LinkedList<Object>();
|
||||
SearchProcessArgs args = new SearchProcessArgs(table, result);
|
||||
for (Criterion condition : criteria) {
|
||||
args.setCondition(condition);
|
||||
for (SearchProcessor processor : PROCESSORS) {
|
||||
final SearchProcessArgs args = new SearchProcessArgs(table, result);
|
||||
for (final Criterion criterion : criteria) {
|
||||
args.setCondition(criterion);
|
||||
for (final SearchProcessor processor : PROCESSORS) {
|
||||
if (processor.accept(args)) {
|
||||
processor.process(args);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user