Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
doujutun3207
flink
提交
fb96f12a
F
flink
项目概览
doujutun3207
/
flink
与 Fork 源项目一致
从无法访问的项目Fork
通知
24
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
flink
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fb96f12a
编写于
12月 16, 2014
作者:
S
Stephan Ewen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Java API] Fix equality checks on PojoTypeInfo
上级
4820ebaf
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
85 addition
and
12 deletion
+85
-12
flink-java/src/main/java/org/apache/flink/api/java/typeutils/PojoTypeInfo.java
...ava/org/apache/flink/api/java/typeutils/PojoTypeInfo.java
+22
-12
flink-java/src/test/java/org/apache/flink/api/java/typeutils/PojoTypeInfoTest.java
...org/apache/flink/api/java/typeutils/PojoTypeInfoTest.java
+63
-0
未找到文件。
flink-java/src/main/java/org/apache/flink/api/java/typeutils/PojoTypeInfo.java
浏览文件 @
fb96f12a
...
...
@@ -102,18 +102,6 @@ public class PojoTypeInfo<T> extends CompositeType<T>{
public
boolean
isKeyType
()
{
return
Comparable
.
class
.
isAssignableFrom
(
typeClass
);
}
@Override
public
String
toString
()
{
List
<
String
>
fieldStrings
=
new
ArrayList
<
String
>();
for
(
PojoField
field
:
fields
)
{
fieldStrings
.
add
(
field
.
field
.
getName
()
+
": "
+
field
.
type
.
toString
());
}
return
"PojoType<"
+
typeClass
.
getCanonicalName
()
+
", fields = ["
+
Joiner
.
on
(
", "
).
join
(
fieldStrings
)
+
"]"
+
">"
;
}
@Override
public
void
getKey
(
String
fieldExpression
,
int
offset
,
List
<
FlatFieldDescriptor
>
result
)
{
...
...
@@ -238,4 +226,26 @@ public class PojoTypeInfo<T> extends CompositeType<T>{
return
new
PojoSerializer
<
T
>(
this
.
typeClass
,
fieldSerializers
,
reflectiveFields
);
}
// --------------------------------------------------------------------------------------------
@Override
public
boolean
equals
(
Object
obj
)
{
return
(
obj
instanceof
PojoTypeInfo
)
&&
((
PojoTypeInfo
<?>)
obj
).
typeClass
==
this
.
typeClass
;
}
@Override
public
int
hashCode
()
{
return
typeClass
.
hashCode
()
+
1387562934
;
}
@Override
public
String
toString
()
{
List
<
String
>
fieldStrings
=
new
ArrayList
<
String
>();
for
(
PojoField
field
:
fields
)
{
fieldStrings
.
add
(
field
.
field
.
getName
()
+
": "
+
field
.
type
.
toString
());
}
return
"PojoType<"
+
typeClass
.
getCanonicalName
()
+
", fields = ["
+
Joiner
.
on
(
", "
).
join
(
fieldStrings
)
+
"]"
+
">"
;
}
}
flink-java/src/test/java/org/apache/flink/api/java/typeutils/PojoTypeInfoTest.java
0 → 100644
浏览文件 @
fb96f12a
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.flink.api.java.typeutils
;
import
static
org
.
junit
.
Assert
.*;
import
org.apache.flink.api.common.typeinfo.TypeInformation
;
import
org.junit.Test
;
public
class
PojoTypeInfoTest
{
@Test
public
void
testEquals
()
{
try
{
TypeInformation
<
TestPojo
>
info1
=
TypeExtractor
.
getForClass
(
TestPojo
.
class
);
TypeInformation
<
TestPojo
>
info2
=
TypeExtractor
.
getForClass
(
TestPojo
.
class
);
assertTrue
(
info1
instanceof
PojoTypeInfo
);
assertTrue
(
info2
instanceof
PojoTypeInfo
);
assertTrue
(
info1
.
equals
(
info2
));
assertTrue
(
info1
.
hashCode
()
==
info2
.
hashCode
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
fail
(
e
.
getMessage
());
}
}
public
static
final
class
TestPojo
{
public
int
someInt
;
private
String
aString
;
public
Double
[]
doubleArray
;
public
void
setaString
(
String
aString
)
{
this
.
aString
=
aString
;
}
public
String
getaString
()
{
return
aString
;
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录