Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
2fad7f7d
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看板
提交
2fad7f7d
编写于
5月 27, 2008
作者:
X
xdono
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
c720eb08
ea0f21cf
变更
114
展开全部
隐藏空白更改
内联
并排
Showing
114 changed file
with
2512 addition
and
598 deletion
+2512
-598
.hgtags
.hgtags
+1
-0
make/com/sun/tracing/Makefile
make/com/sun/tracing/Makefile
+23
-3
make/com/sun/tracing/dtrace/Makefile
make/com/sun/tracing/dtrace/Makefile
+22
-2
make/sun/tracing/Makefile
make/sun/tracing/Makefile
+23
-3
make/sun/tracing/dtrace/Makefile
make/sun/tracing/dtrace/Makefile
+24
-4
make/sun/tracing/dtrace/mapfile-vers
make/sun/tracing/dtrace/mapfile-vers
+22
-4
src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java
...om/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java
+4
-9
src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java
...re/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java
+5
-6
src/share/classes/com/sun/jmx/mbeanserver/Repository.java
src/share/classes/com/sun/jmx/mbeanserver/Repository.java
+5
-9
src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
...ses/com/sun/jmx/remote/internal/ClientNotifForwarder.java
+0
-4
src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java
...ses/com/sun/jmx/remote/internal/ServerNotifForwarder.java
+3
-3
src/share/classes/com/sun/jmx/remote/security/FileLoginModule.java
.../classes/com/sun/jmx/remote/security/FileLoginModule.java
+9
-5
src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java
...om/sun/jmx/remote/security/JMXPluggableAuthenticator.java
+1
-1
src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java
.../jmx/remote/security/MBeanServerFileAccessController.java
+7
-4
src/share/classes/com/sun/security/auth/login/ConfigFile.java
...share/classes/com/sun/security/auth/login/ConfigFile.java
+29
-3
src/share/classes/com/sun/tracing/Probe.java
src/share/classes/com/sun/tracing/Probe.java
+22
-2
src/share/classes/com/sun/tracing/ProbeName.java
src/share/classes/com/sun/tracing/ProbeName.java
+22
-2
src/share/classes/com/sun/tracing/Provider.java
src/share/classes/com/sun/tracing/Provider.java
+22
-2
src/share/classes/com/sun/tracing/ProviderName.java
src/share/classes/com/sun/tracing/ProviderName.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/ArgsAttributes.java
src/share/classes/com/sun/tracing/dtrace/ArgsAttributes.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/Attributes.java
src/share/classes/com/sun/tracing/dtrace/Attributes.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/DependencyClass.java
...share/classes/com/sun/tracing/dtrace/DependencyClass.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/FunctionAttributes.java
...re/classes/com/sun/tracing/dtrace/FunctionAttributes.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/FunctionName.java
src/share/classes/com/sun/tracing/dtrace/FunctionName.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/ModuleAttributes.java
...hare/classes/com/sun/tracing/dtrace/ModuleAttributes.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/ModuleName.java
src/share/classes/com/sun/tracing/dtrace/ModuleName.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/NameAttributes.java
src/share/classes/com/sun/tracing/dtrace/NameAttributes.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/ProviderAttributes.java
...re/classes/com/sun/tracing/dtrace/ProviderAttributes.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java
src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java
+22
-2
src/share/classes/com/sun/tracing/dtrace/package-info.java
src/share/classes/com/sun/tracing/dtrace/package-info.java
+22
-2
src/share/classes/com/sun/tracing/package-info.java
src/share/classes/com/sun/tracing/package-info.java
+22
-2
src/share/classes/java/net/CookieManager.java
src/share/classes/java/net/CookieManager.java
+88
-4
src/share/classes/java/net/HttpCookie.java
src/share/classes/java/net/HttpCookie.java
+40
-23
src/share/classes/java/net/Socket.java
src/share/classes/java/net/Socket.java
+3
-2
src/share/classes/java/security/AccessControlContext.java
src/share/classes/java/security/AccessControlContext.java
+6
-3
src/share/classes/java/security/BasicPermission.java
src/share/classes/java/security/BasicPermission.java
+2
-13
src/share/classes/java/util/IdentityHashMap.java
src/share/classes/java/util/IdentityHashMap.java
+2
-4
src/share/classes/java/util/TreeMap.java
src/share/classes/java/util/TreeMap.java
+2
-2
src/share/classes/javax/management/AndQueryExp.java
src/share/classes/javax/management/AndQueryExp.java
+6
-5
src/share/classes/javax/management/BetweenQueryExp.java
src/share/classes/javax/management/BetweenQueryExp.java
+1
-0
src/share/classes/javax/management/BinaryRelQueryExp.java
src/share/classes/javax/management/BinaryRelQueryExp.java
+1
-1
src/share/classes/javax/management/NotQueryExp.java
src/share/classes/javax/management/NotQueryExp.java
+0
-1
src/share/classes/javax/management/NumericValueExp.java
src/share/classes/javax/management/NumericValueExp.java
+3
-3
src/share/classes/javax/management/ObjectName.java
src/share/classes/javax/management/ObjectName.java
+3
-5
src/share/classes/javax/management/OrQueryExp.java
src/share/classes/javax/management/OrQueryExp.java
+1
-0
src/share/classes/javax/management/Query.java
src/share/classes/javax/management/Query.java
+12
-2
src/share/classes/javax/management/QueryEval.java
src/share/classes/javax/management/QueryEval.java
+7
-6
src/share/classes/javax/management/StandardMBean.java
src/share/classes/javax/management/StandardMBean.java
+1
-1
src/share/classes/javax/management/loading/MLet.java
src/share/classes/javax/management/loading/MLet.java
+15
-26
src/share/classes/javax/management/loading/MLetParser.java
src/share/classes/javax/management/loading/MLetParser.java
+1
-3
src/share/classes/javax/management/modelmbean/DescriptorSupport.java
...lasses/javax/management/modelmbean/DescriptorSupport.java
+4
-8
src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
.../javax/management/modelmbean/ModelMBeanAttributeInfo.java
+1
-1
src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
...avax/management/modelmbean/ModelMBeanConstructorInfo.java
+1
-1
src/share/classes/javax/management/modelmbean/ModelMBeanInfoSupport.java
...es/javax/management/modelmbean/ModelMBeanInfoSupport.java
+1
-1
src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
...vax/management/modelmbean/ModelMBeanNotificationInfo.java
+1
-1
src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
.../javax/management/modelmbean/ModelMBeanOperationInfo.java
+1
-1
src/share/classes/javax/management/modelmbean/RequiredModelMBean.java
...asses/javax/management/modelmbean/RequiredModelMBean.java
+11
-16
src/share/classes/javax/management/monitor/CounterMonitor.java
...hare/classes/javax/management/monitor/CounterMonitor.java
+8
-8
src/share/classes/javax/management/monitor/GaugeMonitor.java
src/share/classes/javax/management/monitor/GaugeMonitor.java
+12
-12
src/share/classes/javax/management/monitor/Monitor.java
src/share/classes/javax/management/monitor/Monitor.java
+4
-4
src/share/classes/javax/management/openmbean/ArrayType.java
src/share/classes/javax/management/openmbean/ArrayType.java
+1
-1
src/share/classes/javax/management/openmbean/CompositeType.java
...are/classes/javax/management/openmbean/CompositeType.java
+1
-1
src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
...x/management/openmbean/OpenMBeanAttributeInfoSupport.java
+0
-1
src/share/classes/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java
...management/openmbean/OpenMBeanConstructorInfoSupport.java
+1
-1
src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java
...sses/javax/management/openmbean/OpenMBeanInfoSupport.java
+1
-1
src/share/classes/javax/management/openmbean/OpenMBeanOperationInfoSupport.java
...x/management/openmbean/OpenMBeanOperationInfoSupport.java
+1
-1
src/share/classes/javax/management/openmbean/SimpleType.java
src/share/classes/javax/management/openmbean/SimpleType.java
+1
-1
src/share/classes/javax/management/openmbean/TabularType.java
...share/classes/javax/management/openmbean/TabularType.java
+1
-1
src/share/classes/javax/management/relation/RelationNotification.java
...asses/javax/management/relation/RelationNotification.java
+3
-3
src/share/classes/javax/management/relation/RelationService.java
...re/classes/javax/management/relation/RelationService.java
+31
-46
src/share/classes/javax/management/relation/RelationSupport.java
...re/classes/javax/management/relation/RelationSupport.java
+15
-22
src/share/classes/javax/management/remote/JMXConnectorFactory.java
.../classes/javax/management/remote/JMXConnectorFactory.java
+2
-2
src/share/classes/javax/management/remote/JMXConnectorServerFactory.java
...es/javax/management/remote/JMXConnectorServerFactory.java
+2
-4
src/share/classes/javax/management/remote/JMXServiceURL.java
src/share/classes/javax/management/remote/JMXServiceURL.java
+0
-7
src/share/classes/javax/management/remote/rmi/RMIConnector.java
...are/classes/javax/management/remote/rmi/RMIConnector.java
+5
-5
src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
...asses/javax/management/remote/rmi/RMIConnectorServer.java
+1
-1
src/share/classes/javax/management/timer/Timer.java
src/share/classes/javax/management/timer/Timer.java
+7
-22
src/share/classes/javax/net/ssl/SSLContext.java
src/share/classes/javax/net/ssl/SSLContext.java
+4
-1
src/share/classes/javax/net/ssl/SSLSocket.java
src/share/classes/javax/net/ssl/SSLSocket.java
+9
-5
src/share/classes/javax/net/ssl/TrustManagerFactory.java
src/share/classes/javax/net/ssl/TrustManagerFactory.java
+6
-1
src/share/classes/javax/net/ssl/TrustManagerFactorySpi.java
src/share/classes/javax/net/ssl/TrustManagerFactorySpi.java
+3
-1
src/share/classes/javax/security/auth/kerberos/KerberosTicket.java
.../classes/javax/security/auth/kerberos/KerberosTicket.java
+50
-14
src/share/classes/sun/misc/URLClassPath.java
src/share/classes/sun/misc/URLClassPath.java
+15
-3
src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java
...asses/sun/net/www/protocol/http/DigestAuthentication.java
+41
-3
src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
.../classes/sun/net/www/protocol/http/HttpURLConnection.java
+76
-9
src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java
...lasses/sun/net/www/protocol/http/InMemoryCookieStore.java
+99
-19
src/share/classes/sun/nio/cs/UTF_8.java
src/share/classes/sun/nio/cs/UTF_8.java
+1
-1
src/share/classes/sun/security/pkcs11/SunPKCS11.java
src/share/classes/sun/security/pkcs11/SunPKCS11.java
+5
-1
src/share/classes/sun/tracing/MultiplexProviderFactory.java
src/share/classes/sun/tracing/MultiplexProviderFactory.java
+22
-2
src/share/classes/sun/tracing/NullProviderFactory.java
src/share/classes/sun/tracing/NullProviderFactory.java
+22
-2
src/share/classes/sun/tracing/PrintStreamProviderFactory.java
...share/classes/sun/tracing/PrintStreamProviderFactory.java
+22
-2
src/share/classes/sun/tracing/ProbeSkeleton.java
src/share/classes/sun/tracing/ProbeSkeleton.java
+22
-2
src/share/classes/sun/tracing/ProviderSkeleton.java
src/share/classes/sun/tracing/ProviderSkeleton.java
+22
-2
src/share/classes/sun/tracing/dtrace/Activation.java
src/share/classes/sun/tracing/dtrace/Activation.java
+22
-2
src/share/classes/sun/tracing/dtrace/DTraceProbe.java
src/share/classes/sun/tracing/dtrace/DTraceProbe.java
+22
-2
src/share/classes/sun/tracing/dtrace/DTraceProvider.java
src/share/classes/sun/tracing/dtrace/DTraceProvider.java
+22
-2
src/share/classes/sun/tracing/dtrace/DTraceProviderFactory.java
...are/classes/sun/tracing/dtrace/DTraceProviderFactory.java
+22
-2
src/share/classes/sun/tracing/dtrace/JVM.java
src/share/classes/sun/tracing/dtrace/JVM.java
+22
-2
src/share/classes/sun/tracing/package-info.java
src/share/classes/sun/tracing/package-info.java
+22
-2
src/share/native/java/net/net_util.c
src/share/native/java/net/net_util.c
+5
-1
src/share/native/sun/tracing/dtrace/JVM.c
src/share/native/sun/tracing/dtrace/JVM.c
+22
-2
src/share/native/sun/tracing/dtrace/jvm_symbols.h
src/share/native/sun/tracing/dtrace/jvm_symbols.h
+22
-2
src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c
src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c
+22
-2
src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c
src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c
+22
-2
test/com/sun/security/auth/login/ConfigFile/IllegalURL.java
test/com/sun/security/auth/login/ConfigFile/IllegalURL.java
+54
-0
test/java/net/CookieHandler/B6644726.java
test/java/net/CookieHandler/B6644726.java
+189
-0
test/java/net/Inet6Address/B6558853.java
test/java/net/Inet6Address/B6558853.java
+86
-0
test/java/security/AccessControlContext/CheckCtor.java
test/java/security/AccessControlContext/CheckCtor.java
+70
-0
test/java/util/Collection/MOAT.java
test/java/util/Collection/MOAT.java
+66
-18
test/java/util/NavigableMap/LockStep.java
test/java/util/NavigableMap/LockStep.java
+144
-122
test/javax/management/query/CustomQueryTest.java
test/javax/management/query/CustomQueryTest.java
+116
-0
test/javax/management/relation/RelationNotificationSeqNoTest.java
...ax/management/relation/RelationNotificationSeqNoTest.java
+112
-0
test/javax/security/auth/kerberos/KerberosTixDateTest.java
test/javax/security/auth/kerberos/KerberosTixDateTest.java
+140
-0
test/javax/security/auth/login/Configuration/ConfigFileWithBlank.java
...ecurity/auth/login/Configuration/ConfigFileWithBlank.java
+50
-0
未找到文件。
.hgtags
浏览文件 @
2fad7f7d
37a05a11f281b4d238e2f9e7ebb67c63f64d0e77 jdk7-b24
75fca0b0ab83ab1392e615910cea020f66535390 jdk7-b25
fb57027902e04ecafceae31a605e69b436c23d57 jdk7-b26
3e599d98875ddf919c8ea11cff9b3a99ba631a9b jdk7-b27
make/com/sun/tracing/Makefile
浏览文件 @
2fad7f7d
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
# 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. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# 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.
#
#
...
...
@@ -12,7 +32,7 @@ PACKAGE = com.sun.tracing
PRODUCT
=
sun
include
$(BUILDDIR)/common/Defs.gmk
SUBDIRS
=
dtrace
SUBDIRS
=
dtrace
all build
:
$
(
SUBDIRS-loop
)
clean clobber
::
...
...
make/com/sun/tracing/dtrace/Makefile
浏览文件 @
2fad7f7d
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
# 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. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# 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.
#
#
...
...
make/sun/tracing/Makefile
浏览文件 @
2fad7f7d
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
# 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. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# 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.
#
#
...
...
@@ -12,7 +32,7 @@ PACKAGE = sun.tracing
PRODUCT
=
sun
include
$(BUILDDIR)/common/Defs.gmk
SUBDIRS
=
dtrace
SUBDIRS
=
dtrace
all build
:
$
(
SUBDIRS-loop
)
clean clobber
::
...
...
make/sun/tracing/dtrace/Makefile
浏览文件 @
2fad7f7d
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
# 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. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# 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.
#
#
...
...
@@ -30,7 +50,7 @@ FILES_java = \
sun/tracing/dtrace/DTraceProvider.java
\
sun/tracing/dtrace/DTraceProbe.java
\
sun/tracing/dtrace/DTraceProviderFactory.java
\
sun/tracing/dtrace/JVM.java
sun/tracing/dtrace/JVM.java
FILES_export
=
$(FILES_java)
...
...
@@ -46,7 +66,7 @@ JAVAHFLAGS += -jni
#
# Don't need to link against -ljava
#
JAVALIB
=
JAVALIB
=
#
# Rules.
...
...
make/sun/tracing/dtrace/mapfile-vers
浏览文件 @
2fad7f7d
#
#ident "@(#)mapfile-vers 1.1 07/08/14"
#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
# 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. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# 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.
#
# Define library interface.
...
...
src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java
浏览文件 @
2fad7f7d
...
...
@@ -233,7 +233,6 @@ public class DefaultMBeanServerInterceptor implements MBeanServerInterceptor {
MBeanRegistrationException
,
MBeanException
,
NotCompliantMBeanException
,
InstanceNotFoundException
{
ObjectName
logicalName
=
name
;
Class
theClass
;
if
(
className
==
null
)
{
...
...
@@ -519,8 +518,7 @@ public class DefaultMBeanServerInterceptor implements MBeanServerInterceptor {
QueryExp
query
)
{
// Query the MBeans on the repository
//
Set
<
NamedObject
>
list
=
null
;
list
=
repository
.
query
(
name
,
query
);
Set
<
NamedObject
>
list
=
repository
.
query
(
name
,
query
);
if
(
queryByRepo
)
{
// The repository performs the filtering
...
...
@@ -576,8 +574,7 @@ public class DefaultMBeanServerInterceptor implements MBeanServerInterceptor {
private
Set
<
ObjectName
>
queryNamesImpl
(
ObjectName
name
,
QueryExp
query
)
{
// Query the MBeans on the repository
//
Set
<
NamedObject
>
list
=
null
;
list
=
repository
.
query
(
name
,
query
);
Set
<
NamedObject
>
list
=
repository
.
query
(
name
,
query
);
if
(
queryByRepo
)
{
// The repository performs the filtering
...
...
@@ -1042,7 +1039,7 @@ public class DefaultMBeanServerInterceptor implements MBeanServerInterceptor {
if
(
registerFailed
&&
moi
instanceof
DynamicMBean2
)
((
DynamicMBean2
)
moi
).
registerFailed
();
try
{
moi
.
postRegister
(
new
Boolean
(
registrationDone
)
);
moi
.
postRegister
(
registrationDone
);
}
catch
(
RuntimeException
e
)
{
throw
new
RuntimeMBeanException
(
e
,
"RuntimeException thrown in postRegister method"
);
...
...
@@ -1094,8 +1091,7 @@ public class DefaultMBeanServerInterceptor implements MBeanServerInterceptor {
IllegalArgumentException
(
"Object name cannot be null"
),
"Exception occurred trying to get an MBean"
);
}
DynamicMBean
obj
=
null
;
obj
=
repository
.
retrieve
(
name
);
DynamicMBean
obj
=
repository
.
retrieve
(
name
);
if
(
obj
==
null
)
{
if
(
MBEANSERVER_LOGGER
.
isLoggable
(
Level
.
FINER
))
{
MBEANSERVER_LOGGER
.
logp
(
Level
.
FINER
,
...
...
@@ -1568,7 +1564,6 @@ public class DefaultMBeanServerInterceptor implements MBeanServerInterceptor {
query
.
setMBeanServer
(
server
);
try
{
for
(
NamedObject
no
:
list
)
{
final
DynamicMBean
obj
=
no
.
getObject
();
boolean
res
;
try
{
res
=
query
.
apply
(
no
.
getName
());
...
...
src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java
浏览文件 @
2fad7f7d
...
...
@@ -205,7 +205,7 @@ public class MBeanInstantiator {
*/
public
Object
instantiate
(
Class
theClass
)
throws
ReflectionException
,
MBeanException
{
Object
moi
=
null
;
Object
moi
;
// ------------------------------
...
...
@@ -265,7 +265,7 @@ public class MBeanInstantiator {
// ------------------------------
// ------------------------------
final
Class
[]
tab
;
Object
moi
=
null
;
Object
moi
;
try
{
// Build the signature of the method
//
...
...
@@ -283,8 +283,7 @@ public class MBeanInstantiator {
}
// Query the metadata service to get the right constructor
Constructor
cons
=
null
;
cons
=
findConstructor
(
theClass
,
tab
);
Constructor
cons
=
findConstructor
(
theClass
,
tab
);
if
(
cons
==
null
)
{
throw
new
ReflectionException
(
new
...
...
@@ -408,7 +407,7 @@ public class MBeanInstantiator {
throw
new
RuntimeOperationsException
(
new
IllegalArgumentException
(),
"Null className passed in parameter"
);
}
Class
theClass
=
null
;
Class
theClass
;
if
(
loaderName
==
null
)
{
// Load the class using the agent class loader
theClass
=
findClass
(
className
,
loader
);
...
...
@@ -621,7 +620,7 @@ public class MBeanInstantiator {
static
Class
loadClass
(
String
className
,
ClassLoader
loader
)
throws
ReflectionException
{
Class
theClass
=
null
;
Class
theClass
;
if
(
className
==
null
)
{
throw
new
RuntimeOperationsException
(
new
IllegalArgumentException
(
"The class name cannot be null"
),
...
...
src/share/classes/com/sun/jmx/mbeanserver/Repository.java
浏览文件 @
2fad7f7d
...
...
@@ -89,7 +89,6 @@ public class Repository {
/* This class is used to match an ObjectName against a pattern. */
private
final
static
class
ObjectNamePattern
{
private
final
char
[]
domain
;
private
final
String
[]
keys
;
private
final
String
[]
values
;
private
final
String
properties
;
...
...
@@ -106,8 +105,7 @@ public class Repository {
* @param pattern The ObjectName pattern under examination.
**/
public
ObjectNamePattern
(
ObjectName
pattern
)
{
this
(
pattern
.
getDomain
(),
pattern
.
isPropertyListPattern
(),
this
(
pattern
.
isPropertyListPattern
(),
pattern
.
isPropertyValuePattern
(),
pattern
.
getCanonicalKeyPropertyListString
(),
pattern
.
getKeyPropertyList
(),
...
...
@@ -124,13 +122,11 @@ public class Repository {
* @param keyPropertyList pattern.getKeyPropertyList().
* @param pattern The ObjectName pattern under examination.
**/
ObjectNamePattern
(
String
domain
,
boolean
propertyListPattern
,
ObjectNamePattern
(
boolean
propertyListPattern
,
boolean
propertyValuePattern
,
String
canonicalProps
,
Map
<
String
,
String
>
keyPropertyList
,
ObjectName
pattern
)
{
this
.
domain
=
domain
.
toCharArray
();
this
.
isPropertyListPattern
=
propertyListPattern
;
this
.
isPropertyValuePattern
=
propertyValuePattern
;
this
.
properties
=
canonicalProps
;
...
...
@@ -538,7 +534,7 @@ public class Repository {
// "domain:*", "domain:[key=value],*" : names in the specified domain
// Surely one of the most frequent case ... query on the whole world
ObjectName
name
=
null
;
ObjectName
name
;
if
(
pattern
==
null
||
pattern
.
getCanonicalName
().
length
()
==
0
||
pattern
.
equals
(
ObjectName
.
WILDCARD
))
...
...
@@ -660,7 +656,7 @@ public class Repository {
* @return Number of MBeans.
*/
public
Integer
getCount
()
{
return
n
ew
Integer
(
nbElements
)
;
return
n
bElements
;
}
/**
...
...
@@ -669,7 +665,7 @@ public class Repository {
*
* @return A string giving the name of the default domain name.
*/
public
String
getDefaultDomain
()
{
public
String
getDefaultDomain
()
{
return
domain
;
}
...
...
src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
浏览文件 @
2fad7f7d
...
...
@@ -435,7 +435,6 @@ public abstract class ClientNotifForwarder {
clientSequenceNumber
=
nr
.
getNextSequenceNumber
();
final
int
size
=
infoList
.
size
();
listeners
=
new
HashMap
<
Integer
,
ClientListenerInfo
>();
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
...
...
@@ -792,9 +791,6 @@ public abstract class ClientNotifForwarder {
private
Thread
currentFetchThread
;
// admin stuff
private
boolean
inited
=
false
;
// state
/**
* This state means that a thread is being created for fetching and forwarding notifications.
...
...
src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java
浏览文件 @
2fad7f7d
...
...
@@ -269,7 +269,7 @@ public class ServerNotifForwarder {
", the maxNotifications is "
+
maxNotifications
);
}
NotificationResult
nr
=
null
;
NotificationResult
nr
;
final
long
t
=
Math
.
min
(
connectionTimeout
,
timeout
);
try
{
nr
=
notifBuffer
.
fetchNotifications
(
bufferFilter
,
...
...
@@ -322,7 +322,7 @@ public class ServerNotifForwarder {
private
Integer
getListenerID
()
{
synchronized
(
listenerCounterLock
)
{
return
new
Integer
(
listenerCounter
++)
;
return
listenerCounter
++
;
}
}
...
...
@@ -336,7 +336,7 @@ public class ServerNotifForwarder {
SecurityManager
sm
=
System
.
getSecurityManager
();
if
(
sm
!=
null
)
{
AccessControlContext
acc
=
AccessController
.
getContext
();
ObjectInstance
oi
=
null
;
ObjectInstance
oi
;
try
{
oi
=
AccessController
.
doPrivileged
(
new
PrivilegedExceptionAction
<
ObjectInstance
>()
{
...
...
src/share/classes/com/sun/jmx/remote/security/FileLoginModule.java
浏览文件 @
2fad7f7d
...
...
@@ -437,7 +437,7 @@ public class FileLoginModule implements LoginModule {
// get the username and password
getUsernamePassword
(
usePasswdFromSharedState
);
String
localPassword
=
null
;
String
localPassword
;
// userCredentials is initialized in login()
if
(((
localPassword
=
userCredentials
.
getProperty
(
username
))
==
null
)
||
...
...
@@ -487,10 +487,14 @@ public class FileLoginModule implements LoginModule {
throw
ace
;
}
}
BufferedInputStream
bis
=
new
BufferedInputStream
(
fis
);
userCredentials
=
new
Properties
();
userCredentials
.
load
(
bis
);
bis
.
close
();
try
{
BufferedInputStream
bis
=
new
BufferedInputStream
(
fis
);
userCredentials
=
new
Properties
();
userCredentials
.
load
(
bis
);
bis
.
close
();
}
finally
{
fis
.
close
();
}
}
/**
...
...
src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java
浏览文件 @
2fad7f7d
...
...
@@ -295,7 +295,7 @@ private final class JMXCallbackHandler implements CallbackHandler {
private
static
class
FileLoginConfig
extends
Configuration
{
// The JAAS configuration for file-based authentication
private
static
AppConfigurationEntry
[]
entries
;
private
AppConfigurationEntry
[]
entries
;
// The classname of the login module for file-based authentication
private
static
final
String
FILE_LOGIN_MODULE
=
...
...
src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java
浏览文件 @
2fad7f7d
...
...
@@ -231,10 +231,13 @@ public class MBeanServerFileAccessController
private
static
Properties
propertiesFromFile
(
String
fname
)
throws
IOException
{
FileInputStream
fin
=
new
FileInputStream
(
fname
);
Properties
p
=
new
Properties
();
p
.
load
(
fin
);
fin
.
close
();
return
p
;
try
{
Properties
p
=
new
Properties
();
p
.
load
(
fin
);
return
p
;
}
finally
{
fin
.
close
();
}
}
private
void
checkAccessLevel
(
String
accessLevel
)
{
...
...
src/share/classes/com/sun/security/auth/login/ConfigFile.java
浏览文件 @
2fad7f7d
...
...
@@ -620,9 +620,35 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
* start up time noticeably for the new launcher. -- DAC
*/
private
InputStream
getInputStream
(
URL
url
)
throws
IOException
{
if
(
"file"
.
equals
(
url
.
getProtocol
()))
{
String
path
=
url
.
getFile
().
replace
(
'/'
,
File
.
separatorChar
);
return
new
FileInputStream
(
path
);
if
(
"file"
.
equalsIgnoreCase
(
url
.
getProtocol
()))
{
// Compatibility notes:
//
// Code changed from
// String path = url.getFile().replace('/', File.separatorChar);
// return new FileInputStream(path);
//
// The original implementation would search for "/tmp/a%20b"
// when url is "file:///tmp/a%20b". This is incorrect. The
// current codes fix this bug and searches for "/tmp/a b".
// For compatibility reasons, when the file "/tmp/a b" does
// not exist, the file named "/tmp/a%20b" will be tried.
//
// This also means that if both file exists, the behavior of
// this method is changed, and the current codes choose the
// correct one.
try
{
return
url
.
openStream
();
}
catch
(
Exception
e
)
{
String
file
=
url
.
getPath
();
if
(
url
.
getHost
().
length
()
>
0
)
{
// For Windows UNC
file
=
"//"
+
url
.
getHost
()
+
file
;
}
if
(
debugConfig
!=
null
)
{
debugConfig
.
println
(
"cannot read "
+
url
+
", try "
+
file
);
}
return
new
FileInputStream
(
file
);
}
}
else
{
return
url
.
openStream
();
}
...
...
src/share/classes/com/sun/tracing/Probe.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing
;
...
...
src/share/classes/com/sun/tracing/ProbeName.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing
;
...
...
src/share/classes/com/sun/tracing/Provider.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing
;
...
...
src/share/classes/com/sun/tracing/ProviderName.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing
;
...
...
src/share/classes/com/sun/tracing/dtrace/ArgsAttributes.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/Attributes.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/DependencyClass.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/FunctionAttributes.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/FunctionName.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/ModuleAttributes.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/ModuleName.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/NameAttributes.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/ProviderAttributes.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
com.sun.tracing.dtrace
;
...
...
src/share/classes/com/sun/tracing/dtrace/package-info.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
/**
...
...
src/share/classes/com/sun/tracing/package-info.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
/**
...
...
src/share/classes/java/net/CookieManager.java
浏览文件 @
2fad7f7d
...
...
@@ -205,11 +205,31 @@ public class CookieManager extends CookieHandler
if
(
cookieJar
==
null
)
return
Collections
.
unmodifiableMap
(
cookieMap
);
boolean
secureLink
=
"https"
.
equalsIgnoreCase
(
uri
.
getScheme
());
List
<
HttpCookie
>
cookies
=
new
java
.
util
.
ArrayList
<
HttpCookie
>();
String
path
=
uri
.
getPath
();
if
(
path
==
null
||
path
.
isEmpty
())
{
path
=
"/"
;
}
for
(
HttpCookie
cookie
:
cookieJar
.
get
(
uri
))
{
// apply path-matches rule (RFC 2965 sec. 3.3.4)
if
(
pathMatches
(
uri
.
getPath
(),
cookie
.
getPath
()))
{
cookies
.
add
(
cookie
);
// and check for the possible "secure" tag (i.e. don't send
// 'secure' cookies over unsecure links)
if
(
pathMatches
(
path
,
cookie
.
getPath
())
&&
(
secureLink
||
!
cookie
.
getSecure
()))
{
// Let's check the authorize port list if it exists
String
ports
=
cookie
.
getPortlist
();
if
(
ports
!=
null
&&
!
ports
.
isEmpty
())
{
int
port
=
uri
.
getPort
();
if
(
port
==
-
1
)
{
port
=
"https"
.
equals
(
uri
.
getScheme
())
?
443
:
80
;
}
if
(
isInPortList
(
ports
,
port
))
{
cookies
.
add
(
cookie
);
}
}
else
{
cookies
.
add
(
cookie
);
}
}
}
...
...
@@ -251,8 +271,46 @@ public class CookieManager extends CookieHandler
try
{
List
<
HttpCookie
>
cookies
=
HttpCookie
.
parse
(
headerValue
);
for
(
HttpCookie
cookie
:
cookies
)
{
if
(
shouldAcceptInternal
(
uri
,
cookie
))
{
cookieJar
.
add
(
uri
,
cookie
);
if
(
cookie
.
getPath
()
==
null
)
{
// If no path is specified, then by default
// the path is the directory of the page/doc
String
path
=
uri
.
getPath
();
if
(!
path
.
endsWith
(
"/"
))
{
int
i
=
path
.
lastIndexOf
(
"/"
);
if
(
i
>
0
)
{
path
=
path
.
substring
(
0
,
i
+
1
);
}
else
{
path
=
"/"
;
}
}
cookie
.
setPath
(
path
);
}
String
ports
=
cookie
.
getPortlist
();
if
(
ports
!=
null
)
{
int
port
=
uri
.
getPort
();
if
(
port
==
-
1
)
{
port
=
"https"
.
equals
(
uri
.
getScheme
())
?
443
:
80
;
}
if
(
ports
.
isEmpty
())
{
// Empty port list means this should be restricted
// to the incoming URI port
cookie
.
setPortlist
(
""
+
port
);
if
(
shouldAcceptInternal
(
uri
,
cookie
))
{
cookieJar
.
add
(
uri
,
cookie
);
}
}
else
{
// Only store cookies with a port list
// IF the URI port is in that list, as per
// RFC 2965 section 3.3.2
if
(
isInPortList
(
ports
,
port
)
&&
shouldAcceptInternal
(
uri
,
cookie
))
{
cookieJar
.
add
(
uri
,
cookie
);
}
}
}
else
{
if
(
shouldAcceptInternal
(
uri
,
cookie
))
{
cookieJar
.
add
(
uri
,
cookie
);
}
}
}
}
catch
(
IllegalArgumentException
e
)
{
...
...
@@ -276,6 +334,32 @@ public class CookieManager extends CookieHandler
}
static
private
boolean
isInPortList
(
String
lst
,
int
port
)
{
int
i
=
lst
.
indexOf
(
","
);
int
val
=
-
1
;
while
(
i
>
0
)
{
try
{
val
=
Integer
.
parseInt
(
lst
.
substring
(
0
,
i
));
if
(
val
==
port
)
{
return
true
;
}
}
catch
(
NumberFormatException
numberFormatException
)
{
}
lst
=
lst
.
substring
(
i
+
1
);
i
=
lst
.
indexOf
(
","
);
}
if
(!
lst
.
isEmpty
())
{
try
{
val
=
Integer
.
parseInt
(
lst
);
if
(
val
==
port
)
{
return
true
;
}
}
catch
(
NumberFormatException
numberFormatException
)
{
}
}
return
false
;
}
/*
* path-matches algorithm, as defined by RFC 2965
*/
...
...
src/share/classes/java/net/HttpCookie.java
浏览文件 @
2fad7f7d
...
...
@@ -92,9 +92,14 @@ public final class HttpCookie implements Cloneable {
//
// date format used by Netscape's cookie draft
// date formats used by Netscape's cookie draft
// as well as formats seen on various sites
//
private
final
static
String
NETSCAPE_COOKIE_DATE_FORMAT
=
"EEE',' dd-MMM-yyyy HH:mm:ss 'GMT'"
;
private
final
static
String
[]
COOKIE_DATE_FORMATS
=
{
"EEE',' dd-MMM-yyyy HH:mm:ss 'GMT'"
,
"EEE',' dd MMM yyyy HH:mm:ss 'GMT'"
,
"EEE MMM dd yyyy HH:mm:ss 'GMT'Z"
};
//
// constant strings represent set-cookie header token
...
...
@@ -148,6 +153,7 @@ public final class HttpCookie implements Cloneable {
secure
=
false
;
whenCreated
=
System
.
currentTimeMillis
();
portlist
=
null
;
}
...
...
@@ -505,14 +511,14 @@ public final class HttpCookie implements Cloneable {
/**
* Indicates
to the browser whether the cookie should only be sent
*
using a secure protocol,
such as HTTPS or SSL.
* Indicates
whether the cookie should only be sent using a secure protocol,
* such as HTTPS or SSL.
*
* <p>The default value is <code>false</code>.
*
* @param flag
if <code>true</code>, sends the cookie from the brows
er
*
to the server using only when using a secure protocol;
*
if <code>false</code>, sent on any protocol
* @param flag
If <code>true</code>, the cookie can only be sent ov
er
*
a secure protocol like https.
*
If <code>false</code>, it can be sent over any protocol.
*
* @see #getSecure
*
...
...
@@ -526,12 +532,12 @@ public final class HttpCookie implements Cloneable {
/**
* Returns <code>true</code> if
the browser is sending cookies
*
only over
a secure protocol, or <code>false</code> if the
*
browser can send cookies
using any protocol.
* Returns <code>true</code> if
sending this cookie should be
*
restricted to
a secure protocol, or <code>false</code> if the
*
it can be sent
using any protocol.
*
* @return <code>
true</code> if the browser can use
* any standard protocol; otherwise, <code>
fals
e</code>
* @return <code>
false</code> if the cookie can be sent over
* any standard protocol; otherwise, <code>
tru
e</code>
*
* @see #setSecure
*
...
...
@@ -748,6 +754,7 @@ public final class HttpCookie implements Cloneable {
*
* @return a string form of the cookie. The string has the defined format
*/
@Override
public
String
toString
()
{
if
(
getVersion
()
>
0
)
{
return
toRFC2965HeaderString
();
...
...
@@ -768,6 +775,7 @@ public final class HttpCookie implements Cloneable {
* @return <tt>true</tt> if 2 http cookies equal to each other;
* otherwise, <tt>false</tt>
*/
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
this
)
return
true
;
...
...
@@ -798,6 +806,7 @@ public final class HttpCookie implements Cloneable {
*
* @return this http cookie's hash code
*/
@Override
public
int
hashCode
()
{
int
h1
=
name
.
toLowerCase
().
hashCode
();
int
h2
=
(
domain
!=
null
)
?
domain
.
toLowerCase
().
hashCode
()
:
0
;
...
...
@@ -811,6 +820,7 @@ public final class HttpCookie implements Cloneable {
*
* @return a clone of this http cookie
*/
@Override
public
Object
clone
()
{
try
{
return
super
.
clone
();
...
...
@@ -978,7 +988,7 @@ public final class HttpCookie implements Cloneable {
});
assignors
.
put
(
"port"
,
new
CookieAttributeAssignor
(){
public
void
assign
(
HttpCookie
cookie
,
String
attrName
,
String
attrValue
)
{
if
(
cookie
.
getPortlist
()
==
null
)
cookie
.
setPortlist
(
attrValue
);
if
(
cookie
.
getPortlist
()
==
null
)
cookie
.
setPortlist
(
attrValue
==
null
?
""
:
attrValue
);
}
});
assignors
.
put
(
"secure"
,
new
CookieAttributeAssignor
(){
...
...
@@ -1050,24 +1060,31 @@ public final class HttpCookie implements Cloneable {
return
sb
.
toString
();
}
private
static
SimpleDateFormat
[]
cDateFormats
=
null
;
static
{
cDateFormats
=
new
SimpleDateFormat
[
COOKIE_DATE_FORMATS
.
length
];
for
(
int
i
=
0
;
i
<
COOKIE_DATE_FORMATS
.
length
;
i
++)
{
cDateFormats
[
i
]
=
new
SimpleDateFormat
(
COOKIE_DATE_FORMATS
[
i
]);
cDateFormats
[
i
].
setTimeZone
(
TimeZone
.
getTimeZone
(
"GMT"
));
}
}
/*
* @param dateString a date string in format of
* "EEE',' dd-MMM-yyyy HH:mm:ss 'GMT'",
* which defined in Netscape cookie spec
* @param dateString a date string in one of the formats
* defined in Netscape cookie spec
*
* @return delta seconds between this cookie's creation
* time and the time specified by dateString
*/
private
long
expiryDate2DeltaSeconds
(
String
dateString
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
NETSCAPE_COOKIE_DATE_FORMAT
);
df
.
setTimeZone
(
TimeZone
.
getTimeZone
(
"GMT"
));
for
(
SimpleDateFormat
df
:
cDateFormats
)
{
try
{
Date
date
=
df
.
parse
(
dateString
);
return
(
date
.
getTime
()
-
whenCreated
)
/
1000
;
}
catch
(
Exception
e
)
{
try
{
Date
date
=
df
.
parse
(
dateString
);
return
(
date
.
getTime
()
-
whenCreated
)
/
1000
;
}
catch
(
Exception
e
)
{
return
0
;
}
}
return
0
;
}
...
...
src/share/classes/java/net/Socket.java
浏览文件 @
2fad7f7d
/*
* Copyright 1995-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1995-200
8
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
...
...
@@ -253,7 +253,8 @@ class Socket implements java.io.Closeable {
*
* @param host the name of the remote host, or <code>null</code> for the loopback address.
* @param port the remote port
* @param localAddr the local address the socket is bound to
* @param localAddr the local address the socket is bound to, or
* <code>null</code> for the <code>anyLocal</code> address.
* @param localPort the local port the socket is bound to, or
* <code>zero</code> for a system selected free port.
* @exception IOException if an I/O error occurs when creating the socket.
...
...
src/share/classes/java/security/AccessControlContext.java
浏览文件 @
2fad7f7d
...
...
@@ -101,13 +101,14 @@ public final class AccessControlContext {
}
/**
* Create an AccessControlContext with the given
set
of ProtectionDomains.
* Create an AccessControlContext with the given
array
of ProtectionDomains.
* Context must not be null. Duplicate domains will be removed from the
* context.
*
* @param context the ProtectionDomains associated with this context.
* The non-duplicate domains are copied from the array. Subsequent
* changes to the array will not affect this AccessControlContext.
* @throws NullPointerException if <code>context</code> is <code>null</code>
*/
public
AccessControlContext
(
ProtectionDomain
context
[])
{
...
...
@@ -125,8 +126,10 @@ public final class AccessControlContext {
if
((
context
[
i
]
!=
null
)
&&
(!
v
.
contains
(
context
[
i
])))
v
.
add
(
context
[
i
]);
}
this
.
context
=
new
ProtectionDomain
[
v
.
size
()];
this
.
context
=
v
.
toArray
(
this
.
context
);
if
(!
v
.
isEmpty
())
{
this
.
context
=
new
ProtectionDomain
[
v
.
size
()];
this
.
context
=
v
.
toArray
(
this
.
context
);
}
}
}
...
...
src/share/classes/java/security/BasicPermission.java
浏览文件 @
2fad7f7d
...
...
@@ -27,12 +27,10 @@ package java.security;
import
java.security.*
;
import
java.util.Enumeration
;
import
java.util.Iterator
;
import
java.util.Map
;
import
java.util.HashMap
;
import
java.util.Hashtable
;
import
java.util.Collections
;
import
java.util.StringTokenizer
;
import
java.io.ObjectStreamField
;
import
java.io.ObjectOutputStream
;
import
java.io.ObjectInputStream
;
...
...
@@ -64,14 +62,8 @@ import java.io.IOException;
* @see java.security.Permission
* @see java.security.Permissions
* @see java.security.PermissionCollection
* @see java.lang.RuntimePermission
* @see java.security.SecurityPermission
* @see java.util.PropertyPermission
* @see java.awt.AWTPermission
* @see java.net.NetPermission
* @see java.lang.SecurityManager
*
*
* @author Marianne Mueller
* @author Roland Schemers
*/
...
...
@@ -95,7 +87,6 @@ implements java.io.Serializable
* initialize a BasicPermission object. Common to all constructors.
*
*/
private
void
init
(
String
name
)
{
if
(
name
==
null
)
...
...
@@ -213,8 +204,8 @@ implements java.io.Serializable
* and has the same name as this object.
* <P>
* @param obj the object we are testing for equality with this object.
* @return true if <i>obj</i>
is a BasicPermission, and has the same name
* as this BasicPermission object, false otherwise.
* @return true if <i>obj</i>
's class is the same as this object's class
* a
nd has the same name a
s this BasicPermission object, false otherwise.
*/
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
this
)
...
...
@@ -237,7 +228,6 @@ implements java.io.Serializable
*
* @return a hash code value for this object.
*/
public
int
hashCode
()
{
return
this
.
getName
().
hashCode
();
}
...
...
@@ -266,7 +256,6 @@ implements java.io.Serializable
* @return a new PermissionCollection object suitable for
* storing BasicPermissions.
*/
public
PermissionCollection
newPermissionCollection
()
{
return
new
BasicPermissionCollection
(
this
.
getClass
());
}
...
...
src/share/classes/java/util/IdentityHashMap.java
浏览文件 @
2fad7f7d
...
...
@@ -188,7 +188,6 @@ public class IdentityHashMap<K,V>
/**
* Use NULL_KEY for key if it is null.
*/
private
static
Object
maskNull
(
Object
key
)
{
return
(
key
==
null
?
NULL_KEY
:
key
);
}
...
...
@@ -378,8 +377,8 @@ public class IdentityHashMap<K,V>
*/
public
boolean
containsValue
(
Object
value
)
{
Object
[]
tab
=
table
;
for
(
int
i
=
1
;
i
<
tab
.
length
;
i
+=
2
)
if
(
tab
[
i
]
==
value
)
for
(
int
i
=
1
;
i
<
tab
.
length
;
i
+=
2
)
if
(
tab
[
i
]
==
value
&&
tab
[
i
-
1
]
!=
null
)
return
true
;
return
false
;
...
...
@@ -905,7 +904,6 @@ public class IdentityHashMap<K,V>
* view the first time this view is requested. The view is stateless,
* so there's no reason to create more than one.
*/
private
transient
Set
<
Map
.
Entry
<
K
,
V
>>
entrySet
=
null
;
/**
...
...
src/share/classes/java/util/TreeMap.java
浏览文件 @
2fad7f7d
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
8
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
...
...
@@ -1021,7 +1021,7 @@ public class TreeMap<K,V>
}
Iterator
<
K
>
descendingKeyIterator
()
{
return
new
DescendingKeyIterator
(
get
Fir
stEntry
());
return
new
DescendingKeyIterator
(
get
La
stEntry
());
}
static
final
class
KeySet
<
E
>
extends
AbstractSet
<
E
>
implements
NavigableSet
<
E
>
{
...
...
src/share/classes/javax/management/AndQueryExp.java
浏览文件 @
2fad7f7d
...
...
@@ -100,12 +100,13 @@ class AndQueryExp extends QueryEval implements QueryExp {
/**
* Returns a string representation of this AndQueryExp
*/
public
String
toString
()
{
return
"("
+
exp1
+
") and ("
+
exp2
+
")"
;
}
@Override
public
String
toString
()
{
return
"("
+
exp1
+
") and ("
+
exp2
+
")"
;
}
@Override
String
toQueryString
()
{
@Override
String
toQueryString
()
{
// Parentheses are only added if needed to disambiguate.
return
parens
(
exp1
)
+
" and "
+
parens
(
exp2
);
}
...
...
src/share/classes/javax/management/BetweenQueryExp.java
浏览文件 @
2fad7f7d
...
...
@@ -135,6 +135,7 @@ class BetweenQueryExp extends QueryEval implements QueryExp {
/**
* Returns the string representing the object.
*/
@Override
public
String
toString
()
{
return
"("
+
exp1
+
") between ("
+
exp2
+
") and ("
+
exp3
+
")"
;
}
...
...
src/share/classes/javax/management/BinaryRelQueryExp.java
浏览文件 @
2fad7f7d
...
...
@@ -187,11 +187,11 @@ class BinaryRelQueryExp extends QueryEval implements QueryExp {
/**
* Returns the string representing the object.
*/
@Override
public
String
toString
()
{
return
"("
+
exp1
+
") "
+
relOpString
()
+
" ("
+
exp2
+
")"
;
}
@Override
String
toQueryString
()
{
return
exp1
+
" "
+
relOpString
()
+
" "
+
exp2
;
}
...
...
src/share/classes/javax/management/NotQueryExp.java
浏览文件 @
2fad7f7d
...
...
@@ -91,7 +91,6 @@ class NotQueryExp extends QueryEval implements QueryExp {
return
"not ("
+
exp
+
")"
;
}
@Override
String
toQueryString
()
{
return
"not ("
+
Query
.
toString
(
exp
)
+
")"
;
}
...
...
src/share/classes/javax/management/NumericValueExp.java
浏览文件 @
2fad7f7d
...
...
@@ -83,7 +83,7 @@ class NumericValueExp extends QueryEval implements ValueExp {
* <p>The <b>serialVersionUID</b> of this class is <code>-4679739485102359104L</code>.
*/
private
static
final
ObjectStreamField
[]
serialPersistentFields
;
private
Number
val
=
new
Double
(
0
)
;
private
Number
val
=
0.0
;
private
static
boolean
compat
=
false
;
static
{
...
...
@@ -213,11 +213,11 @@ class NumericValueExp extends QueryEval implements ValueExp {
}
if
(
isLong
)
{
this
.
val
=
new
Long
(
longVal
)
;
this
.
val
=
longVal
;
}
else
{
this
.
val
=
new
Double
(
doubleVal
)
;
this
.
val
=
doubleVal
;
}
}
else
...
...
src/share/classes/javax/management/ObjectName.java
浏览文件 @
2fad7f7d
...
...
@@ -223,8 +223,7 @@ import javax.management.QueryExp;
* @since 1.5
*/
@SuppressWarnings
(
"serial"
)
// don't complain serialVersionUID not constant
public
class
ObjectName
extends
ToQueryString
implements
Comparable
<
ObjectName
>,
QueryExp
{
public
class
ObjectName
implements
Comparable
<
ObjectName
>,
QueryExp
{
/**
* A structure recording property structure and
...
...
@@ -450,7 +449,7 @@ public class ObjectName extends ToQueryString
// parses domain part
domain_parsing:
while
(
index
<
len
)
{
switch
(
c
=
name_chars
[
index
])
{
switch
(
name_chars
[
index
])
{
case
':'
:
_domain_length
=
index
++;
break
domain_parsing
;
...
...
@@ -620,7 +619,7 @@ public class ObjectName extends ToQueryString
case
'\n'
:
final
String
ichar
=
((
c1
==
'\n'
)?
"\\n"
:
""
+
c1
);
throw
new
MalformedObjectNameException
(
"Invalid character '"
+
c1
+
"Invalid character '"
+
ichar
+
"' in value part of property"
);
default
:
in_index
++;
...
...
@@ -1781,7 +1780,6 @@ public class ObjectName extends ToQueryString
return
getSerializedNameString
();
}
@Override
String
toQueryString
()
{
return
"LIKE "
+
Query
.
value
(
toString
());
}
...
...
src/share/classes/javax/management/OrQueryExp.java
浏览文件 @
2fad7f7d
...
...
@@ -100,6 +100,7 @@ class OrQueryExp extends QueryEval implements QueryExp {
/**
* Returns a string representation of this OrQueryExp
*/
@Override
public
String
toString
()
{
return
"("
+
exp1
+
") or ("
+
exp2
+
")"
;
}
...
...
src/share/classes/javax/management/Query.java
浏览文件 @
2fad7f7d
...
...
@@ -979,8 +979,18 @@ package javax.management;
if
(
query
==
null
)
return
null
;
if
(
query
instanceof
ToQueryString
)
return
((
ToQueryString
)
query
).
toQueryString
();
// This is ugly. At one stage we had a non-public class called
// ToQueryString with the toQueryString() method, and every class
// mentioned here inherited from that class. But that interfered
// with serialization of custom subclasses of e.g. QueryEval. Even
// though we could make it work by adding a public constructor to this
// non-public class, that seemed fragile because according to the
// serialization spec it shouldn't work. If only non-public interfaces
// could have non-public methods.
if
(
query
instanceof
ObjectName
)
return
((
ObjectName
)
query
).
toQueryString
();
if
(
query
instanceof
QueryEval
)
return
((
QueryEval
)
query
).
toQueryString
();
return
query
.
toString
();
}
...
...
src/share/classes/javax/management/QueryEval.java
浏览文件 @
2fad7f7d
...
...
@@ -25,20 +25,15 @@
package
javax.management
;
// java import
import
java.io.Serializable
;
// RI import
import
javax.management.MBeanServer
;
/**
* Allows a query to be performed in the context of a specific MBean server.
*
* @since 1.5
*/
public
abstract
class
QueryEval
extends
ToQueryString
implements
Serializable
{
public
abstract
class
QueryEval
implements
Serializable
{
/* Serial version */
private
static
final
long
serialVersionUID
=
2675899265640874796L
;
...
...
@@ -80,4 +75,10 @@ public abstract class QueryEval extends ToQueryString implements Serializable {
public
static
MBeanServer
getMBeanServer
()
{
return
server
.
get
();
}
// Subclasses in this package can override this method to return a different
// string.
String
toQueryString
()
{
return
toString
();
}
}
src/share/classes/javax/management/StandardMBean.java
浏览文件 @
2fad7f7d
...
...
@@ -750,7 +750,7 @@ public class StandardMBean implements DynamicMBean, MBeanRegistration {
* @return the Descriptor for the new MBeanInfo.
*/
Descriptor
getDescriptor
(
MBeanInfo
info
,
boolean
immutableInfo
)
{
ImmutableDescriptor
desc
=
null
;
ImmutableDescriptor
desc
;
if
(
info
==
null
||
info
.
getDescriptor
()
==
null
||
info
.
getDescriptor
().
getFieldNames
().
length
==
0
)
{
...
...
src/share/classes/javax/management/loading/MLet.java
浏览文件 @
2fad7f7d
...
...
@@ -591,8 +591,8 @@ public class MLet extends java.net.URLClassLoader
// Instantiate the class specified in the
// CODE or OBJECT section of the MLet tag
//
Object
o
=
null
;
ObjectInstance
objInst
=
null
;
Object
o
;
ObjectInstance
objInst
;
if
(
code
!=
null
&&
serName
!=
null
)
{
final
String
msg
=
...
...
@@ -1131,11 +1131,17 @@ public class MLet extends java.net.URLClassLoader
return
null
;
}
finally
{
// Cleanup ...
if
(
tmpFile
!=
null
)
try
{
tmpFile
.
delete
();
}
catch
(
Exception
x
)
{
MLET_LOGGER
.
logp
(
Level
.
FINEST
,
MLet
.
class
.
getName
(),
"getTmpDir"
,
"Failed to delete temporary file"
,
x
);
if
(
tmpFile
!=
null
)
{
try
{
boolean
deleted
=
tmpFile
.
delete
();
if
(!
deleted
)
{
MLET_LOGGER
.
logp
(
Level
.
FINEST
,
MLet
.
class
.
getName
(),
"getTmpDir"
,
"Failed to delete temp file"
);
}
}
catch
(
Exception
x
)
{
MLET_LOGGER
.
logp
(
Level
.
FINEST
,
MLet
.
class
.
getName
(),
"getTmpDir"
,
"Failed to delete temporary file"
,
x
);
}
}
}
}
...
...
@@ -1178,25 +1184,8 @@ public class MLet extends java.net.URLClassLoader
* Removes any white space from a string. This is used to
* convert strings such as "Windows NT" to "WindowsNT".
*/
private
String
removeSpace
(
String
s
)
{
s
=
s
.
trim
();
int
j
=
s
.
indexOf
(
' '
);
if
(
j
==
-
1
)
{
return
s
;
}
String
temp
=
""
;
int
k
=
0
;
while
(
j
!=
-
1
)
{
s
=
s
.
substring
(
k
);
j
=
s
.
indexOf
(
' '
);
if
(
j
!=
-
1
)
{
temp
=
temp
+
s
.
substring
(
0
,
j
);
}
else
{
temp
=
temp
+
s
.
substring
(
0
);
}
k
=
j
+
1
;
}
return
temp
;
private
static
String
removeSpace
(
String
s
)
{
return
s
.
trim
().
replace
(
" "
,
""
);
}
/**
...
...
src/share/classes/javax/management/loading/MLetParser.java
浏览文件 @
2fad7f7d
...
...
@@ -240,14 +240,12 @@ class MLetParser {
MLET_LOGGER
.
logp
(
Level
.
FINER
,
MLetParser
.
class
.
getName
(),
mth
,
requiresCodeWarning
);
atts
=
null
;
throw
new
IOException
(
requiresCodeWarning
);
}
if
(
atts
.
get
(
"archive"
)
==
null
)
{
MLET_LOGGER
.
logp
(
Level
.
FINER
,
MLetParser
.
class
.
getName
(),
mth
,
requiresJarsWarning
);
atts
=
null
;
throw
new
IOException
(
requiresJarsWarning
);
}
}
...
...
@@ -265,7 +263,7 @@ class MLetParser {
public
List
<
MLetContent
>
parseURL
(
String
urlname
)
throws
IOException
{
// Parse the document
//
URL
url
=
null
;
URL
url
;
if
(
urlname
.
indexOf
(
':'
)
<=
1
)
{
String
userDir
=
System
.
getProperty
(
"user.dir"
);
String
prot
;
...
...
src/share/classes/javax/management/modelmbean/DescriptorSupport.java
浏览文件 @
2fad7f7d
...
...
@@ -591,8 +591,6 @@ public class DescriptorSupport
Set
returnedSet
=
descriptorMap
.
entrySet
();
int
i
=
0
;
Object
currValue
=
null
;
Map
.
Entry
currElement
=
null
;
if
(
MODELMBEAN_LOGGER
.
isLoggable
(
Level
.
FINEST
))
{
MODELMBEAN_LOGGER
.
logp
(
Level
.
FINEST
,
...
...
@@ -600,7 +598,7 @@ public class DescriptorSupport
"getFields()"
,
"Returning "
+
numberOfEntries
+
" fields"
);
}
for
(
Iterator
iter
=
returnedSet
.
iterator
();
iter
.
hasNext
();
i
++)
{
currElement
=
(
Map
.
Entry
)
iter
.
next
();
Map
.
Entry
currElement
=
(
Map
.
Entry
)
iter
.
next
();
if
(
currElement
==
null
)
{
if
(
MODELMBEAN_LOGGER
.
isLoggable
(
Level
.
FINEST
))
{
...
...
@@ -609,7 +607,7 @@ public class DescriptorSupport
"getFields()"
,
"Element is null"
);
}
}
else
{
currValue
=
currElement
.
getValue
();
Object
currValue
=
currElement
.
getValue
();
if
(
currValue
==
null
)
{
responseFields
[
i
]
=
currElement
.
getKey
()
+
"="
;
}
else
{
...
...
@@ -1127,7 +1125,7 @@ public class DescriptorSupport
final
char
c
=
entities
[
i
].
charAt
(
0
);
final
String
entity
=
entities
[
i
].
substring
(
1
);
charToEntityMap
[
c
]
=
entity
;
entityToCharMap
.
put
(
entity
,
new
Character
(
c
)
);
entityToCharMap
.
put
(
entity
,
c
);
}
}
...
...
@@ -1325,13 +1323,11 @@ public class DescriptorSupport
// utility to convert to int, returns -2 if bogus.
private
long
toNumeric
(
String
inStr
)
{
long
result
=
-
2
;
try
{
re
sult
=
java
.
lang
.
Long
.
parseLong
(
inStr
);
re
turn
java
.
lang
.
Long
.
parseLong
(
inStr
);
}
catch
(
Exception
e
)
{
return
-
2
;
}
return
result
;
}
...
...
src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
浏览文件 @
2fad7f7d
...
...
@@ -432,7 +432,7 @@ public class ModelMBeanAttributeInfo
*/
private
Descriptor
validDescriptor
(
final
Descriptor
in
)
throws
RuntimeOperationsException
{
Descriptor
clone
=
null
;
Descriptor
clone
;
if
(
in
==
null
)
{
clone
=
new
DescriptorSupport
();
MODELMBEAN_LOGGER
.
finer
(
"Null Descriptor, creating new."
);
...
...
src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
浏览文件 @
2fad7f7d
...
...
@@ -393,7 +393,7 @@ public class ModelMBeanConstructorInfo
* @exception RuntimeOperationsException if Descriptor is invalid
*/
private
Descriptor
validDescriptor
(
final
Descriptor
in
)
throws
RuntimeOperationsException
{
Descriptor
clone
=
null
;
Descriptor
clone
;
if
(
in
==
null
)
{
clone
=
new
DescriptorSupport
();
MODELMBEAN_LOGGER
.
finer
(
"Null Descriptor, creating new."
);
...
...
src/share/classes/javax/management/modelmbean/ModelMBeanInfoSupport.java
浏览文件 @
2fad7f7d
...
...
@@ -944,7 +944,7 @@ public class ModelMBeanInfoSupport extends MBeanInfo implements ModelMBeanInfo {
* @exception RuntimeOperationsException if Descriptor is invalid
*/
private
Descriptor
validDescriptor
(
final
Descriptor
in
)
throws
RuntimeOperationsException
{
Descriptor
clone
=
null
;
Descriptor
clone
;
if
(
in
==
null
)
{
clone
=
new
DescriptorSupport
();
MODELMBEAN_LOGGER
.
finer
(
"Null Descriptor, creating new."
);
...
...
src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
浏览文件 @
2fad7f7d
...
...
@@ -328,7 +328,7 @@ public class ModelMBeanNotificationInfo
* @exception RuntimeOperationsException if Descriptor is invalid
*/
private
Descriptor
validDescriptor
(
final
Descriptor
in
)
throws
RuntimeOperationsException
{
Descriptor
clone
=
null
;
Descriptor
clone
;
if
(
in
==
null
)
{
clone
=
new
DescriptorSupport
();
MODELMBEAN_LOGGER
.
finer
(
"Null Descriptor, creating new."
);
...
...
src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
浏览文件 @
2fad7f7d
...
...
@@ -424,7 +424,7 @@ public class ModelMBeanOperationInfo extends MBeanOperationInfo
*/
private
Descriptor
validDescriptor
(
final
Descriptor
in
)
throws
RuntimeOperationsException
{
Descriptor
clone
=
null
;
Descriptor
clone
;
if
(
in
==
null
)
{
clone
=
new
DescriptorSupport
();
MODELMBEAN_LOGGER
.
finer
(
"Null Descriptor, creating new."
);
...
...
src/share/classes/javax/management/modelmbean/RequiredModelMBean.java
浏览文件 @
2fad7f7d
...
...
@@ -1425,9 +1425,7 @@ public class RequiredModelMBean
}
/* Check attributeDescriptor for getMethod */
ModelMBeanAttributeInfo
attrInfo
=
null
;
Descriptor
attrDescr
=
null
;
Object
response
=
null
;
Object
response
;
try
{
if
(
modelMBeanInfo
==
null
)
...
...
@@ -1435,14 +1433,14 @@ public class RequiredModelMBean
"getAttribute failed: ModelMBeanInfo not found for "
+
attrName
);
attrInfo
=
modelMBeanInfo
.
getAttribute
(
attrName
);
ModelMBeanAttributeInfo
attrInfo
=
modelMBeanInfo
.
getAttribute
(
attrName
);
Descriptor
mmbDesc
=
modelMBeanInfo
.
getMBeanDescriptor
();
if
(
attrInfo
==
null
)
throw
new
AttributeNotFoundException
(
"getAttribute failed:"
+
" ModelMBeanAttributeInfo not found for "
+
attrName
);
attrDescr
=
attrInfo
.
getDescriptor
();
Descriptor
attrDescr
=
attrInfo
.
getDescriptor
();
if
(
attrDescr
!=
null
)
{
if
(!
attrInfo
.
isReadable
())
throw
new
AttributeNotFoundException
(
...
...
@@ -1684,14 +1682,13 @@ public class RequiredModelMBean
"getAttributes(String[])"
,
"Entry"
);
}
AttributeList
responseList
=
null
;
if
(
attrNames
==
null
)
throw
new
RuntimeOperationsException
(
new
IllegalArgumentException
(
"attributeNames must not be null"
),
"Exception occurred trying to get attributes of a "
+
"RequiredModelMBean"
);
responseList
=
new
AttributeList
();
AttributeList
responseList
=
new
AttributeList
();
for
(
int
i
=
0
;
i
<
attrNames
.
length
;
i
++)
{
try
{
responseList
.
add
(
new
Attribute
(
attrNames
[
i
],
...
...
@@ -1833,8 +1830,6 @@ public class RequiredModelMBean
throw
new
AttributeNotFoundException
(
"setAttribute failed: "
+
attrName
+
" is not writable "
);
Object
setResponse
=
null
;
String
attrSetMethod
=
(
String
)
(
attrDescr
.
getFieldValue
(
"setMethod"
));
String
attrGetMethod
=
(
String
)
...
...
@@ -1873,9 +1868,9 @@ public class RequiredModelMBean
}
updateDescriptor
=
true
;
}
else
{
setResponse
=
invoke
(
attrSetMethod
,
(
new
Object
[]
{
attrValue
}),
(
new
String
[]
{
attrType
})
);
invoke
(
attrSetMethod
,
(
new
Object
[]
{
attrValue
}),
(
new
String
[]
{
attrType
})
);
}
/* change cached value */
...
...
@@ -2023,8 +2018,6 @@ public class RequiredModelMBean
private
synchronized
void
writeToLog
(
String
logFileName
,
String
logEntry
)
throws
Exception
{
PrintStream
logOut
=
null
;
FileOutputStream
fos
=
null
;
if
(
MODELMBEAN_LOGGER
.
isLoggable
(
Level
.
FINER
))
{
MODELMBEAN_LOGGER
.
logp
(
Level
.
FINER
,
RequiredModelMBean
.
class
.
getName
(),
...
...
@@ -2041,9 +2034,9 @@ public class RequiredModelMBean
return
;
}
FileOutputStream
fos
=
new
FileOutputStream
(
logFileName
,
true
);
try
{
fos
=
new
FileOutputStream
(
logFileName
,
true
);
logOut
=
new
PrintStream
(
fos
);
PrintStream
logOut
=
new
PrintStream
(
fos
);
logOut
.
println
(
logEntry
);
logOut
.
close
();
if
(
MODELMBEAN_LOGGER
.
isLoggable
(
Level
.
FINER
))
{
...
...
@@ -2062,6 +2055,8 @@ public class RequiredModelMBean
logFileName
);
}
throw
e
;
}
finally
{
fos
.
close
();
}
}
...
...
src/share/classes/javax/management/monitor/CounterMonitor.java
浏览文件 @
2fad7f7d
...
...
@@ -740,16 +740,16 @@ public class CounterMonitor extends Monitor implements CounterMonitorMBean {
//
switch
(
o
.
getType
())
{
case
INTEGER:
o
.
setThreshold
(
new
Integer
((
int
)
threshold_value
));
o
.
setThreshold
(
Integer
.
valueOf
((
int
)
threshold_value
));
break
;
case
BYTE:
o
.
setThreshold
(
new
Byte
((
byte
)
threshold_value
));
o
.
setThreshold
(
Byte
.
valueOf
((
byte
)
threshold_value
));
break
;
case
SHORT:
o
.
setThreshold
(
new
Short
((
short
)
threshold_value
));
o
.
setThreshold
(
Short
.
valueOf
((
short
)
threshold_value
));
break
;
case
LONG:
o
.
setThreshold
(
new
Long
(
threshold_value
));
o
.
setThreshold
(
Long
.
valueOf
(
threshold_value
));
break
;
default
:
// Should never occur...
...
...
@@ -810,10 +810,10 @@ public class CounterMonitor extends Monitor implements CounterMonitorMBean {
derived
+=
modulus
.
longValue
();
switch
(
o
.
getType
())
{
case
INTEGER:
o
.
setDerivedGauge
(
new
Integer
((
int
)
derived
));
break
;
case
BYTE:
o
.
setDerivedGauge
(
new
Byte
((
byte
)
derived
));
break
;
case
SHORT:
o
.
setDerivedGauge
(
new
Short
((
short
)
derived
));
break
;
case
LONG:
o
.
setDerivedGauge
(
new
Long
(
derived
));
break
;
case
INTEGER:
o
.
setDerivedGauge
(
Integer
.
valueOf
((
int
)
derived
));
break
;
case
BYTE:
o
.
setDerivedGauge
(
Byte
.
valueOf
((
byte
)
derived
));
break
;
case
SHORT:
o
.
setDerivedGauge
(
Short
.
valueOf
((
short
)
derived
));
break
;
case
LONG:
o
.
setDerivedGauge
(
Long
.
valueOf
(
derived
));
break
;
default
:
// Should never occur...
MONITOR_LOGGER
.
logp
(
Level
.
FINEST
,
CounterMonitor
.
class
.
getName
(),
...
...
src/share/classes/javax/management/monitor/GaugeMonitor.java
浏览文件 @
2fad7f7d
...
...
@@ -636,28 +636,28 @@ public class GaugeMonitor extends Monitor implements GaugeMonitorMBean {
Number
der
;
switch
(
o
.
getType
())
{
case
INTEGER:
der
=
new
Integer
(((
Integer
)
scanGauge
).
intValue
()
-
((
Integer
)
prev
).
intValue
());
der
=
Integer
.
valueOf
(((
Integer
)
scanGauge
).
intValue
()
-
((
Integer
)
prev
).
intValue
());
break
;
case
BYTE:
der
=
new
Byte
((
byte
)(((
Byte
)
scanGauge
).
byteValue
()
-
((
Byte
)
prev
).
byteValue
()));
der
=
Byte
.
valueOf
((
byte
)(((
Byte
)
scanGauge
).
byteValue
()
-
((
Byte
)
prev
).
byteValue
()));
break
;
case
SHORT:
der
=
new
Short
((
short
)(((
Short
)
scanGauge
).
shortValue
()
-
((
Short
)
prev
).
shortValue
()));
der
=
Short
.
valueOf
((
short
)(((
Short
)
scanGauge
).
shortValue
()
-
((
Short
)
prev
).
shortValue
()));
break
;
case
LONG:
der
=
new
Long
(((
Long
)
scanGauge
).
longValue
()
-
((
Long
)
prev
).
longValue
());
der
=
Long
.
valueOf
(((
Long
)
scanGauge
).
longValue
()
-
((
Long
)
prev
).
longValue
());
break
;
case
FLOAT:
der
=
new
Float
(((
Float
)
scanGauge
).
floatValue
()
-
((
Float
)
prev
).
floatValue
());
der
=
Float
.
valueOf
(((
Float
)
scanGauge
).
floatValue
()
-
((
Float
)
prev
).
floatValue
());
break
;
case
DOUBLE:
der
=
new
Double
(((
Double
)
scanGauge
).
doubleValue
()
-
((
Double
)
prev
).
doubleValue
());
der
=
Double
.
valueOf
(((
Double
)
scanGauge
).
doubleValue
()
-
((
Double
)
prev
).
doubleValue
());
break
;
default
:
// Should never occur...
...
...
src/share/classes/javax/management/monitor/Monitor.java
浏览文件 @
2fad7f7d
...
...
@@ -367,7 +367,7 @@ public abstract class Monitor
/**
* Constant used to initialize all the numeric values.
*/
static
final
Integer
INTEGER_ZERO
=
new
Integer
(
0
)
;
static
final
Integer
INTEGER_ZERO
=
0
;
/*
...
...
@@ -1122,12 +1122,12 @@ public abstract class Monitor
*/
private
void
monitor
(
ObservedObject
o
,
int
index
,
int
an
[])
{
String
attribute
=
null
;
String
attribute
;
String
notifType
=
null
;
String
msg
=
null
;
Object
derGauge
=
null
;
Object
trigger
=
null
;
ObjectName
object
=
null
;
ObjectName
object
;
Comparable
<?>
value
=
null
;
MonitorNotification
alarm
=
null
;
...
...
@@ -1565,7 +1565,7 @@ public abstract class Monitor
final
ThreadGroup
group
;
final
AtomicInteger
threadNumber
=
new
AtomicInteger
(
1
);
final
String
namePrefix
;
final
String
nameSuffix
=
"]"
;
static
final
String
nameSuffix
=
"]"
;
public
DaemonThreadFactory
(
String
poolName
)
{
SecurityManager
s
=
System
.
getSecurityManager
();
...
...
src/share/classes/javax/management/openmbean/ArrayType.java
浏览文件 @
2fad7f7d
...
...
@@ -726,7 +726,7 @@ public class ArrayType<T> extends OpenType<T> {
value
+=
dimension
;
value
+=
elementType
.
hashCode
();
value
+=
Boolean
.
valueOf
(
primitiveArray
).
hashCode
();
myHashCode
=
new
Integer
(
value
);
myHashCode
=
Integer
.
valueOf
(
value
);
}
// return always the same hash code for this instance (immutable)
...
...
src/share/classes/javax/management/openmbean/CompositeType.java
浏览文件 @
2fad7f7d
...
...
@@ -426,7 +426,7 @@ public class CompositeType extends OpenType<CompositeData> {
value
+=
key
.
hashCode
();
value
+=
this
.
nameToType
.
get
(
key
).
hashCode
();
}
myHashCode
=
new
Integer
(
value
);
myHashCode
=
Integer
.
valueOf
(
value
);
}
// return always the same hash code for this instance (immutable)
...
...
src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
浏览文件 @
2fad7f7d
...
...
@@ -769,7 +769,6 @@ public class OpenMBeanAttributeInfoSupport
"array with same dimensions"
;
throw
new
IllegalArgumentException
(
msg
);
}
Class
<?>
targetComponentClass
=
targetArrayClass
.
getComponentType
();
OpenType
<?>
componentOpenType
;
if
(
dim
==
1
)
componentOpenType
=
baseType
;
...
...
src/share/classes/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java
浏览文件 @
2fad7f7d
...
...
@@ -252,7 +252,7 @@ public class OpenMBeanConstructorInfoSupport
int
value
=
0
;
value
+=
this
.
getName
().
hashCode
();
value
+=
Arrays
.
asList
(
this
.
getSignature
()).
hashCode
();
myHashCode
=
new
Integer
(
value
);
myHashCode
=
Integer
.
valueOf
(
value
);
}
// return always the same hash code for this instance (immutable)
...
...
src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java
浏览文件 @
2fad7f7d
...
...
@@ -347,7 +347,7 @@ public class OpenMBeanInfoSupport
value
+=
arraySetHash
(
this
.
getConstructors
());
value
+=
arraySetHash
(
this
.
getOperations
());
value
+=
arraySetHash
(
this
.
getNotifications
());
myHashCode
=
new
Integer
(
value
);
myHashCode
=
Integer
.
valueOf
(
value
);
}
// return always the same hash code for this instance (immutable)
...
...
src/share/classes/javax/management/openmbean/OpenMBeanOperationInfoSupport.java
浏览文件 @
2fad7f7d
...
...
@@ -352,7 +352,7 @@ public class OpenMBeanOperationInfoSupport
value
+=
Arrays
.
asList
(
this
.
getSignature
()).
hashCode
();
value
+=
this
.
getReturnOpenType
().
hashCode
();
value
+=
this
.
getImpact
();
myHashCode
=
new
Integer
(
value
);
myHashCode
=
Integer
.
valueOf
(
value
);
}
// return always the same hash code for this instance (immutable)
...
...
src/share/classes/javax/management/openmbean/SimpleType.java
浏览文件 @
2fad7f7d
...
...
@@ -257,7 +257,7 @@ public final class SimpleType<T> extends OpenType<T> {
// Calculate the hash code value if it has not yet been done (ie 1st call to hashCode())
//
if
(
myHashCode
==
null
)
{
myHashCode
=
new
Integer
(
this
.
getClassName
().
hashCode
());
myHashCode
=
Integer
.
valueOf
(
this
.
getClassName
().
hashCode
());
}
// return always the same hash code for this instance (immutable)
...
...
src/share/classes/javax/management/openmbean/TabularType.java
浏览文件 @
2fad7f7d
...
...
@@ -332,7 +332,7 @@ public class TabularType extends OpenType<TabularData> {
for
(
Iterator
k
=
indexNames
.
iterator
();
k
.
hasNext
();
)
{
value
+=
k
.
next
().
hashCode
();
}
myHashCode
=
new
Integer
(
value
);
myHashCode
=
Integer
.
valueOf
(
value
);
}
// return always the same hash code for this instance (immutable)
...
...
src/share/classes/javax/management/relation/RelationNotification.java
浏览文件 @
2fad7f7d
...
...
@@ -369,7 +369,7 @@ public class RelationNotification extends Notification {
* @return a {@link List} of {@link ObjectName}.
*/
public
List
<
ObjectName
>
getMBeansToUnregister
()
{
List
<
ObjectName
>
result
=
null
;
List
<
ObjectName
>
result
;
if
(
unregisterMBeanList
!=
null
)
{
result
=
new
ArrayList
<
ObjectName
>(
unregisterMBeanList
);
}
else
{
...
...
@@ -397,7 +397,7 @@ public class RelationNotification extends Notification {
* @return the old value of the updated role.
*/
public
List
<
ObjectName
>
getOldRoleValue
()
{
List
<
ObjectName
>
result
=
null
;
List
<
ObjectName
>
result
;
if
(
oldRoleValue
!=
null
)
{
result
=
new
ArrayList
<
ObjectName
>(
oldRoleValue
);
}
else
{
...
...
@@ -412,7 +412,7 @@ public class RelationNotification extends Notification {
* @return the new value of the updated role.
*/
public
List
<
ObjectName
>
getNewRoleValue
()
{
List
<
ObjectName
>
result
=
null
;
List
<
ObjectName
>
result
;
if
(
newRoleValue
!=
null
)
{
result
=
new
ArrayList
<
ObjectName
>(
newRoleValue
);
}
else
{
...
...
src/share/classes/javax/management/relation/RelationService.java
浏览文件 @
2fad7f7d
...
...
@@ -35,6 +35,7 @@ import java.util.Iterator;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.atomic.AtomicLong
;
import
java.util.logging.Level
;
import
javax.management.Attribute
;
...
...
@@ -122,7 +123,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Internal counter to provide sequence numbers for notifications sent by:
// - the Relation Service
// - a relation handled by the Relation Service
private
Long
myNtfSeqNbrCounter
=
new
Long
(
0
);
private
final
AtomicLong
atomicSeqNo
=
new
AtomicLong
(
);
// ObjectName used to register the Relation Service in the MBean Server
private
ObjectName
myObjName
=
null
;
...
...
@@ -256,19 +257,6 @@ public class RelationService extends NotificationBroadcasterSupport
return
;
}
// Returns internal counter to be used for Sequence Numbers of
// notifications to be raised by:
// - a relation handled by this Relation Service (when updated)
// - the Relation Service
private
Long
getNotificationSequenceNumber
()
{
Long
result
=
null
;
synchronized
(
myNtfSeqNbrCounter
)
{
result
=
new
Long
(
myNtfSeqNbrCounter
.
longValue
()
+
1
);
myNtfSeqNbrCounter
=
new
Long
(
result
.
longValue
());
}
return
result
;
}
//
// Relation type handling
//
...
...
@@ -369,7 +357,7 @@ public class RelationService extends NotificationBroadcasterSupport
* @return ArrayList of relation type names (Strings)
*/
public
List
<
String
>
getAllRelationTypeNames
()
{
ArrayList
<
String
>
result
=
null
;
ArrayList
<
String
>
result
;
synchronized
(
myRelType2ObjMap
)
{
result
=
new
ArrayList
<
String
>(
myRelType2ObjMap
.
keySet
());
}
...
...
@@ -684,7 +672,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw InstanceNotFoundException (but detected above)
// No MBeanException as no exception raised by this method, and no
// ReflectionException
String
relId
=
null
;
String
relId
;
try
{
relId
=
(
String
)(
myMBeanServer
.
getAttribute
(
relationObjectName
,
"RelationId"
));
...
...
@@ -707,7 +695,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw InstanceNotFoundException (but detected above)
// No MBeanException as no exception raised by this method, no
// ReflectionException
ObjectName
relServObjName
=
null
;
ObjectName
relServObjName
;
try
{
relServObjName
=
(
ObjectName
)
(
myMBeanServer
.
getAttribute
(
relationObjectName
,
...
...
@@ -737,7 +725,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw InstanceNotFoundException (but detected above)
// No MBeanException as no exception raised by this method, no
// ReflectionException
String
relTypeName
=
null
;
String
relTypeName
;
try
{
relTypeName
=
(
String
)(
myMBeanServer
.
getAttribute
(
relationObjectName
,
"RelationTypeName"
));
...
...
@@ -758,7 +746,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw InstanceNotFoundException (but detected above)
// No MBeanException as no exception raised by this method, no
// ReflectionException
RoleList
roleList
=
null
;
RoleList
roleList
;
try
{
roleList
=
(
RoleList
)(
myMBeanServer
.
invoke
(
relationObjectName
,
"retrieveAllRoles"
,
...
...
@@ -912,7 +900,7 @@ public class RelationService extends NotificationBroadcasterSupport
* @return ArrayList of String
*/
public
List
<
String
>
getAllRelationIds
()
{
List
<
String
>
result
=
null
;
List
<
String
>
result
;
synchronized
(
myRelId2ObjMap
)
{
result
=
new
ArrayList
<
String
>(
myRelId2ObjMap
.
keySet
());
}
...
...
@@ -948,7 +936,7 @@ public class RelationService extends NotificationBroadcasterSupport
RELATION_LOGGER
.
entering
(
RelationService
.
class
.
getName
(),
"checkRoleReading"
,
new
Object
[]
{
roleName
,
relationTypeName
});
Integer
result
=
null
;
Integer
result
;
// Can throw a RelationTypeNotFoundException
RelationType
relType
=
getRelationType
(
relationTypeName
);
...
...
@@ -965,7 +953,7 @@ public class RelationService extends NotificationBroadcasterSupport
false
);
}
catch
(
RoleInfoNotFoundException
exc
)
{
result
=
new
Integer
(
RoleStatus
.
NO_ROLE_WITH_NAME
);
result
=
Integer
.
valueOf
(
RoleStatus
.
NO_ROLE_WITH_NAME
);
}
RELATION_LOGGER
.
exiting
(
RelationService
.
class
.
getName
(),
...
...
@@ -1021,13 +1009,13 @@ public class RelationService extends NotificationBroadcasterSupport
writeChkFlag
=
false
;
}
RoleInfo
roleInfo
=
null
;
RoleInfo
roleInfo
;
try
{
roleInfo
=
relType
.
getRoleInfo
(
roleName
);
}
catch
(
RoleInfoNotFoundException
exc
)
{
RELATION_LOGGER
.
exiting
(
RelationService
.
class
.
getName
(),
"checkRoleWriting"
);
return
new
Integer
(
RoleStatus
.
NO_ROLE_WITH_NAME
);
return
Integer
.
valueOf
(
RoleStatus
.
NO_ROLE_WITH_NAME
);
}
Integer
result
=
checkRoleInt
(
2
,
...
...
@@ -1436,7 +1424,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Relation id to relation type name map
// First retrieves the relation type name
String
relTypeName
=
null
;
String
relTypeName
;
synchronized
(
myRelId2RelTypeMap
)
{
relTypeName
=
myRelId2RelTypeMap
.
get
(
relationId
);
myRelId2RelTypeMap
.
remove
(
relationId
);
...
...
@@ -1641,7 +1629,7 @@ public class RelationService extends NotificationBroadcasterSupport
// List of relation ids of interest regarding the selected
// relation type
List
<
String
>
relIdList
=
null
;
List
<
String
>
relIdList
;
if
(
relationTypeName
==
null
)
{
// Considers all relations
relIdList
=
new
ArrayList
<
String
>(
allRelIdSet
);
...
...
@@ -1655,7 +1643,7 @@ public class RelationService extends NotificationBroadcasterSupport
for
(
String
currRelId
:
allRelIdSet
)
{
// Retrieves its relation type
String
currRelTypeName
=
null
;
String
currRelTypeName
;
synchronized
(
myRelId2RelTypeMap
)
{
currRelTypeName
=
myRelId2RelTypeMap
.
get
(
currRelId
);
...
...
@@ -1952,7 +1940,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw a RelationNotFoundException
Object
relObj
=
getRelation
(
relationId
);
RoleResult
result
=
null
;
RoleResult
result
;
if
(
relObj
instanceof
RelationSupport
)
{
// Internal relation
...
...
@@ -2022,7 +2010,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw a RelationNotFoundException
Object
relObj
=
getRelation
(
relationId
);
RoleResult
result
=
null
;
RoleResult
result
;
if
(
relObj
instanceof
RelationSupport
)
{
// Internal relation
...
...
@@ -2073,7 +2061,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw a RelationNotFoundException
Object
relObj
=
getRelation
(
relationId
);
Integer
result
=
null
;
Integer
result
;
if
(
relObj
instanceof
RelationSupport
)
{
// Internal relation
...
...
@@ -2268,7 +2256,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw a RelationNotFoundException
Object
relObj
=
getRelation
(
relationId
);
RoleResult
result
=
null
;
RoleResult
result
;
if
(
relObj
instanceof
RelationSupport
)
{
// Internal relation
...
...
@@ -2390,7 +2378,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Can throw a RelationNotFoundException
Object
relObj
=
getRelation
(
relationId
);
String
result
=
null
;
String
result
;
if
(
relObj
instanceof
RelationSupport
)
{
// Internal relation
...
...
@@ -2473,7 +2461,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Note: do both tests as a relation can be an MBean and be
// itself referenced in another relation :)
String
relId
=
null
;
String
relId
;
synchronized
(
myRelMBeanObjName2RelIdMap
){
relId
=
myRelMBeanObjName2RelIdMap
.
get
(
mbeanName
);
}
...
...
@@ -2511,9 +2499,6 @@ public class RelationService extends NotificationBroadcasterSupport
RELATION_LOGGER
.
entering
(
RelationService
.
class
.
getName
(),
"getNotificationInfo"
);
MBeanNotificationInfo
[]
ntfInfoArray
=
new
MBeanNotificationInfo
[
1
];
String
ntfClass
=
"javax.management.relation.RelationNotification"
;
String
[]
ntfTypes
=
new
String
[]
{
...
...
@@ -2615,7 +2600,7 @@ public class RelationService extends NotificationBroadcasterSupport
"getRelationType"
,
relationTypeName
);
// No null relation type accepted, so can use get()
RelationType
relType
=
null
;
RelationType
relType
;
synchronized
(
myRelType2ObjMap
)
{
relType
=
(
myRelType2ObjMap
.
get
(
relationTypeName
));
}
...
...
@@ -2659,7 +2644,7 @@ public class RelationService extends NotificationBroadcasterSupport
"getRelation"
,
relationId
);
// No null relation accepted, so can use get()
Object
rel
=
null
;
Object
rel
;
synchronized
(
myRelId2ObjMap
)
{
rel
=
myRelId2ObjMap
.
get
(
relationId
);
}
...
...
@@ -3077,7 +3062,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Retrieves corresponding role info
// Can throw a RoleInfoNotFoundException to be converted into a
// RoleNotFoundException
RoleInfo
roleInfo
=
null
;
RoleInfo
roleInfo
;
try
{
roleInfo
=
relType
.
getRoleInfo
(
currRoleName
);
}
catch
(
RoleInfoNotFoundException
exc
)
{
...
...
@@ -3227,7 +3212,7 @@ public class RelationService extends NotificationBroadcasterSupport
if
(!(
roleName
.
equals
(
expName
)))
{
RELATION_LOGGER
.
exiting
(
RelationService
.
class
.
getName
(),
"checkRoleInt"
);
return
new
Integer
(
RoleStatus
.
NO_ROLE_WITH_NAME
);
return
Integer
.
valueOf
(
RoleStatus
.
NO_ROLE_WITH_NAME
);
}
// Checks read access if required
...
...
@@ -3236,7 +3221,7 @@ public class RelationService extends NotificationBroadcasterSupport
if
(!
isReadable
)
{
RELATION_LOGGER
.
exiting
(
RelationService
.
class
.
getName
(),
"checkRoleInt"
);
return
new
Integer
(
RoleStatus
.
ROLE_NOT_READABLE
);
return
Integer
.
valueOf
(
RoleStatus
.
ROLE_NOT_READABLE
);
}
else
{
// End of check :)
RELATION_LOGGER
.
exiting
(
RelationService
.
class
.
getName
(),
...
...
@@ -3572,7 +3557,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Relation type name
// Note: do not use getRelationTypeName() as if it is a relation MBean
// it is already unregistered.
String
relTypeName
=
null
;
String
relTypeName
;
synchronized
(
myRelId2RelTypeMap
)
{
relTypeName
=
(
myRelId2RelTypeMap
.
get
(
relationId
));
}
...
...
@@ -3609,7 +3594,7 @@ public class RelationService extends NotificationBroadcasterSupport
}
// Sequence number
Long
seqN
br
=
getNotificationSequenceNumber
();
Long
seqN
o
=
atomicSeqNo
.
incrementAndGet
();
// Timestamp
Date
currDate
=
new
Date
();
...
...
@@ -3625,7 +3610,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Creation or removal
ntf
=
new
RelationNotification
(
ntfType
,
this
,
seqN
br
.
longValue
(),
seqN
o
.
longValue
(),
timeStamp
,
message
,
relationId
,
...
...
@@ -3640,7 +3625,7 @@ public class RelationService extends NotificationBroadcasterSupport
// Update
ntf
=
new
RelationNotification
(
ntfType
,
this
,
seqN
br
.
longValue
(),
seqN
o
.
longValue
(),
timeStamp
,
message
,
relationId
,
...
...
@@ -3732,7 +3717,7 @@ public class RelationService extends NotificationBroadcasterSupport
//
// Shall not throw RelationTypeNotFoundException or
// RoleInfoNotFoundException
RoleInfo
currRoleInfo
=
null
;
RoleInfo
currRoleInfo
;
try
{
currRoleInfo
=
getRoleInfo
(
currRelTypeName
,
currRoleName
);
...
...
src/share/classes/javax/management/relation/RelationSupport.java
浏览文件 @
2fad7f7d
...
...
@@ -34,6 +34,7 @@ import java.util.Iterator;
import
java.util.Map
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicBoolean
;
import
static
com
.
sun
.
jmx
.
defaults
.
JmxProperties
.
RELATION_LOGGER
;
import
static
com
.
sun
.
jmx
.
mbeanserver
.
Util
.
cast
;
import
javax.management.InstanceNotFoundException
;
...
...
@@ -110,7 +111,7 @@ public class RelationSupport
private
Map
<
String
,
Role
>
myRoleName2ValueMap
=
new
HashMap
<
String
,
Role
>();
// Flag to indicate if the object has been added in the Relation Service
private
Boolean
myInRelServFlg
=
null
;
private
final
AtomicBoolean
myInRelServFlg
=
new
AtomicBoolean
()
;
//
// Constructors
...
...
@@ -403,7 +404,7 @@ public class RelationSupport
"getRoleCardinality"
,
roleName
);
// Try to retrieve the role
Role
role
=
null
;
Role
role
;
synchronized
(
myRoleName2ValueMap
)
{
// No null Role is allowed, so direct use of get()
role
=
(
myRoleName2ValueMap
.
get
(
roleName
));
...
...
@@ -427,7 +428,7 @@ public class RelationSupport
RELATION_LOGGER
.
exiting
(
RelationSupport
.
class
.
getName
(),
"getRoleCardinality"
);
return
new
Integer
(
roleValue
.
size
()
);
return
roleValue
.
size
(
);
}
/**
...
...
@@ -701,11 +702,7 @@ public class RelationSupport
* the Relation Service.
*/
public
Boolean
isInRelationService
()
{
Boolean
result
=
null
;
synchronized
(
myInRelServFlg
)
{
result
=
Boolean
.
valueOf
(
myInRelServFlg
.
booleanValue
());
}
return
result
;
return
myInRelServFlg
.
get
();
}
public
void
setRelationServiceManagementFlag
(
Boolean
flag
)
...
...
@@ -715,10 +712,7 @@ public class RelationSupport
String
excMsg
=
"Invalid parameter."
;
throw
new
IllegalArgumentException
(
excMsg
);
}
synchronized
(
myInRelServFlg
)
{
myInRelServFlg
=
Boolean
.
valueOf
(
flag
.
booleanValue
());
}
return
;
myInRelServFlg
.
set
(
flag
);
}
//
...
...
@@ -790,7 +784,7 @@ public class RelationSupport
int
pbType
=
0
;
Role
role
=
null
;
Role
role
;
synchronized
(
myRoleName2ValueMap
)
{
// No null Role is allowed, so direct use of get()
role
=
(
myRoleName2ValueMap
.
get
(
roleName
));
...
...
@@ -801,7 +795,7 @@ public class RelationSupport
}
else
{
// Checks if the role is readable
Integer
status
=
null
;
Integer
status
;
if
(
relationServCallFlg
)
{
...
...
@@ -851,7 +845,7 @@ public class RelationSupport
pbType
=
status
.
intValue
();
}
Object
result
=
null
;
Object
result
;
if
(
pbType
==
0
)
{
// Role can be retrieved
...
...
@@ -937,7 +931,7 @@ public class RelationSupport
for
(
int
i
=
0
;
i
<
roleNameArray
.
length
;
i
++)
{
String
currRoleName
=
roleNameArray
[
i
];
Object
currResult
=
null
;
Object
currResult
;
// Can throw RelationServiceNotRegisteredException
//
...
...
@@ -1102,13 +1096,13 @@ public class RelationSupport
// handle initialization of role when creating the relation
// (roles provided in the RoleList parameter are directly set but
// roles automatically initialized are set using setRole())
Role
role
=
null
;
Role
role
;
synchronized
(
myRoleName2ValueMap
)
{
role
=
(
myRoleName2ValueMap
.
get
(
roleName
));
}
List
<
ObjectName
>
oldRoleValue
;
Boolean
initFlg
=
null
;
Boolean
initFlg
;
if
(
role
==
null
)
{
initFlg
=
true
;
...
...
@@ -1122,7 +1116,7 @@ public class RelationSupport
// Checks if the role can be set: is writable (except if
// initialization) and correct value
try
{
Integer
status
=
null
;
Integer
status
;
if
(
relationServCallFlg
)
{
...
...
@@ -1314,7 +1308,7 @@ public class RelationSupport
Object
[]
params
=
new
Object
[
3
];
params
[
0
]
=
myRelId
;
params
[
1
]
=
newRole
;
params
[
2
]
=
((
ArrayList
)
oldRoleValue
)
;
params
[
2
]
=
oldRoleValue
;
String
[]
signature
=
new
String
[
3
];
signature
[
0
]
=
"java.lang.String"
;
signature
[
1
]
=
"javax.management.relation.Role"
;
...
...
@@ -1598,7 +1592,6 @@ public class RelationSupport
myRelTypeName
=
relationTypeName
;
// Can throw InvalidRoleValueException
initRoleMap
(
list
);
myInRelServFlg
=
Boolean
.
FALSE
;
RELATION_LOGGER
.
exiting
(
RelationSupport
.
class
.
getName
(),
"initMembers"
);
return
;
...
...
@@ -1710,7 +1703,7 @@ public class RelationSupport
roleName
,
relationServCallFlg
,
relationServ
});
// Retrieves current role value
Role
role
=
null
;
Role
role
;
synchronized
(
myRoleName2ValueMap
)
{
role
=
(
myRoleName2ValueMap
.
get
(
roleName
));
}
...
...
src/share/classes/javax/management/remote/JMXConnectorFactory.java
浏览文件 @
2fad7f7d
...
...
@@ -435,7 +435,7 @@ public class JMXConnectorFactory {
Iterator
<
JMXConnectorProvider
>
providers
=
getProviderIterator
(
JMXConnectorProvider
.
class
,
loader
);
JMXConnector
connection
=
null
;
JMXConnector
connection
;
IOException
exception
=
null
;
while
(
providers
.
hasNext
())
{
try
{
...
...
@@ -450,7 +450,7 @@ public class JMXConnectorFactory {
"] Service provider exception: "
+
e
);
if
(!(
e
instanceof
MalformedURLException
))
{
if
(
exception
==
null
)
{
if
(
e
xception
instanceof
IOException
)
{
if
(
e
instanceof
IOException
)
{
exception
=
(
IOException
)
e
;
}
else
{
exception
=
EnvHelp
.
initCause
(
...
...
src/share/classes/javax/management/remote/JMXConnectorServerFactory.java
浏览文件 @
2fad7f7d
...
...
@@ -215,12 +215,10 @@ public class JMXConnectorServerFactory {
JMXConnectorFactory
.
getProviderIterator
(
JMXConnectorServerProvider
.
class
,
loader
);
JMXConnectorServer
connection
=
null
;
IOException
exception
=
null
;
while
(
providers
.
hasNext
())
{
try
{
connection
=
providers
.
next
().
newJMXConnectorServer
(
url
,
map
,
mbs
);
return
connection
;
return
providers
.
next
().
newJMXConnectorServer
(
url
,
map
,
mbs
);
}
catch
(
JMXProviderException
e
)
{
throw
e
;
}
catch
(
Exception
e
)
{
...
...
@@ -230,7 +228,7 @@ public class JMXConnectorServerFactory {
"] Service provider exception: "
+
e
);
if
(!(
e
instanceof
MalformedURLException
))
{
if
(
exception
==
null
)
{
if
(
e
xception
instanceof
IOException
)
{
if
(
e
instanceof
IOException
)
{
exception
=
(
IOException
)
e
;
}
else
{
exception
=
EnvHelp
.
initCause
(
...
...
src/share/classes/javax/management/remote/JMXServiceURL.java
浏览文件 @
2fad7f7d
...
...
@@ -162,8 +162,6 @@ public class JMXServiceURL implements Serializable {
requiredPrefix
);
}
int
[]
ptr
=
new
int
[
1
];
// Parse the protocol name
final
int
protoStart
=
requiredPrefixLength
;
final
int
protoEnd
=
indexOf
(
serviceURL
,
':'
,
protoStart
);
...
...
@@ -664,11 +662,6 @@ public class JMXServiceURL implements Serializable {
hostNameBitSet
.
set
(
'.'
);
}
private
static
void
addCharsToBitSet
(
BitSet
set
,
String
chars
)
{
for
(
int
i
=
0
;
i
<
chars
.
length
();
i
++)
set
.
set
(
chars
.
charAt
(
i
));
}
/**
* The value returned by {@link #getProtocol()}.
*/
...
...
src/share/classes/javax/management/remote/rmi/RMIConnector.java
浏览文件 @
2fad7f7d
...
...
@@ -1376,12 +1376,12 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable
protected
Integer
addListenerForMBeanRemovedNotif
()
throws
IOException
,
InstanceNotFoundException
{
MarshalledObject
<
NotificationFilter
>
sFilter
=
null
;
NotificationFilterSupport
clientFilter
=
new
NotificationFilterSupport
();
clientFilter
.
enableType
(
MBeanServerNotification
.
UNREGISTRATION_NOTIFICATION
);
sFilter
=
new
MarshalledObject
<
NotificationFilter
>(
clientFilter
);
MarshalledObject
<
NotificationFilter
>
sFilter
=
new
MarshalledObject
<
NotificationFilter
>(
clientFilter
);
Integer
[]
listenerIDs
;
final
ObjectName
[]
names
=
...
...
@@ -1434,7 +1434,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable
connectionId
,
clientNotifCounter
++,
message
,
new
Long
(
number
));
Long
.
valueOf
(
number
));
sendNotification
(
n
);
}
}
...
...
@@ -1593,7 +1593,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable
protected
void
doStart
()
throws
IOException
{
// Get RMIServer stub from directory or URL encoding if needed.
RMIServer
stub
=
null
;
RMIServer
stub
;
try
{
stub
=
(
rmiServer
!=
null
)?
rmiServer:
findRMIServer
(
jmxServiceURL
,
env
);
...
...
@@ -2532,7 +2532,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable
* A static WeakReference to an {@link org.omg.CORBA.ORB ORB} to
* connect unconnected stubs.
**/
private
static
WeakReference
<
ORB
>
orb
=
null
;
private
static
volatile
WeakReference
<
ORB
>
orb
=
null
;
// TRACES & DEBUG
//---------------
...
...
src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
浏览文件 @
2fad7f7d
...
...
@@ -365,7 +365,7 @@ public class RMIConnectorServer extends JMXConnectorServer {
// Access file property specified, create an instance
// of the MBeanServerFileAccessController class
//
MBeanServerForwarder
mbsf
=
null
;
MBeanServerForwarder
mbsf
;
try
{
mbsf
=
new
MBeanServerFileAccessController
(
accessFile
);
}
catch
(
IOException
e
)
{
...
...
src/share/classes/javax/management/timer/Timer.java
浏览文件 @
2fad7f7d
...
...
@@ -344,13 +344,11 @@ public class Timer extends NotificationBroadcasterSupport
//
if
(
isActive
==
true
)
{
TimerAlarmClock
alarmClock
;
for
(
Object
[]
obj
:
timerTable
.
values
())
{
// Stop all the TimerAlarmClock.
//
alarmClock
=
(
TimerAlarmClock
)
obj
[
ALARM_CLOCK_INDEX
];
TimerAlarmClock
alarmClock
=
(
TimerAlarmClock
)
obj
[
ALARM_CLOCK_INDEX
];
if
(
alarmClock
!=
null
)
{
// alarmClock.interrupt();
// try {
...
...
@@ -364,7 +362,6 @@ public class Timer extends NotificationBroadcasterSupport
// //
alarmClock
.
cancel
();
alarmClock
=
null
;
}
}
...
...
@@ -458,8 +455,7 @@ public class Timer extends NotificationBroadcasterSupport
// Create and add the timer notification into the timer table.
//
Integer
notifID
=
null
;
notifID
=
new
Integer
(++
counterID
);
Integer
notifID
=
Integer
.
valueOf
(++
counterID
);
// The sequenceNumber and the timeStamp attributes are updated
// when the notification is emitted by the timer.
...
...
@@ -486,8 +482,8 @@ public class Timer extends NotificationBroadcasterSupport
obj
[
TIMER_NOTIF_INDEX
]
=
(
Object
)
notif
;
obj
[
TIMER_DATE_INDEX
]
=
(
Object
)
d
;
obj
[
TIMER_PERIOD_INDEX
]
=
(
Object
)
new
Long
(
period
)
;
obj
[
TIMER_NB_OCCUR_INDEX
]
=
(
Object
)
n
ew
Long
(
nbOccurences
)
;
obj
[
TIMER_PERIOD_INDEX
]
=
(
Object
)
period
;
obj
[
TIMER_NB_OCCUR_INDEX
]
=
(
Object
)
n
bOccurences
;
obj
[
ALARM_CLOCK_INDEX
]
=
(
Object
)
alarmClock
;
obj
[
FIXED_RATE_INDEX
]
=
Boolean
.
valueOf
(
fixedRate
);
...
...
@@ -678,7 +674,6 @@ public class Timer extends NotificationBroadcasterSupport
// // Remove the reference on the TimerAlarmClock.
// //
alarmClock
.
cancel
();
alarmClock
=
null
;
}
// Remove the timer notification from the timer table.
...
...
@@ -755,7 +750,6 @@ public class Timer extends NotificationBroadcasterSupport
//
// }
alarmClock
.
cancel
();
alarmClock
=
null
;
}
// Remove all the timer notifications from the timer table.
...
...
@@ -906,8 +900,7 @@ public class Timer extends NotificationBroadcasterSupport
Object
[]
obj
=
timerTable
.
get
(
id
);
if
(
obj
!=
null
)
{
Long
period
=
(
Long
)
obj
[
TIMER_PERIOD_INDEX
];
return
(
new
Long
(
period
.
longValue
()));
return
(
Long
)
obj
[
TIMER_PERIOD_INDEX
];
}
return
null
;
}
...
...
@@ -924,8 +917,7 @@ public class Timer extends NotificationBroadcasterSupport
Object
[]
obj
=
timerTable
.
get
(
id
);
if
(
obj
!=
null
)
{
Long
nbOccurences
=
(
Long
)
obj
[
TIMER_NB_OCCUR_INDEX
];
return
(
new
Long
(
nbOccurences
.
longValue
()));
return
(
Long
)
obj
[
TIMER_NB_OCCUR_INDEX
];
}
return
null
;
}
...
...
@@ -1096,7 +1088,7 @@ public class Timer extends NotificationBroadcasterSupport
if
((
nbOccurences
.
longValue
()
==
0
)
||
(
nbOccurences
.
longValue
()
>
1
))
{
date
.
setTime
(
date
.
getTime
()
+
period
.
longValue
());
obj
[
TIMER_NB_OCCUR_INDEX
]
=
new
Long
(
java
.
lang
.
Math
.
max
(
0L
,
(
nbOccurences
.
longValue
()
-
1
)));
obj
[
TIMER_NB_OCCUR_INDEX
]
=
Long
.
valueOf
(
java
.
lang
.
Math
.
max
(
0L
,
(
nbOccurences
.
longValue
()
-
1
)));
nbOccurences
=
(
Long
)
obj
[
TIMER_NB_OCCUR_INDEX
];
if
(
isActive
==
true
)
{
...
...
@@ -1146,9 +1138,6 @@ public class Timer extends NotificationBroadcasterSupport
// // Ignore...
// }
alarmClock
.
cancel
();
// Remove the reference on the TimerAlarmClock.
//
alarmClock
=
null
;
}
timerTable
.
remove
(
notifID
);
}
...
...
@@ -1165,10 +1154,6 @@ public class Timer extends NotificationBroadcasterSupport
// }
alarmClock
.
cancel
();
// Remove the reference on the TimerAlarmClock.
//
alarmClock
=
null
;
}
timerTable
.
remove
(
notifID
);
}
...
...
src/share/classes/javax/net/ssl/SSLContext.java
浏览文件 @
2fad7f7d
/*
* Copyright 1999-200
6
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1999-200
8
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
...
...
@@ -134,6 +134,7 @@ public class SSLContext {
* @exception NoSuchAlgorithmException if no Provider supports a
* TrustManagerFactorySpi implementation for the
* specified protocol.
* @exception NullPointerException if protocol is null.
*
* @see java.security.Provider
*/
...
...
@@ -175,6 +176,7 @@ public class SSLContext {
* registered in the security provider list.
*
* @throws IllegalArgumentException if the provider name is null or empty.
* @throws NullPointerException if protocol is null.
*
* @see java.security.Provider
*/
...
...
@@ -210,6 +212,7 @@ public class SSLContext {
* from the specified Provider object.
*
* @throws IllegalArgumentException if the provider name is null.
* @throws NullPointerException if protocol is null.
*
* @see java.security.Provider
*/
...
...
src/share/classes/javax/net/ssl/SSLSocket.java
浏览文件 @
2fad7f7d
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
8
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
...
...
@@ -212,8 +212,10 @@ public abstract class SSLSocket extends Socket
* @param host name of the host with which to connect, or
* <code>null</code> for the loopback address.
* @param port number of the server's port
* @param clientAddress the client's host
* @param clientPort number of the client's port
* @param clientAddress the client's address the socket is bound to, or
* <code>null</code> for the <code>anyLocal</code> address.
* @param clientPort the client's port the socket is bound to, or
* <code>zero</code> for a system selected free port.
* @throws IOException if an I/O error occurs when creating the socket
* @throws SecurityException if a security manager exists and its
* <code>checkConnect</code> method doesn't allow the operation.
...
...
@@ -241,8 +243,10 @@ public abstract class SSLSocket extends Socket
*
* @param address the server's host
* @param port its port
* @param clientAddress the client's host
* @param clientPort number of the client's port
* @param clientAddress the client's address the socket is bound to, or
* <code>null</code> for the <code>anyLocal</code> address.
* @param clientPort the client's port the socket is bound to, or
* <code>zero</code> for a system selected free port.
* @throws IOException if an I/O error occurs when creating the socket
* @throws SecurityException if a security manager exists and its
* <code>checkConnect</code> method doesn't allow the operation.
...
...
src/share/classes/javax/net/ssl/TrustManagerFactory.java
浏览文件 @
2fad7f7d
/*
* Copyright 1999-200
6
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1999-200
8
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
...
...
@@ -129,6 +129,7 @@ public class TrustManagerFactory {
* @exception NoSuchAlgorithmException if no Provider supports a
* TrustManagerFactorySpi implementation for the
* specified algorithm.
* @exception NullPointerException if algorithm is null.
*
* @see java.security.Provider
*/
...
...
@@ -171,6 +172,7 @@ public class TrustManagerFactory {
* registered in the security provider list.
*
* @throws IllegalArgumentException if the provider name is null or empty.
* @throws NullPointerException if algorithm is null.
*
* @see java.security.Provider
*/
...
...
@@ -208,6 +210,7 @@ public class TrustManagerFactory {
* from the specified Provider object.
*
* @throws IllegalArgumentException if the provider is null.
* @throws NullPointerException if algorithm is null.
*
* @see java.security.Provider
*/
...
...
@@ -274,6 +277,8 @@ public class TrustManagerFactory {
/**
* Returns one trust manager for each type of trust material.
*
* @throws IllegalStateException if the factory is not initialized.
*
* @return the trust managers
*/
public
final
TrustManager
[]
getTrustManagers
()
{
...
...
src/share/classes/javax/net/ssl/TrustManagerFactorySpi.java
浏览文件 @
2fad7f7d
/*
* Copyright 1999-200
1
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1999-200
8
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
...
...
@@ -74,6 +74,8 @@ public abstract class TrustManagerFactorySpi {
/**
* Returns one trust manager for each type of trust material.
*
* @throws IllegalStateException if the factory is not initialized.
*
* @return the trust managers
*/
protected
abstract
TrustManager
[]
engineGetTrustManagers
();
...
...
src/share/classes/javax/security/auth/kerberos/KerberosTicket.java
浏览文件 @
2fad7f7d
/*
* Copyright 2000-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2000-200
8
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
...
...
@@ -253,7 +253,24 @@ public class KerberosTicket implements Destroyable, Refreshable,
Date
endTime
,
Date
renewTill
,
InetAddress
[]
clientAddresses
)
{
if
(
sessionKey
==
null
)
throw
new
IllegalArgumentException
(
"Session key for ticket"
+
" cannot be null"
);
init
(
asn1Encoding
,
client
,
server
,
new
KeyImpl
(
sessionKey
,
keyType
),
flags
,
authTime
,
startTime
,
endTime
,
renewTill
,
clientAddresses
);
}
private
void
init
(
byte
[]
asn1Encoding
,
KerberosPrincipal
client
,
KerberosPrincipal
server
,
KeyImpl
sessionKey
,
boolean
[]
flags
,
Date
authTime
,
Date
startTime
,
Date
endTime
,
Date
renewTill
,
InetAddress
[]
clientAddresses
)
{
if
(
asn1Encoding
==
null
)
throw
new
IllegalArgumentException
(
"ASN.1 encoding of ticket"
+
" cannot be null"
);
...
...
@@ -269,10 +286,8 @@ public class KerberosTicket implements Destroyable, Refreshable,
+
" cannot be null"
);
this
.
server
=
server
;
if
(
sessionKey
==
null
)
throw
new
IllegalArgumentException
(
"Session key for ticket"
+
" cannot be null"
);
this
.
sessionKey
=
new
KeyImpl
(
sessionKey
,
keyType
);
// Caller needs to make sure `sessionKey` will not be null
this
.
sessionKey
=
sessionKey
;
if
(
flags
!=
null
)
{
if
(
flags
.
length
>=
NUM_FLAGS
)
...
...
@@ -291,17 +306,22 @@ public class KerberosTicket implements Destroyable, Refreshable,
throw
new
IllegalArgumentException
(
"The renewable period "
+
"end time cannot be null for renewable tickets."
);
this
.
renewTill
=
renewTill
;
this
.
renewTill
=
new
Date
(
renewTill
.
getTime
())
;
}
this
.
authTime
=
authTime
;
this
.
startTime
=
(
startTime
!=
null
?
startTime:
authTime
);
if
(
authTime
!=
null
)
{
this
.
authTime
=
new
Date
(
authTime
.
getTime
());
}
if
(
startTime
!=
null
)
{
this
.
startTime
=
new
Date
(
startTime
.
getTime
());
}
else
{
this
.
startTime
=
this
.
authTime
;
}
if
(
endTime
==
null
)
throw
new
IllegalArgumentException
(
"End time for ticket validity"
+
" cannot be null"
);
this
.
endTime
=
endTime
;
this
.
endTime
=
new
Date
(
endTime
.
getTime
())
;
if
(
clientAddresses
!=
null
)
this
.
clientAddresses
=
clientAddresses
.
clone
();
...
...
@@ -440,7 +460,7 @@ public class KerberosTicket implements Destroyable, Refreshable,
* or null if not set.
*/
public
final
java
.
util
.
Date
getAuthTime
()
{
return
(
authTime
==
null
)
?
null
:
new
Date
(
authTime
.
getTime
()
);
return
(
authTime
==
null
)
?
null
:
(
Date
)
authTime
.
clone
(
);
}
/**
...
...
@@ -450,7 +470,7 @@ public class KerberosTicket implements Destroyable, Refreshable,
* or null if not set.
*/
public
final
java
.
util
.
Date
getStartTime
()
{
return
(
startTime
==
null
)
?
null
:
new
Date
(
startTime
.
getTime
()
);
return
(
startTime
==
null
)
?
null
:
(
Date
)
startTime
.
clone
(
);
}
/**
...
...
@@ -459,7 +479,7 @@ public class KerberosTicket implements Destroyable, Refreshable,
* @return the expiration time for this ticket's validity period.
*/
public
final
java
.
util
.
Date
getEndTime
()
{
return
endTime
;
return
(
Date
)
endTime
.
clone
()
;
}
/**
...
...
@@ -469,7 +489,7 @@ public class KerberosTicket implements Destroyable, Refreshable,
* @return the latest expiration time for this ticket.
*/
public
final
java
.
util
.
Date
getRenewTill
()
{
return
(
renewTill
==
null
)
?
null
:
new
Date
(
renewTill
.
getTime
()
);
return
(
renewTill
==
null
)
?
null
:
(
Date
)
renewTill
.
clone
(
);
}
/**
...
...
@@ -745,4 +765,20 @@ public class KerberosTicket implements Destroyable, Refreshable,
return
true
;
}
private
void
readObject
(
ObjectInputStream
s
)
throws
IOException
,
ClassNotFoundException
{
s
.
defaultReadObject
();
if
(
sessionKey
==
null
)
{
throw
new
InvalidObjectException
(
"Session key cannot be null"
);
}
try
{
init
(
asn1Encoding
,
client
,
server
,
sessionKey
,
flags
,
authTime
,
startTime
,
endTime
,
renewTill
,
clientAddresses
);
}
catch
(
IllegalArgumentException
iae
)
{
throw
(
InvalidObjectException
)
new
InvalidObjectException
(
iae
.
getMessage
()).
initCause
(
iae
);
}
}
}
src/share/classes/sun/misc/URLClassPath.java
浏览文件 @
2fad7f7d
...
...
@@ -961,6 +961,7 @@ public class URLClassPath {
* from a file URL that refers to a directory.
*/
private
static
class
FileLoader
extends
Loader
{
/* Canonicalized File */
private
File
dir
;
FileLoader
(
URL
url
)
throws
IOException
{
...
...
@@ -970,7 +971,7 @@ public class URLClassPath {
}
String
path
=
url
.
getFile
().
replace
(
'/'
,
File
.
separatorChar
);
path
=
ParseUtil
.
decode
(
path
);
dir
=
new
File
(
path
);
dir
=
(
new
File
(
path
)).
getCanonicalFile
(
);
}
/*
...
...
@@ -997,8 +998,19 @@ public class URLClassPath {
if
(
check
)
URLClassPath
.
check
(
url
);
final
File
file
=
new
File
(
dir
,
name
.
replace
(
'/'
,
File
.
separatorChar
));
final
File
file
;
if
(
name
.
indexOf
(
".."
)
!=
-
1
)
{
file
=
(
new
File
(
dir
,
name
.
replace
(
'/'
,
File
.
separatorChar
)))
.
getCanonicalFile
();
if
(
!((
file
.
getPath
()).
startsWith
(
dir
.
getPath
()))
)
{
/* outside of base dir */
return
null
;
}
}
else
{
file
=
new
File
(
dir
,
name
.
replace
(
'/'
,
File
.
separatorChar
));
}
if
(
file
.
exists
())
{
return
new
Resource
()
{
public
String
getName
()
{
return
name
;
};
...
...
src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java
浏览文件 @
2fad7f7d
...
...
@@ -36,6 +36,7 @@ import java.util.Random;
import
sun.net.www.HeaderParser
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
static
sun
.
net
.
www
.
protocol
.
http
.
HttpURLConnection
.
HTTP_CONNECT
;
/**
...
...
@@ -210,10 +211,38 @@ class DigestAuthentication extends AuthenticationInfo {
/**
* Reclaculates the request-digest and returns it.
*
* <P> Used in the common case where the requestURI is simply the
* abs_path.
*
* @param url
* the URL
*
* @param method
* the HTTP method
*
* @return the value of the HTTP header this authentication wants set
*/
String
getHeaderValue
(
URL
url
,
String
method
)
{
return
getHeaderValueImpl
(
url
.
getFile
(),
method
);
return
getHeaderValueImpl
(
url
.
getFile
(),
method
);
}
/**
* Reclaculates the request-digest and returns it.
*
* <P> Used when the requestURI is not the abs_path. The exact
* requestURI can be passed as a String.
*
* @param requestURI
* the Request-URI from the HTTP request line
*
* @param method
* the HTTP method
*
* @return the value of the HTTP header this authentication wants set
*/
String
getHeaderValue
(
String
requestURI
,
String
method
)
{
return
getHeaderValueImpl
(
requestURI
,
method
);
}
/**
...
...
@@ -249,7 +278,16 @@ class DigestAuthentication extends AuthenticationInfo {
params
.
setOpaque
(
p
.
findValue
(
"opaque"
));
params
.
setQop
(
p
.
findValue
(
"qop"
));
String
uri
=
conn
.
getURL
().
getFile
();
String
uri
;
String
method
;
if
(
type
==
PROXY_AUTHENTICATION
&&
conn
.
tunnelState
()
==
HttpURLConnection
.
TunnelState
.
SETUP
)
{
uri
=
HttpURLConnection
.
connectRequestURI
(
conn
.
getURL
());
method
=
HTTP_CONNECT
;
}
else
{
uri
=
conn
.
getURL
().
getFile
();
method
=
conn
.
getMethod
();
}
if
(
params
.
nonce
==
null
||
authMethod
==
null
||
pw
==
null
||
realm
==
null
)
{
return
false
;
...
...
@@ -275,7 +313,7 @@ class DigestAuthentication extends AuthenticationInfo {
params
.
setNewCnonce
();
}
String
value
=
getHeaderValueImpl
(
uri
,
conn
.
getMethod
()
);
String
value
=
getHeaderValueImpl
(
uri
,
method
);
if
(
value
!=
null
)
{
conn
.
setAuthenticationProperty
(
getHeaderName
(),
value
);
return
true
;
...
...
src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
浏览文件 @
2fad7f7d
...
...
@@ -75,6 +75,8 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
private
static
Logger
logger
=
Logger
.
getLogger
(
"sun.net.www.protocol.http.HttpURLConnection"
);
static
String
HTTP_CONNECT
=
"CONNECT"
;
static
final
String
version
;
public
static
final
String
userAgent
;
...
...
@@ -266,6 +268,20 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
/* If we decide we want to reuse a client, we put it here */
private
HttpClient
reuseClient
=
null
;
/* Tunnel states */
enum
TunnelState
{
/* No tunnel */
NONE
,
/* Setting up a tunnel */
SETUP
,
/* Tunnel has been successfully setup */
TUNNELING
}
private
TunnelState
tunnelState
=
TunnelState
.
NONE
;
/* Redefine timeouts from java.net.URLConnection as we nee -1 to mean
* not set. This is to ensure backward compatibility.
*/
...
...
@@ -338,7 +354,7 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
* others that have been set
*/
// send any pre-emptive authentication
if
(
http
.
usingProxy
)
{
if
(
http
.
usingProxy
&&
tunnelState
()
!=
TunnelState
.
TUNNELING
)
{
setPreemptiveProxyAuthentication
(
requests
);
}
if
(!
setRequests
)
{
...
...
@@ -1404,11 +1420,17 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
String
raw
=
auth
.
raw
();
if
(
proxyAuthentication
.
isAuthorizationStale
(
raw
))
{
/* we can retry with the current credentials */
requests
.
set
(
proxyAuthentication
.
getHeaderName
(),
proxyAuthentication
.
getHeaderValue
(
url
,
method
));
String
value
;
if
(
tunnelState
()
==
TunnelState
.
SETUP
&&
proxyAuthentication
instanceof
DigestAuthentication
)
{
value
=
((
DigestAuthentication
)
proxyAuthentication
)
.
getHeaderValue
(
connectRequestURI
(
url
),
HTTP_CONNECT
);
}
else
{
value
=
proxyAuthentication
.
getHeaderValue
(
url
,
method
);
}
requests
.
set
(
proxyAuthentication
.
getHeaderName
(),
value
);
currentProxyCredentials
=
proxyAuthentication
;
return
proxyAuthentication
;
return
proxyAuthentication
;
}
else
{
proxyAuthentication
.
removeFromCache
();
}
...
...
@@ -1418,6 +1440,24 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
return
proxyAuthentication
;
}
/**
* Returns the tunnel state.
*
* @return the state
*/
TunnelState
tunnelState
()
{
return
tunnelState
;
}
/**
* Set the tunneling status.
*
* @param the state
*/
void
setTunnelState
(
TunnelState
tunnelState
)
{
this
.
tunnelState
=
tunnelState
;
}
/**
* establish a tunnel through proxy server
*/
...
...
@@ -1437,6 +1477,9 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
boolean
inNegotiateProxy
=
false
;
try
{
/* Actively setting up a tunnel */
setTunnelState
(
TunnelState
.
SETUP
);
do
{
if
(!
checkReuseConnection
())
{
proxiedConnect
(
url
,
proxyHost
,
proxyPort
,
false
);
...
...
@@ -1450,6 +1493,9 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
// so ProgressSource is null.
http
.
parseHTTP
(
responses
,
null
,
this
);
/* Log the response to the CONNECT */
logger
.
fine
(
responses
.
toString
());
statusLine
=
responses
.
getValue
(
0
);
StringTokenizer
st
=
new
StringTokenizer
(
statusLine
);
st
.
nextToken
();
...
...
@@ -1509,11 +1555,13 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
}
if
(
respCode
==
HTTP_OK
)
{
setTunnelState
(
TunnelState
.
TUNNELING
);
break
;
}
// we don't know how to deal with other response code
// so disconnect and report error
disconnectInternal
();
setTunnelState
(
TunnelState
.
NONE
);
break
;
}
while
(
retryTunnel
<
maxRedirects
);
...
...
@@ -1535,6 +1583,14 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
responses
.
reset
();
}
static
String
connectRequestURI
(
URL
url
)
{
String
host
=
url
.
getHost
();
int
port
=
url
.
getPort
();
port
=
port
!=
-
1
?
port
:
url
.
getDefaultPort
();
return
host
+
":"
+
port
;
}
/**
* send a CONNECT request for establishing a tunnel to proxy server
*/
...
...
@@ -1548,8 +1604,7 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
// otherwise, there may have 2 http methods in headers
if
(
setRequests
)
requests
.
set
(
0
,
null
,
null
);
requests
.
prepend
(
"CONNECT "
+
url
.
getHost
()
+
":"
+
(
port
!=
-
1
?
port
:
url
.
getDefaultPort
())
requests
.
prepend
(
HTTP_CONNECT
+
" "
+
connectRequestURI
(
url
)
+
" "
+
httpVersion
,
null
);
requests
.
setIfNotSet
(
"User-Agent"
,
userAgent
);
...
...
@@ -1563,6 +1618,10 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
requests
.
setIfNotSet
(
"Accept"
,
acceptString
);
setPreemptiveProxyAuthentication
(
requests
);
/* Log the CONNECT request */
logger
.
fine
(
requests
.
toString
());
http
.
writeRequests
(
requests
,
null
);
// remove CONNECT header
requests
.
set
(
0
,
null
,
null
);
...
...
@@ -1576,9 +1635,17 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
=
AuthenticationInfo
.
getProxyAuth
(
http
.
getProxyHostUsed
(),
http
.
getProxyPortUsed
());
if
(
pauth
!=
null
&&
pauth
.
supportsPreemptiveAuthorization
())
{
String
value
;
if
(
tunnelState
()
==
TunnelState
.
SETUP
&&
pauth
instanceof
DigestAuthentication
)
{
value
=
((
DigestAuthentication
)
pauth
)
.
getHeaderValue
(
connectRequestURI
(
url
),
HTTP_CONNECT
);
}
else
{
value
=
pauth
.
getHeaderValue
(
url
,
method
);
}
// Sets "Proxy-authorization"
requests
.
set
(
pauth
.
getHeaderName
(),
pauth
.
getHeaderValue
(
url
,
method
));
requests
.
set
(
pauth
.
getHeaderName
(),
value
);
currentProxyCredentials
=
pauth
;
}
}
...
...
src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java
浏览文件 @
2fad7f7d
...
...
@@ -35,7 +35,6 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.Collections
;
import
java.util.Iterator
;
import
java.util.Comparator
;
import
java.util.concurrent.locks.ReentrantLock
;
/**
...
...
@@ -89,7 +88,9 @@ public class InMemoryCookieStore implements CookieStore {
if
(
cookie
.
getMaxAge
()
!=
0
)
{
cookieJar
.
add
(
cookie
);
// and add it to domain index
addIndex
(
domainIndex
,
cookie
.
getDomain
(),
cookie
);
if
(
cookie
.
getDomain
()
!=
null
)
{
addIndex
(
domainIndex
,
cookie
.
getDomain
(),
cookie
);
}
// add it to uri index, too
addIndex
(
uriIndex
,
getEffectiveURI
(
uri
),
cookie
);
}
...
...
@@ -113,12 +114,13 @@ public class InMemoryCookieStore implements CookieStore {
}
List
<
HttpCookie
>
cookies
=
new
ArrayList
<
HttpCookie
>();
boolean
secureLink
=
"https"
.
equalsIgnoreCase
(
uri
.
getScheme
());
lock
.
lock
();
try
{
// check domainIndex first
getInternal
(
cookies
,
domainIndex
,
new
DomainComparator
(
uri
.
getHost
())
);
getInternal
1
(
cookies
,
domainIndex
,
uri
.
getHost
(),
secureLink
);
// check uriIndex then
getInternal
(
cookies
,
uriIndex
,
getEffectiveURI
(
uri
)
);
getInternal
2
(
cookies
,
uriIndex
,
getEffectiveURI
(
uri
),
secureLink
);
}
finally
{
lock
.
unlock
();
}
...
...
@@ -217,19 +219,96 @@ public class InMemoryCookieStore implements CookieStore {
/* ---------------- Private operations -------------- */
static
class
DomainComparator
implements
Comparable
<
String
>
{
String
host
=
null
;
/*
* This is almost the same as HttpCookie.domainMatches except for
* one difference: It won't reject cookies when the 'H' part of the
* domain contains a dot ('.').
* I.E.: RFC 2965 section 3.3.2 says that if host is x.y.domain.com
* and the cookie domain is .domain.com, then it should be rejected.
* However that's not how the real world works. Browsers don't reject and
* some sites, like yahoo.com do actually expect these cookies to be
* passed along.
* And should be used for 'old' style cookies (aka Netscape type of cookies)
*/
private
boolean
netscapeDomainMatches
(
String
domain
,
String
host
)
{
if
(
domain
==
null
||
host
==
null
)
{
return
false
;
}
// if there's no embedded dot in domain and domain is not .local
boolean
isLocalDomain
=
".local"
.
equalsIgnoreCase
(
domain
);
int
embeddedDotInDomain
=
domain
.
indexOf
(
'.'
);
if
(
embeddedDotInDomain
==
0
)
{
embeddedDotInDomain
=
domain
.
indexOf
(
'.'
,
1
);
}
if
(!
isLocalDomain
&&
(
embeddedDotInDomain
==
-
1
||
embeddedDotInDomain
==
domain
.
length
()
-
1
))
{
return
false
;
}
// if the host name contains no dot and the domain name is .local
int
firstDotInHost
=
host
.
indexOf
(
'.'
);
if
(
firstDotInHost
==
-
1
&&
isLocalDomain
)
{
return
true
;
}
public
DomainComparator
(
String
host
)
{
this
.
host
=
host
;
int
domainLength
=
domain
.
length
();
int
lengthDiff
=
host
.
length
()
-
domainLength
;
if
(
lengthDiff
==
0
)
{
// if the host name and the domain name are just string-compare euqal
return
host
.
equalsIgnoreCase
(
domain
);
}
else
if
(
lengthDiff
>
0
)
{
// need to check H & D component
String
H
=
host
.
substring
(
0
,
lengthDiff
);
String
D
=
host
.
substring
(
lengthDiff
);
return
(
D
.
equalsIgnoreCase
(
domain
));
}
else
if
(
lengthDiff
==
-
1
)
{
// if domain is actually .host
return
(
domain
.
charAt
(
0
)
==
'.'
&&
host
.
equalsIgnoreCase
(
domain
.
substring
(
1
)));
}
public
int
compareTo
(
String
domain
)
{
if
(
HttpCookie
.
domainMatches
(
domain
,
host
))
{
return
0
;
}
else
{
return
-
1
;
return
false
;
}
private
void
getInternal1
(
List
<
HttpCookie
>
cookies
,
Map
<
String
,
List
<
HttpCookie
>>
cookieIndex
,
String
host
,
boolean
secureLink
)
{
// Use a separate list to handle cookies that need to be removed so
// that there is no conflict with iterators.
ArrayList
<
HttpCookie
>
toRemove
=
new
ArrayList
<
HttpCookie
>();
for
(
Map
.
Entry
<
String
,
List
<
HttpCookie
>>
entry
:
cookieIndex
.
entrySet
())
{
String
domain
=
entry
.
getKey
();
List
<
HttpCookie
>
lst
=
entry
.
getValue
();
for
(
HttpCookie
c
:
lst
)
{
if
((
c
.
getVersion
()
==
0
&&
netscapeDomainMatches
(
domain
,
host
))
||
(
c
.
getVersion
()
==
1
&&
HttpCookie
.
domainMatches
(
domain
,
host
)))
{
if
((
cookieJar
.
indexOf
(
c
)
!=
-
1
))
{
// the cookie still in main cookie store
if
(!
c
.
hasExpired
())
{
// don't add twice and make sure it's the proper
// security level
if
((
secureLink
||
!
c
.
getSecure
())
&&
!
cookies
.
contains
(
c
))
{
cookies
.
add
(
c
);
}
}
else
{
toRemove
.
add
(
c
);
}
}
else
{
// the cookie has beed removed from main store,
// so also remove it from domain indexed store
toRemove
.
add
(
c
);
}
}
}
// Clear up the cookies that need to be removed
for
(
HttpCookie
c
:
toRemove
)
{
lst
.
remove
(
c
);
cookieJar
.
remove
(
c
);
}
toRemove
.
clear
();
}
}
...
...
@@ -237,9 +316,9 @@ public class InMemoryCookieStore implements CookieStore {
// @param cookieIndex the index
// @param comparator the prediction to decide whether or not
// a cookie in index should be returned
private
<
T
>
void
getInternal
(
List
<
HttpCookie
>
cookies
,
private
<
T
>
void
getInternal
2
(
List
<
HttpCookie
>
cookies
,
Map
<
T
,
List
<
HttpCookie
>>
cookieIndex
,
Comparable
<
T
>
comparator
)
Comparable
<
T
>
comparator
,
boolean
secureLink
)
{
for
(
T
index
:
cookieIndex
.
keySet
())
{
if
(
comparator
.
compareTo
(
index
)
==
0
)
{
...
...
@@ -253,7 +332,8 @@ public class InMemoryCookieStore implements CookieStore {
// the cookie still in main cookie store
if
(!
ck
.
hasExpired
())
{
// don't add twice
if
(!
cookies
.
contains
(
ck
))
if
((
secureLink
||
!
ck
.
getSecure
())
&&
!
cookies
.
contains
(
ck
))
cookies
.
add
(
ck
);
}
else
{
it
.
remove
();
...
...
@@ -292,14 +372,14 @@ public class InMemoryCookieStore implements CookieStore {
//
// for cookie purpose, the effective uri should only be
scheme://authority
// for cookie purpose, the effective uri should only be
http://host
// the path will be taken into account when path-match algorithm applied
//
private
URI
getEffectiveURI
(
URI
uri
)
{
URI
effectiveURI
=
null
;
try
{
effectiveURI
=
new
URI
(
uri
.
getScheme
()
,
uri
.
get
Authority
(),
effectiveURI
=
new
URI
(
"http"
,
uri
.
get
Host
(),
null
,
// path component
null
,
// query component
null
// fragment component
...
...
src/share/classes/sun/nio/cs/UTF_8.java
浏览文件 @
2fad7f7d
...
...
@@ -326,7 +326,7 @@ class UTF_8 extends Unicode
case
12
:
case
13
:
// 6 bytes, 31 bits
if
(
src
.
remaining
()
<
4
)
if
(
src
.
remaining
()
<
5
)
return
CoderResult
.
UNDERFLOW
;
if
(!
isContinuation
(
b2
=
src
.
get
()))
return
CoderResult
.
malformedForLength
(
1
);
...
...
src/share/classes/sun/security/pkcs11/SunPKCS11.java
浏览文件 @
2fad7f7d
...
...
@@ -720,9 +720,13 @@ public final class SunPKCS11 extends AuthProvider {
}
private
boolean
hasValidToken
()
{
/* Commented out to work with Solaris softtoken impl which
returns 0-value flags, e.g. both REMOVABLE_DEVICE and
TOKEN_PRESENT are false, when it can't access the token.
if (removable == false) {
return true;
}
*/
Token
token
=
this
.
token
;
return
(
token
!=
null
)
&&
token
.
isValid
();
}
...
...
@@ -752,7 +756,7 @@ public final class SunPKCS11 extends AuthProvider {
if
(
slotInfo
==
null
)
{
slotInfo
=
p11
.
C_GetSlotInfo
(
slotID
);
}
if
((
slotInfo
.
flags
&
CKF_TOKEN_PRESENT
)
==
0
)
{
if
(
removable
&&
(
slotInfo
.
flags
&
CKF_TOKEN_PRESENT
)
==
0
)
{
createPoller
();
return
;
}
...
...
src/share/classes/sun/tracing/MultiplexProviderFactory.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing
;
...
...
src/share/classes/sun/tracing/NullProviderFactory.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing
;
...
...
src/share/classes/sun/tracing/PrintStreamProviderFactory.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing
;
...
...
src/share/classes/sun/tracing/ProbeSkeleton.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing
;
...
...
src/share/classes/sun/tracing/ProviderSkeleton.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing
;
...
...
src/share/classes/sun/tracing/dtrace/Activation.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing.dtrace
;
...
...
src/share/classes/sun/tracing/dtrace/DTraceProbe.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing.dtrace
;
...
...
src/share/classes/sun/tracing/dtrace/DTraceProvider.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing.dtrace
;
...
...
src/share/classes/sun/tracing/dtrace/DTraceProviderFactory.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing.dtrace
;
...
...
src/share/classes/sun/tracing/dtrace/JVM.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
package
sun.tracing.dtrace
;
...
...
src/share/classes/sun/tracing/package-info.java
浏览文件 @
2fad7f7d
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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.
*/
/**
...
...
src/share/native/java/net/net_util.c
浏览文件 @
2fad7f7d
...
...
@@ -112,6 +112,7 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
(
*
env
)
->
SetIntField
(
env
,
iaObj
,
ia_familyID
,
IPv4
);
}
else
{
static
jclass
inet6Cls
=
0
;
jint
scope
;
if
(
inet6Cls
==
0
)
{
jclass
c
=
(
*
env
)
->
FindClass
(
env
,
"java/net/Inet6Address"
);
CHECK_NULL_RETURN
(
c
,
NULL
);
...
...
@@ -129,7 +130,10 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
(
*
env
)
->
SetObjectField
(
env
,
iaObj
,
ia6_ipaddressID
,
ipaddress
);
(
*
env
)
->
SetIntField
(
env
,
iaObj
,
ia_familyID
,
IPv6
);
(
*
env
)
->
SetIntField
(
env
,
iaObj
,
ia6_scopeidID
,
getScopeID
(
him
));
scope
=
getScopeID
(
him
);
(
*
env
)
->
SetIntField
(
env
,
iaObj
,
ia6_scopeidID
,
scope
);
if
(
scope
>
0
)
(
*
env
)
->
SetBooleanField
(
env
,
iaObj
,
ia6_scopeidsetID
,
JNI_TRUE
);
}
*
port
=
ntohs
(
him6
->
sin6_port
);
}
else
...
...
src/share/native/sun/tracing/dtrace/JVM.c
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
src/share/native/sun/tracing/dtrace/jvm_symbols.h
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/com/sun/security/auth/login/ConfigFile/IllegalURL.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/java/net/CookieHandler/B6644726.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/java/net/Inet6Address/B6558853.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/java/security/AccessControlContext/CheckCtor.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/java/util/Collection/MOAT.java
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/java/util/NavigableMap/LockStep.java
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/javax/management/query/CustomQueryTest.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/javax/management/relation/RelationNotificationSeqNoTest.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/javax/security/auth/kerberos/KerberosTixDateTest.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
test/javax/security/auth/login/Configuration/ConfigFileWithBlank.java
0 → 100644
浏览文件 @
2fad7f7d
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录