Browse Source

Fix error of List's size

sunyj 8 years ago
parent
commit
f728b7e2fa

+ 4 - 4
kanban-console/src/main/java/com/uas/kanban/service/impl/PanelInstanceServiceImpl.java

@@ -132,7 +132,7 @@ public class PanelInstanceServiceImpl extends BaseService<PanelInstance> impleme
      * @param references 参照对象
      */
     private void resetSQLParameter(List<Parameter> parameters, List<Parameter> references) {
-        int parametersSize = parameters == null ? 0 : parameters.size() - 1;
+        int parametersSize = parameters == null ? -1 : parameters.size() - 1;
         for (int i = parametersSize; i >= 0; i--) {
             Parameter parameter = parameters.get(i);
             // 只重置 SQL 类型
@@ -140,7 +140,7 @@ public class PanelInstanceServiceImpl extends BaseService<PanelInstance> impleme
                 continue;
             }
             // 获取 code 相同的参数,用于重置
-            for (int j = references == null ? 0 : references.size() - 1; j >= 0; j--) {
+            for (int j = references == null ? -1 : references.size() - 1; j >= 0; j--) {
                 Parameter reference = references.get(j);
                 if (Objects.equals(parameter.getCode(), reference.getCode())) {
                     parameter.setOptionalValues(reference.getOptionalValues());
@@ -160,13 +160,13 @@ public class PanelInstanceServiceImpl extends BaseService<PanelInstance> impleme
             IOException {
         // 因为对象会被修改,所以先进行深克隆,参照对象不需要克隆
         List<Parameter> parametersClone = (List<Parameter>) ObjectUtils.clone(parameters);
-        int parametersSize = parametersClone == null ? 0 : parametersClone.size() - 1;
+        int parametersSize = parametersClone == null ? -1 : parametersClone.size() - 1;
         for (int i = parametersSize; i >= 0; i--) {
             Parameter parameter = parametersClone.get(i);
             // 先检查值
             parameter.checkValue();
             // 再去除 code 相同的参数,以找出不一样的参数
-            for (int j = references == null ? 0 : references.size() - 1; j >= 0; j--) {
+            for (int j = references == null ? -1 : references.size() - 1; j >= 0; j--) {
                 Parameter reference = references.get(j);
                 if (Objects.equals(parameter.getCode(), reference.getCode())) {
                     // 排除值的干扰