|  |  | 
 |  |  |                   if(clazz.isAnnotationPresent(AnnotationDriver.class)){ | 
 |  |  |                      AnnotationDriver ann = clazz.getAnnotation(AnnotationDriver.class) ; | 
 |  |  |                      if(ann != null){ | 
 |  |  |                         protocolName = ann.name() ; | 
 |  |  |                         if(!(protocolName.trim().equals(""))){ | 
 |  |  |                            if(driverMap.containsKey(protocolName)){ | 
 |  |  |                               throw new Exception("严重错误,协议驱动名称" + protocolName + "出现了重复注解!") ; | 
 |  |  |                         if(ann.enable()){ | 
 |  |  |                            protocolName = ann.name() ; | 
 |  |  |                            if(!(protocolName.trim().equals(""))){ | 
 |  |  |                               if(driverMap.containsKey(protocolName)){ | 
 |  |  |                                  throw new Exception("严重错误,协议驱动名称" + protocolName + "出现了重复注解!") ; | 
 |  |  |                               } | 
 |  |  |                               driverMap.put(protocolName, new AnnotationDriverVo(clazz)) ; | 
 |  |  |                            }else{ | 
 |  |  |                               throw new Exception("严重错误,协议驱动名称注解值为空字符串") ; | 
 |  |  |                            } | 
 |  |  |                            driverMap.put(protocolName, new AnnotationDriverVo(clazz)) ; | 
 |  |  |                         }else{ | 
 |  |  |                            throw new Exception("严重错误,协议驱动名称注解值为空字符串") ; | 
 |  |  |                         } | 
 |  |  |                      } | 
 |  |  |                   } | 
 |  |  | 
 |  |  |                   if(clazz.isAnnotationPresent(AnnotationPrefixedDataAvailable.class)){ | 
 |  |  |                      AnnotationPrefixedDataAvailable ann = clazz.getAnnotation(AnnotationPrefixedDataAvailable.class) ; | 
 |  |  |                      if(ann != null){ | 
 |  |  |                         protocolName = ann.protocolName() ; | 
 |  |  |                         if(!(protocolName.trim().equals(""))){ | 
 |  |  |                            if(prefixedDataAvailableMap.containsKey(protocolName)){ | 
 |  |  |                               throw new Exception("严重错误, 上行数据完整性检查所配协议驱动" + protocolName + "出现了重复注解!") ; | 
 |  |  |                         if(ann.enable()){ | 
 |  |  |                            protocolName = ann.protocolName() ; | 
 |  |  |                            if(!(protocolName.trim().equals(""))){ | 
 |  |  |                               if(prefixedDataAvailableMap.containsKey(protocolName)){ | 
 |  |  |                                  throw new Exception("严重错误, 上行数据完整性检查所配协议驱动" + protocolName + "出现了重复注解!") ; | 
 |  |  |                               } | 
 |  |  |                            }else{ | 
 |  |  |                               throw new Exception("严重错误,上行数据完整性检查所配协议驱动注解值为空字符串") ; | 
 |  |  |                            } | 
 |  |  |                         }else{ | 
 |  |  |                            throw new Exception("严重错误,上行数据完整性检查所配协议驱动注解值为空字符串") ; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         priority = ann.priority() ; | 
 |  |  |                         if(priority == 0){ | 
 |  |  |                            throw new Exception("严重错误, 上行数据完整性检查所配优先级注解不能为0") ; | 
 |  |  |                         } | 
 |  |  |                         if(isRepeatPrefixedDataAvailablePriority(priority, prefixedDataAvailableMap)){ | 
 |  |  |                            throw new Exception("严重错误, 上行数据完整性检查所配优先级注解(priority)数值" + priority + "重复") ; | 
 |  |  |                         } | 
 |  |  |                            priority = ann.priority() ; | 
 |  |  |                            if(priority == 0){ | 
 |  |  |                               throw new Exception("严重错误, 上行数据完整性检查所配优先级注解不能为0") ; | 
 |  |  |                            } | 
 |  |  |                            if(isRepeatPrefixedDataAvailablePriority(priority, prefixedDataAvailableMap)){ | 
 |  |  |                               throw new Exception("严重错误, 上行数据完整性检查所配优先级注解(priority)数值" + priority + "重复") ; | 
 |  |  |                            } | 
 |  |  |  | 
 |  |  |                         onLineDataMinLength = ann.onLineDataMinLength() ; | 
 |  |  |                   /*气象协议为0 | 
 |  |  |                   if(onLineDataMinLength == 0){ | 
 |  |  |                      throw new Exception("严重错误, 上行数据完整性检查所配上线数据最小长度注解不能为0") ; | 
 |  |  |                   } | 
 |  |  |                   */ | 
 |  |  |                         headMinLength = ann.headMinLength() ; | 
 |  |  |                   /*气象协议为0 | 
 |  |  |                   if(headMinLength == 0){ | 
 |  |  |                      throw new Exception("严重错误, 上行数据完整性检查所配上报数据的头部最小长度注解不能为0") ; | 
 |  |  |                   } | 
 |  |  |                   */ | 
 |  |  |  | 
 |  |  |                         prefixedDataAvailableMap.put(protocolName, new AnnotationPrefixedDataAvailableVo(clazz, protocolName, priority, onLineDataMinLength, headMinLength, ProtocolConstant.errorMaxLength)) ; | 
 |  |  |                            onLineDataMinLength = ann.onLineDataMinLength() ; | 
 |  |  |                            /*气象协议为0 | 
 |  |  |                            if(onLineDataMinLength == 0){ | 
 |  |  |                               throw new Exception("严重错误, 上行数据完整性检查所配上线数据最小长度注解不能为0") ; | 
 |  |  |                            } | 
 |  |  |                            */ | 
 |  |  |                                     headMinLength = ann.headMinLength() ; | 
 |  |  |                            /*气象协议为0 | 
 |  |  |                            if(headMinLength == 0){ | 
 |  |  |                               throw new Exception("严重错误, 上行数据完整性检查所配上报数据的头部最小长度注解不能为0") ; | 
 |  |  |                            } | 
 |  |  |                            */ | 
 |  |  |                            prefixedDataAvailableMap.put(protocolName, new AnnotationPrefixedDataAvailableVo(clazz, protocolName, priority, onLineDataMinLength, headMinLength, ProtocolConstant.errorMaxLength)) ; | 
 |  |  |                         } | 
 |  |  |                      } | 
 |  |  |                   } | 
 |  |  |  | 
 |  |  |                   if(clazz.isAnnotationPresent(AnnotationOnLine.class)){ | 
 |  |  |                      AnnotationOnLine ann = clazz.getAnnotation(AnnotationOnLine.class) ; | 
 |  |  |                      if(ann != null){ | 
 |  |  |                         protocolName = ann.protocolName() ; | 
 |  |  |                         if(!(protocolName.trim().equals(""))){ | 
 |  |  |                            if(onLineMap.containsKey(protocolName)){ | 
 |  |  |                               throw new Exception("严重错误, 上线数据分析所配协议驱动" + protocolName + "出现了重复注解!") ; | 
 |  |  |                         if(ann.enable()){ | 
 |  |  |                            protocolName = ann.protocolName() ; | 
 |  |  |                            if(!(protocolName.trim().equals(""))){ | 
 |  |  |                               if(onLineMap.containsKey(protocolName)){ | 
 |  |  |                                  throw new Exception("严重错误, 上线数据分析所配协议驱动" + protocolName + "出现了重复注解!") ; | 
 |  |  |                               } | 
 |  |  |                            }else{ | 
 |  |  |                               throw new Exception("严重错误,上线数据分析所配协议驱动注解值为空字符串") ; | 
 |  |  |                            } | 
 |  |  |                         }else{ | 
 |  |  |                            throw new Exception("严重错误,上线数据分析所配协议驱动注解值为空字符串") ; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         priority = ann.priority() ; | 
 |  |  |                         if(priority == 0){ | 
 |  |  |                            throw new Exception("严重错误, 上线数据分析所配优先级注解不能为0") ; | 
 |  |  |                         } | 
 |  |  |                         if(isRepeatOnLinePriority(priority, onLineMap)){ | 
 |  |  |                            throw new Exception("严重错误, 上线数据分析所配优先级注解(priority)数值" + priority + "重复") ; | 
 |  |  |                         } | 
 |  |  |                            priority = ann.priority() ; | 
 |  |  |                            if(priority == 0){ | 
 |  |  |                               throw new Exception("严重错误, 上线数据分析所配优先级注解不能为0") ; | 
 |  |  |                            } | 
 |  |  |                            if(isRepeatOnLinePriority(priority, onLineMap)){ | 
 |  |  |                               throw new Exception("严重错误, 上线数据分析所配优先级注解(priority)数值" + priority + "重复") ; | 
 |  |  |                            } | 
 |  |  |  | 
 |  |  |                         onLineMap.put(protocolName, new AnnotationOnLineVo(clazz, protocolName, priority)) ; | 
 |  |  |                            onLineMap.put(protocolName, new AnnotationOnLineVo(clazz, protocolName, priority)) ; | 
 |  |  |                         } | 
 |  |  |                      } | 
 |  |  |                   } | 
 |  |  |                } |