Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
54c1d936
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
54c1d936
编写于
8月 08, 2008
作者:
E
emcmanus
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6610174: Improve CompositeDataSupport.toString when it includes arrays
Reviewed-by: dfuchs
上级
3e28ab1d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
105 addition
and
2 deletion
+105
-2
src/share/classes/javax/management/openmbean/CompositeDataSupport.java
...sses/javax/management/openmbean/CompositeDataSupport.java
+16
-2
test/javax/management/openmbean/CompositeDataStringTest.java
test/javax/management/openmbean/CompositeDataStringTest.java
+89
-0
未找到文件。
src/share/classes/javax/management/openmbean/CompositeDataSupport.java
浏览文件 @
54c1d936
...
@@ -355,6 +355,7 @@ public class CompositeDataSupport
...
@@ -355,6 +355,7 @@ public class CompositeDataSupport
* @return <code>true</code> if the specified object is equal to this
* @return <code>true</code> if the specified object is equal to this
* <code>CompositeDataSupport</code> instance.
* <code>CompositeDataSupport</code> instance.
*/
*/
@Override
public
boolean
equals
(
Object
obj
)
{
public
boolean
equals
(
Object
obj
)
{
if
(
this
==
obj
)
{
if
(
this
==
obj
)
{
return
true
;
return
true
;
...
@@ -419,6 +420,7 @@ public class CompositeDataSupport
...
@@ -419,6 +420,7 @@ public class CompositeDataSupport
*
*
* @return the hash code value for this <code>CompositeDataSupport</code> instance
* @return the hash code value for this <code>CompositeDataSupport</code> instance
*/
*/
@Override
public
int
hashCode
()
{
public
int
hashCode
()
{
int
hashcode
=
compositeType
.
hashCode
();
int
hashcode
=
compositeType
.
hashCode
();
...
@@ -457,16 +459,28 @@ public class CompositeDataSupport
...
@@ -457,16 +459,28 @@ public class CompositeDataSupport
*
*
* @return a string representation of this <code>CompositeDataSupport</code> instance
* @return a string representation of this <code>CompositeDataSupport</code> instance
*/
*/
@Override
public
String
toString
()
{
public
String
toString
()
{
return
new
StringBuilder
()
return
new
StringBuilder
()
.
append
(
this
.
getClass
().
getName
())
.
append
(
this
.
getClass
().
getName
())
.
append
(
"(compositeType="
)
.
append
(
"(compositeType="
)
.
append
(
compositeType
.
toString
())
.
append
(
compositeType
.
toString
())
.
append
(
",contents="
)
.
append
(
",contents="
)
.
append
(
content
s
.
to
String
())
.
append
(
contentString
())
.
append
(
")"
)
.
append
(
")"
)
.
toString
();
.
toString
();
}
}
private
String
contentString
()
{
StringBuilder
sb
=
new
StringBuilder
(
"{"
);
String
sep
=
""
;
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
contents
.
entrySet
())
{
sb
.
append
(
sep
).
append
(
entry
.
getKey
()).
append
(
"="
);
String
s
=
Arrays
.
deepToString
(
new
Object
[]
{
entry
.
getValue
()});
sb
.
append
(
s
.
substring
(
1
,
s
.
length
()
-
1
));
sep
=
", "
;
}
sb
.
append
(
"}"
);
return
sb
.
toString
();
}
}
}
test/javax/management/openmbean/CompositeDataStringTest.java
0 → 100644
浏览文件 @
54c1d936
/*
* Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
import
javax.management.openmbean.CompositeType
;
import
javax.management.openmbean.OpenType
;
import
javax.management.openmbean.SimpleType
;
/*
* @test
* @bug 6610174
* @summary Test that CompositeDataSupport.toString() represents arrays correctly
* @author Eamonn McManus
*/
import
javax.management.openmbean.ArrayType
;
import
javax.management.openmbean.CompositeData
;
import
javax.management.openmbean.CompositeDataSupport
;
public
class
CompositeDataStringTest
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
CompositeType
basicCT
=
new
CompositeType
(
"basicCT"
,
"basic CompositeType"
,
new
String
[]
{
"name"
,
"value"
},
new
String
[]
{
"name"
,
"value"
},
new
OpenType
<?>[]
{
SimpleType
.
STRING
,
SimpleType
.
INTEGER
});
CompositeType
ct
=
new
CompositeType
(
"noddy"
,
"descr"
,
new
String
[]
{
"strings"
,
"ints"
,
"cds"
},
new
String
[]
{
"string array"
,
"int array"
,
"composite data array"
},
new
OpenType
<?>[]
{
ArrayType
.
getArrayType
(
SimpleType
.
STRING
),
ArrayType
.
getPrimitiveArrayType
(
int
[].
class
),
ArrayType
.
getArrayType
(
basicCT
)
});
CompositeData
basicCD1
=
new
CompositeDataSupport
(
basicCT
,
new
String
[]
{
"name"
,
"value"
},
new
Object
[]
{
"ceathar"
,
4
});
CompositeData
basicCD2
=
new
CompositeDataSupport
(
basicCT
,
new
String
[]
{
"name"
,
"value"
},
new
Object
[]
{
"naoi"
,
9
});
CompositeData
cd
=
new
CompositeDataSupport
(
ct
,
new
String
[]
{
"strings"
,
"ints"
,
"cds"
},
new
Object
[]
{
new
String
[]
{
"fred"
,
"jim"
,
"sheila"
},
new
int
[]
{
2
,
3
,
5
,
7
},
new
CompositeData
[]
{
basicCD1
,
basicCD2
}
});
String
s
=
cd
.
toString
();
System
.
out
.
println
(
"CompositeDataSupport.toString(): "
+
s
);
String
[]
expected
=
{
"fred, jim, sheila"
,
"2, 3, 5, 7"
,
"ceathar"
,
"naoi"
,
};
boolean
ok
=
true
;
for
(
String
expect
:
expected
)
{
if
(
s
.
contains
(
expect
))
System
.
out
.
println
(
"OK: string contains <"
+
expect
+
">"
);
else
{
ok
=
false
;
System
.
out
.
println
(
"NOT OK: string does not contain <"
+
expect
+
">"
);
}
}
if
(
ok
)
System
.
out
.
println
(
"TEST PASSED"
);
else
throw
new
Exception
(
"TEST FAILED: string did not contain expected substrings"
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录