Exemplo n.º 1
0
 public <T extends PoiBaseBo> void processRecords(
     List<ValidateResult<T>> validateResults, BatchProcessor<T> processor) {
   List<T> successRecords = new ArrayList<T>();
   List<T> errorList = new ArrayList<T>();
   for (ValidateResult<T> validateResult : validateResults) {
     if (validateResult.isSuccess()) {
       if (!errorList.contains(validateResult.getObject())
           && !successRecords.contains(validateResult.getObject())) {
         successRecords.add(validateResult.getObject());
       }
     } else {
       int index = successRecords.indexOf(validateResult.getObject());
       if (index >= 0) {
         successRecords.remove(index);
       }
       if (!errorList.contains(validateResult.getObject())) {
         errorList.add(validateResult.getObject());
       }
     }
   }
   Collections.removeDuplicate(successRecords);
   if (successRecords.size() > 0) {
     try {
       processor.processor(successRecords);
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
 }