package com.runqianapp;
import java.util.ArrayList;
import java.util.List;
import com.runqianapp.license.LicenseUtils;
/**
* 授权文件功能点比较实现类
* @author LXY
*
*/
public class LicenseCompare {
/**源授权文件中的功能ID列表*/
List srcList = new ArrayList();
/**目标授权文件中的功能ID列表*/
List newList = new ArrayList();
/**仅存在于源授权文件中的功能ID列表*/
List srcOnlyList = new ArrayList();
/**仅存在与目标授权文件中的功能ID列表*/
List newOnlyList = new ArrayList();
/**两授权文件共同存在的功能ID列表*/
List commonList = new ArrayList();
/**
* 构造方法,在获得LicenseCompare对象时可以直接拿到源授权文件功能列表ID
* @param srcLicenseFilePath 源授权文件路径
*/
public LicenseCompare(String srcLicenseFilePath) {
srcList = LicenseUtils.getLicenseFunctions(srcLicenseFilePath);
for(int i = 0;i<srcList.size();i++){
commonList.add(srcList.get(i));
}
}
/**
* 授权文件功能点比较方法
* @param newLicenseFilePath 目标授权文件路径
*/
public void Compare(String newLicenseFilePath) {
newList = LicenseUtils.getLicenseFunctions(newLicenseFilePath);
commonList.retainAll(newList);
// System.out.println(commonList);
for(int i = 0;i<srcList.size();i++){
boolean flag = false;
for(int j = 0;j<newList.size();j++){
if(srcList.get(i).equals(newList.get(j))){
flag = true;
break;
}
}
if(flag == false){
srcOnlyList.add(srcList.get(i));
}
}
for(int i = 0;i<newList.size();i++){
boolean flag = false;
for(int j = 0;j<srcList.size();j++){
if(newList.get(i).equals(srcList.get(j))){
flag = true;
break;
}
}
if(flag == false){
newOnlyList.add(newList.get(i));
}
}
}
}
基于授权功能点的List比较
最新推荐文章于 2024-02-23 00:49:26 发布