Data Filter JAVA

package com;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class DataFilter {
public static void main(String[] args) {
//声明数组,通过数组注明需要获取的colnum
//0 Item Id、1 Title 、3 Assigned To、4 Country 、10 Item Type 、11 Last Modified Date 、16 Severity 、19 Submitter
int [] ca = new int[]{0,1,3,4,10,11,16,19};
//0 Item Id、1 Title 、2 Assigned To、4 Country 、9 Item Type 、10 Last Modified Date 、17 Severity 、20 Submitter
int [] fem = new int[]{0,1,2,4,9,10,17,20};
//0 Item Id、1 Title 、3 Assigned To、4 Country 、9 Item Type 、10 Last Modified Date 、17 Severity 、20 Submitter
int [] flextrade = new int[]{0,1,3,4,9,10,17,20};
//0 Item Id、1 Title 、6 Assigned To、5 Country 、2 Item Type 、10 Last Modified Date 、8 Severity 、4 Submitter 、
int [] ibor = new int[]{0,1,6,5,2,10,8,4};
//0 Item Id、1 Title 、3 Assigned To、4 Country 、13 Item Type 、14 Last Modified Date 、22 Severity 、25 Submitter
int [] ibor_it = new int[]{0,1,3,4,13,14,22,25};
//0 Item Id、1 Title 、3 Assigned To、4 Country 、9 Item Type 、10 Last Modified Date 、17 Severity 、20 Submitter
int [] icrm = new int[]{0,1,3,4,9,10,17,20};
//0 Item Id、1 Title 、3 Assigned To、4 Country 、9 Item Type 、10 Last Modified Date 、17 Severity 、20 Submitter
int [] ilevel = new int[]{0,1,3,4,9,10,14,17,20};
//0 Item Id、1 Title 、3 Assigned To、4 Country 、9 Item Type 、10 Last Modified Date 、17 Severity 、20 Submitter
int [] maya_etl = new int[]{0,1,3,4,9,10,14,17,20};
//0 Item Id、1 Title 、3 Assigned To、4 Country 、9 Item Type 、10 Last Modified Date 、17 Severity 、20 Submitter
int [] others = new int[]{0,1,3,4,9,10,17,20};
//0 Item Id、1 Title 、3 Assigned To、4 Country 、9 Item Type 、10 Last Modified Date 、17 Severity 、20 Submitter
int [] ro = new int[]{0,1,3,4,9,10,17,20};
//0 Item Id、1 Title 、3 Assigned To、5 Country 、13 Item Type 、14 Last Modified Date 、25 Severity 、28 Submitter
int [] sianii = new int[]{0,1,3,5,13,14,25,28};

    //声明数组jira,通过数组注明需要获取的colnum
    //1 jirafem Summary、5 Invest_report_itemtype、8 Severity、13 Updated、15 TT_Assignee、17 TT_Country、19 TT_Submitter、20 Team Track ID
    int [] jirafem = new int[]{1,5,8,13,15,17,19,20};
    int [] jiraflextrade = new int[]{1,5,8,13,15,17,19,20};
    //IBOR和IBOR_IT合成了一份
    int [] jiraibor = new int[]{1,5,8,13,15,17,19,20};
    int [] jiraicrm = new int[]{1,5,8,13,15,17,19,20};
    int [] jirailevel = new int[]{1,5,8,13,15,17,19,20};
    int [] jiramaya = new int[]{1,5,8,13,15,17,19,20};
    int [] jiraothers = new int[]{1,5,8,13,15,17,19,20};
    int [] jiraro = new int[]{1,5,8,13,15,17,19,20};
    int [] jirasaaniity = new int[]{1,5,8,13,15,17,19,20};
    int [] jiratlm = new int[]{1,5,8,13,15,17,19,20};
    //获取每个xlsx的list;
    List<List> caList = Utils.readAssignByExcelca("C:\\wz\\Crester\\9-20\\marked//CA.xlsx",0,ca);

// System.out.println("caList : "+caList);
// System.out.println("caList.size() : "+caList.size());
List femList = Utils.readAssignByExcelfem(“C:\wz\Crester\9-20\marked//FEM.xlsx”,0,fem);
// System.out.println("femList : "+femList);
// System.out.println("femList.size() : "+femList.size());
List flextradeList = Utils.readAssignByExcel(“C:\wz\Crester\9-20\marked//FlexTrade.xlsx”,0,flextrade);
// System.out.println("flextradeList : "+flextradeList);
// System.out.println("flextradeList.size() : "+flextradeList.size());
List iborList = Utils.readAssignByExcelibor(“C:\wz\Crester\9-20\marked//IBOR.xlsx”,0,ibor);
// System.out.println("iborList : "+iborList);
// System.out.println("iborList.size() : "+iborList.size());
List ibor_itList = Utils.readAssignByExcelibor_it(“C:\wz\Crester\9-20\marked//IBOR_IT.xlsx”,0,ibor_it);
// System.out.println("ibor_itList : "+ibor_itList);
// System.out.println("ibor_itList.size() : "+ibor_itList.size());
List icrmList = Utils.readAssignByExcelicrm(“C:\wz\Crester\9-20\marked//iCRM.xlsx”,0,icrm);
// System.out.println("icrmList : "+icrmList);
// System.out.println("icrmList.size() : "+icrmList.size());
List ilevelList = Utils.readAssignByExcelilevel(“C:\wz\Crester\9-20\marked//iLevel.xlsx”,0,ilevel);
// System.out.println("ilevelList : "+ilevelList);
// System.out.println("ilevelList.size() : "+ilevelList.size());
List maya_etlList = Utils.readAssignByExcelmayaetl(“C:\wz\Crester\9-20\marked//MAYA_ETL.xlsx”,0,maya_etl);
// System.out.println("maya_etlList : "+maya_etlList);
// System.out.println("maya_etlList.size() : "+maya_etlList.size());
// List maya1List = Utils.readAssignByExcel1(“C:\wz\Crester\9-20\marked//MAYA1.xlsx”,0,maya1);
List othersList = Utils.readAssignByExcel(“C:\wz\Crester\9-20\marked//Others.xlsx”,0,others);
// System.out.println("othersList : "+othersList);
// System.out.println("othersList.size() : "+othersList.size());
List roList = Utils.readAssignByExcel(“C:\wz\Crester\9-20\marked//RO.xlsx”,0,ro);
// System.out.println("roList : "+roList);
// System.out.println("roList.size() : "+roList.size());
List sianiiList = Utils.readAssignByExcel1(“C:\wz\Crester\9-20\marked//SIANII.xlsx”,0,sianii);
// System.out.println("sianiiList : "+sianiiList);
// System.out.println("sianiiList.size() : "+sianiiList.size());
// System.exit(1);

    //获取JIRA List;
    List<List>  jiraList = Utils.readAssignByJiraExcel("C:\\wz\\Crester\\9-20\\JIRA//Jira_Flextrade (2).xlsx",0,jiraflextrade);
    List<List>  Jira_Fem_List = Utils.readAssignByJiraExcel("C:\\wz\\Crester\\9-20\\JIRAxlsx//Jira_FEM_new.xlsx",0,jirafem);

// System.out.println("Jira_Fem_List : "+Jira_Fem_List);
// System.out.println("Jira_Fem_List.get(0).get(7) : "+Jira_Fem_List.get(0).get(7));
List Jira_Fem_TeamTrackIDList = new ArrayList();
for (int i = 0;i<Jira_Fem_List.size();i++){
Jira_Fem_TeamTrackIDList.add(Jira_Fem_List.get(i).get(7));
}
List Fem_ItemIdList = new ArrayList();
for(int i = 0;i<femList.size();i++){
Fem_ItemIdList.add(femList.get(i).get(0));
}
// System.out.println("Fem_ItemIdList.size() : "+Fem_ItemIdList.size());
// System.out.println(Fem_ItemIdList);

    //求交集
    //fem、jira_fem
    List<List> FemInterSection = Utils.findIntersection(Jira_Fem_List,Jira_Fem_TeamTrackIDList);

// System.out.println(FemInterSection.get(0).get(7));
int fls = femList.size();
int jfls =Jira_Fem_List.size();
int fiss = FemInterSection.size();

// System.out.println("Jira_Fem_List : "+Jira_Fem_List);
//list
List errorList = new ArrayList<>();
List unExistList = new ArrayList<>();
for(int i = 0;i < fls;i++){
int n = 0;
//0 Item Id、1 Title、2 Assigned To、4 Country、9 Item Type、10 Last Modified Date、17 Severity、20 Submitter
// System.out.println("femList : "+femList);
String fem_item_id = femList.get(i).get(0).toString();
String fem_Title = femList.get(i).get(1).toString();
String fem_Assigned_To = femList.get(i).get(2).toString();
String fem_Country = femList.get(i).get(3).toString();
String fem_Item_Type = femList.get(i).get(4).toString();
String fem_Last_Modified_Date = femList.get(i).get(5).toString();
String fem_Severity = femList.get(i).get(6).toString();
// System.out.println(fem_Severity);
String fem_Submitter = femList.get(i).get(7).toString();
// System.out.println(fem_Submitter);
List errli = new ArrayList<>();
for(int j = 0;j < jfls ;j++){
//1 jirafem Summary、5 Invest_report_itemtype、8 Severity、13 Updated、15 TT_Assignee、17 TT_Country、19 TT_Submitter、20 Team Track ID
String Jira_Summary = Jira_Fem_List.get(j).get(0).toString();
String Jira_Invest_report_itemtype = Jira_Fem_List.get(j).get(1).toString();
String Jira_Severity = Jira_Fem_List.get(j).get(2).toString();
String Jira_Updated = Jira_Fem_List.get(j).get(3).toString();
String Jira_TT_Assignee = Jira_Fem_List.get(j).get(4).toString();
String Jira_TT_Country = Jira_Fem_List.get(j).get(5).toString();
String Jira_TT_Submitter = Jira_Fem_List.get(j).get(6).toString();
String Jira_Team_Track_ID = Jira_Fem_List.get(j).get(7).toString();
if(fem_item_id.equals(Jira_Team_Track_ID)){
if(!fem_Title.equals(Jira_Summary)){
System.out.println("Jira_Summary : "+Jira_Summary);
errli.add(Jira_Summary);
}
if(!fem_Item_Type.equals(Jira_Invest_report_itemtype)){
System.out.println("Jira_Invest_report_itemtype : "+Jira_Invest_report_itemtype);
errli.add(Jira_Invest_report_itemtype);
}
if(!fem_Severity.equals(Jira_Severity)){
System.out.println("Jira_Severity : "+Jira_Severity);
errli.add(Jira_Severity);
}
if(!fem_Last_Modified_Date.equals(Jira_Updated)){
System.out.println("Jira_Updated : "+Jira_Updated);
errli.add(Jira_Updated);
}
if(!fem_Assigned_To.equals(Jira_TT_Assignee)){
System.out.println("Jira_TT_Assignee : "+Jira_TT_Assignee);
errli.add(Jira_TT_Assignee);
}
if(!fem_Country.equals(Jira_TT_Country)){
System.out.println("Jira_TT_Country : "+Jira_TT_Country);
errli.add(Jira_TT_Country);
}
if(!fem_Submitter.equals(Jira_TT_Submitter)){
System.out.println("Jira_TT_Submitter : "+Jira_TT_Submitter);
errli.add(Jira_TT_Submitter);
}
if(errli.size()>0){
System.out.println("Jira_Team_Track_ID : "+Jira_Team_Track_ID);
errli.add(0,Jira_Team_Track_ID);
}
n = n+1;
}
}
errorList.add(errli);
if(n == 0){
unExistList.add(femList.get(i));
}
}

    System.out.println("errorList : "+errorList);
    System.out.println("unExistList : "+unExistList);

// for(int i = 0;i < fiss;i++){
// if(FemInterSection.get(i).get(7).toString().equals(femList.get(3).get(0).toString())){
// System.out.println(FemInterSection.get(i).get(7).toString());
// }
// }

    System.exit(1);

    //合并list

// List mergeList = new ArrayList<>();
// mergeList.addAll(caList);
// mergeList.addAll(femList);
// mergeList.addAll(flextradeList);
// mergeList.addAll(iborList);
// mergeList.addAll(ibor_itList);
// mergeList.addAll(icrmList);
// mergeList.addAll(ilevelList);
// mergeList.addAll(maya_etlList);
// mergeList.addAll(maya1List);
// mergeList.addAll(othersList);
// mergeList.addAll(roList);
// mergeList.addAll(sianiiList);

// int mls = mergeList.size();
List TeamTrackIDList = new ArrayList();
for (int i = 0;i<jiraList.size();i++){
TeamTrackIDList.add(jiraList.get(i).get(4));
}

    //找出两个集合 Team Track ID与Issue_id相同部分;

// List interSectList = Utils.findIntersection(mergeList,TeamTrackIDList);

    List<List> idL = new ArrayList<>();

// for (int i = 0;i<interSectList.size();i++){
// idL.add((interSectList.get(i)));
// }

    for(int i = 0;i < idL.size();i++){

// if(!interSectList.get(1).equals(TeamTrackIDList.get(1))){
// System.out.println("!interSectList.get(1).equals(TeamTrackIDList.get(1))"+interSectList.get(1));
// }
}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lambdas Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Why Did They Need to Change Java Again? 1 What Is Functional Programming? 2 Example Domain 3 2. Lambda Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Your First Lambda Expression 5 How to Spot a Lambda in a Haystack 6 Using Values 8 Functional Interfaces 9 Type Inference 11 Key Points 13 Exercises 14 3. Streams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 From External Iteration to Internal Iteration 17 What’s Actually Going On 20 Common Stream Operations 21 collect(toList()) 22 map 22 filter 24 flatMap 25 max and min 26 A Common Pattern Appears 27 reduce 28 Putting Operations Together 30 Refactoring Legacy Code 31 iii Multiple Stream Calls 34 Higher-Order Functions 36 Good Use of Lambda Expressions 36 Key Points 37 Exercises 37 Advanced Exercises 39 4. Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Using Lambda Expressions in Code 41 Primitives 42 Overload Resolution 45 @FunctionalInterface 47 Binary Interface Compatibility 47 Default Methods 48 Default Methods and Subclassing 49 Multiple Inheritance 52 The Three Rules 53 Tradeoffs 54 Static Methods on Interfaces 54 Optional 55 Key Points 56 Exercises 57 Open Exercises 58 5. Advanced Collections and Collectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Method References 59 Element Ordering 60 Enter the Collector 62 Into Other Collections 62 To Values 63 Partitioning the Data 64 Grouping the Data 65 Strings 66 Composing Collectors 67 Refactoring and Custom Collectors 69 Reduction as a Collector 76 Collection Niceties 77 Key Points 78 Exercises 78 6. Data Parallelism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Parallelism Versus Concurrency 81 iv | Table of Contents Why Is Parallelism Important? 83 Parallel Stream Operations 83 Simulations 85 Caveats 88 Performance 89 Parallel Array Operations 92 Key Points 94 Exercises 94 7. Testing, Debugging, and Refactoring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Lambda Refactoring Candidates 97 In, Out, In, Out, Shake It All About 98 The Lonely Override 98 Behavioral Write Everything Twice 99 Unit Testing Lambda Expressions 102 Using Lambda Expressions in Test Doubles 105 Lazy Evaluation Versus Debugging 106 Logging and Printing 106 The Solution: peek 107 Midstream Breakpoints 107 Key Points 108 8. Design and Architectural Principles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Lambda-Enabled Design Patterns 110 Command Pattern 110 Strategy Pattern 114 Observer Pattern 117 Template Method Pattern 119 Lambda-Enabled Domain-Specific Languages 123 A DSL in Java 124 How We Got There 125 Evaluation 127 Lambda-Enabled SOLID Principles 127 The Single Responsibility Principle 128 The Open/Closed Principle 130 The Dependency Inversion Principle 134 Further Reading 137 Key Points 137 9. Lambda-Enabled Concurrency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Why Use Nonblocking I/O? 139 Callbacks 140 Table of Contents | v Message Passing Architectures 144 The Pyramid of Doom 145 Futures 147 Completable Futures 149 Reactive Programming 152 When and Where 155 Key Points 155 Exercises 156 10. Moving Forward 159
Java中,可以使用Filter来获取multipart/form-data类型的请求数据。multipart/form-data是一种常用的HTTP请求数据格式,通常用于上传文件或提交表单数据。 要获取multipart/form-data类型的请求数据,可以按照以下步骤进行操作: 1. 创建一个实现了javax.servlet.Filter接口的过滤器类,并在web.xml文件中进行配置。 2. 在过滤器类中,重写doFilter方法,在该方法中获取HttpServletRequest对象,并通过该对象获取请求的内容。 3. 使用HttpServletRequest对象的getParts()方法获取请求中的所有Part对象。 4. 遍历Part对象,通过Part对象的getName()方法获取参数名,通过Part对象的getInputStream()方法获取参数值。 下面是一个示例代码,演示了如何获取multipart/form-data类型的请求数据: ```java import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; import java.io.IOException; import java.util.Collection; @WebFilter(filterName = "FormDataFilter", urlPatterns = "/*") public class FormDataFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { // 初始化操作 } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = (HttpServletResponse) response; // 判断请求类型是否为multipart/form-data if (httpRequest.getContentType() != null && httpRequest.getContentType().startsWith("multipart/form-data")) { try { Collection<Part> parts = httpRequest.getParts(); for (Part part : parts) { String paramName = part.getName(); // 获取参数值 // InputStream inputStream = part.getInputStream(); // 处理参数值 } } catch (Exception e) { e.printStackTrace(); httpResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return; } } chain.doFilter(request, response); } @Override public void destroy() { // 销毁操作 } } ``` 请注意,上述代码仅演示了获取multipart/form-data类型的请求数据的基本步骤,具体的处理逻辑需要根据实际需求进行编写。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值