小编use*_*188的帖子

使用findAll方法的Groovy过滤数组

我正在学习Groovy,我正在尝试编写以下Java代码的替代方法.

Collection<Record> records = requestHelper.getUnmatchedRecords();
Collection<Integer> recordIdentifiers = new ArrayList<>();
for (Record record : records){
    int rowId = record.getValue("RowID");
    if (rowId >= min && rowId <= max) {
        recordIdentifiers.add(rowId);
    }
}
Run Code Online (Sandbox Code Playgroud)

运行该位代码时,recordIdentifiers应包含50个项目.到目前为止,这是我的Groovy等价物.

def records = requestHelper.getUnmatchedRecords()
def recordIdentifiers = records.findAll{record ->
    int rowId = record.getValue("RowId")
    rowId >= min && rowId <= max
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,在执行Groovy代码之后,该数组包含100个项目.当我在Groovy中本地构造数组时,我遇到的findAll()的所有示例都进行了简单的比较,但是如何过滤从Java类接收的Collection?

java arrays groovy

4
推荐指数
1
解决办法
7555
查看次数

从Java中的基类访问子类字段

我有一个名为Geometry的基类,其中存在一个子类Sphere:

public class Geometry 
{
 String shape_name;
 String material;

 public Geometry()
 {
     System.out.println("New geometric object created.");
 }
}
Run Code Online (Sandbox Code Playgroud)

和子类:

public class Sphere extends Geometry
{
 Vector3d center;
 double radius;

 public Sphere(Vector3d coords, double radius, String sphere_name, String material)
 {
  this.center = coords;
  this.radius = radius;
  super.shape_name = sphere_name;
  super.material = material;
 }
}
Run Code Online (Sandbox Code Playgroud)

我有一个包含所有Geometry对象的ArrayList,我想迭代它以检查是否正确读取了文本文件中的数据.到目前为止,这是我的迭代器方法:

public static void check()
 {
  Iterator<Geometry> e = objects.iterator();
  while (e.hasNext())
  {
   Geometry g = (Geometry) e.next();
   if (g instanceof …
Run Code Online (Sandbox Code Playgroud)

java oop inheritance class subclass

3
推荐指数
1
解决办法
8482
查看次数

Mule ESB:如何根据主题或发件人过滤电子邮件?

我是Mule 3.3的新手,如果发件人字段和主题字段包含某些关键字,我正尝试使用它从POP3服务器检索电子邮件并下载CSV附件.我使用了Mulesoft网站上提供的示例,我已成功设法扫描我的收件箱中的新电子邮件,并且只下载了CSV附件.但是,我现在卡住了,因为我无法弄清楚如何按主题和发件人字段过滤电子邮件.

做一些研究我遇到了一个可以应用于端点的消息属性过滤器模式标签,但我不确定应用它的哪个端点,传入或传出.这两种方法似乎都不起作用,我找不到一个体面的例子来展示如何使用这个标签.我想实现的基本算法如下:

if email is from "Bob"
  if attachment of type "CSV"
    then download CSV attachment

if email subject field contains "keyword"
  if attachment of type CSV
    then download CSV attachment
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的Mule xml:

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:pop3s="http://www.mulesoft.org/schema/mule/pop3s" xmlns:pop3="http://www.mulesoft.org/schema/mule/pop3" 
xmlns="http://www.mulesoft.org/schema/mule/core" 
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.3.1" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/pop3s http://www.mulesoft.org/schema/mule/pop3s/current/mule-pop3s.xsd 
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/pop3 http://www.mulesoft.org/schema/mule/pop3/current/mule-pop3.xsd ">


<expression-transformer expression="#[attachments-list:*.csv]" 
   name="returnAttachments" doc:name="Expression">
</expression-transformer>

<pop3s:connector name="POP3Connector" 
    checkFrequency="5000" 
    deleteReadMessages="false" 
    defaultProcessMessageAction="RECENT" 
    doc:name="POP3" 
    validateConnections="true">
</pop3s:connector>

<file:connector name="fileName" doc:name="File">
    <file:expression-filename-parser />
</file:connector>

<flow …
Run Code Online (Sandbox Code Playgroud)

email esb header filter mule

3
推荐指数
1
解决办法
4926
查看次数

标签 统计

java ×2

arrays ×1

class ×1

email ×1

esb ×1

filter ×1

groovy ×1

header ×1

inheritance ×1

mule ×1

oop ×1

subclass ×1